github.com/chrovis/cljam

A DNA Sequence Alignment/Map (SAM) library for Clojure

Open this visualization on its own page →

Contributors

13

Lines of Code

3,423

From

2013-07-09

To

2021-02-08

About chrovis/cljam

cljam is a Clojure library for reading, writing, and manipulating DNA sequence alignment data in formats commonly used in bioinformatics. It provides support for SAM (Sequence Alignment/Map) files along with related formats including BAM, CRAM, VCF, BCF, FASTA, FASTQ, BED, GFF, BigWig, 2bit, and WIG files. The library enables operations like reading and writing alignment files, sorting sequences, creating index files, and calculating coverage depth from BAM files.

The project is designed for bioinformaticians and Clojure developers working with genomic data. It offers both a programmatic API for use within Clojure applications and a command-line tool for command-line operations, though the command-line functionality is being deprecated in favor of a separate tool called Gnife. The library emphasizes parallel processing capabilities and includes comprehensive documentation through API references and annotated source code.

cljam has been actively maintained since 2013 and published in a peer-reviewed bioinformatics journal. The project includes extensive test coverage with options for basic, slow, and remote resource tests, and is distributed under the Apache License 2.0 via Clojars for easy dependency management in Clojure projects.

Share this video