Skip to content
Snippets Groups Projects
Select Git revision
  • bceff25af7bdf6a5dae77063d8719cdd92f56012
  • develop default protected
  • master
  • hts_opt_block_size
  • bz2-lzma-pkgconfig
  • exp/raw-index
  • cram_split_tags
  • configure
  • feature/contig_comma
  • parser-flags
  • irods_update
  • cigar-P-bis
  • cram_digests
  • CSIv2
  • ftype
  • lite
  • norm-indels
  • 1.8
  • 1.7
  • 1.6
  • 1.5
  • 1.4.1
  • 1.4
  • 1.3.2
  • 1.3.1
  • 1.3
  • 1.2.1
  • 1.2
  • 1.1
  • 1.0
  • 0.2.0-rc12
  • 0.2.0-rc11
  • 0.2.0-rc10
  • 0.2.0-rc9
  • 0.2.0-rc8
  • 0.2.0-rc7
  • 0.2.0-rc6
37 results

htslib

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    daviesrob authored and Jennifer Liddle committed
    * Pull repeated code to expand bam data to its own function
    
    Adds some missing overflow checks and fixes a few places where
    l_data was incremented before trying to expand the data buffer
    so it would no longer be valid on failure.
    
    * Add bam_aux_update_int() interface
    
    Makes adding or changing the values of integer tags much easier.
    Updated tags will grow in size if needed, including moving
    any following data.  They will not shrink - if the new data fits
    in the old space the size will remain unchanged even if it is
    bigger than stricly necessary.
    
    * Add bam_aux_update_float() interface
    
    * Add bam_aux_update_array() interface
    bceff25a
    History

    HTSlib is an implementation of a unified C library for accessing common file formats, such as SAM, CRAM and VCF, used for high-throughput sequencing data, and is the core library used by samtools and bcftools. HTSlib only depends on zlib. It is known to be compatible with gcc, g++ and clang.

    HTSlib implements a generalized BAM index, with file extension .csi (coordinate-sorted index). The HTSlib file reader first looks for the new index and then for the old if the new index is absent.

    This project also includes the popular tabix indexer, which indexes both .tbi and .csi formats, and the bgzip compression utility.

    Building HTSlib

    See INSTALL for complete details. Release tarballs contain generated files that have not been committed to this repository, so building the code from a Git repository requires extra steps:

    autoheader     # If using configure, generate the header template...
    autoconf       # ...and configure script (or use autoreconf to do both)
    ./configure    # Optional, needed for choosing optional functionality
    make
    make install