{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,2]],"date-time":"2026-04-02T07:41:01Z","timestamp":1775115661989,"version":"3.50.1"},"reference-count":11,"publisher":"Oxford University Press (OUP)","issue":"1","license":[{"start":{"date-parts":[[2024,12,24]],"date-time":"2024-12-24T00:00:00Z","timestamp":1734998400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100010663","name":"European Research Council","doi-asserted-by":"publisher","award":["ERC-CoG-866166"],"award-info":[{"award-number":["ERC-CoG-866166"]}],"id":[{"id":"10.13039\/100010663","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100002428","name":"Austrian Science Fund","doi-asserted-by":"publisher","award":["FWF"],"award-info":[{"award-number":["FWF"]}],"id":[{"id":"10.13039\/501100002428","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100002428","name":"Austrian Science Fund","doi-asserted-by":"publisher","award":["SFB F-8002"],"award-info":[{"award-number":["SFB F-8002"]}],"id":[{"id":"10.13039\/501100002428","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001821","name":"Vienna Science and Technology Fund","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100001821","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2024,12,26]]},"abstract":"<jats:title>Abstract<\/jats:title>\n               <jats:sec>\n                  <jats:title>Motivation<\/jats:title>\n                  <jats:p>The efficient and reproducible analysis of high-throughput sequencing datasets necessitates the development of methodical and robust computational pipelines that integrate established and bespoke bioinformatics analysis tools, often written in high-level programming languages such as Python. Despite the increasing availability of programming libraries for genomics, there is a noticeable lack of tools specifically focused on transcriptomics. Key tasks in this area include the association of gene features (e.g. transcript isoforms, introns or untranslated regions) with relevant subsections of (large) genomics datasets across diverse data formats, as well as efficient querying of these data based on genomic locations and annotation attributes.<\/jats:p>\n               <\/jats:sec>\n               <jats:sec>\n                  <jats:title>Results<\/jats:title>\n                  <jats:p>To address the needs of transcriptomics data analyses, we developed rnalib, a Python library designed for creating custom bioinformatics analysis methods. Built on existing Python libraries like pysam and pyBigWig, rnalib offers random access support, enabling efficient access to relevant subregions of large, genome-wide datasets. Rnalib extends the filtering and access capabilities of these libraries and includes additional checks to prevent common errors when integrating genomics datasets. The library is centred on an object-oriented Transcriptome class that provides methods for stepwise annotation of gene features with both, local and remote data sources. The rnalib Application Programming Interface cleanly separates immutable genomic locations from associated, mutable data, and offers a wide range of methods for iterating, querying, and exporting collated datasets. Rnalib establishes a fast, readable, reproducible, and robust framework for developing novel transcriptomics data analysis tools and methods.<\/jats:p>\n               <\/jats:sec>\n               <jats:sec>\n                  <jats:title>Availability and implementation<\/jats:title>\n                  <jats:p>Source code, documentation, and tutorials are available at https:\/\/github.com\/popitsch\/rnalib.<\/jats:p>\n               <\/jats:sec>","DOI":"10.1093\/bioinformatics\/btae751","type":"journal-article","created":{"date-parts":[[2024,12,24]],"date-time":"2024-12-24T16:18:56Z","timestamp":1735057136000},"source":"Crossref","is-referenced-by-count":2,"title":["Rnalib: a Python library for custom transcriptomics analyses"],"prefix":"10.1093","volume":"41","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-2318-2391","authenticated-orcid":false,"given":"Niko","family":"Popitsch","sequence":"first","affiliation":[{"name":"Max Perutz Labs, Vienna Biocenter Campus (VBC) , Vienna A-1030,","place":["Austria"]},{"name":"Department of Biochemistry and Cell Biology, Max Perutz Labs, University of Vienna , Vienna A-1030,","place":["Austria"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8248-3098","authenticated-orcid":false,"given":"Stefan L","family":"Ameres","sequence":"additional","affiliation":[{"name":"Max Perutz Labs, Vienna Biocenter Campus (VBC) , Vienna A-1030,","place":["Austria"]},{"name":"Department of Biochemistry and Cell Biology, Max Perutz Labs, University of Vienna , Vienna A-1030,","place":["Austria"]},{"name":"Institute of Molecular Biotechnology, IMBA, Vienna Biocenter Campus (VBC) , Vienna A-1030,","place":["Austria"]}]}],"member":"286","published-online":{"date-parts":[[2024,12,24]]},"reference":[{"key":"2025011517555803900_btae751-B1","doi-asserted-by":"publisher","DOI":"10.1093\/bioinformatics\/btae088","article-title":"Bioframe: operations on genomic intervals in pandas dataframes","volume":"40","author":"Abdennur","year":"2024","journal-title":"Bioinformatics"},{"key":"2025011517555803900_btae751-B2","doi-asserted-by":"crossref","first-page":"3423","DOI":"10.1093\/bioinformatics\/btr539","article-title":"Pybedtools: a flexible python library for manipulating genomic datasets and annotations","volume":"27","author":"Dale","year":"2011","journal-title":"Bioinformatics"},{"key":"2025011517555803900_btae751-B3","doi-asserted-by":"publisher","DOI":"10.1093\/gigascience\/giab008","article-title":"Twelve years of SAMtools and BCFtools","volume":"10","author":"Danecek","year":"2021","journal-title":"GigaScience"},{"key":"2025011517555803900_btae751-B4","doi-asserted-by":"crossref","first-page":"357","DOI":"10.1038\/s41586-020-2649-2","article-title":"Array programming with numpy","volume":"585","author":"Harris","year":"2020","journal-title":"Nature"},{"key":"2025011517555803900_btae751-B5","author":"Heger","year":"2009"},{"key":"2025011517555803900_btae751-B6","doi-asserted-by":"crossref","first-page":"718","DOI":"10.1093\/bioinformatics\/btq671","article-title":"Tabix: fast retrieval of sequence features from generic tab-delimited files","volume":"27","author":"Li","year":"2011","journal-title":"Bioinformatics"},{"key":"2025011517555803900_btae751-B7","doi-asserted-by":"crossref","first-page":"841","DOI":"10.1093\/bioinformatics\/btq033","article-title":"Bedtools: a flexible suite of utilities for comparing genomic features","volume":"26","author":"Quinlan","year":"2010","journal-title":"Bioinformatics"},{"key":"2025011517555803900_btae751-B8","doi-asserted-by":"publisher","first-page":"2198","volume-title":"Nat Methods","DOI":"10.1038\/s41592-024-02483-4"},{"key":"2025011517555803900_btae751-B9","unstructured":"Ryan D, Roberts E, Eraslan G et al deeptools\/pybigwig: 0.3.19. Zenodo, 2023. 10.5281\/zenodo.7681694"},{"key":"2025011517555803900_btae751-B10","unstructured":"The pandas development team. pandas-dev\/pandas: Pandas. Zenodo. 2024. 10.5281\/zenodo.3509134"},{"key":"2025011517555803900_btae751-B11","doi-asserted-by":"crossref","first-page":"91","DOI":"10.1186\/s13059-016-0953-9","article-title":"High-performance web services for querying gene and variant annotation","volume":"17","author":"Xin","year":"2016","journal-title":"Genome Biol"}],"container-title":["Bioinformatics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/academic.oup.com\/bioinformatics\/advance-article-pdf\/doi\/10.1093\/bioinformatics\/btae751\/61271959\/btae751.pdf","content-type":"application\/pdf","content-version":"am","intended-application":"syndication"},{"URL":"https:\/\/academic.oup.com\/bioinformatics\/article-pdf\/41\/1\/btae751\/61271959\/btae751.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/academic.oup.com\/bioinformatics\/article-pdf\/41\/1\/btae751\/61271959\/btae751.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,15]],"date-time":"2025-01-15T17:56:14Z","timestamp":1736963774000},"score":1,"resource":{"primary":{"URL":"https:\/\/academic.oup.com\/bioinformatics\/article\/doi\/10.1093\/bioinformatics\/btae751\/7932120"}},"subtitle":[],"editor":[{"given":"Peter","family":"Robinson","sequence":"additional","affiliation":[]}],"short-title":[],"issued":{"date-parts":[[2024,12,24]]},"references-count":11,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2024,12,26]]}},"URL":"https:\/\/doi.org\/10.1093\/bioinformatics\/btae751","relation":{},"ISSN":["1367-4811"],"issn-type":[{"value":"1367-4811","type":"electronic"}],"subject":[],"published-other":{"date-parts":[[2025,1]]},"published":{"date-parts":[[2024,12,24]]},"article-number":"btae751"}}