HOME

TheInfoList



OR:

JSBML (Java Systems Biology Markup Language) is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
(API) for the
SBML The Systems Biology Markup Language (SBML) is a representation format, based on XML, for communicating and storing computational models of biological processes. It is a free and open standard with widespread software support and a community of use ...
(Systems Biology Markup Language ) 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 In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
. 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 The Systems Biology Markup Language (SBML) is a representation format, based on XML, for communicating and storing computational models of biological processes. It is a free and open standard with widespread software support and a community of use ...
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 A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming l ...
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
, its internal C code makes it difficult to implement
platform independent In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
or
Web Start In computing, Java Web Start (also known as JavaWS, javaws or JAWS) is a deprecated framework developed by Sun Microsystems (now Oracle) that allows users to start application software for the Java Platform directly from the Internet using a web b ...
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 Ebrahim Hamedi ( fa, اِبراهیم حامدی, also Romanized as "Ebrāhim Hāmedi"; born 1949), better known by his stage name Ebi (Persian: ), is an Iranian pop singer who first started his career in Tehran, gaining fame as part of a ban ...
,
Caltech The California Institute of Technology (branded as Caltech or CIT)The university itself only spells its short form as "Caltech"; the institution considers other spellings such a"Cal Tech" and "CalTech" incorrect. The institute is also occasional ...
, and a team of students at the
University of Tübingen The University of Tübingen, officially the Eberhard Karl University of Tübingen (german: Eberhard Karls Universität Tübingen; la, Universitas Eberhardina Carolina), is a public research university located in the city of Tübingen, Baden-W� ...
led by
Andreas Dräger Andreas Dräger (; born 20 September 1980) is a German bioinformatician who leads the research group for Computational Systems Biology of Infections and Antimicrobial-Resistant Pathogens at the University of Tübingen. Education In high sch ...
. 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 The Systems Biology Markup Language (SBML) is a representation format, based on XML, for communicating and storing computational models of biological processes. It is a free and open standard with widespread software support and a community of use ...
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 Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
. Instead, the developers used this as a chance to completely redesign the class and
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
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 Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
without any native dependency. # Achieve the highest possible compatibility to libSBML but at the same time make the library behave like other native
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
libraries, i.e., as expected by experienced Java developers. # Support for all level/version combinations and extension packages of
SBML The Systems Biology Markup Language (SBML) is a representation format, based on XML, for communicating and storing computational models of biological processes. It is a free and open standard with widespread software support and a community of use ...


Usage

The following example assumes that a
JAR A jar is a rigid, cylindrical or slightly conical container, typically made of glass, ceramic, or plastic, with a wide mouth or opening that can be closed with a lid, screw cap, lug cap, cork stopper, roll-on cap, crimp-on cap, press-on c ...
file of JSBML has been included into the class path and that a local installation of a
Java Virtual Machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describ ...
is available on the platform where the code is executed.


References

{{Reflist, 2 Java APIs Systems biology Java platform software