Skip to content

samtools/htslib-plugins

Repository files navigation

Plugins for use with HTSlib.

Built plugins need to be on HTSlib's plugin search path so that HTSlib and programs using it can find them. This can be arranged in either of the following ways:

  • Copy them to HTSlib's built-in search path, which typically includes /usr/local/libexec/htslib and similar directories. (If building HTSlib yourself, use ./configure --with-plugin-path=…:DIR:… to include directories of your choice in the path.)

  • Alternatively, set the HTS_PATH environment variable to include the directory containing the built plugins.

EGA-style encrypted (.cip) files

The hfile_cip plugin provides access to files encrypted with the European Genome-Phenome Archive's AES-CTR scheme, which usually have the extension .cip. The en-/decryption key is taken from the $HTS_CIP_KEY environment variable.

iRODS

The hfile_irods plugin provides access to remote data stored in iRODS. It can be built for iRODS 3.x, 4.1.x, or 4.2 onwards, and the resulting plugins can be renamed with version numbers so that they can be installed alongside each other.

When built against iRODS 4.1.x, the plugin is incompatible with HTSlib 1.3.1 and earlier as it needs to be loaded with RTLD_GLOBAL. The hfile_irods_wrapper plugin can be installed in the same directory as hfile_irods to work around this problem and enable the iRODS plugin to be used with these earlier versions of HTSlib.

Memory-mapped local files

The hfile_mmap plugin provides access to local files via mmap(2).