vignettes/enhancerHomologSearch.Rmd
enhancerHomologSearch.Rmd
There is an increasing requirement for the tools to identify of putative mammalian orthologs to enhancers in species other than human and mouse, such as zebrafish, which is lacking whole genome comparison analysis data. Take zebrafish as an example, there are two major methods to identify the orthologs to enhancers in human and mouse,
use the whole genome comparison analysis data and conservation data1,
use spotted gar genome as bridge genome to search the orthologs2.
Both methods will work well in the coding region. However, there is lacking comparative data in distal regulation region such as enhancers and silencers.
In 2020, Emily S. Wong et. al. provides a new method for identification of putative human orthologs to enhancers of zebrafish3. They used the method to interrogate conserved syntenic regions and human and mouse using candidate sponge enhancer sequences. First, they looked for overlap with available functional genomics information. For example, they used mouse ENCODE data to infer enhancer activity based on histone marks in specific tissues. Second, they select the best-aligned region by whole genome alignment from the candidates regions for human and mouse as orthologs. This method provides the possibility to search orthologs for enhancers or silencers even there is not genome comparative data available.
This package is modified from Wong’s methods and provide the easy-to-use script for researchers to quick search putative mammalian orthologs to enhancers. The modified algorithm is: The candidate regions were determined by ENCODE histone marks (default is H3K4me1) in specific tissue for human and mouse. The mapping score were calculated by pairwise Transcription Factors Binding Pattern Similarity (TFBPS) between enhancer sequences and candidates by fast motif match4. The Z-score were calculated from mapping score and then converted to P-value based on two-side test from a normal distribution. The candidates were filtered by p-value and distance from the TSS of target homologs. And then the top candidates from human and mouse were aligned to each other and exported as multiple alignments with given enhancer.
First install enhancerHomologSearch
and other packages
required to run the examples. Please note the example dataset used here
is from zebrafish. To run analysis with dataset from a different species
or different assembly, please install the corresponding Bsgenome and
TxDb. For example, to analyze cattle data aligned to bosTau9, please
install BSgenome.Btaurus.UCSC.bosTau9, and
TxDb.Btaurus.UCSC.bosTau9.refGene. You can also generate a TxDb object
by functions makeTxDbFromGFF from a local gff file, or makeTxDbFromUCSC,
makeTxDbFromBiomart, and makeTxDbFromEnsembl, from online resources in
GenomicFeatures package.
if (!"BiocManager" %in% rownames(installed.packages()))
install.packages("BiocManager")
library(BiocManager)
BiocManager::install(c("enhancerHomologSearch",
"BiocParallel",
"BSgenome.Drerio.UCSC.danRer10",
"BSgenome.Hsapiens.UCSC.hg38",
"BSgenome.Mmusculus.UCSC.mm10",
"TxDb.Hsapiens.UCSC.hg38.knownGene",
"TxDb.Mmusculus.UCSC.mm10.knownGene",
"org.Hs.eg.db",
"org.Mm.eg.db",
"MotifDb",
"motifmatchr"))
If you have trouble in install enhancerHomologSearch, please check
your R version first. The enhancerHomologSearch
package
require R >= 4.1.0.
R.version
## _
## platform x86_64-pc-linux-gnu
## arch x86_64
## os linux-gnu
## system x86_64, linux-gnu
## status Under development (unstable)
## major 4
## minor 3.0
## year 2022
## month 11
## day 07
## svn rev 83308
## language R
## version.string R Under development (unstable) (2022-11-07 r83308)
## nickname Unsuffered Consequences
In this example, we will use an enhancer of lepb
gene in
zebrafish.
# load genome sequences
library(BSgenome.Drerio.UCSC.danRer10)
# define the enhancer genomic coordinates
LEN <- GRanges("chr4", IRanges(19050041, 19051709))
# extract the sequences as Biostrings::DNAStringSet object
(seqEN <- getSeq(BSgenome.Drerio.UCSC.danRer10, LEN))
## DNAStringSet object of length 1:
## width seq
## [1] 1669 TGGCATACACAGCAAACATCATGAATTTAATTTA...TAGATAAATAGAAACAGAAGCAAATTGGCGAGT
By default, the hisone marker is H3K4me1. Users can also define the
markers by markers
parameter in the function
getENCODEdata
. To make sure the markers are tissue
specific, we can filter the data by biosample_name
and
biosample_type
parameters. For additional filters, please
refer ?getENCODEdata
.
# load library
library(enhancerHomologSearch)
library(BSgenome.Hsapiens.UCSC.hg38)
library(BSgenome.Mmusculus.UCSC.mm10)
# download enhancer candidates for human heart tissue
hs <- getENCODEdata(genome=Hsapiens,
partialMatch=c(biosample_summary = "heart"))
# download enhancer candidates for mouse heart tissue
mm <- getENCODEdata(genome=Mmusculus,
partialMatch=c(biosample_summary = "heart"))
Previous methods were get alignment score from the alignment of
enhancer and candidate enhancers via the function
alignmentOne
. However, most of the enhancer evolution are
rapid. This package is modified from Wong’s methods and calculate the
alignment score by pairwise Transcription Factors Binding Pattern
Similarity (TFBPS) between enhancer sequences and candidates. This step
is time consuming step. For quick run, users can subset the data by
given genomic coordinates.
# subset the data for test run
# in human, the homolog LEP gene is located at chromosome 7
# In this test run, we will only use upstream 1M and downstream 1M of homolog
# gene
library(TxDb.Hsapiens.UCSC.hg38.knownGene)
library(org.Hs.eg.db)
eid <- mget("LEP", org.Hs.egALIAS2EG)[[1]]
g_hs <- select(TxDb.Hsapiens.UCSC.hg38.knownGene,
keys=eid,
columns=c("GENEID", "TXCHROM", "TXSTART", "TXEND", "TXSTRAND"),
keytype="GENEID")
g_hs <- range(with(g_hs, GRanges(TXCHROM, IRanges(TXSTART, TXEND))))
expandGR <- function(x, ext){
stopifnot(length(x)==1)
start(x) <- max(1, start(x)-ext)
end(x) <- end(x)+ext
GenomicRanges::trim(x)
}
hs <- subsetByOverlaps(hs, expandGR(g_hs, ext=1000000))
# in mouse, the homolog Lep gene is located at chromosome 6
# Here we use the subset of 1M upstream and downstream of homolog gene.
library(TxDb.Mmusculus.UCSC.mm10.knownGene)
library(org.Mm.eg.db)
eid <- mget("Lep", org.Mm.egALIAS2EG)[[1]]
g_mm <- select(TxDb.Mmusculus.UCSC.mm10.knownGene,
keys=eid,
columns=c("GENEID", "TXCHROM", "TXSTART", "TXEND", "TXSTRAND"),
keytype="GENEID")
g_mm <- range(with(g_mm,
GRanges(TXCHROM,
IRanges(TXSTART, TXEND),
strand=TXSTRAND)))
g_mm <- g_mm[seqnames(g_mm) %in% "chr6" & strand(g_mm) %in% "+"]
mm <- subsetByOverlaps(mm, expandGR(g_mm, ext=1000000))
# search the binding pattern
data(motifs)
## In the package, there are 10 sets of motif cluster sets.
## In this example, we use motif clusters merged by distance 60, which
## is calculated by matalgin (motifStack implementation)
PWMs <- motifs[["dist60"]]
## Here we set maximalShuffleEnhancers = 100 to decrease the computation time.
## The defaults of maximalShuffleEnhancers is 1000. Increase the shuffle number
## may help to get accurate P-value.
aln_hs <- searchTFBPS(seqEN, hs, PWMs = PWMs,
queryGenome = Drerio,
maximalShuffleEnhancers = 100)
aln_mm <- searchTFBPS(seqEN, mm, PWMs = PWMs,
queryGenome = Drerio,
maximalShuffleEnhancers = 100)
## if you want to stick to sequence similarity search, try to use ?alignmentOne
Here we will filter the candidate regions more than 5K from TSS of homolog but within 100K from the gene body. The candidates will be also filtered by p-value.
# Step4
ext <- 100000
aln_hs <- subsetByOverlaps(aln_hs, ranges = expandGR(g_hs, ext=ext))
## filter by distance
distance(aln_hs) <- distance(peaks(aln_hs), g_hs, ignore.strand=TRUE)
aln_hs <- subset(aln_hs, pval<0.1 & distance >5000)
aln_hs
## This is an object with 1 Enhancers for Homo sapiens
aln_mm <- subsetByOverlaps(aln_mm, ranges = expandGR(g_mm, ext=ext))
## filter by distance
distance(aln_mm) <- distance(peaks(aln_mm), g_mm, ignore.strand=TRUE)
aln_mm <- subset(aln_mm, pval<0.1 & distance >5000)
aln_mm
## This is an object with 3 Enhancers for Mus musculus
This step will create alignments for all combination of the enhancer and the orthologs.
aln_list <- list(human=aln_hs, mouse=aln_mm)
al <- alignment(seqEN, aln_list,
method="ClustalW", order="input")
al
## [[1]]
## DNAMultipleAlignment with 3 rows and 1676 columns
## aln names
## [1] TGGCATACACAGCAAACATCATGAAT...TAGAAACAGAAGCAAATTGGCGAGT Enhancer
## [2] --------------------------...------------------------- human_chr7:128264...
## [3] --------------------------...------------------------- mouse_chr6:290320...
##
## [[2]]
## DNAMultipleAlignment with 3 rows and 1707 columns
## aln names
## [1] TGGCATACACAGCAAACATCATGAAT...TAGAAACAGAAGCAAATTGGCGAGT Enhancer
## [2] --------------------------...------------------------- human_chr7:128264...
## [3] --------------------------...------------------------- mouse_chr6:291474...
##
## [[3]]
## DNAMultipleAlignment with 3 rows and 1683 columns
## aln names
## [1] TGGCATACACAGCAAACATCATGAAT...TAGAAACAGAAGCAAATTGGCGAGT Enhancer
## [2] --------------------------...------------------------- human_chr7:128264...
## [3] --------------------------...------------------------- mouse_chr6:290312...
Different form finding motif hits from the consensus of multiple
alignment results, the conservedMotifs
function will search
the user defined motifs form available homologs.
cm <- conservedMotifs(al[[1]], aln_list, PWMs, Drerio)
The selected candidates will be aligned cross human and mouse and
then output as phylip multiple alignment file in text
or
html
format.
library(MotifDb)
motifs <- query(MotifDb, "JASPAR_CORE")
consensus <- sapply(motifs, consensusString)
consensus <- DNAStringSet(gsub("\\?", "N", consensus))
tmpfolder <- tempdir()
saveAlignments(al, output_folder = tmpfolder, motifConsensus=consensus)
readLines(file.path(tmpfolder, "aln1.phylip.txt"))
## [1] " 5 1676"
## [2] "Enhancer TGGCATACAC AGCAAACATC ATGAATTTAA TTTAATTTAA TTTAATTTAA"
## [3] "human_chr7:128264261-128265260:+ ---------- ---------- ---------- ---------- ----------"
## [4] "mouse_chr6:29032045-29033044:+ ---------- ---------- ---------- ---------- ----------"
## [5] "Consensus ---------- ---------- ---------- ---------- ----------"
## [6] "motifConsensus ---------- ---------- ---------- ---------- ----------"
## [7] ""
## [8] " TTTAATTTTT TTAATTTAAT TTTAATATTT TAAAATAAAA TAAAATAAAA"
## [9] " ---------- ---------- ---------- ---------- ----------"
## [10] " ---------- ---------- ---------- ---------- ----------"
## [11] " ---------- ---------- ---------- ---------- ----------"
## [12] " ---------- ---------- ---------- ---------- ----------"
## [13] ""
## [14] " TAAAATAAAA TAAAAGATAA AGATAAAGAT AAAATAAAAT TCAACTCAAT"
## [15] " ---------- ---------- ---------- ---------- ----------"
## [16] " ---------- ---------- ---------- ---------- ----------"
## [17] " ---------- ---------- ---------- ---------- ----------"
## [18] " ---------- ---------- ---------- ---------- ----------"
## [19] ""
## [20] " TAAATTAAAA CTAAGCTAAA ATAAAAATAC AATAAAATAA ATTTCAATTT"
## [21] " ---------- ---------- ---------- ---------- ----------"
## [22] " ---------- ---------- ---------- ---------- ----------"
## [23] " ---------- ---------- ---------- ---------- ----------"
## [24] " ---------- ---------- ---------- ---------- ----------"
## [25] ""
## [26] " AATGTAATTT AATTTAAAAA GGGACTACGC CGAAAAGAAA ATGAATGAAT"
## [27] " ---------- ---------- ---------- ---------- ----------"
## [28] " ---------- ---------- ---------- ---------- ----------"
## [29] " ---------- ---------- ---------- ---------- ----------"
## [30] " ---------- ---------- ---------- ---------- ----------"
## [31] ""
## [32] " GGATGAATAA ATAATTTAAT TTAATTTAAT TTAATTTAAT TTAATTTAAT"
## [33] " ---------- ---------- ---------- ---------- ----------"
## [34] " ---------- ---------- ---------- ---------- ----------"
## [35] " ---------- ---------- ---------- ---------- ----------"
## [36] " ---------- ---------- ---------- ---------- ----------"
## [37] ""
## [38] " TTAATTTAAT TTAATTTAAT TTAATTTAAT TTAATTTAAT TTAATTTAAT"
## [39] " ---------- ---------- ---------- ---------- ----------"
## [40] " ---------- ---------- ---------- ---------- ----------"
## [41] " ---------- ---------- ---------- ---------- ----------"
## [42] " ---------- ---------- ---------- ---------- ----------"
## [43] ""
## [44] " TTAATTTAAT TTGTTCGGCA CAGTATAATA TGCTAGCATC TCAGTTATTT"
## [45] " ---------- ---------- ---------- ---------- ----------"
## [46] " ---------- ---------- ---------- ---------- ----------"
## [47] " ---------- ---------- ---------- ---------- ----------"
## [48] " ---------- ---------- ---------- ---------- ----------"
## [49] ""
## [50] " CACGTGTGTT GTTACTATAA AATAAGCAAA ACAGTGATAA AATAAGTTTG"
## [51] " ---------- ---------- ---------- ---------- ----------"
## [52] " ---------- ---------- ---------- ---------- ----------"
## [53] " ---------- ---------- ---------- ---------- ----------"
## [54] " ---------- ---------- ---------- ---------- ----------"
## [55] ""
## [56] " TGTTGCTTAT CTTATGACTG GTGGAATGTA ACAGGGAAAA AAAGCACATA"
## [57] " ---------- ---------- ---------- ---------- ----------"
## [58] " ---------- ---------- ---------- ---------- ----------"
## [59] " ---------- ---------- ---------- ---------- ----------"
## [60] " ---------- ---------- ---------- ---------- ----------"
## [61] ""
## [62] " CTGTGACTTT GACAAAACTG AGTGACTGAT GATAATAAAC TTCTCTTCTC"
## [63] " ---------- ---------- ---------- ------GAAC AGAGAGGATT"
## [64] " ---------- ---------- ---------- ---TCTGAAC TGCCTTGTTT"
## [65] " ---------- ---------- ---------- -----T-AAC T-C--T--T-"
## [66] " ---------- ---------- ---------- ---------- ----------"
## [67] ""
## [68] " GTAAGCTGAC AGTTCATAAA ACCTCTGCTT GTTTTTTTGT ACTTTTAATC"
## [69] " GCCTGGAG-- -GTTCCTAGG ACCACAGCAA GAGGTGTT-- GTGGGGGGCT"
## [70] " ACCAGCTG-- -TCTTGCTAA ACCTCAGCCT ATGCCGGTA- GCAGGCTGTT"
## [71] " G--AGCTG-- -GTTC-TAAA ACCTC-GC-T GT--T-TT-- -C------T-"
## [72] " ---------- ---------- ---------- ---------- ----------"
## [73] ""
## [74] " TTAAGGTGAC GCATGTAGCT TCCTGTCCTT CT-CAGTTTA CTGACAGAGG"
## [75] " T---CCCGGC T-TCCCGGAG GCCCTTCTTC CCATGACAGG AGG---GACA"
## [76] " TAGGCCGGGT TATTCTAGAG CTTGGATCTT TAGTGGTTTA ATGTTTAAGG"
## [77] " T------G-C ---T-TAG-- -CC-GTCCTT C----GTTTA -TG---GAGG"
## [78] " ---------- ---------- ---------- ---------- ----------"
## [79] ""
## [80] " TTAGGGTTTA -ATCCCAGAT ATCCAGTCTG ACTGTACAGT AGTTCAGGAG"
## [81] " GTGGAGATAG CACCTACTCT GGTGACCTTG C--TCTCTGC TTTT---GTC"
## [82] " ATGCATCAGG GGCTTCCGAT GGCCAGCCTG CGGCTGCTTC CGAT---GAC"
## [83] " -T-G-G-T-- -A-C-C-GAT --CCAG-CTG ----T-C-G- -GTT---GA-"
## [84] " ---------- ------NGAT N--------- ---------- ----------"
## [85] ""
## [86] " ACCGACGCAG ATTTATAGCA TCATTCGTCA AACCCTGAGG ATAATCATTT"
## [87] " TTGTGACC-T GCTTGTGG-- --GTGAGCCC TACCCCTTGG -TTTCCACGT"
## [88] " AGATATCCAT GCGTATGGC- TCGTGACACT CTTCCCGTGG -CATCCAGCA"
## [89] " A---A--CA- --TTAT-GC- TC-T--G-C- -ACCC-G-GG -TA--CA--T"
## [90] " ---------- ---------- ---------- ---------- ----------"
## [91] ""
## [92] " GTCACAGCTT CCTTTGGTCA TCATTACTGT GCAAATAAAC TGTTAGAGCA"
## [93] " GACCCAT-AA AGTCTACTCA TTTTCTGTCC AG-GGTTCA- -GGCACAGAG"
## [94] " GAATTG--GA GCTCCAAGCA GACCTGGTCT GCCAGTTGC- -AAAACGTCT"
## [95] " G-C-CA---- -CT-T--TCA T--TT--T-T GC-A-T--A- -G--A-AGC-"
## [96] " ---------- ---------- ---------- ---------- ----------"
## [97] ""
## [98] " TGAGCCAGCA AAAACAGTGG GAAACGCAGC AATTTCCTGT ATTTAATAGT"
## [99] " AGAAAAGGCA AGGATGTGGA GGGAGAGGAG AGTC-CCTGG AAGGAATGTC"
## [100] " TCCATACAAA GAGGCATGTC AGAATGCAAG CAAC-CGTCT GGGCATCATT"
## [101] " TGA----GCA AA-ACA--G- G-AA-GCA-- AAT--CCTGT A---AATA-T"
## [102] " ---------- ---------- ---------- ---------- ----------"
## [103] ""
## [104] " CTGTGAGATA TACTTTAATG AGATGAAATT GAAGAAAACT GAGTCATTAG"
## [105] " CCC-AGCATA T-CAGCCTGG AGTTTCCATT CAGGAAATTT CCCCAGCTCC"
## [106] " ACG-GGGTTA T-GTGGAATC TGTTCTAATT GATTAAAACC AGGAAGATCA"
## [107] " C-G-G-GATA T-CT--AATG AG-T--AATT GA-GAAAACT --G----T--"
## [108] " ---------- ---------- ---------- ---------- ----------"
## [109] ""
## [110] " AAAGGCATTC ACATAAACTT TCCTGGTGTA TATTTCCTAA CTCTCTTCCA"
## [111] " CCAGACCCTC CCA--GACTT GCCTCCTCCC TCCTGACAAA GCCCCAGCCC"
## [112] " TCAATCATTC GAA--AGCCT CGACAGTTTG TTATTAGGTA GCCACTTGCC"
## [113] " --AG-CATTC -CA--AACTT -CCT-GT-T- T--TT-C-AA --C-CTTCC-"
## [114] " ---------- ---------- ---------- ---------- ----------"
## [115] ""
## [116] " GTGTTTTCTA CACCAGAAGA GTTCATTACA TCATTGAAGG ACAATGCTGA"
## [117] " -TACC-CATA GCCCCAGCCA CCACCCCCTT T-GAGGAGAG AAGGTGCTGG"
## [118] " -TATGACACA CCTCAAAACT GCTCCAGGCA T-GCAGCATG TTAGGACACC"
## [119] " -T-T----TA C-CCA-AA-A G-TC----CA T----GAA-G A-A-TGCTG-"
## [120] " ---------- ---------- ---------- ---------- ----------"
## [121] ""
## [122] " AAAATAAGAA CGCGTTTGGT TTTTCATAAA CCACATGGTC TTGTGGGTCA"
## [123] " GTTGGGTGAG GAGCTCTGCG GGAGGACTGA AC-CA-AGCT --GTGGGCTC"
## [124] " GCTGTGGGAA AAACCGCTGG TCACGATGAT GC-CAGAGCC --GCCAGTTG"
## [125] " ----T--GAA ----T-TGG- T----AT-AA -C-CA--G-C --GTGGGT--"
## [126] " ---------- ---------- ---------- ---------- ----------"
## [127] ""
## [128] " TGTTGTTTTG TTTCTTTAGA TTTGAGAGAC GGGGAATGAT GTGATTTTGC"
## [129] " CTGGGC---A CCTGCCCA-- --TG--AGCC AGGCCTGCAT CTCCCAGACC"
## [130] " TGAAAT---G AAAACCAA-- --TGCCAGCT AACTAATTGT TTCAACTACC"
## [131] " TG--GT---G --T----A-- --TG--AG-C -GG-AAT-AT -T-A--T--C"
## [132] " ---------- ---------- ---------- ---------- ----------"
## [133] ""
## [134] " CCAGTCAGCA TGGATATGAT TTGGACTTCC ATCTGTTTAA GATTAAATGG"
## [135] " TGCTTGTGGG TGAGCCTGCA TGCTGACATG CTTGGCTGGG CTCTAGCC--"
## [136] " C-TGTGCCAA AGAATCGATT GGGGAGAACA TTTTGTCCAC ACTCACCCGA"
## [137] " C--GT--G-A TG-AT-TG-T T-GGA---C- -T-TGTT-A- --TTA---G-"
## [138] " ---------- ---------- ---------- ---------- ----------"
## [139] ""
## [140] " TAGACAGAGA GAAATATTTC TGTTTTTTTT ATCCATGATT GCAAATCTGT"
## [141] " TTGGCTATTG GTGGC--CCA GGGTGTGTGT GTGTGTGCGT GCATGTGTGT"
## [142] " TTGGC--TTG GTGGT--CTT GGTCCTGTAG AGATGCAGCC GGAGTATCAG"
## [143] " T-G-C----- G---T---T- -GTT-T-T-T AT---TG--T GCA--T-TGT"
## [144] " ---------- ---------- ---------- ---------- ----------"
## [145] ""
## [146] " GGGTTCAAAG TCTGCTTTTG TTCCAAATAA TCATTCAAAC CTGCCGTACT"
## [147] " GTGTGTCC-C TTTGGAGCTA TGTAGTTTGT GTACCAAAAT AAGAAGGGAG"
## [148] " GAATGTGG-G CCTAGTGTCA GGTA--TCAG AATTCGAGGC TGGAAGGAGC"
## [149] " G-GT-----G TCTG-T-TT- T------TA- --AT--AAAC --G--G-A--"
## [150] " ---------- ---------- ---------- ---------- ----------"
## [151] ""
## [152] " GTGTGGGGTG GGAAGTGAAG GAGGATCTTA TCTGGAA--A TCATGTGCTG"
## [153] " CTGGGGAGTT GAGCCCTGAT GAACTTTGTA ACAATAA--A GCCTTATCTT"
## [154] " CTCCAGAGAG AGAGTTTCAT GCATTCCCTT CATGTCACCA ACAAGGATCA"
## [155] " -TG-GG-GTG GGA--T--A- GA---TC-TA -CTG-AA--A -CATG--CT-"
## [156] " ---------- ---------- ---------- ---------- ----------"
## [157] ""
## [158] " TATGATGAAG GCAGGATATG GAAAACTCC- AAATATGGAC ACC-TTTATG"
## [159] " GTTAAATAAA TCAAGCCTTG AATAAATGC- CTGCTTATTC CTTGCCAATA"
## [160] " GAGGGAGCAG CCAGGCTGCT GAAGGGCGCG CCACACAATT GTGGACTATT"
## [161] " -ATGA-GAAG -CAGG-T-TG GAAAA-T-C- --A-AT---C ------TAT-"
## [162] " ---------- ---------- ---------- ---------- ----------"
## [163] ""
## [164] " TGTGCAAGGG AGAAAGTCTG AAGGATGCAA CCTGTTCATA ACATTTTCAT"
## [165] " TTTTCCTGCT ACCTAAGGCA ACATAGCTCT GTGACCTGTA ACCAGTCACT"
## [166] " GTTTTCAGAA A--GAGGTCA ATGAGGGCAC ATCTTTGCCC ACAGCATTTT"
## [167] " T-T-C-AG-- A---AG---- A-G-A-GCA- ----TT--TA ACA--TT--T"
## [168] " ---------- ---------- ---------- --------TA ACA-------"
## [169] ""
## [170] " TCAAATTTAA ACTAGTTTGA TTAATTCCAA ATGCACATTT GATTTGTTGT"
## [171] " TAACCTCTCT GG------GT CTATTTCCAT ATCTATAGAA AGTGGATATA"
## [172] " TAACATTTTC GC------AG CTATTTCAGA ATC---ACGG TGCCCACTGA"
## [173] " T-A-ATTT-- -C------G- -TA-TTCCAA AT--A-A--- --T---TTG-"
## [174] " ---------- ---------- ---------- ---------- ----------"
## [175] ""
## [176] " GTTTTTATGA TGTATTTCAC AATACTGTTG CATAAAATAT CTAAAAAAAA"
## [177] " ATACT-ATT- TGTTCTCCTC AATGCTGCTT ATTGTAGAGA TCAAATGTAA"
## [178] " ATGGC-ATTG CGTACTTTCT AAAAGTAGAC A----AGAAT TTGAGAAACA"
## [179] " -T--T-AT-- TGTA-TTC-C AATACTG-T- --T--A--AT -TAAAAAAAA"
## [180] " ---------- ---------- ---------- ---------- ----------"
## [181] ""
## [182] " CATTTAGTTA TATGGAAGAC ACTTGGACAA CTGGTTGTTA TTTGTTTGTC"
## [183] " TAACG---TG TGTGAAAG-- ---TGCTTTA TAGATGGCAA GGTGCTGTTC"
## [184] " CCCCG---TG -GTGCAAC-- ---TG-TTCA TTGCTTA-AA CCTACTGCTG"
## [185] " CA------T- T-TG-AAG-- ---TG----A -TG-TTG--A --TG-T--TC"
## [186] " ---------- ---------- ---------- ---------- ----------"
## [187] ""
## [188] " TATTTTTATG AATGCCTCAA AGATCAAATA GTTACACAC- TTAATGCAAT"
## [189] " TGCTGTAAGG AATCCTTCTG ATCATTACGC TTTTTGTAAA GCAATCAGAA"
## [190] " ACTCATTTG- ---CCCTTCG ATACTT---C TTTACCAACA TCGGTGGTGG"
## [191] " T-TT-TTA-G AAT-CCTC-- A-A---A--- -TTAC--AC- T-AATG--A-"
## [192] " ---------- ---------- ---------- ---------- ----------"
## [193] ""
## [194] " CGAGCTTAGA GAGAGAAATT AAAAGTCTTA AATAAATTGT GATTAGATAA"
## [195] " CAGCCATC-- ---------- ---------- ---------- ----------"
## [196] " CATCT----- ---------- ---------- ---------- ----------"
## [197] " C---C-T--- ---------- ---------- ---------- ----------"
## [198] " ---------- ---------- ---------- ---------- ----------"
## [199] ""
## [200] " ATAGAAACAG AAGCAAATTG GCGAGT"
## [201] " ---------- ---------- ------"
## [202] " ---------- ---------- ------"
## [203] " ---------- ---------- ------"
## [204] " ---------- ---------- ------"
## R Under development (unstable) (2022-11-07 r83308)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 22.04.1 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: Etc/UTC
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] motifmatchr_1.21.0
## [2] MotifDb_1.41.0
## [3] org.Mm.eg.db_3.16.0
## [4] TxDb.Mmusculus.UCSC.mm10.knownGene_3.10.0
## [5] org.Hs.eg.db_3.16.0
## [6] TxDb.Hsapiens.UCSC.hg38.knownGene_3.16.0
## [7] GenomicFeatures_1.51.2
## [8] AnnotationDbi_1.61.0
## [9] Biobase_2.59.0
## [10] BSgenome.Mmusculus.UCSC.mm10_1.4.3
## [11] BSgenome.Hsapiens.UCSC.hg38_1.4.4
## [12] BSgenome.Drerio.UCSC.danRer10_1.4.2
## [13] BSgenome_1.67.1
## [14] rtracklayer_1.59.0
## [15] Biostrings_2.67.0
## [16] XVector_0.39.0
## [17] GenomicRanges_1.51.1
## [18] GenomeInfoDb_1.35.2
## [19] IRanges_2.33.0
## [20] S4Vectors_0.37.0
## [21] BiocGenerics_0.45.0
## [22] enhancerHomologSearch_1.5.0
##
## loaded via a namespace (and not attached):
## [1] jsonlite_1.8.3 magrittr_2.0.3
## [3] rmarkdown_2.18 fs_1.5.2
## [5] BiocIO_1.9.0 zlibbioc_1.45.0
## [7] ragg_1.2.4 vctrs_0.5.0
## [9] memoise_2.0.1 Rsamtools_2.15.0
## [11] RCurl_1.98-1.9 htmltools_0.5.3
## [13] progress_1.2.2 curl_4.3.3
## [15] CNEr_1.35.0 sass_0.4.2
## [17] pracma_2.4.2 bslib_0.4.1
## [19] desc_1.4.2 plyr_1.8.7
## [21] cachem_1.0.6 GenomicAlignments_1.35.0
## [23] lifecycle_1.0.3 pkgconfig_2.0.3
## [25] Matrix_1.5-1 R6_2.5.1
## [27] fastmap_1.1.0 GenomeInfoDbData_1.2.9
## [29] MatrixGenerics_1.11.0 digest_0.6.30
## [31] colorspace_2.0-3 TFMPvalue_0.0.9
## [33] rprojroot_2.0.3 textshaping_0.3.6
## [35] RSQLite_2.2.18 seqLogo_1.65.0
## [37] filelock_1.0.2 fansi_1.0.3
## [39] httr_1.4.4 compiler_4.3.0
## [41] bit64_4.0.5 withr_2.5.0
## [43] BiocParallel_1.33.0 DBI_1.1.3
## [45] R.utils_2.12.1 biomaRt_2.55.0
## [47] rappdirs_0.3.3 poweRlaw_0.70.6
## [49] DelayedArray_0.25.0 rjson_0.2.21
## [51] gtools_3.9.3 caTools_1.18.2
## [53] tools_4.3.0 splitstackshape_1.4.8
## [55] R.oo_1.25.0 glue_1.6.2
## [57] restfulr_0.0.15 grid_4.3.0
## [59] reshape2_1.4.4 TFBSTools_1.37.0
## [61] generics_0.1.3 gtable_0.3.1
## [63] tzdb_0.3.0 R.methodsS3_1.8.2
## [65] data.table_1.14.4 hms_1.1.2
## [67] xml2_1.3.3 utf8_1.2.2
## [69] pillar_1.8.1 stringr_1.4.1
## [71] dplyr_1.0.10 BiocFileCache_2.7.0
## [73] lattice_0.20-45 bit_4.0.4
## [75] annotate_1.77.0 tidyselect_1.2.0
## [77] DirichletMultinomial_1.41.0 GO.db_3.16.0
## [79] knitr_1.40 SummarizedExperiment_1.29.1
## [81] xfun_0.34 matrixStats_0.62.0
## [83] stringi_1.7.8 yaml_2.3.6
## [85] evaluate_0.18 codetools_0.2-18
## [87] tibble_3.1.8 cli_3.4.1
## [89] xtable_1.8-4 systemfonts_1.0.4
## [91] munsell_0.5.0 jquerylib_0.1.4
## [93] Rcpp_1.0.9 dbplyr_2.2.1
## [95] png_0.1-7 XML_3.99-0.12
## [97] parallel_4.3.0 ellipsis_0.3.2
## [99] pkgdown_2.0.6 ggplot2_3.4.0
## [101] readr_2.1.3 assertthat_0.2.1
## [103] blob_1.2.3 prettyunits_1.1.1
## [105] bitops_1.0-7 scales_1.2.1
## [107] purrr_0.3.5 crayon_1.5.2
## [109] rlang_1.0.6 KEGGREST_1.39.0