{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,2]],"date-time":"2026-07-02T21:13:05Z","timestamp":1783026785849,"version":"3.54.6"},"reference-count":39,"publisher":"Oxford University Press (OUP)","issue":"7","license":[{"start":{"date-parts":[[2024,7,1]],"date-time":"2024-07-01T00:00:00Z","timestamp":1719792000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"Helmholtz School for Data Science in Life, Earth and Energy"},{"DOI":"10.13039\/501100001656","name":"Helmholtz Association of German Research Centres","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100001656","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2024,7,1]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:sec>\n                    <jats:title>Summary<\/jats:title>\n                    <jats:p>Effective collaboration between developers of Bayesian inference methods and users is key to advance our quantitative understanding of biosystems. We here present hopsy, a versatile open-source platform designed to provide convenient access to powerful Markov chain Monte Carlo sampling algorithms tailored to models defined on convex polytopes (CP). Based on the high-performance C++ sampling library HOPS, hopsy inherits its strengths and extends its functionalities with the accessibility of the Python programming language. A versatile plugin-mechanism enables seamless integration with domain-specific models, providing method developers with a framework for testing, benchmarking, and distributing CP samplers to approach real-world inference tasks. We showcase hopsy by solving common and newly composed domain-specific sampling problems, highlighting important design choices. By likening hopsy to a marketplace, we emphasize its role in bringing together users and developers, where users get access to state-of-the-art methods, and developers contribute their own innovative solutions for challenging domain-specific inference problems.<\/jats:p>\n                  <\/jats:sec>\n                  <jats:sec>\n                    <jats:title>Availability and implementation<\/jats:title>\n                    <jats:p>Sources, documentation and a continuously updated list of sampling algorithms are available at https:\/\/jugit.fz-juelich.de\/IBG-1\/ModSim\/hopsy, with Linux, Windows and MacOS binaries at https:\/\/pypi.org\/project\/hopsy\/.<\/jats:p>\n                  <\/jats:sec>","DOI":"10.1093\/bioinformatics\/btae430","type":"journal-article","created":{"date-parts":[[2024,6,28]],"date-time":"2024-06-28T09:07:45Z","timestamp":1719565665000},"source":"Crossref","is-referenced-by-count":6,"title":["hopsy \u2014 a methods marketplace for convex polytope sampling in Python"],"prefix":"10.1093","volume":"40","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7433-0075","authenticated-orcid":false,"given":"Richard D","family":"Paul","sequence":"first","affiliation":[{"name":"Institute of Bio- and Geosciences, IBG-1: Biotechnology, Forschungszentrum J\u00fclich , 52428 J\u00fclich, Germany"},{"name":"Institute of Advanced Simulations, IAS-8: Data Analytics and Machine Learning, Forschungszentrum J\u00fclich , 52428 J\u00fclich, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5026-1546","authenticated-orcid":false,"given":"Johann F","family":"Jadebeck","sequence":"additional","affiliation":[{"name":"Institute of Bio- and Geosciences, IBG-1: Biotechnology, Forschungszentrum J\u00fclich , 52428 J\u00fclich, Germany"},{"name":"Computational Systems Biotechnology (AVT.CSB), RWTH Aachen University , 52074 Aachen, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8391-3398","authenticated-orcid":false,"given":"Anton","family":"Stratmann","sequence":"additional","affiliation":[{"name":"Institute of Bio- and Geosciences, IBG-1: Biotechnology, Forschungszentrum J\u00fclich , 52428 J\u00fclich, Germany"},{"name":"Computational Systems Biotechnology (AVT.CSB), RWTH Aachen University , 52074 Aachen, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8501-0694","authenticated-orcid":false,"given":"Wolfgang","family":"Wiechert","sequence":"additional","affiliation":[{"name":"Institute of Bio- and Geosciences, IBG-1: Biotechnology, Forschungszentrum J\u00fclich , 52428 J\u00fclich, Germany"},{"name":"Computational Systems Biotechnology (AVT.CSB), RWTH Aachen University , 52074 Aachen, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5407-2275","authenticated-orcid":false,"given":"Katharina","family":"N\u00f6h","sequence":"additional","affiliation":[{"name":"Institute of Bio- and Geosciences, IBG-1: Biotechnology, Forschungszentrum J\u00fclich , 52428 J\u00fclich, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"286","published-online":{"date-parts":[[2024,7,1]]},"reference":[{"key":"2024071222004914200_btae430-B30","doi-asserted-by":"crossref","first-page":"e1516","DOI":"10.7717\/peerj-cs.1516","article-title":"PyMC: a modern and comprehensive probabilistic programming framework in Python","volume":"9","year":"2023","journal-title":"PeerJ Comput Sci"},{"key":"2024071222004914200_btae430-B1","doi-asserted-by":"crossref","first-page":"149","DOI":"10.1080\/01621459.2012.756328","article-title":"Estimating latent processes on a network from indirect measurements","volume":"108","author":"Airoldi","year":"2013","journal-title":"JASA"},{"key":"2024071222004914200_btae430-B2","doi-asserted-by":"crossref","first-page":"255","DOI":"10.1287\/moor.18.2.255","article-title":"Hit-and-Run algorithms for generating multivariate distributions","volume":"18","author":"B\u00e9lisle","year":"1993","journal-title":"Math OR"},{"key":"2024071222004914200_btae430-B3","doi-asserted-by":"crossref","first-page":"1","DOI":"10.18637\/jss.v076.i01","article-title":"Stan: a probabilistic programming language","volume":"76","author":"Carpenter","year":"2017","journal-title":"J Stat Softw"},{"key":"2024071222004914200_btae430-B4","first-page":"195","article-title":"Geometric algorithms for sampling the flux space of metabolic networks","volume-title":"J Comput Geom","year":"2023"},{"key":"2024071222004914200_btae430-B5","doi-asserted-by":"crossref","first-page":"642","DOI":"10.32614\/RJ-2021-077","article-title":"VolEsti: volume approximation and sampling for convex polytopes in R","volume":"13","author":"Chalkis","year":"2021","journal-title":"R J"},{"key":"2024071222004914200_btae430-B6","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3589505","article-title":"Truncated log-concave sampling for convex bodies with reflective Hamiltonian Monte Carlo","volume":"49","author":"Chalkis","year":"2023","journal-title":"ACM Trans Math Softw"},{"key":"2024071222004914200_btae430-B7","doi-asserted-by":"crossref","first-page":"vbae037","DOI":"10.1093\/bioadv\/vbae037","article-title":"dingo: a Python package for metabolic flux sampling","volume":"4","author":"Chalkis","year":"2024","journal-title":"Bioinform Adv"},{"key":"2024071222004914200_btae430-B8","doi-asserted-by":"crossref","first-page":"100659","DOI":"10.1016\/j.softx.2021.100659","article-title":"Polyrun: a java library for sampling from the bounded convex polytopes","volume":"13","author":"Ciomek","year":"2021","journal-title":"SoftwareX"},{"key":"2024071222004914200_btae430-B9","doi-asserted-by":"crossref","first-page":"1550010","DOI":"10.1142\/S0129183115500102","article-title":"Over-relaxed hit-and-run Monte Carlo for the uniform sampling of convex bodies with applications in metabolic network biophysics","volume":"26","author":"de Concini","year":"2015","journal-title":"Int J Mod Phys C"},{"key":"2024071222004914200_btae430-B10","author":"Gatmiry","year":"2022"},{"key":"2024071222004914200_btae430-B11","doi-asserted-by":"crossref","first-page":"2017","DOI":"10.1073\/pnas.2212061120","article-title":"Stable diverse food webs become more common when interactions are more biologically constrained","volume":"120","author":"Gellner","year":"2023","journal-title":"Proc Natl Acad Sci USA"},{"key":"2024071222004914200_btae430-B13","first-page":"156","author":"Geyer","year":"1991"},{"key":"2024071222004914200_btae430-B14","doi-asserted-by":"crossref","first-page":"711","DOI":"10.1093\/biomet\/82.4.711","article-title":"Reversible jump Markov chain Monte Carlo computation and Bayesian model determination","volume":"82","author":"Green","year":"1995","journal-title":"Biometrika"},{"key":"2024071222004914200_btae430-B15","doi-asserted-by":"crossref","first-page":"1604","DOI":"10.1143\/JPSJ.65.1604","article-title":"Exchange Monte Carlo method and application to spin glass simulations","volume":"65","author":"Hukushima","year":"1995","journal-title":"J Phys Soc Jpn"},{"key":"2024071222004914200_btae430-B16","doi-asserted-by":"crossref","first-page":"1741","DOI":"10.1093\/bioinformatics\/btx052","article-title":"CHRR: coordinate hit-and-run with rounding for uniform sampling of constraint-based models","volume":"33","author":"Haraldsd\u00f3ttir","year":"2017","journal-title":"Bioinformatics"},{"key":"2024071222004914200_btae430-B17","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":"2024071222004914200_btae430-B18","doi-asserted-by":"crossref","first-page":"1320","DOI":"10.1038\/s41587-022-01628-0","article-title":"Genome-scale metabolic reconstruction of 7,302 human microorganisms for personalized medicine","volume":"41","author":"Heinken","year":"2023","journal-title":"Nat Biotechnol"},{"key":"2024071222004914200_btae430-B19","doi-asserted-by":"crossref","first-page":"639","DOI":"10.1038\/s41596-018-0098-2","article-title":"Creation and analysis of biochemical constraint-based models using the COBRA toolbox v.3.0","volume":"14","author":"Heirendt","year":"2019","journal-title":"Nat Protoc"},{"key":"2024071222004914200_btae430-B20","doi-asserted-by":"crossref","first-page":"1776","DOI":"10.1093\/bioinformatics\/btaa872","article-title":"HOPS: high-performance library for (non-) uniform sampling of convex-constrained models","volume":"37","author":"Jadebeck","year":"2021","journal-title":"Bioinformatics"},{"key":"2024071222004914200_btae430-B21","doi-asserted-by":"crossref","first-page":"e1011378","DOI":"10.1371\/journal.pcbi.1011378","article-title":"Practical sampling of constraint-based models: optimized thinning boosts CHRR performance","volume":"19","author":"Jadebeck","year":"2023","journal-title":"PLoS Comput Biol"},{"key":"2024071222004914200_btae430-B22","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1287\/moor.1110.0519","article-title":"Random walks on polytopes and an affine interior point method for linear programming","volume":"37","author":"Kannan","year":"2012","journal-title":"Math OR"},{"key":"2024071222004914200_btae430-B23","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1002\/(SICI)1098-2418(199708)11:1<1::AID-RSA1>3.0.CO;2-X","article-title":"Random walks and an O*(n5) volume algorithm for convex bodies","volume":"11","author":"Kannan","year":"1997","journal-title":"Random Struct Alg"},{"key":"2024071222004914200_btae430-B24","first-page":"31684","volume-title":"Adv Neural Inf Process Syst","author":"Kook","year":"2022"},{"key":"2024071222004914200_btae430-B25","doi-asserted-by":"crossref","first-page":"1143","DOI":"10.21105\/joss.01143","article-title":"Arviz a unified library for exploratory analysis of Bayesian models in Python","volume":"4","author":"Kumar","year":"2019","journal-title":"JOSS"},{"key":"2024071222004914200_btae430-B26","first-page":"1","volume-title":"37th Int. Symp. on Computational Geometry (SoCG 2021), Vol. 189 of Leibniz Int. Proc. Inform. (LIPIcs)","author":"Laddha","year":"2021"},{"key":"2024071222004914200_btae430-B27","doi-asserted-by":"crossref","first-page":"749","DOI":"10.3390\/metabo11110749","article-title":"Model balancing: a search for in-vivo kinetic constants and consistent metabolic states","volume":"11","author":"Liebermeister","year":"2021","journal-title":"Metabolites"},{"key":"2024071222004914200_btae430-B28","doi-asserted-by":"crossref","first-page":"2461","DOI":"10.1093\/mnras\/stt2057","article-title":"Cosmological parameter determination in free-form strong gravitational lens modelling","volume":"437","author":"Lubini","year":"2013","journal-title":"MNRAS"},{"key":"2024071222004914200_btae430-B29","author":"O\u2019Neill","year":"2014"},{"key":"2024071222004914200_btae430-B31","author":"Paul","year":"2024"},{"key":"2024071222004914200_btae430-B32","doi-asserted-by":"crossref","first-page":"351","DOI":"10.1214\/ss\/1015346320","article-title":"Optimal scaling for various Metropolis-Hastings algorithms","volume":"16","author":"Roberts","year":"2001","journal-title":"Stat Sci"},{"key":"2024071222004914200_btae430-B33","doi-asserted-by":"crossref","first-page":"65","DOI":"10.3390\/pr8010065","article-title":"A modular framework for the modelling and optimization of advanced chromatographic processes","volume":"8","author":"Schm\u00f6lder","year":"2020","journal-title":"Processes"},{"key":"2024071222004914200_btae430-B34","doi-asserted-by":"crossref","first-page":"232","DOI":"10.1093\/bioinformatics\/btz500","article-title":"Reversible jump MCMC for multi-model inference in metabolic flux analysis","volume":"36","author":"Theorell","year":"2019","journal-title":"Bioinformatics"},{"key":"2024071222004914200_btae430-B35","doi-asserted-by":"crossref","first-page":"541","DOI":"10.1109\/JPROC.2022.3158396","article-title":"Metabolic networks, microbial consortia, and analogies to smart grids","volume":"110","author":"Theorell","year":"2022","journal-title":"Proc IEEE"},{"key":"2024071222004914200_btae430-B36","doi-asserted-by":"crossref","first-page":"2668","DOI":"10.1002\/bit.26379","article-title":"To be certain about the uncertainty: Bayesian statistics for 13C metabolic flux analysis","volume":"114","author":"Theorell","year":"2017","journal-title":"Biotechnol Bioeng"},{"key":"2024071222004914200_btae430-B37","first-page":"556","article-title":"Polyround: polytope rounding for random sampling in metabolic networks","volume":"38","author":"Theorell","year":"2021","journal-title":"Bioinformatics"},{"key":"2024071222004914200_btae430-B38","doi-asserted-by":"crossref","first-page":"e8982","DOI":"10.15252\/msb.20198982","article-title":"Personalized whole\u2013body models integrate metabolism, physiology, and the gut microbiome","volume":"16","author":"Thiele","year":"2020","journal-title":"Mol Syst Biol"},{"key":"2024071222004914200_btae430-B39","doi-asserted-by":"crossref","first-page":"143","DOI":"10.1093\/bioinformatics\/bts646","article-title":"13CFLUX2 \u2014 high-performance software suite for 13C-metabolic flux analysis","volume":"29","author":"Weitzel","year":"2012","journal-title":"Bioinformatics"},{"key":"2024071222004914200_btae430-B40","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1093\/bib\/bbm007","article-title":"Bayesian methods in bioinformatics and computational systems biology","volume":"8","author":"Wilkinson","year":"2006","journal-title":"Brief Bioinf"}],"container-title":["Bioinformatics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/academic.oup.com\/bioinformatics\/advance-article-pdf\/doi\/10.1093\/bioinformatics\/btae430\/58382303\/btae430.pdf","content-type":"application\/pdf","content-version":"am","intended-application":"syndication"},{"URL":"https:\/\/academic.oup.com\/bioinformatics\/article-pdf\/40\/7\/btae430\/58531207\/btae430.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/academic.oup.com\/bioinformatics\/article-pdf\/40\/7\/btae430\/58531207\/btae430.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,11,22]],"date-time":"2024-11-22T19:53:31Z","timestamp":1732305211000},"score":1,"resource":{"primary":{"URL":"https:\/\/academic.oup.com\/bioinformatics\/article\/doi\/10.1093\/bioinformatics\/btae430\/7702329"}},"subtitle":[],"editor":[{"given":"Christina","family":"Kendziorski","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"editor"}]}],"short-title":[],"issued":{"date-parts":[[2024,7,1]]},"references-count":39,"journal-issue":{"issue":"7","published-print":{"date-parts":[[2024,7,1]]}},"URL":"https:\/\/doi.org\/10.1093\/bioinformatics\/btae430","relation":{"has-preprint":[{"id-type":"doi","id":"10.1101\/2023.12.22.573091","asserted-by":"object"}]},"ISSN":["1367-4811"],"issn-type":[{"value":"1367-4811","type":"electronic"}],"subject":[],"published-other":{"date-parts":[[2024,7]]},"published":{"date-parts":[[2024,7,1]]},"article-number":"btae430"}}