elPrep

elPrep optimizes the preparation of SAM and BAM files for variant calling pipelines by executing multiple preprocessing steps efficiently.


Key Features:

  • Single-Pass Data Processing: Executes multiple preparation steps in a single pass through SAM/BAM data to avoid repeated reads.
  • Multithreaded and In-Memory Execution: Runs as a multithreaded application operating primarily in memory to minimize file I/O.
  • Merged Computations: Merges computations for filtering, sorting, marking duplicates, and reordering contigs to eliminate redundant processing.
  • Performance Efficiency: Benchmarks report a five-step preparation pipeline on whole-exome BAM (NA12878) completes in ~15 minutes with elPrep versus ~1 hour 40 minutes with SAMtools and Picard, and whole-genome runtime reduced from ~24 hours to under 5 hours.
  • Scalability and Cost-Effectiveness: Reduces aggregate computation time in large-scale clinical sequencing studies, decreasing overall analysis time and associated costs.

Scientific Applications:

  • Variant Calling Pipelines: Preprocessing SAM/BAM files for downstream variant calling workflows.
  • Large-Scale Genomic and Clinical Studies: Processing whole-exome and whole-genome sequencing datasets for population- and clinic-scale analyses.
  • Disease Research and Personalized Medicine: Accelerating detection of genetic variation relevant to disease studies and individualized treatment decisions.

Methodology:

Implements single-pass, multithreaded, in-memory processing that merges filtering, sorting, duplicate marking, and contig reordering operations; development included benchmarking runtime and memory usage across C++, Go, and Java and selection of Go based on those benchmarks and maintainability considerations.

Topics

Details

Tool Type:
command-line tool
Operating Systems:
Linux
Programming Languages:
Python
Added:
12/18/2017
Last Updated:
11/24/2024

Operations

Publications

Herzeel C, Costanza P, Decap D, Fostier J, Reumers J. elPrep: High-Performance Preparation of Sequence Alignment/Map Files for Variant Calling. PLOS ONE. 2015;10(7):e0132868. doi:10.1371/journal.pone.0132868. PMID:26182406. PMCID:PMC4504710.

Costanza P, Herzeel C, Verachtert W. Comparing Ease of Programming in C++, Go, and Java for Implementing a Next-Generation Sequencing Tool. Evolutionary Bioinformatics. 2019;15. doi:10.1177/1176934319869015. PMID:31452597. PMCID:PMC6698987.

Documentation

Links