JSBML
title: "JSBML" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["java-apis", "systems-biology", "software-using-the-gnu-lesser-general-public-license"] topic_path: "science/biology" source: "https://en.wikipedia.org/wiki/JSBML" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::data[format=table title="Infobox software| name = JSBML"]
| Field | Value |
|---|---|
| logo | JSBML_logo.png |
| logo size | 150px |
| developer | The JSBML Team |
| released | |
| genre | XML parser library |
| programming language | Java |
| operating system | platform independent |
| license | LGPL License v2.1 |
| website | sbml.org |
| :: |
| logo = JSBML_logo.png | logo size = 150px | caption = | developer = The JSBML Team | released = | genre = XML parser library | programming language = Java | operating system = platform independent | license = LGPL License v2.1 | website = sbml.org
JSBML{{Cite journal | last1 = Dräger | first1 = A. | authorlink1 = Andreas Dräger | last2 = Rodriguez | first2 = N. | last3 = Dumousseau | first3 = M. | last4 = Dorr | first4 = A. | last5 = Wrzodek | first5 = C. | last6 = Le Novère | first6 = N. | last7 = Zell | first7 = A. | last8 = Hucka | first8 = M. | doi = 10.1093/bioinformatics/btr361 | title = JSBML: A flexible Java library for working with SBML | journal = Bioinformatics | volume = 27 | issue = 15 | pages = 2167–2168 | year = 2011 | pmid = 21697129 | pmc = 3137227 | url = http://bioinformatics.oxfordjournals.org/content/27/15/2167.full.pdf | last1 = Rodriguez | first1 = N. | last2 = Thomas | first2 = A. | last3 = Watanabe | first3 = L. | last4 = Vazirabad | first4 = I. Y. | last5 = Kofia | first5 = V. | last6 = Gómez | first6 = H. F. | last7 = Mittag | first7 = F. | last8 = Matthes | first8 = J. | last9 = Rudolph | first9 = J. D. | last10 = Wrzodek | first10 = F. | last11 = Netz | first11 = E. | last12 = Diamantikos | first12 = A. | last13 = Eichner | first13 = J. | last14 = Keller | first14 = R. | last15 = Wrzodek | first15 = C. | last16 = Fröhlich | first16 = S. | last17 = Lewis | first17 = N. E. | last18 = Myers | first18 = C. J. | last19 = Le Novère | first19 = N. | last20 = Palsson | first20 = B. Ø. | last21 = Hucka | first21 = M. | last22 = Dräger | first22 = A. | authorlink22 = Andreas Dräger | title = JSBML 1.0: providing a smorgasbord of options to encode systems biology models | journal = Bioinformatics | volume = 31 | issue = 20 | pages = 3383–3386 | year = 2022 | doi = 10.1093/bioinformatics/btv341 | pmid = 26079347 | pmc = 4595895 | url = http://bioinformatics.oxfordjournals.org/content/early/2015/06/30/bioinformatics.btv341.full.pdf | last1 = Hucka | first1 = M. | last2 = Finney | first2 = A. | last3 = Sauro | first3 = H. M. | last4 = Bolouri | first4 = H. | last5 = Doyle | first5 = J. C. | last6 = Kitano | first6 = H. | authorlink6 = Hiroaki Kitano | last7 = Arkin | first7 = A. P. | last8 = Bornstein | first8 = A. P. | last9 = Bray | first9 = B. J. | last10 = Cornish-Bowden | doi = 10.1093/bioinformatics/btg015 | first10 = D. | last11 = Cuellar | first11 = A. | last12 = Dronov | first12 = A. A. | last13 = Gilles | first13 = S. | last14 = Ginkel | first14 = E. D. | last15 = Gor | first15 = M. | last16 = Goryanin | first16 = V. | last17 = Hedley | first17 = I. I. | last18 = Hodgman | first18 = W. J. | last19 = Hofmeyr | first19 = T. C. | last20 = Hunter | first20 = J. -H. | last21 = Juty | first21 = P. J. | last22 = Kasberger | first22 = N. S. | last23 = Kremling | first23 = J. L. | last24 = Kummer | first24 = A. | last25 = Le Novère | first25 = U. | last26 = Loew | first26 = N. | last27 = Lucio | first27 = L. M. | last28 = Mendes | first28 = P. | authorlink28 = Pedro Pedrosa Mendes | last29 = Minch | first29 = P. | last30 = Mjolsness | first30 = E. | title = The systems biology markup language (SBML): A medium for representation and exchange of biochemical network models | journal = Bioinformatics | volume = 19 | issue = 4 | pages = 524–531 | year = 2003 | pmid = 12611808 | pmc = | doi-access = free | url = https://academic.oup.com/bioinformatics/article-pdf/19/4/524/581654/btg015.pdf |last1 = Finney |first1 = A. |last2 = Hucka |first2 = M. |title = Systems biology markup language: Level 2 and beyond |journal = Biochemical Society Transactions |volume = 31 |issue = Pt 6 |pages = 1472–1473 |year = 2003 |doi = 10.1042/bst0311472 |pmid = 14641091 |pmc = |citeseerx = 10.1.1.466.8001 | doi = 10.1049/sb:20045008 | last1 = Hucka | first1 = M. | last2 = Finney | first2 = A. | last3 = Bornstein | first3 = B. J. | last4 = Keating | first4 = S. M. | last5 = Shapiro | first5 = B. E. | last6 = Matthews | first6 = J. | last7 = Kovitz | first7 = B. L. | last8 = Schilstra | first8 = M. J. | last9 = Funahashi | first9 = A. | last10 = Doyle | first10 = S. M. | last11 = Kitano | first11 = M. J. | title = Evolving a lingua franca and associated software infrastructure for computational systems biology: The Systems Biology Markup Language (SBML) project | journal = Systems Biology | volume = 1 | issue = 1 | pages = 41–53 | year = 2004 | doi-broken-date = 12 July 2025 | pmid = 17052114 | url = https://authors.library.caltech.edu/2099/1/HUCieesb04.pdf }}) format. Its API strives to attain a strong similarity to the Java binding of the corresponding library libSBML, but is entirely implemented in Java and therefore platform independent. JSBML provides an elaborated abstract type hierarchy, whose data types implement or extend many interfaces and abstract classes from the standard Java library. In this way, JSBML integrates smoothly into existing Java projects, and provides methods to read, write, evaluate, and manipulate the content of SBML documents.
TOC
Development
In May 2009 the SBML team conducted a community survey for requests of potential further software development. It turned out that, even though the library libSBML provides a generated binding for the programming language Java, its internal C code makes it difficult to implement platform independent or Web Start applications.
Around that time, several groups from multiple institutes had already implemented small Java versions of libSBML, each being a customized library covering the needs of the particular research project. In order to avoid unnecessary duplications of work and to unify existing development, the international community project JSBML was launched in September 2009, mainly by groups from EBI, Caltech, and a team of students at the University of Tübingen led by Andreas Dräger.
Since JSBML has been implemented considerably later than the first version of libSBML, it could therefore benefit from the existence of the specifications of SBML in the Levels 1–3. Hence, JSBML has not just been developed by porting existing C code from the libSBML project into a new Java. Instead, the developers used this as a chance to completely redesign the class and API structure. This is why JSBML provides a much richer abstract type hierarchy compared to libSBML. Furthermore, the development of JSBML enabled making design decisions that are not possible in libSBML because no backward compatibility had to be considered at this time.
The first stable release version 0.8 of JSBML was made publicly available for download in February 2011. Since then, support for multiple SBML extension packages is being implemented and will be included with the release of JSBML 1.0.
Aims
The development of JSBML is driven by three aims:
- Provide a pure Java API without any native dependency.
- Achieve the highest possible compatibility to libSBML but at the same time make the library behave like other native Java libraries, i.e., as expected by experienced Java developers.
- Support for all level/version combinations and extension packages of SBML
Usage
The following example assumes that a JAR file of JSBML has been included into the class path and that a local installation of a Java Virtual Machine is available on the platform where the code is executed.
::data[format=table]
| :: |
References
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::