Skip to main content

SBtab: a Table format for Systems Biology

Python code and example files by Timo Lubitz, Elad Noor, Jens Hahn, Frank Bergmann (2018).

PyPI version PyPI - Python Version PyPI - Downloads License: MIT coverage report

Data tables in the form of spreadsheets or delimited text files are the most common data format in Systems Biology. However, they are often not sufficiently structured and lack clear naming conventions that would be required for modeling. We propose the SBtab format as an attempt to establish an easy-to-use table format that is both flexible and clearly structured. It comprises defined table types for different kinds of data; syntax rules for usage of names, shortnames, and database identifiers used for annotation; and standardized formulae for reaction stoichiometries. Predefined table types can be used to define biochemical network models and the biochemical constants therein. The users can also define their own table types, adjusting SBtab to other types of data.

The SBtab specification can be found on the SBtab homepage. The homepage also provides various information on example files, frequently asked questions, online tools, and tutorials.

Software tools

SBtab comes along with software tools which can be employed in three different ways:

  1. SBtab online

    A serverless validator that runs sbtabpy directly in your browser (via Pyodide) is available at eladnoor.gitlab.io/SBtab. It is published to GitLab Pages from web/ on every push to master.

    You can also use the software tools that come with SBtab in the convenient online interface:

  2. Python package (i.e., pip installer)

    The tools can be employed as a Python package. It needs to be installed via pypi. Please type on your commandline:

      pip install sbtabpy
    

    Note: the package installs as sbtabpy but is imported as sbtab (the import name was kept for backward compatibility).

    Reading, writing and validating SBtab tables needs nothing but the Python standard library, so that the package also works in restricted environments such as Pyodide/WebAssembly. The remaining features are available through extras:

    Extra Installs Needed for
    sbml python-libsbml, numpy sbml2sbtab, sbtab2sbml and the corresponding CLI commands
    xlsx openpyxl reading and writing .xlsx files
    pandas pandas SBtabTable.to_data_frame()
    all all of the above
      pip install 'sbtabpy[all]'
    

    Using a feature without its extra raises an ImportError naming the extra to install. Without pandas, SBtabTable.from_rows() and SBtabTable.to_dict_rows() build and read tables from plain lists and dictionaries.

    You will then be able to import the SBtab library into your Python modules by adding

      import sbtab
    

    to them. See the code examples in this repository's directory /examples.

  3. From the commandline (for experienced users)

    You can employ the SBtab commandline tools from the directory SBtab/python. To use this option, you will have to install the required packages on your own and put the Python modules to their according directory. Details on the usage of the commandline tools you can find in the directory SBtab/python.

Repository contents

The SBtab repository consists of the following directories and contents:

  • Source Code /src

    • Source scripts and commandline Python modules, including a file and object validator, and a converter to and from SBML.
    • SQLite interface: Python interface for querying SQLite databases via SBtab.
  • Unit Tests /tests

    Some tests to ensure the correctness and functionality of the SBtab package.

  • Definition Table /definitions_table

    Default definitions of predefined SBtab table types.

  • Example Files /examples

    Example SBtab files. These files can also be found including explanatory words in the online SBtab Download Section

  • API documentation /api_documentation

    HTML pydoc documentation of the SBtab interface and source code.

Metadata

Release files for sbtabpy 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sbtabpy 1.1.1
File Size Uploaded
sbtabpy-1.1.1.tar.gz 66.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sbtabpy 1.1.1
File Interpreter ABI Platform
sbtabpy-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 126.8 kB

Release files / sbtabpy-1.1.1.tar.gz

Download URL sbtabpy-1.1.1.tar.gz
Size 66.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c09e16bc77f4ec1ad8857019ad23aa575237f62f2a942d882a028a4b3222a167
BLAKE2b-256 checksum
How to use checksums
75bb7ff66e3f1d0717a7b1327dd17cd4b1d106c80c8b1d1d120b5242b95bfc4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / sbtabpy-1.1.1-py3-none-any.whl

Download URL sbtabpy-1.1.1-py3-none-any.whl
Size 60.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf061d1899867918df94583330c998efe15e0c39ffc50aeecc32bbf72834ceff
BLAKE2b-256 checksum
How to use checksums
e4f99ec0cbc78abdf7f243c8ab0e4b0e54ff6530af2e07b81a70c55336799ef1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.8

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page