BLAMM
BLAMM identifies occurrences of Position Weight Matrices (PWMs) within long DNA sequences by expressing motif scanning as BLAS-accelerated matrix-matrix operations for high-performance motif matching.
Key Features:
- BLAS-accelerated computation: Performs matrix-matrix products using optimized Basic Linear Algebra Subprograms (BLAS) implementations for high efficiency.
- PWM scanning via matrix operations: Expresses PWM matching workloads as matrix-matrix products to handle large sets of PWMs.
- CPU and GPU implementations: Supports execution on both CPU and GPU architectures.
- Multithreading and parallelization: Algorithm structure facilitates straightforward parallelization and multithreading to scale across cores.
- Runtime independent of p-value threshold: Processing time remains consistent regardless of the selected p-value threshold for PWM matching.
- Low memory footprint: Requires minimal memory to process large genomic datasets.
- Performance benchmarks: On a 36-core machine scanning both strands of the human genome for 1404 PWMs from the JASPAR database at a p-value threshold of 10⁻4 takes approximately 13 minutes, and on dual GPU systems the same task completes in under five minutes.
Scientific Applications:
- Genome-wide PWM scanning: Scanning both strands of whole genomes for PWM occurrences at scale.
- Transcription factor binding site identification: Detection of transcription factor binding sites using PWMs such as those from JASPAR.
- Gene regulation studies: Analysis of regulatory motifs across large genomic datasets to support gene regulation research.
- High-throughput motif analysis: Large-scale analysis of extensive PWM libraries across vast genomic sequences.
Methodology:
Expresses PWM scanning as matrix-matrix products and executes them using optimized BLAS implementations; supports CPU and GPU implementations, parallelization via multithreading, scans both DNA strands, and yields runtime independent of p-value threshold.
Topics
Details
- License:
- GPL-3.0
- Tool Type:
- command-line tool
- Programming Languages:
- C++
- Added:
- 1/18/2021
- Last Updated:
- 2/4/2021
Operations
Publications
Fostier J. BLAMM: BLAS-based algorithm for finding position weight matrix occurrences in DNA sequences on CPUs and GPUs. BMC Bioinformatics. 2020;21(S2). doi:10.1186/s12859-020-3348-6. PMID:32164557. PMCID:PMC7068855.