Skip to content

A Julia package for high-throughput sequencing data formats

License

Notifications You must be signed in to change notification settings

bicycle1885/HTSLib.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HTSLib.jl

Build Status Codecov

  • NOTE: This package is still pre-alpha in development and should not be used before official release.
  • NOTE: The following overview states the goal of this pakcage; many features are not implemented yet.

Overview

A Julia package for high-throughput sequencing (HTS) data formats.

This package offers funcionality of htslib, which is a C library for reading and writing HTS data formats and is commonly used as a backend library in many bioinformatics tools such as samtools and bcftools to name a few. SAM, BAM, CRAM, VCF and BCF files can be processed using the library.

HTSLib.jl comes with two levels of API:

  • Low-level API offers direct bindings for htslib. Almost all of the functions and types have one-to-one correspondance with the same arguments and the return value. If you are already familiar with the API of htslib or want finer control of data processing, this API would be helpful. However, you will need to do pointer handling, error check, and memory management yourself.

  • High-level API offers abstract (i.e. high-level) operations in the Julian way. This API is built on top of the low-level API; however, it exploits more advanced features of Julia such as multiple dispatching, iterator, garbage collection, and so on. Most users are recommended to use this API instead of the low-level one because it is simpler and more concise.

The low-level API is the HTSLib.htslib module while the high-level API is the HTSLib module itself.

# Import the low-level API.
using HTSLib: htslib

# Import the high-level API.
using HTSLib

Examples

See the examples directory.

About

A Julia package for high-throughput sequencing data formats

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages