{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,23]],"date-time":"2026-03-23T14:22:45Z","timestamp":1774275765334,"version":"3.50.1"},"reference-count":14,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2023,3,4]],"date-time":"2023-03-04T00:00:00Z","timestamp":1677888000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2023,3,4]],"date-time":"2023-03-04T00:00:00Z","timestamp":1677888000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"name":"National Science Foundation","award":["2020026"],"award-info":[{"award-number":["2020026"]}]},{"DOI":"10.13039\/100000002","name":"National Institutes of Health","doi-asserted-by":"publisher","award":["R03OD030603"],"award-info":[{"award-number":["R03OD030603"]}],"id":[{"id":"10.13039\/100000002","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["BMC Bioinformatics"],"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:sec>\n                    <jats:title>Background<\/jats:title>\n                    <jats:p>The Kyoto Encyclopedia of Genes and Genomes (KEGG) provides organized genomic, biomolecular, and metabolic information and knowledge that is reasonably current and highly useful for a wide range of analyses and modeling. KEGG follows the principles of data stewardship to be findable, accessible, interoperable, and reusable (FAIR) by providing RESTful access to their database entries via their web-accessible KEGG API. However, the overall FAIRness of KEGG is often limited by the library and software package support available in a given programming language. While R library support for KEGG is fairly strong, Python library support has been lacking. Moreover, there is no software that provides extensive command line level support for KEGG access and utilization.<\/jats:p>\n                  <\/jats:sec>\n                  <jats:sec>\n                    <jats:title>Results<\/jats:title>\n                    <jats:p>We present kegg_pull, a package implemented in the Python programming language that provides better KEGG access and utilization functionality than previous libraries and software packages. Not only does kegg_pull include an application programming interface (API) for Python programming, it also provides a command line interface (CLI) that enables utilization of KEGG for a wide range of shell scripting and data analysis pipeline use-cases. As kegg_pull\u2019s name implies, both the API and CLI provide versatile options for pulling (downloading and saving) an arbitrary (user defined) number of database entries from the KEGG API. Moreover, this functionality is implemented to efficiently utilize multiple central processing unit cores as demonstrated in several performance tests. Many options are provided to optimize fault-tolerant performance across a single or multiple processes, with recommendations provided based on extensive testing and practical network considerations.<\/jats:p>\n                  <\/jats:sec>\n                  <jats:sec>\n                    <jats:title>Conclusions<\/jats:title>\n                    <jats:p>The new kegg_pull package enables new flexible KEGG retrieval use cases not available in previous software packages. The most notable new feature that kegg_pull provides is its ability to robustly pull an arbitrary number of KEGG entries with a single API method or CLI command, including pulling an entire KEGG database. We provide recommendations to users for the most effective use of kegg_pull according to their network and computational circumstances.<\/jats:p>\n                  <\/jats:sec>","DOI":"10.1186\/s12859-023-05208-0","type":"journal-article","created":{"date-parts":[[2023,3,4]],"date-time":"2023-03-04T07:02:48Z","timestamp":1677913368000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":22,"title":["kegg_pull: a software package for the RESTful access and pulling from the Kyoto Encyclopedia of Gene and Genomes"],"prefix":"10.1186","volume":"24","author":[{"given":"Erik","family":"Huckvale","sequence":"first","affiliation":[]},{"given":"Hunter N. B.","family":"Moseley","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2023,3,4]]},"reference":[{"key":"5208_CR1","first-page":"673","volume":"14","author":"S Kawashima","year":"2003","unstructured":"Kawashima S, Katayama T, Sato Y, Kanehisa M. KEGG API: a web service using SOAP\/WSDL to Access the KEGG System. Genome Inform. 2003;14:673.","journal-title":"Genome Inform"},{"key":"5208_CR2","doi-asserted-by":"publisher","first-page":"1947","DOI":"10.1002\/pro.3715","volume":"28","author":"M Kanehisa","year":"2019","unstructured":"Kanehisa M. Toward understanding the origin and evolution of cellular organisms. Protein Sci. 2019;28:1947\u201351.","journal-title":"Protein Sci"},{"key":"5208_CR3","doi-asserted-by":"publisher","first-page":"D545","DOI":"10.1093\/nar\/gkaa970","volume":"49","author":"M Kanehisa","year":"2021","unstructured":"Kanehisa M, Furumichi M, Sato Y, Ishiguro-Watanabe M, Tanabe M. KEGG: integrating viruses and cellular organisms. Nucleic Acids Res. 2021;49:D545\u201351.","journal-title":"Nucleic Acids Res"},{"key":"5208_CR4","doi-asserted-by":"crossref","unstructured":"The kyoto encyclopedia of genes and genomes\u2014kegg. Yeast. 2000;1:48\u201355.","DOI":"10.1002\/(SICI)1097-0061(200004)17:1<48::AID-YEA2>3.0.CO;2-H"},{"key":"5208_CR5","unstructured":"Fielding RT. Representational state transfer. Architectural Styles and the Design of Network-Based Software Architectures. Doctoral dissertation. University of California Irvine, Irvine, CA, USA; 2000."},{"key":"5208_CR6","unstructured":"Reitz K. requests. Computer software. Pypi; 2013."},{"key":"5208_CR7","doi-asserted-by":"crossref","unstructured":"Christudas B. cURL and Postman. In: Practical Microservices Architectural Patterns: Event-Based Java Microservices with Spring Boot and Spring Cloud. Berkeley, CA: Apress. 2019;847\u201355.","DOI":"10.1007\/978-1-4842-4501-9_23"},{"key":"5208_CR8","unstructured":"R Core Team, editor. R: A Language and environment for statistical computing. 2018."},{"key":"5208_CR9","unstructured":"Rossum GV, Drake FL. Python\u00a03\u00a0Reference\u00a0Manual. CreateSpace; 2009."},{"key":"5208_CR10","doi-asserted-by":"publisher","first-page":"160018","DOI":"10.1038\/sdata.2016.18","volume":"3","author":"MD Wilkinson","year":"2016","unstructured":"Wilkinson MD, Dumontier M, Aalbersberg IJJ, Appleton G, Axton M, Baak A, et al. The FAIR guiding principles for scientific data management and stewardship. Sci Data. 2016;3:160018.","journal-title":"Sci Data"},{"key":"5208_CR11","unstructured":"Tenenbaum D, Volkening J. KEGGREST. Computer software. Bioconductor Package Maintainer; 2022."},{"key":"5208_CR12","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.7482523","author":"FM Castelli","year":"2022","unstructured":"Castelli FM. KEGGutils v04.1. Computer software. 2022. Zenodo. https:\/\/doi.org\/10.5281\/zenodo.7482523."},{"key":"5208_CR13","doi-asserted-by":"crossref","unstructured":"Cock PJA. Biopython: freely available Python tools for computational molecular biology and bioinformatics. Computer software. PyPi; 2009.","DOI":"10.1093\/bioinformatics\/btp163"},{"key":"5208_CR14","unstructured":"Giampieri E. keggrest. Computer software. PyPi; 2013."}],"container-title":["BMC Bioinformatics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1186\/s12859-023-05208-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1186\/s12859-023-05208-0\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1186\/s12859-023-05208-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,3,4]],"date-time":"2023-03-04T07:03:01Z","timestamp":1677913381000},"score":1,"resource":{"primary":{"URL":"https:\/\/bmcbioinformatics.biomedcentral.com\/articles\/10.1186\/s12859-023-05208-0"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,3,4]]},"references-count":14,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2023,12]]}},"alternative-id":["5208"],"URL":"https:\/\/doi.org\/10.1186\/s12859-023-05208-0","relation":{"references":[{"id-type":"uri","id":"","asserted-by":"subject"}],"has-preprint":[{"id-type":"doi","id":"10.1101\/2022.11.03.515120","asserted-by":"object"}]},"ISSN":["1471-2105"],"issn-type":[{"value":"1471-2105","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,3,4]]},"assertion":[{"value":"5 November 2022","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"24 February 2023","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"4 March 2023","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"Not Applicable.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethics approval and consent to participate"}},{"value":"Not Applicable.","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Consent for publication"}},{"value":"The authors declare that they have no competing interests.","order":4,"name":"Ethics","group":{"name":"EthicsHeading","label":"Competing interests"}}],"article-number":"78"}}