I have a dataframe such as :
> head(tab)
molecule gene start end strand orientation hatch
1 Genome5 genA 405113 407035 forward -1 NO
2 Genome5 genB 407035 407916 forward -1 NO
3 Genome5 genC 407927 408394 forward -1 NO
4 Genome5 genD 408387 408737 reverse -1 NO
5 Genome5 genE 408751 409830 forward 1 NO
6 Genome5 genF 409836 410315 forward -1 NO
And I can produce the following plot using this script :
library(ggplot2)
library(gggenes)
ggplot(example_genes, aes(xmin = start, xmax = end, y = molecule, fill = gene)) +
geom_gene_arrow() +
facet_wrap(~ molecule, scales = "free", ncol = 1) +
scale_fill_brewer(palette = "Set3")
And I would like simply to add hatchs on genes containing hatch=="YES"
within the tab$hatch
column in the tab
And then get the following result ;
Here is the dput format of the table :
structure(list(molecule = c("Genome5", "Genome5", "Genome5",
"Genome5", "Genome5", "Genome5", "Genome5", "Genome5", "Genome5",
"Genome5", "Genome3", "Genome3", "Genome3", "Genome3", "Genome3",
"Genome3", "Genome3", "Genome3", "Genome4", "Genome4", "Genome4",
"Genome4", "Genome4", "Genome4", "Genome2", "Genome2", "Genome2",
"Genome2", "Genome2", "Genome2", "Genome2", "Genome2", "Genome1",
"Genome1", "Genome1", "Genome1", "Genome1", "Genome1", "Genome1",
"Genome1", "Genome1", "Genome1", "Genome6", "Genome6", "Genome6",
"Genome6", "Genome6", "Genome6", "Genome6", "Genome6", "Genome7",
"Genome7", "Genome7", "Genome7", "Genome7", "Genome7", "Genome7",
"Genome7", "Genome7", "Genome7", "Genome7", "Genome8", "Genome8",
"Genome8", "Genome8", "Genome8", "Genome8", "Genome8", "Genome8",
"Genome8", "Genome8", "Genome8"), gene = c("genA", "genB", "genC",
"genD", "genE", "genF", "protF", "protC", "protD", "protE", "genA",
"genB", "genC", "genD", "genE", "genF", "protA", "protB", "genA",
"genB", "genC", "genD", "genE", "genF", "genA", "genB", "genC",
"genD", "genE", "genF", "protA", "protB", "genA", "genB", "genC",
"genD", "genE", "genF", "protF", "protC", "protD", "protE", "genA",
"genB", "genC", "genD", "genE", "genF", "protA", "protB", "genB",
"genC", "genD", "genE", "genF", "protA", "protB", "protF", "protC",
"protD", "protE", "genB", "genC", "genD", "genE", "genF", "protA",
"protB", "protF", "protC", "protD", "protE"), start = c(405113,
407035, 407927, 408387, 408751, 409836, 410335, 412621, 412830,
413867, -67849, -65867, -64997, -64507, -64127, -63011, -62550,
-62187, -47353, -45431, -44522, -44070, -43701, -42614, 8345,
10327, 11394, 11878, 12258, 13365, 13726, 14260, 15389, 17301,
18176, 18641, 18999, 20086, 20474, 22777, 22986, 24024, 65751,
67698, 68605, 69128, 69501, 70614, 71008, 71375, -9390, -8984,
-8500, -8130, -7019, -6662, -6306, -5695, -3446, -3188, -2116,
2, 413, 898, 1268, 2376, 2733, 3089, 3700, 5949, 6217, 7307),
end = c(407035, 407916, 408394, 408737, 409830, 410315, 412596,
412833, 413870, 414850, -65864, -65013, -64548, -64127, -63048,
-62640, -62209, -61549, -45443, -44571, -44070, -43723, -42625,
-42201, 10330, 11181, 11843, 12255, 13337, 13733, 14067,
14919, 17299, 18161, 18640, 18985, 20078, 20451, 22720, 22989,
24023, 25010, 67691, 68570, 69135, 69511, 70583, 71015, 71349,
72034, -8992, -8511, -8123, -7048, -6663, -6321, -5653, -3449,
-3207, -2136, -1127, 406, 886, 1275, 2350, 2732, 3074, 3742,
5946, 6182, 7269, 8296), strand = c("forward", "forward",
"forward", "reverse", "forward", "forward", "reverse", "forward",
"forward", "forward", "reverse", "reverse", "reverse", "forward",
"reverse", "reverse", "reverse", "reverse", "reverse", "reverse",
"forward", "reverse", "forward", "forward", "forward", "forward",
"forward", "forward", "forward", "reverse", "forward", "reverse",
"reverse", "forward", "reverse", "forward", "reverse", "forward",
"forward", "forward", "forward", "forward", "forward", "forward",
"reverse", "forward", "reverse", "forward", "forward", "forward",
"reverse", "forward", "reverse", "reverse", "forward", "reverse",
"forward", "forward", "reverse", "reverse", "forward", "forward",
"forward", "forward", "forward", "forward", "reverse", "forward",
"forward", "reverse", "reverse", "reverse"), orientation = c(-1,
-1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1,
-1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1,
1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1,
1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1,
-1, -1, 1, 1, -1), hatch = c("NO", "NO", "NO", "NO", "NO",
"NO", "NO", "NO", "NO", "NO", "YES", "NO", "NO", "NO", "NO",
"NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO",
"NO", "NO", "NO", "NO", "NO", "NO", "NO", "YES", "NO", "NO",
"NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO",
"NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO",
"NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO",
"NO", "NO", "NO", "NO", "NO", "NO", "NO")), row.names = c(NA,
-72L), class = "data.frame")