TFBSTools
Dependencies & Environment
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
- Version: 1.50.0 · Bioconductor: 3.23 · R: ≥ 4.6
- Imports: Biobase, Biostrings, pwalign, BiocGenerics, BiocParallel, BSgenome, caTools, DirichletMultinomial, Seqinfo, GenomicRanges, gtools, IRanges, DBI, RSQLite, rtracklayer, seqLogo, S4Vectors, TFMPvalue, XML, XVector
- Install:
BiocManager::install("TFBSTools")
When to Use
- Matrix Conversion: Converting Position Frequency Matrices (PFMs) to Position Weight Matrices (PWMs) or Information Content Matrices (ICMs) using
toPWMandtoICM. - Motif Scanning: Scanning nucleotide sequences or pairwise alignments for transcription factor binding sites using
searchSeqorsearchAln. - Database Querying: Querying and retrieving matrix data from the JASPAR database using
getMatrixSet. - Random Profile Generation: Generating random profile matrices via permutation or Dirichlet multinomial mixture models using
permuteMatrixandrPWMDmm. - Visualization: Visualizing sequence logos for basic PWMs or Transcription Factor Flexible Models (TFFMs) using
seqLogo.
When NOT to Use
- For high-throughput scanning of thousands of large genomic regions, use
motifmatchrinstead, becausesearchSeqis optimized for targetedDNAStringorDNAStringSetobjects rather than massiveGRangespeak sets. - For de novo motif discovery without external dependencies, use
universalmotifbecauserunMEMErequires the external MEME suite to be installed on the system.
Data Requirements
- Input Format:
PFMatrixobjects,DNAStringorDNAStringSetfor sequences, andAxtobjects for alignments. - Structure: 4-row matrices representing A, C, G, T counts or probabilities.
- Normalization State: Raw position frequency counts for PFMs, which are then converted to log2 probability ratios for PWMs.
Key Parameters
- type (default): The type of matrix conversion in
toPWM(e.g., "log2probratio") or the type of p-value calculation inpvalues(e.g., "TFMPvalue"). - pseudocounts (default): Numeric value (default 0.8) added to correct small counts or eliminate zero values before log transformation in
toPWM. - bg (default): A named numeric vector representing background nucleotide frequencies (e.g.,
c(A=0.25, C=0.25, G=0.25, T=0.25)). - min.score (default): Minimum score threshold (e.g., "60%" or "80%") for a sequence match to be reported in
searchSeqorsearchAln. - schneider (default): Logical in
toICMindicating whether to apply the Schneider correction. - strand (default): Controls which strand is searched in
searchSeq(e.g., "*" for both strands).
Best Practices
- Use
pseudocounts=0.8intoPWMrather than the square root of sequences to avoid overly harsh corrections on zero values. - When scanning sequences with
searchSeq, usepvalueswithtype="TFMPvalue"to calculate empirical p-values for the match scores. - Use
writeGFF3orwriteGFF2to exportSiteSetobjects into standard genomic formats for downstream visualization.
Common Pitfalls
- Pitfall:
runMEMEfails to execute.
Fix: Ensure the external MEME software suite is installed and thebinaryargument correctly points to the executable. - Pitfall:
searchSeqreturns too many false positive hits.
Fix: Increase themin.scorethreshold (e.g., from "60%" to "90%") to enforce stricter matching. - Pitfall:
toPWMthrows an error due to zero counts.
Fix: Ensurepseudocountsis set to a positive value (like 0.8) to eliminate zero values before log transformation.
Alternatives
- motifmatchr: For faster, parallelized motif scanning across large
GRangesobjects. - universalmotif: For comprehensive motif manipulation and de novo discovery without relying strictly on external binaries like MEME.
- Biostrings: For basic PWM matching (
matchPWM), though it lacks the advanced statistical models and TFFM support ofTFBSTools.
Citations
- Tan G, Lenhard B (2016). TFBSTools: an R/Bioconductor package for transcription factor binding site analysis. Bioinformatics.
- Mathelier and Wasserman (2013). The next generation of transcription factor binding site, TFFM.
References
- Homepage: https://bioconductor.org/packages/TFBSTools
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/TFBSTools/inst/doc/TFBSTools.html
Run this on BioMate
This skill is the knowledge layer — when, why, and how to use tfbstools. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.