Nothing
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(cache = TRUE, fig.align = "center")
## ----message=FALSE, fig.height=1.2, fig.width=7-------------------------------
library(gggenomes)
# a minimal seq track
s0 <- tibble::tibble(
seq_id = c("a", "b"),
length = c(600, 550)
)
# a minimal gene track
g0 <- tibble::tibble(
seq_id = c("a", "a", "b"),
start = c(50, 350, 80),
end = c(250, 500, 450)
)
# a simple link track
l0 <- tibble::tibble(
seq_id = c("a", "a"),
start = c(50, 400),
end = c(250, 480),
seq_id2 = c("b", "b"),
start2 = c(80, 350),
end2 = c(300, 430)
)
p <- gggenomes(genes=g0, seqs=s0, links=l0)
p +
geom_seq() + # draw contig/chromosome lines
geom_seq_label() + # label each sequence
geom_gene() + # draw genes as arrow
geom_link() # draw some connections between syntenic regions
## -----------------------------------------------------------------------------
# Let's use some of the bundled example data here
data(package="gggenomes")
p <- gggenomes(
genes=emale_genes, # a gene track, added as first feat track
seqs=emale_seqs, # a seq track
feats=list(emale_tirs, emale_ngaros), # multiple feat tracks
links=emale_ava # a link track
)
# inspect the tracks of the plot
p %>% track_info
# plot all tracks
p +
# geom_link() + # the first link track
geom_gene() + # the first feat track filtered for geneish feats: CDS, mRNA, ..
geom_feat() + # the first feat track not named "genes", here emale_tirs
# use an extra feat track by name
geom_feat(data=feats(emale_ngaros), color="plum3")
## ----fig.height=1.5, fig.width=7----------------------------------------------
# inspect seqs track with layout vars - note y,x,xend
p %>% pull_seqs
# inspect genes track with layout vars - note y,x,xend, but also other
# columns such as strand, feat_id or type, that are added automatically
p %>% pull_genes
## ----fig.height=1.5, fig.width=7----------------------------------------------
# some genes
g0 <- tibble::tibble(
seq_id = c("a", "a", "b"),
start = c(50, 350, 80),
end = c(250, 500, 450)
)
p <- gggenomes(g0)
p +
geom_seq() + # draw contig/chromosome lines
geom_seq_label() + # label each sequence
geom_gene() # draw genes as arrow
## ----fig.height=1.5, fig.width=7, message=FALSE-------------------------------
# note: ex() is just a helper to get stable paths to gggenomes example data
s0 <- read_seqs(ex("emales/emales.fna"))
g0 <- read_feats(ex("emales/emales.gff"))
gggenomes(g0, s0) +
geom_seq() + geom_gene()
# for lazy people
gggenomes(ex("emales/emales.gff")) + geom_gene()
# and really fancy: multiple remote files, all at once
gbk_phages <- c(
PSSP7 = "ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/858/745/GCF_000858745.1_ViralProj15134/GCF_000858745.1_ViralProj15134_genomic.gff.gz",
PSSP3 = "ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/904/555/GCF_000904555.1_ViralProj195517/GCF_000904555.1_ViralProj195517_genomic.gff.gz")
try( # capture unavailable web resources gracefully for CRAN https://github.com/thackl/gggenomes/issues/197
gggenomes(gbk_phages) + geom_gene() +
geom_seq_label()
)
## ----fig.height=1.5, fig.width=7----------------------------------------------
# seq track: one entry per sequence
s0 <- tibble::tibble(
bin_id = c("A", "A", "B"),
seq_id = c("a1","a2","b1"),
length = c(2e5, 3e5, 5e5)
)
p <- gggenomes(seqs=s0)
p +
geom_seq() + # draw contig/chromosome lines
geom_seq_label() # label each sequence
#geom_bin_label() # label each bin
## ----fig.height=1.5, fig.width=7----------------------------------------------
# zoom in on a longer sequence - note the scale on the x-axis
s0 <- tibble::tibble(
seq_id = "a1",
length = 10000,
start = 1000,
end = 3000
)
gggenomes(seqs=s0) + geom_seq() + geom_seq_label()
## ----fig.height=1.5, fig.width=7----------------------------------------------
# some genes
g0 <- tibble::tibble(
seq_id = c("a"),
start = c(1, 800),
end = c(500, 1200),
# NOTE: introns need to be a list-column!
introns = list(c(50,200), c(50,200,250,300))
)
gggenomes(g0) +
geom_seq() + # draw contig/chromosome lines
geom_seq_label() + # label each sequence
geom_gene() # draw genes as arrow
## -----------------------------------------------------------------------------
# some links
l0 <- tibble::tibble(
seq_id = c("a", "a", "a"),
start = c(200, 801, 1600),
end = c(550, 1300, 1800),
seq_id2 = c("b", "b", "b"),
start2 = c(1100, 1, 1800),
end2 = c(1450, 500, 1600)
)
# corresponding sequences
s1 <- tibble::tibble(
seq_id = c("a", "b"),
length = c(2000, 2000),
start = c(1, 1),
end = c(2000, 2000)
)
gggenomes(seqs=s1, links=l0) +
geom_seq() + # draws contigs/chromosome lines
geom_seq_label() # labels each sequence
# geom_link(offset = 0.05) # draws links between contigs
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.