suppressPackageStartupMessages({ library(RcisTarget) })
This tutorial requires RcisTarget >= 1.11
packageVersion("RcisTarget")
# download.file("https://gbiomed.kuleuven.be/apps/lcb/i-cisTarget/examples/input_files/human/peaks/Encode_GATA1_peaks.bed", "Encode_GATA1_peaks.bed") txtFile <- paste(file.path(system.file('examples', package='RcisTarget')),"Encode_GATA1_peaks.bed", sep="/") regionsList <- rtracklayer::import.bed(txtFile) regionSets <- list(GATA1_peaks=regionsList)
This analysis requires the region-based databases (for the appropriate organism): - Region-based motif rankings - Motif-TF annotations (same for region- & gene-based analysis) - Region location (i.e. conversion from region ID to genomic location)
The databases can be downloaded from: https://resources.aertslab.org/cistarget/
Note: This example uses an old version of the database (mc9nr), we recommend to use the latest version (v10_clus).
library(RcisTarget) # Motif rankings featherFilePath <- "~/databases/hg19-regions-9species.all_regions.mc9nr.feather" ## Motif - TF annotation: data(motifAnnotations_hgnc_v9) # human TFs (for motif collection 9) motifAnnotation <- motifAnnotations_hgnc_v9 # Regions location * data(dbRegionsLoc_hg19) dbRegionsLoc <- dbRegionsLoc_hg19
dbRegionsLoc <- getDbRegionsLoc(featherFilePath)
The main difference with a gene-based analysis is that the regions need to be converted to the database IDs first, and the parameter aucMaxRank
should be adjusted:
aucMaxRank= 0.005
aucMaxRank= 0.005
aucMaxRank= 0.01
# Convert regions regionSets_db <- lapply(regionSets, function(x) convertToTargetRegions(queryRegions=x, targetRegions=dbRegionsLoc)) # Import rankings allRegionsToImport <- unique(unlist(regionSets_db)); length(allRegionsToImport) motifRankings <- importRankings(featherFilePath, columns=allRegionsToImport) # Run RcisTarget motifEnrichmentTable <- cisTarget(regionSets_db, motifRankings, aucMaxRank=0.005*getNumColsInDB(motifRankings)) # Show output: showLogo(motifEnrichmentTable)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.