Giter Site home page Giter Site logo

draeger-lab / sbscl Goto Github PK

View Code? Open in Web Editor NEW
20.0 9.0 13.0 242.25 MB

The Systems Biology Simulation Core Library (SBSCL) provides an efficient and exhaustive Java implementation of methods to interpret the content of models encoded in the Systems Biology Markup Language (SBML) and its numerical solution.

Home Page: https://draeger-lab.github.io/SBSCL/

License: GNU Lesser General Public License v3.0

Java 7.09% HTML 89.14% Shell 0.03% CSS 0.10% TeX 2.26% R 0.04% Mathematica 0.02% Rich Text Format 1.33% Batchfile 0.01%
simulation sbml java flux-balance-analysis fba ordinary-differential-equations solver numerical-simulations ode-solver time-series-analysis sbml-model api library steady-state constraint-based-modeling linear-programming simulations systems-biology-simulation

sbscl's Introduction

The Systems Biology Simulation Core Library

License (LGPL version 3) Latest version DOI Maven Central Build Status Lines of Code Code Size Downloads of all releases

Authors: Roland Keller, Andreas Dräger, Hemil Panchiwala, Shalin Shah, Matthias König, Alexander Dörr, Richard Adams

Contributors to predecessor projects: Philip Stevens, Marcel Kronfeld, Sandra Saliger, Simon Schäfer, Dieudonné Motsou Wouamba, Hannes Borch, Nicolas Le Novère, Max Zwiessele

Publications

When using SBSCL in a research work, please cite the following works:

  1. Panchiwala, H.; Shah, S.; Planatscher, H.; Zakharchuk, M.; König, M.; Dräger, A. The Systems Biology Simulation Core Library. Bioinformatics, btab669, September 23rd 2021, 2020120296. DOI
  2. Keller, R.; Dörr, A.; Tabira, A.; Funahashi, A.; Ziller, M.J.; Adams, R.; Rodriguez, N.; Le Novère, N.; Hiroi, N.; Planatscher, H.; Zell A.; Dräger; A. The systems biology simulation core algorithm. BMC Syst Biol 7, 55 (2013). DOI

Description

The Systems Biology Simulation Core Library (SBSCL) provides an efficient and exhaustive Java™ implementation of methods to interpret the content of models encoded in the Systems Biology Markup Language (SBML) and its numerical solution. This library is based on the JSBML project. It can be used on every operating system for which a Java Virtual Machine is available. Please note that this project does not contain any user interface neither a command-line interface, nor a graphical user interface. This project has been developed as a pure programming library. To support the MIASE effort, it understands SED-ML files. Its abstract type and interface hierarchy facilitates the implementation of further community standards, such as CellML.

Categories

Bio-Informatics, Libraries, Simulations

Features

  • Numerical simulation
  • Ordinary differential equation solver
  • Time-course analysis
  • Application programming interface
  • Systems Biology Markup Language support along with fbc and comp extensions
  • Stochastic simulations support
  • Simulation Experiment Description Markup Language (SED-ML) support

Supported Packages

  • Systems Biology Markup Language (L1V1 - L3V2)
  • SBML models with FBC V1 and V2
  • SBML models with comp extensions
  • Simulation Experiment Description Markup Language (L1V3)
  • COMBINE archive and OMEX format
  • All models from SBML Test Suite and BiGG models
  • All models from Stochastic Test Suite

Getting started

For users

For an introduction on how to use this library for simulation, please refer to the UserGuidelines.md file. There you can find explanations on how to simulate different models and code snippets, including the links to the complete code examples.

For developers

To start working on SBSCL, you should first clone the repository and then refer to INSTALL.md which gives instruction to run maven build. Once a maven build is ran, the binaries will be generated in the target folder. This folder will also include a JAR files of the simulation core library to work with.

For an introduction on how things currently work in SBSCL to simulate different models, please refer to the sequence diagrams present in the /dev/diagrams/ where you can understand complete workflow of the library. Once you get familiarized with how things work, please open the javadoc homepage where you can find the complete information about the library properly documented. For formatting the code-base, please refer to formatting-guidelines.

Import SBSCL into your project via Maven as follows:

<dependency>
  <groupId>org.draegerlab</groupId>
  <artifactId>sbscl</artifactId>
  <version>2.1</version>
</dependency>

See Releases and Maven Central for the most recent version number.

Example Code and Demos

A Demo Repository provides a few use case examples and an exemplary POM file that helps setting up the project.

Further examples can be found directly within this repository in the Examples Package, including:

Comparison to Similar Libraries

To compare SBSCL to other simulation engines and to benchmark its predictions and results, a separate project, SBSCL simulator comparison, is available.

File structure

Just a brief explanation of the folders and files contained in this distribution.

Most importantly, see

  • the INSTALL.md file for instruction to run maven build
  • the docs folder containing an exhaustive documentation under apidocs

The package structure in more detail:

 /
 |- dev                 -> Contains the diagrams and fomatting-guidelines for the developers
 |- docs                -> Contains code for the maven built website
 |- modules             -> Contains the code for support of cellDesigner and cytoscape in FERN
 |- src                 -> The main source folder containing all the code and test files
    |- assembly         -> assembly files for maven plugins
    |- lib              -> 3rd party libraries needed for compilation and execution
    |- main             -> Core java files of simulation library
    |- test             -> JUnit test files along with resources required
    |- site             -> Contains markup files, old javadoc, site.xml and other website 
                            resources 
 |- LICENSE.txt         -> the license, under which this project is distributed
 |- pom.xml             -> Maven file for building the project
 |- README.md           -> this file
 |- UserGuidelines.md   -> Contains the guidelines for using the features of library

Troubleshooting

Please e-mail any bugs, problems, suggestions, or issues regarding this library to the bug tracker at https://github.com/draeger-lab/SBSCL/issues

Licensing terms

This file is part of Simulation Core Library, a Java-based library for efficient numerical simulation of biological models.

Copyright (C) 2007 jointly held by the individual authors.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation. A copy of the license agreement is provided in the file named LICENSE.txt included with this software distribution and also available online as http://www.gnu.org/licenses/lgpl-3.0-standalone.html.

Please cite the original work and the authors when using this program. See the project homepage for details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.