Cram-JS

Cram-JS implements decompression and reading of CRAM (Compressed Reference-Aligned Reads) files in JavaScript to enable processing of reference-aligned short-read sequencing data compressed with Huffman coding, subexponential codes, Elias gamma codes, rANS, and gzip in web browsers and Node.js.


Key Features:

  • CRAM decompression: Performs on-the-fly decompression and reading of CRAM files.
  • Compression algorithm support: Handles data encoded with Huffman coding, subexponential codes, Elias gamma codes, rANS (range Asymmetric Numeral Systems), and gzip.
  • Reference-aligned reads: Processes CRAM representation based on alignment of sequencing reads to a reference genome.
  • Execution environments: Runs in web browsers and in Node.js server-side environments.
  • JavaScript standard: Implemented according to the ES-6 JavaScript standard.
  • Genome browser integration: Compatible for integration with web-based genome browsers such as JBrowse and IGV-JS.

Scientific Applications:

  • Web-based genome browsing: Enables JBrowse and IGV-JS to directly handle CRAM-compressed genomic data for browser-based analysis.
  • Server-side bioinformatics: Enables Node.js-based workflows to process CRAM files without prior decompression.
  • Short-read sequencing data processing: Supports analysis and visualization workflows that operate on reference-aligned short-read sequencing data stored in CRAM format.

Methodology:

Implements CRAM file decompression and reading in ES-6 JavaScript, decoding reference-aligned reads compressed via alignment to a reference genome and encoded with Huffman coding, subexponential codes, Elias gamma codes, rANS, and gzip.

Topics

Details

License:
MIT
Maturity:
Mature
Cost:
Free of charge
Tool Type:
library
Operating Systems:
Linux, Windows, Mac
Programming Languages:
JavaScript
Added:
8/9/2019
Last Updated:
11/24/2024

Operations

Publications

Buels R, Dider S, Diesh C, Robinson J, Holmes I. Cram-JS: reference-based decompression in node and the browser. Bioinformatics. 2019;35(21):4451-4452. doi:10.1093/bioinformatics/btz384. PMID:31099383. PMCID:PMC6821367.

PMID: 31099383
PMCID: PMC6821367
Funding: - NCI: U24-CA220441

Documentation

Downloads

Links