GenomeTools: A Comprehensive Software Library for Efficient Processing of Structured Genome Annotations
Autor: | Sascha Steinbiss, Gordon Gremme, Stefan Kurtz |
---|---|
Rok vydání: | 2013 |
Předmět: |
Object-oriented programming
Database Genome Human business.industry Plain text Computer science Programming language Applied Mathematics Minimum information required in the annotation of models Molecular Sequence Annotation Genomics computer.file_format Python (programming language) computer.software_genre Annotation Software Genetics Memory footprint Humans business computer Random access Biotechnology computer.programming_language |
Zdroj: | IEEE/ACM Transactions on Computational Biology and Bioinformatics. 10:645-656 |
ISSN: | 1545-5963 |
Popis: | Genome annotations are often published as plain text files describing genomic features and their subcomponents by an implicit annotation graph. In this paper, we present the GenomeTools, a convenient and efficient software library and associated software tools for developing bioinformatics software intended to create, process or convert annotation graphs. The GenomeTools strictly follow the annotation graph approach, offering a unified graph-based representation. This gives the developer intuitive and immediate access to genomic features and tools for their manipulation. To process large annotation sets with low memory overhead, we have designed and implemented an efficient pull-based approach for sequential processing of annotations. This allows to handle even the largest annotation sets, such as a complete catalogue of human variations. Our object-oriented C-based software library enables a developer to conveniently implement their own functionality on annotation graphs and to integrate it into larger workflows, simultaneously accessing compressed sequence data if required. The careful C implementation of the GenomeTools does not only ensure a light-weight memory footprint while allowing full sequential as well as random access to the annotation graph, but also facilitates the creation of bindings to a variety of script programming languages (like Python and Ruby) sharing the same interface. |
Databáze: | OpenAIRE |
Externí odkaz: |