== name == CL-SBML == category == Bio Informatics == author == Marco Antoniotti mailto(marcoxa@cs.nyu.edu) == author-image == == short-description == CL-SBML is a Common Lisp library for the manipulation of href(SBML,http://www.sbml.org) data sources. SBML is based on XML and therefore is relatively language-neutral. Nevertheless, the main language binding for SBML, href(libsbml,http://www.sbml.org/libsbml.html), is based on C/C++. Language bindings for Python, and Perl are available, as well as Java. CL-SBML provides a full blown 100% Common Lisp SBML manipulation toolkit. == long-description == The href(System Biology Markup Language,http://www.sbml.org) (SBML) is a useful format specification for exchanging models of networks of biochemical systems. SBML files can contain information about regulatory, metabolic, or signaling processes. A Common Lisp "binding" is a desirable thing, as the language offers numerous advantages for generic bioinformatics programming. SBML is based on XML and therefore is relatively language-neutral. Nevertheless, the main language binding for SBML, href(libsbml,http://www.sbml.org/libsbml.html), is based on C/C++. Language bindings for Python, and Perl are available, as well as Java. A SBML Common Lisp binding is also available which directly binds libsbml via href(UFFI,http://www.b9.com). This binding postdates the code presented here. However, having a pure CL implementation of SBML available in a read/write library is still a desirable thing. The main motivations are the justification of the SBML specification itself, and, of course, the independence of the CL code from foreign language libraries. In particular, the existence of "good" SBML libraries other than libsbml, does demonstrate the validity of the the contents of the specification, i.e. it demonstrates that the specification is both truly language independent and well formulated. == examples == The main entry point in the CL-SBML library is the bold(cl-sbml:build-model-from-sbml) generic function. In the tests sub-directory there are a few files downloaded from the main SBML site. You can use one of these as a test. Note that once CL-SBML is loaded, you also have the CL-SBML logical pathname translation set to the approriate directory. cl-prompt> (defvar *m* (cl-sbml:build-model-from-sbml (pathname "CL-SBML:tests;100Yeast.xml"))) The call to pathname is necessary because is a string were supplied cl-sbml:build-model-from-sbml would try to read the model directly from it. At this point the variable bold(*m*) will contain a CL-SBML model. The result is: cl-prompt> *m* # The model has been loaded in an internal CL data structure and can now be manipulated at will. Please note that the efficiency of the CL-SBML library depends on the efficiency of the underlying CL-XML library. If you find the performance lacking, you are advised to help the CL-XML people to improve the efficiency of their library. == instructions == Download the software. Further instructions are included. == tutorial == See examples. == home-url == http://common-lisp.net/project/cl-sbml == doc-url == http://common-lisp.net/project/cl-sbml == license == BSD-style == book == == references == == source-fooball == href(cl-sbml-0.1.tar.gz,/source/cl-sbml-0.1.tar.gz). The latest version can be obtained from href(common-lisp.net,http://common-lisp.net/cgi-bin/viewcvs.cgi/?cvsroot=cl-sbml). == release-date == 2005-05-05 == release-version == 0.1 == status == beta == history == == acl-dependencies == None. Fully portable. == other-dependencies == CL-SBML depends on the href(www.cl-xml.org,CL-XML) XML manipulation library. == platform == All. == ad ==