eturro / mmseq

Haplotype, isoform and gene level expression analysis using multi-mapping RNA-seq reads
GNU General Public License v2.0
67 stars 20 forks source link

Convert mmseq to use the HTSlib API instead of the legacy samtools API #39

Closed jmarshall closed 5 years ago

jmarshall commented 5 years ago

For your consideration, this pull request converts bam2hits.cpp to use HTSlib for its BAM-reading needs rather than the old samtools 0.1.x API. The old API has been unmaintained for many years and this conversion means that the mmseq code will need only HTSlib, not HTSlib and Samtools. Because all the legacy API functions used happened to be macros or inline, the Makefile was already only linking against -lhts (not -lbam), so with this change you no longer need the legacy headers from Samtools either.

Accordingly this PR updates the instructions in README.md and dependencies.md to mention only HTSlib. As HTSlib's installation conventions are more mature than the legacy Samtools API's ever were, there is no longer any need to set CPLUS_INCLUDE_PATH.

This compiles against just HTSlib, but I have not tested it in depth.

eturro commented 5 years ago

Thanks for this.