Cargando…

HTSlib: C library for reading/writing high-throughput sequencing data

BACKGROUND: Since the original publication of the VCF and SAM formats, an explosion of software tools have been created to process these data files. To facilitate this a library was produced out of the original SAMtools implementation, with a focus on performance and robustness. The file formats the...

Descripción completa

Detalles Bibliográficos
Autores principales: Bonfield, James K, Marshall, John, Danecek, Petr, Li, Heng, Ohan, Valeriu, Whitwham, Andrew, Keane, Thomas, Davies, Robert M
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Oxford University Press 2021
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7931820/
https://www.ncbi.nlm.nih.gov/pubmed/33594436
http://dx.doi.org/10.1093/gigascience/giab007
_version_ 1783660365303775232
author Bonfield, James K
Marshall, John
Danecek, Petr
Li, Heng
Ohan, Valeriu
Whitwham, Andrew
Keane, Thomas
Davies, Robert M
author_facet Bonfield, James K
Marshall, John
Danecek, Petr
Li, Heng
Ohan, Valeriu
Whitwham, Andrew
Keane, Thomas
Davies, Robert M
author_sort Bonfield, James K
collection PubMed
description BACKGROUND: Since the original publication of the VCF and SAM formats, an explosion of software tools have been created to process these data files. To facilitate this a library was produced out of the original SAMtools implementation, with a focus on performance and robustness. The file formats themselves have become international standards under the jurisdiction of the Global Alliance for Genomics and Health. FINDINGS: We present a software library for providing programmatic access to sequencing alignment and variant formats. It was born out of the widely used SAMtools and BCFtools applications. Considerable improvements have been made to the original code plus many new features including newer access protocols, the addition of the CRAM file format, better indexing and iterators, and better use of threading. CONCLUSION: Since the original Samtools release, performance has been considerably improved, with a BAM read-write loop running 5 times faster and BAM to SAM conversion 13 times faster (both using 16 threads, compared to Samtools 0.1.19). Widespread adoption has seen HTSlib downloaded >1 million times from GitHub and conda. The C library has been used directly by an estimated 900 GitHub projects and has been incorporated into Perl, Python, Rust, and R, significantly expanding the number of uses via other languages. HTSlib is open source and is freely available from htslib.org under MIT/BSD license.
format Online
Article
Text
id pubmed-7931820
institution National Center for Biotechnology Information
language English
publishDate 2021
publisher Oxford University Press
record_format MEDLINE/PubMed
spelling pubmed-79318202021-03-09 HTSlib: C library for reading/writing high-throughput sequencing data Bonfield, James K Marshall, John Danecek, Petr Li, Heng Ohan, Valeriu Whitwham, Andrew Keane, Thomas Davies, Robert M Gigascience Technical Note BACKGROUND: Since the original publication of the VCF and SAM formats, an explosion of software tools have been created to process these data files. To facilitate this a library was produced out of the original SAMtools implementation, with a focus on performance and robustness. The file formats themselves have become international standards under the jurisdiction of the Global Alliance for Genomics and Health. FINDINGS: We present a software library for providing programmatic access to sequencing alignment and variant formats. It was born out of the widely used SAMtools and BCFtools applications. Considerable improvements have been made to the original code plus many new features including newer access protocols, the addition of the CRAM file format, better indexing and iterators, and better use of threading. CONCLUSION: Since the original Samtools release, performance has been considerably improved, with a BAM read-write loop running 5 times faster and BAM to SAM conversion 13 times faster (both using 16 threads, compared to Samtools 0.1.19). Widespread adoption has seen HTSlib downloaded >1 million times from GitHub and conda. The C library has been used directly by an estimated 900 GitHub projects and has been incorporated into Perl, Python, Rust, and R, significantly expanding the number of uses via other languages. HTSlib is open source and is freely available from htslib.org under MIT/BSD license. Oxford University Press 2021-02-16 /pmc/articles/PMC7931820/ /pubmed/33594436 http://dx.doi.org/10.1093/gigascience/giab007 Text en © The Author(s) 2021. Published by Oxford University Press GigaScience. http://creativecommons.org/licenses/by/4.0/ This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted reuse, distribution, and reproduction in any medium, provided the original work is properly cited.
spellingShingle Technical Note
Bonfield, James K
Marshall, John
Danecek, Petr
Li, Heng
Ohan, Valeriu
Whitwham, Andrew
Keane, Thomas
Davies, Robert M
HTSlib: C library for reading/writing high-throughput sequencing data
title HTSlib: C library for reading/writing high-throughput sequencing data
title_full HTSlib: C library for reading/writing high-throughput sequencing data
title_fullStr HTSlib: C library for reading/writing high-throughput sequencing data
title_full_unstemmed HTSlib: C library for reading/writing high-throughput sequencing data
title_short HTSlib: C library for reading/writing high-throughput sequencing data
title_sort htslib: c library for reading/writing high-throughput sequencing data
topic Technical Note
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7931820/
https://www.ncbi.nlm.nih.gov/pubmed/33594436
http://dx.doi.org/10.1093/gigascience/giab007
work_keys_str_mv AT bonfieldjamesk htslibclibraryforreadingwritinghighthroughputsequencingdata
AT marshalljohn htslibclibraryforreadingwritinghighthroughputsequencingdata
AT danecekpetr htslibclibraryforreadingwritinghighthroughputsequencingdata
AT liheng htslibclibraryforreadingwritinghighthroughputsequencingdata
AT ohanvaleriu htslibclibraryforreadingwritinghighthroughputsequencingdata
AT whitwhamandrew htslibclibraryforreadingwritinghighthroughputsequencingdata
AT keanethomas htslibclibraryforreadingwritinghighthroughputsequencingdata
AT daviesrobertm htslibclibraryforreadingwritinghighthroughputsequencingdata