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.