how can I add a label for granges using the geom_rect ?
1
0
Entering edit mode

@717d0f02
Last seen 5 weeks ago
China

geom_rect(data,..., xlab, ylab, main,
facets = NULL, stat = c("stepping", "identity"),
rect.height = NULL,
group.selfish = TRUE)


for the GRanges object, the function didn't give the parameter to plot names for each Grange when using stat_stepping. But how can I know which rect are from which Grange?

ggbio • 302 views
1
Entering edit mode
@james-w-macdonald-5106
Last seen 2 minutes ago
United States

Labels seem to be problematic if you have many ranges. Color might be better?

## this is just the example GRanges object
> set.seed(1)
> N <- 100
> gr <- GRanges(seqnames = sample(c("chr1", "chr2", "chr3"),
+                                 size = N, replace = TRUE),
+               IRanges(start = sample(1:300, size = N, replace = TRUE),
+                       width = sample(70:75, size = N,replace = TRUE)),
+               strand = sample(c("+", "-"), size = N, replace = TRUE),
+               value = rnorm(N, 10, 3), score = rnorm(N, 100, 30),
+               sample = sample(c("Normal", "Tumor"),
+                               size = N, replace = TRUE),
+               pair = sample(letters, size = N,
+                             replace = TRUE))
> seqlengths(gr) <- c(400, 1000, 500)
> autoplot(gr, aes(fill = sample))


Seems like a reasonable compromise. But these are just ggplot objects, so you could use e.g., ggrepel to make labels if you really wanted to.

0
Entering edit mode

Thank you so much for your comment. As you say, if I have more than 100 ranges, the color will not be as easy to recognize as the label. But at the most time ,label will be more usefull beacuse we can save the picture as PDF and modify it in Adobe Illustrate.

0
Entering edit mode

For the ggreprl, do you know how to add a label using it? If we use geom_label or geom_text, we need to know the X and Y, but ggbio will randomly make a Y value for each GRange. I can't have X and Y for the label.

0
Entering edit mode

It uses biovizBase:::addStepping under the hood if you use the 'stepping ' argument. It's possible you could use that on the front end and use 'identity' instead.

0
Entering edit mode

Thank you so much, I will try it