Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----vignetteSetup, echo=FALSE, message=FALSE, warning = FALSE----------------
## For links
library("BiocStyle")
## Track time spent on making the vignette
startTime <- Sys.time()
## Bib setup
library("RefManageR")
## Write bibliography information
bib <- c(
R = citation(),
AnnotationDbi = citation("AnnotationDbi"),
AnnotationHub = citation("AnnotationHub"),
BiocFileCache = citation("BiocFileCache"),
BiocStyle = citation("BiocStyle"),
Biostrings = citation("Biostrings"),
DBI = citation("DBI"),
GenomicRanges = citation("GenomicRanges"),
Gviz = citation("Gviz"),
IRanges = citation("IRanges"),
knitr = citation("knitr")[3],
RCy3 = citation("RCy3"),
RefManageR = citation("RefManageR")[1],
regutools = citation("regutools")[1],
regutoolsPaper = citation("regutools")[2],
rmarkdown = citation("rmarkdown")[1],
RSQLite = citation("RSQLite"),
S4Vectors = citation("S4Vectors"),
sessioninfo = citation("sessioninfo"),
testthat = citation("testthat")
)
## ----'install', eval = FALSE--------------------------------------------------
# if (!requireNamespace("BiocManager", quietly = TRUE)) {
# install.packages("BiocManager")
# }
#
# BiocManager::install("regutools")
#
# ## Check that you have a valid Bioconductor installation
# BiocManager::valid()
## ----'citation'---------------------------------------------------------------
## Citation info
citation("regutools")
## ----'connect_db', echo = TRUE, message=FALSE---------------------------------
library("regutools")
## Other packages used
library("Biostrings")
## Connect to the RegulonDB database
regulondb_conn <- connect_database()
## Build a regulondb object
e_coli_regulondb <-
regulondb(
database_conn = regulondb_conn,
organism = "E.coli",
database_version = "1",
genome_version = "1"
)
e_coli_regulondb
## ----'list_datasets', echo = TRUE---------------------------------------------
list_datasets(e_coli_regulondb)
## ----'list_attr'--------------------------------------------------------------
head(list_attributes(e_coli_regulondb, "GENE"), 8)
## ----'get_dataset', echo = TRUE-----------------------------------------------
get_dataset(
regulondb = e_coli_regulondb,
dataset = "GENE",
attributes = c("posleft", "posright", "strand", "name"),
filters = list("name" = c("araC", "crp", "lacI"))
)
## ----'get_dataset_interval', echo = TRUE--------------------------------------
get_dataset(
e_coli_regulondb,
attributes = c("posright", "name"),
filters = list("posright" = c(1, 5000)),
interval = "posright",
dataset = "GENE"
)
## ----'get_dataset_DF'---------------------------------------------------------
res <- get_dataset(
regulondb = e_coli_regulondb,
dataset = "GENE",
attributes = c("posleft", "posright", "strand", "name"),
filters = list("name" = c("araC", "crp", "lacI"))
)
slotNames(res)
## ----'convert_granges'--------------------------------------------------------
convert_to_granges(res)
## ----'get_dataset_GRanges'----------------------------------------------------
get_dataset(
regulondb = e_coli_regulondb,
dataset = "GENE",
attributes = c("posleft", "posright", "strand", "name"),
filters = list("name" = c("araC", "crp", "lacI")),
output_format = "GRanges"
)
## ----'dnastring_res'----------------------------------------------------------
res_dnastring <- get_dataset(
regulondb = e_coli_regulondb,
dataset = "GENE",
attributes = c("posleft", "posright", "strand", "name", "dna_sequence"),
filters = list("name" = c("araC", "crp", "lacI"))
)
res_dnastring <-
convert_to_biostrings(res_dnastring, seq_type = "DNA")
res_dnastring
GenomicRanges::mcols(res_dnastring)
## ----'product_seq'------------------------------------------------------------
res_prodstring <- get_dataset(
regulondb = e_coli_regulondb,
dataset = "GENE",
attributes = c("posleft", "posright", "strand", "name", "product_sequence"),
filters = list("name" = c("araC", "crp", "lacI"))
)
res_prodstring <-
convert_to_biostrings(res_prodstring, seq_type = "product")
mcols(res_prodstring)
## ----'partial_match', echo = TRUE---------------------------------------------
get_dataset(
e_coli_regulondb,
attributes = c("posright", "name"),
filters = list("name" = "ara"),
partialmatch = "name",
dataset = "GENE"
)
## ----'position_interval', echo = TRUE-----------------------------------------
get_dataset(
e_coli_regulondb,
attributes = c("name", "strand", "posright", "product_name"),
dataset = "GENE",
filters = list(posright = c("2000", "4000000")),
interval = "posright"
)
## ----'genomic_elements', echo = TRUE------------------------------------------
get_dna_objects(e_coli_regulondb)
## ----'especific_ranges', echo = TRUE------------------------------------------
grange <- GenomicRanges::GRanges(
"chr",
IRanges::IRanges(5000, 10000)
)
get_dna_objects(e_coli_regulondb, grange)
## ----'aditional_elements', echo = TRUE----------------------------------------
grange <- GenomicRanges::GRanges(
"chr",
IRanges::IRanges(5000, 10000)
)
get_dna_objects(e_coli_regulondb, grange, elements = c("gene", "promoter"))
## ----'plot_elements', echo = TRUE---------------------------------------------
e_coli_regulondb <-
regulondb(
database_conn = regulondb_conn,
organism = "chr",
database_version = "1",
genome_version = "1"
)
grange <- GenomicRanges::GRanges("chr", IRanges::IRanges(5000, 10000))
plot_dna_objects(e_coli_regulondb, grange, elements = c("gene", "promoter"))
## ----'complex_filter'---------------------------------------------------------
nrow(
get_dataset(
e_coli_regulondb,
attributes = c("name", "strand", "posright", "product_name"),
dataset = "GENE",
filters = list(
name = c("ARA"),
product_name = c("Ara"),
strand = c("forward"),
posright = c("2000", "4000000")
),
and = FALSE,
partialmatch = c("name", "product_name"),
interval = "posright"
)
)
## ----'complex_filter_2'-------------------------------------------------------
nrow(
get_dataset(
e_coli_regulondb,
attributes = c("name", "strand", "posright", "product_name"),
dataset = "GENE",
filters = list(
name = c("ARA"),
product_name = c("Ara"),
strand = c("forward"),
posright = c("2000", "4000000")
),
and = TRUE,
partialmatch = c("name", "product_name"),
interval = "posright"
)
)
## ----'gene_regulators', echo = TRUE-------------------------------------------
get_gene_regulators(e_coli_regulondb, c("araC", "fis", "crp"))
## ----'regulatory_network', echo = TRUE----------------------------------------
head(get_regulatory_network(e_coli_regulondb))
## ----'regulatory_summary'-----------------------------------------------------
get_regulatory_summary(e_coli_regulondb,
gene_regulators = c("araC", "modB")
)
## ----'prep_cyto', eval=FALSE--------------------------------------------------
# get_regulatory_network(e_coli_regulondb, cytograph = TRUE)
## ----'binding_sites'----------------------------------------------------------
get_binding_sites(e_coli_regulondb, transcription_factor = "AraC")
get_binding_sites(e_coli_regulondb,
transcription_factor = "AraC",
output_format = "Biostrings"
)
## ----createVignette, eval=FALSE-----------------------------------------------
# ## Create the vignette
# library("rmarkdown")
# system.time(render("regutools.Rmd"))
#
# ## Extract the R code
# library("knitr")
# knit("regutools.Rmd", tangle = TRUE)
## ----reproduce1, echo=FALSE---------------------------------------------------
## Date the vignette was generated
Sys.time()
## ----reproduce2, echo=FALSE---------------------------------------------------
## Processing time in seconds
totalTime <- diff(c(startTime, Sys.time()))
round(totalTime, digits = 3)
## ----reproduce3, echo=FALSE-------------------------------------------------------------------------------------------
## Session info
library("sessioninfo")
options(width = 120)
session_info()
## ----vignetteBiblio, results = 'asis', echo = FALSE, warning = FALSE, message = FALSE---------------------------------
## Print bibliography
PrintBibliography(bib, .opts = list(hyperlink = "to.doc", style = "html"))
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.