Some SBML-related resources at SBML.org 
Michael Hucka (on behalf of the SBML and JSBML Teams) 
Department of Computing and Mathematical Sciences 
California Institute of Technology 
Pasadena, CA, USA 
Email: mhucka@caltech.edu Twitter: @mhucka 
COMBINE/ERASysApp tutorial, Melbourne, Australia, September 2014
The SBML specifications 
The Online SBML Validator 
LibSBML and JSBML 
The SBML Test Suite 
How to keep in touch with SBML happenings 
Outline
The SBML specifications
SBML specifications continue to evolve and improve 
The SBML specification documents define what SBML is 
• Data objects, permitted contents, syntax, etc. 
• Usage rules 
• Expected interpretation 
Developers need to know the specifications in detail 
• Library API or other software may not give the full story
http://sbml.org/Documents
http://sbml.org/Documents
http://sbml.org/Documents
http://sbml.org/Documents 
Click here
http://sbml.org/Documents/Specifications 
2 main regions for SBML Level 3 
• Core 
• Packages 
(Recall structure of SBML Level 3)
Important to know for Core: list of know issues 
Specification document 
Known issues page
Important to know for Core: list of know issues 
Specification document 
Known issues page
Important to know for Core: list of know issues 
Specification document 
Known issues page 
Known issues in SBML specifications are eventually incorporated into 
new Releases of a Version, or whole new Versions, of a specification
SBML Level 3 packages have separate status pages
Example package status page: ‘comp’
Example package status page: ‘comp’ 
Discussion list address
Example package status page: ‘comp’ 
Discussion list address 
Link to latest spec.
Example package status page: ‘comp’ 
Discussion list address 
Link to latest spec. 
List of known issues
The Online SBML Validator
A tool for checking SBML files 
The Online SBML Validator tests files for compliance to the SBML spec. 
• Reports errors & warnings, with line numbers 
- Also indicates relevant section(s) in the SBML specifications 
• Only tests syntax! 
- Cannot tell you if the model is valid … 
Multiple interfaces available 
• Interactive user interface 
• Programmatic REST interface 
Implementation detail: validation engine is libSBML 
⇒ You can incorporate the same validation engine in other software
http://sbml.org/Facilities/Validator
http://sbml.org/Facilities/Validator 
Find it 
here
http://sbml.org/Facilities/Validator 
Find it 
here
http://sbml.org/Facilities/Validator 
Find it 
here 
Click here
Using the validator’s interactive user interface 
3 ways to input SBML: 
• Upload file 
• Input a URL 
• Paste SBML content 
2 ways to validate: 
• Immediate 
- “Short” files 
• Scheduled 
- “Big” files
(demo)
What are those checkboxes?
What are those checkboxes?
What are those checkboxes? 
Options affecting validator behavior
libSBML and JSBML
Where to find them
Where to find them 
Go to “Downloads”
Where to find them 
libSBML JSBML
libSBML – http://sbml.org/Software/libSBML 
Powerful API library for SBML: 
• Read 
• Create 
• Manipulate 
• Convert bet. SBML Levels/Versions 
• Check & convert units 
• Write 
• Validate 
Open-source (LGPL) 
Written in portable C++ 
APIs via SWIG for C, C++, C#, Java, Octave, Perl, Python, R, Ruby, MATLAB 
Runs on Linux, Mac, Windows
Additional notable features of libSBML 
Plug-in architecture 
• Supports SBML Level 3 packages via plug-in extensions 
Multiple types of distributions: 
• Stable: includes support for accepted SBML Level 3 packages 
• Experimental: supports draft SBML Level 3 packages 
Multiple installation options: 
• Python: via PyPI, or via Linux apt-get/yum, or via direct download 
• R: package installer for use with R CMD INSTALL 
• Binary installers for Windows, Linux, Mac 
• Source builds
Documentation is available both online and for downloading
Documentation is available both online and for downloading 
Links to docs online
JSBML – http://sbml.org/Software/JSBML 
Pure-Java alternative to libSBML 
• Unlike libSBML, no native binary 
API is compatible with libSBML but 
more Java-like 
Functionality is subset of libSBML 
• E.g., does not do full validation 
Open source (LGPL) 
Main developers: Nicolas Rodriguez 
and Andreas Dräger, with 
contributions from many people
Some features of JSBML 
More unified type hierarchy, with abstract classes and Java interfaces 
• Permits Java change listeners, TreeNode adapters, use of JTree 
Uses Java exceptions, Java lists, log4j logging 
Uses BioJava for reading SBO ontology 
Provides Interface modules for CellDesigner, libSBML
Other JSBML notes 
Release 1.0 RC 1 forthcoming very soon 
• Current stable release is 0.8 
Provides APIs for most SBML Level 3 packages 
SBML validation over the net to SBML.org validation service 
Maven support coming in 1.0
The SBML Test Suite
A conformance-testing system for SBML software 
Part 1: corpus of test models & expected numerical results 
• 1200 cases, all tagged by features tested 
Part 2: software facilities 
• Standalone test runner 
• Online test result assessment system (alternative) 
• Online database of results for different software systems
http://sbml.org/Software/SBML_Test_Suite
http://sbml.org/Software/SBML_Test_Suite 
Click 
here
http://sbml.org/Software/SBML_Test_Suite 
Click 
here
http://sbml.org/Software/SBML_Test_Suite 
Click 
here 
Find it 
here
http://sbml.org/Software/SBML_Test_Suite 
Different options available – find them in the table of contents
http://sbml.org/Software/SBML_Test_Suite 
Different options available – find them in the table of contents 
Standalone test runner 
Online test system 
Just the test cases
Standalone SBML Test Suite Runner 
Runs an SBML-compatible application through the test suite cases 
Written in Java + SWT — installers available for Mac OS, Windows, Linux
Installers available for Mac OS X, Windows, Linux 
Includes test case archive – no 
need to download separately 
(Runner also checks for latest 
version over the net) 
What it doesn’t provide: wrapper 
to control the application to test 
• User or developer must 
create or provide that
Each case has its own directory containing 
• Simulator settings file 
• SBML model in multiple Levels/Versions 
• Results in CSV format 
• Process definition in SED-ML format 
Wrapper should generate CSV file 
Runner invokes wrapper on each case dir & 
compares CSV file produced to expected one 
Test case definitions 
+ expected output 
SBML Test Runner Application wrapper Test case settings 
+ SBML files 
The general scheme behind the test runner
http://sbml.org/Software/SBML_Test_Suite/Case_Descriptions
Database of SBML Test Suite results 
Developed by Frank 
Bergmann
Database of SBML Test Suite results 
Developed by Frank 
Bergmann
Database of SBML Test Suite results 
Developed by Frank 
Bergmann
How to keep in touch with SBML happenings
Discussion groups, Twitter feed, G+, RSS – see SBML.org 
All SBML mailing lists are now Google Groups
Discussion groups, Twitter feed, G+, RSS – see SBML.org 
All SBML mailing lists are now Google Groups 
Click here
Discussion groups, Twitter feed, G+, RSS – see SBML.org 
All SBML mailing lists are now Google Groups
Discussion groups, Twitter feed, G+, RSS – see SBML.org 
All SBML mailing lists are now Google Groups
Acknowledgments
SBML & JSBML Teams today 
Sarah Keating Frank Bergmann Lucian Smith 
Andreas Dräger Nicolas Rodriguez Alex Thomas 
Past members: Andrew Finney, Herbert Sauro, 
Hamid Bolouri, Ben Bornstein, Maria Schilstra, 
Jo Matthews, Bruce Shapiro, Akira Funahashi, 
Akiya Juraku, Ben Kovitz, Kimberley Begley 
Not pictured: Linda Taddeo 
John C. Doyle 
Hiroaki Kitano Original PI’s:
National Institute of General Medical Sciences (USA) 
Air Force Office of Scientific Research (USA) 
BBSRC (UK) 
Beckman Institute, Caltech (USA) 
DARPA IPTO Bio-SPICE Bio-Computation Program (USA) 
Drug Disease Model Resources (EU-EFPIA Innovative Medicine Initiate) 
ELIXIR (UK) 
European Molecular Biology Laboratory (EMBL) 
Google Summer of Code 
International Joint Research Program of NEDO (Japan) 
Japanese Ministry of Agriculture 
Japanese Ministry of Education, Culture, Sports, Science and Technology 
JST ERATO Kitano Symbiotic Systems Project (Japan) (to 2003) 
JST ERATO-SORST Program (Japan) 
Keio University (Japan) 
Molecular Sciences Institute (USA) 
National Science Foundation (USA) 
STRI, University of Hertfordshire (UK) 
SBML funding sources over the past 14 years
I’d like your feedback! 
You can use this anonymous form: 
http://tinyurl.com/mhuckafeedback
Where to find software applications compatible with SBML
Where to find software applications compatible with SBML 
Find SBML software
SBML Software Guide – http://sbml.org/SBML_Software_Guide 
Information about known 
SBML compatible software 
New questionnaire – please 
fill it out if you’re a developer! 
New version of the guide is 
coming!
Some SBML-related resources at SBML.org
Some SBML-related resources at SBML.org
Some SBML-related resources at SBML.org
Some SBML-related resources at SBML.org

