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.
Documentation
Downloads
- Source codehttps://github.com/GMOD/cram-js/releases