SamQL

SamQL provides an SQL-like query language to filter and retrieve alignments from Sequence Alignment/Map (SAM) and Binary Alignment/Map (BAM) files for structured interrogation of sequencing alignment data.


Key Features:

  • SQL-Like Syntax: An SQL-like query language tailored to SAM/BAM formats for structured filtering and selection of alignment records.
  • Complex Query Support: Supports intricate query expressions to perform advanced selection and Boolean logic on alignment fields and tags.
  • Compatibility with Large Datasets: Operates directly on existing SAM and BAM files without requiring data transformation.
  • Go Implementation and Multicore Utilization: Implemented in Go and designed to leverage modern multicore computing systems for performance and scalability.
  • Structured Alternative to Shell One-Liners: Provides a programmatic querying approach intended to replace ad-hoc Bash one-liners for SAM/BAM interrogation.

Scientific Applications:

  • Large-scale sequencing data filtering: Enables targeted retrieval and filtering of alignments from SAM/BAM files in high-throughput sequencing projects.
  • Genomic data interrogation: Facilitates structured queries on alignment records and tags for downstream genomic analyses and interpretation.
  • Foundational component for genomics databases: Serves as a step toward building structured database engines for genomics by providing a query layer for SAM/BAM data.

Methodology:

Provides a comprehensive SQL-like query language that operates directly on SAM and BAM files and is implemented in Go to leverage multicore computing for query execution.

Topics

Details

License:
MIT
Tool Type:
command-line tool, workflow
Programming Languages:
SQL, Bash
Added:
3/19/2021
Last Updated:
4/3/2021

Operations

Publications

Lee CT, Maragkakis M. SamQL: A Structured Query Language and filtering tool for the SAM/BAM file format. Unknown Journal. 2021. doi:10.1101/2021.02.03.429524.