title: BAMQL: a query language for extracting reads from BAM files.
abstract: BACKGROUND
  It is extremely common to need to select a subset of reads from a BAM file based on their specific properties. Typically, a user unpacks the BAM file to a text stream using SAMtools, parses and filters the lines using AWK, then repacks them using SAMtools. This process is tedious and error-prone. In particular, when working with many columns of data, mix-ups are common and the bit field containing the flags is unintuitive. There are several libraries for reading BAM files, such as Bio-SamTools for Perl and pysam for Python. Both allow access to the BAM's read information and can filter reads, but require substantial boilerplate code; this is high overhead for mostly ad hoc filtering.
  
  
  RESULTS
  We have created a query language that gathers reads using a collection of predicates and common logical connectives. Queries run faster than equivalents and can be compiled to native code for embedding in larger programs.
  
  
  CONCLUSIONS
  BAMQL provides a user-friendly, powerful and performant way to extract subsets of BAM files for ad hoc analyses or integration into applications. The query language provides a collection of predicates beyond those in SAMtools, and more flexible connectives.
authors: Ontario Institute for Cancer Research, Suite 510, 661 University Avenue, M5G 0A3, Toronto, Canada.
authors: Andre P
authors: AP
authors: Masella
authors: Ontario Institute for Cancer Research, Suite 510, 661 University Avenue, M5G 0A3, Toronto, Canada.
authors: Christopher M
authors: CM
authors: Lalansingh
authors: Ontario Institute for Cancer Research, Suite 510, 661 University Avenue, M5G 0A3, Toronto, Canada.
authors: Pragash
authors: P
authors: Sivasundaram
authors: Ontario Cancer Institute, Princess Margaret Cancer Centre/University Health Network, Toronto, Canada.
authors: Michael
authors: M
authors: Fraser
authors: Ontario Cancer Institute, Princess Margaret Cancer Centre/University Health Network, Toronto, Canada.|Department of Medical Biophysics, University of Toronto, Toronto, Canada.|Department of Radiation Oncology, University of Toronto, Toronto, Canada.
authors: Robert G
authors: RG
authors: Bristow
authors: Ontario Institute for Cancer Research, Suite 510, 661 University Avenue, M5G 0A3, Toronto, Canada. Paul.Boutros@oicr.on.ca.|Department of Pharmacology & Toxicology, University of Toronto, Toronto, Canada. Paul.Boutros@oicr.on.ca.|Department of Medical Biophysics, University of Toronto, Toronto, Canada. Paul.Boutros@oicr.on.ca.
authors: Paul C
authors: PC
authors: Boutros
mesh_terms: D001483:Base Sequence; D002875:Chromosomes / Q000235:genetics; D020407:Internet; D008928:Mitochondria / Q000235:genetics; D012984:Software; D014584:User-Computer Interface
keywords: BAM-format; BAMQL; Query language