Some SBML-related resources at SBML.org

  • 1.
    Some SBML-related resourcesat SBML.org Michael Hucka (on behalf of the SBML and JSBML Teams) Department of Computing and Mathematical Sciences California Institute of Technology Pasadena, CA, USA Email: mhucka@caltech.edu Twitter: @mhucka COMBINE/ERASysApp tutorial, Melbourne, Australia, September 2014
  • 2.
    The SBML specifications The Online SBML Validator LibSBML and JSBML The SBML Test Suite How to keep in touch with SBML happenings Outline
  • 3.
  • 4.
    SBML specifications continueto evolve and improve The SBML specification documents define what SBML is • Data objects, permitted contents, syntax, etc. • Usage rules • Expected interpretation Developers need to know the specifications in detail • Library API or other software may not give the full story
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    http://sbml.org/Documents/Specifications 2 mainregions for SBML Level 3 • Core • Packages (Recall structure of SBML Level 3)
  • 10.
    Important to knowfor Core: list of know issues Specification document Known issues page
  • 11.
    Important to knowfor Core: list of know issues Specification document Known issues page
  • 12.
    Important to knowfor Core: list of know issues Specification document Known issues page Known issues in SBML specifications are eventually incorporated into new Releases of a Version, or whole new Versions, of a specification
  • 13.
    SBML Level 3packages have separate status pages
  • 14.
    Example package statuspage: ‘comp’
  • 15.
    Example package statuspage: ‘comp’ Discussion list address
  • 16.
    Example package statuspage: ‘comp’ Discussion list address Link to latest spec.
  • 17.
    Example package statuspage: ‘comp’ Discussion list address Link to latest spec. List of known issues
  • 18.
    The Online SBMLValidator
  • 19.
    A tool forchecking SBML files The Online SBML Validator tests files for compliance to the SBML spec. • Reports errors & warnings, with line numbers - Also indicates relevant section(s) in the SBML specifications • Only tests syntax! - Cannot tell you if the model is valid … Multiple interfaces available • Interactive user interface • Programmatic REST interface Implementation detail: validation engine is libSBML ⇒ You can incorporate the same validation engine in other software
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    Using the validator’sinteractive user interface 3 ways to input SBML: • Upload file • Input a URL • Paste SBML content 2 ways to validate: • Immediate - “Short” files • Scheduled - “Big” files
  • 25.
  • 26.
    What are thosecheckboxes?
  • 27.
    What are thosecheckboxes?
  • 28.
    What are thosecheckboxes? Options affecting validator behavior
  • 29.
  • 30.
  • 31.
    Where to findthem Go to “Downloads”
  • 32.
    Where to findthem libSBML JSBML
  • 33.
    libSBML – http://sbml.org/Software/libSBML Powerful API library for SBML: • Read • Create • Manipulate • Convert bet. SBML Levels/Versions • Check & convert units • Write • Validate Open-source (LGPL) Written in portable C++ APIs via SWIG for C, C++, C#, Java, Octave, Perl, Python, R, Ruby, MATLAB Runs on Linux, Mac, Windows
  • 34.
    Additional notable featuresof libSBML Plug-in architecture • Supports SBML Level 3 packages via plug-in extensions Multiple types of distributions: • Stable: includes support for accepted SBML Level 3 packages • Experimental: supports draft SBML Level 3 packages Multiple installation options: • Python: via PyPI, or via Linux apt-get/yum, or via direct download • R: package installer for use with R CMD INSTALL • Binary installers for Windows, Linux, Mac • Source builds
  • 35.
    Documentation is availableboth online and for downloading
  • 36.
    Documentation is availableboth online and for downloading Links to docs online
  • 37.
    JSBML – http://sbml.org/Software/JSBML Pure-Java alternative to libSBML • Unlike libSBML, no native binary API is compatible with libSBML but more Java-like Functionality is subset of libSBML • E.g., does not do full validation Open source (LGPL) Main developers: Nicolas Rodriguez and Andreas Dräger, with contributions from many people
  • 38.
    Some features ofJSBML More unified type hierarchy, with abstract classes and Java interfaces • Permits Java change listeners, TreeNode adapters, use of JTree Uses Java exceptions, Java lists, log4j logging Uses BioJava for reading SBO ontology Provides Interface modules for CellDesigner, libSBML
  • 39.
    Other JSBML notes Release 1.0 RC 1 forthcoming very soon • Current stable release is 0.8 Provides APIs for most SBML Level 3 packages SBML validation over the net to SBML.org validation service Maven support coming in 1.0
  • 40.
  • 41.
    A conformance-testing systemfor SBML software Part 1: corpus of test models & expected numerical results • 1200 cases, all tagged by features tested Part 2: software facilities • Standalone test runner • Online test result assessment system (alternative) • Online database of results for different software systems
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
    http://sbml.org/Software/SBML_Test_Suite Different optionsavailable – find them in the table of contents
  • 47.
    http://sbml.org/Software/SBML_Test_Suite Different optionsavailable – find them in the table of contents Standalone test runner Online test system Just the test cases
  • 48.
    Standalone SBML TestSuite Runner Runs an SBML-compatible application through the test suite cases Written in Java + SWT — installers available for Mac OS, Windows, Linux
  • 49.
    Installers available forMac OS X, Windows, Linux Includes test case archive – no need to download separately (Runner also checks for latest version over the net) What it doesn’t provide: wrapper to control the application to test • User or developer must create or provide that
  • 50.
    Each case hasits own directory containing • Simulator settings file • SBML model in multiple Levels/Versions • Results in CSV format • Process definition in SED-ML format Wrapper should generate CSV file Runner invokes wrapper on each case dir & compares CSV file produced to expected one Test case definitions + expected output SBML Test Runner Application wrapper Test case settings + SBML files The general scheme behind the test runner
  • 51.
  • 52.
    Database of SBMLTest Suite results Developed by Frank Bergmann
  • 53.
    Database of SBMLTest Suite results Developed by Frank Bergmann
  • 54.
    Database of SBMLTest Suite results Developed by Frank Bergmann
  • 55.
    How to keepin touch with SBML happenings
  • 56.
    Discussion groups, Twitterfeed, G+, RSS – see SBML.org All SBML mailing lists are now Google Groups
  • 57.
    Discussion groups, Twitterfeed, G+, RSS – see SBML.org All SBML mailing lists are now Google Groups Click here
  • 58.
    Discussion groups, Twitterfeed, G+, RSS – see SBML.org All SBML mailing lists are now Google Groups
  • 59.
    Discussion groups, Twitterfeed, G+, RSS – see SBML.org All SBML mailing lists are now Google Groups
  • 60.
  • 61.
    SBML & JSBMLTeams today Sarah Keating Frank Bergmann Lucian Smith Andreas Dräger Nicolas Rodriguez Alex Thomas Past members: Andrew Finney, Herbert Sauro, Hamid Bolouri, Ben Bornstein, Maria Schilstra, Jo Matthews, Bruce Shapiro, Akira Funahashi, Akiya Juraku, Ben Kovitz, Kimberley Begley Not pictured: Linda Taddeo John C. Doyle Hiroaki Kitano Original PI’s:
  • 62.
    National Institute ofGeneral Medical Sciences (USA) Air Force Office of Scientific Research (USA) BBSRC (UK) Beckman Institute, Caltech (USA) DARPA IPTO Bio-SPICE Bio-Computation Program (USA) Drug Disease Model Resources (EU-EFPIA Innovative Medicine Initiate) ELIXIR (UK) European Molecular Biology Laboratory (EMBL) Google Summer of Code International Joint Research Program of NEDO (Japan) Japanese Ministry of Agriculture Japanese Ministry of Education, Culture, Sports, Science and Technology JST ERATO Kitano Symbiotic Systems Project (Japan) (to 2003) JST ERATO-SORST Program (Japan) Keio University (Japan) Molecular Sciences Institute (USA) National Science Foundation (USA) STRI, University of Hertfordshire (UK) SBML funding sources over the past 14 years
  • 63.
    I’d like yourfeedback! You can use this anonymous form: http://tinyurl.com/mhuckafeedback
  • 64.
    Where to findsoftware applications compatible with SBML
  • 65.
    Where to findsoftware applications compatible with SBML Find SBML software
  • 66.
    SBML Software Guide– http://sbml.org/SBML_Software_Guide Information about known SBML compatible software New questionnaire – please fill it out if you’re a developer! New version of the guide is coming!