sbtabpy 1.0.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. sbtabpy-1.0.8/LICENSE +25 -0
  2. sbtabpy-1.0.8/PKG-INFO +125 -0
  3. sbtabpy-1.0.8/README.md +83 -0
  4. sbtabpy-1.0.8/pyproject.toml +92 -0
  5. sbtabpy-1.0.8/setup.cfg +4 -0
  6. sbtabpy-1.0.8/src/sbtab/SBtab.py +1567 -0
  7. sbtabpy-1.0.8/src/sbtab/__init__.py +1 -0
  8. sbtabpy-1.0.8/src/sbtab/__main__.py +118 -0
  9. sbtabpy-1.0.8/src/sbtab/data/__init__.py +0 -0
  10. sbtabpy-1.0.8/src/sbtab/data/definitions.tsv +409 -0
  11. sbtabpy-1.0.8/src/sbtab/data/template_sbtab_online.html +89 -0
  12. sbtabpy-1.0.8/src/sbtab/data/template_standalone.html +34 -0
  13. sbtabpy-1.0.8/src/sbtab/sbml2sbtab.py +1089 -0
  14. sbtabpy-1.0.8/src/sbtab/sbtab2sbml.py +2304 -0
  15. sbtabpy-1.0.8/src/sbtab/sbtab_objtables2sbtab.py +112 -0
  16. sbtabpy-1.0.8/src/sbtab/sbtab_sbml2sbtab.py +87 -0
  17. sbtabpy-1.0.8/src/sbtab/sbtab_sbtab2html.py +193 -0
  18. sbtabpy-1.0.8/src/sbtab/sbtab_sbtab2objtables.py +124 -0
  19. sbtabpy-1.0.8/src/sbtab/sbtab_sbtab2sbml.py +91 -0
  20. sbtabpy-1.0.8/src/sbtab/sbtab_validator.py +114 -0
  21. sbtabpy-1.0.8/src/sbtab/utils.py +585 -0
  22. sbtabpy-1.0.8/src/sbtab/validatorSBtab.py +408 -0
  23. sbtabpy-1.0.8/src/sbtabpy.egg-info/PKG-INFO +125 -0
  24. sbtabpy-1.0.8/src/sbtabpy.egg-info/SOURCES.txt +34 -0
  25. sbtabpy-1.0.8/src/sbtabpy.egg-info/dependency_links.txt +1 -0
  26. sbtabpy-1.0.8/src/sbtabpy.egg-info/entry_points.txt +2 -0
  27. sbtabpy-1.0.8/src/sbtabpy.egg-info/requires.txt +29 -0
  28. sbtabpy-1.0.8/src/sbtabpy.egg-info/top_level.txt +1 -0
  29. sbtabpy-1.0.8/tests/test_cli.py +125 -0
  30. sbtabpy-1.0.8/tests/test_sbml2sbtab.py +115 -0
  31. sbtabpy-1.0.8/tests/test_sbtab.py +281 -0
  32. sbtabpy-1.0.8/tests/test_sbtab2html.py +37 -0
  33. sbtabpy-1.0.8/tests/test_sbtab2sbml.py +126 -0
  34. sbtabpy-1.0.8/tests/test_sbtab_doc.py +273 -0
  35. sbtabpy-1.0.8/tests/test_utils.py +149 -0
  36. sbtabpy-1.0.8/tests/test_validator.py +101 -0
sbtabpy-1.0.8/LICENSE ADDED
@@ -0,0 +1,25 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 Timo Lubitz
4
+ Copyright (c) 2020 Wolfram Liebermeister
5
+ Copyright (c) 2020 Humboldt Universität zu Berlin
6
+ Copyright (c) 2026 Elad Noor
7
+ Copyright (c) 2026 Weizmann Institute of Science
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
sbtabpy-1.0.8/PKG-INFO ADDED
@@ -0,0 +1,125 @@
1
+ Metadata-Version: 2.4
2
+ Name: sbtabpy
3
+ Version: 1.0.8
4
+ Summary: SBtab - Standardised Data Tables for Systems Biology
5
+ Author-email: Timo Lubitz <timo.lubitz@gmail.com>, Elad Noor <elad.noor@weizmann.ac.il>
6
+ License: MIT
7
+ Project-URL: Homepage, https://www.sbtab.net
8
+ Keywords: modelling,systems biology,standard format,data table
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Topic :: Software Development
12
+ Classifier: Programming Language :: Python :: 3
13
+ Requires-Python: >=3.9
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: python-libsbml>=5.0
17
+ Requires-Dist: numpy>=2.0
18
+ Requires-Dist: scipy>=1.13
19
+ Requires-Dist: openpyxl>=2.5
20
+ Requires-Dist: pandas>=2.0
21
+ Requires-Dist: pyarrow>=14.0.1
22
+ Provides-Extra: test
23
+ Requires-Dist: pytest; extra == "test"
24
+ Requires-Dist: pytest-cov; extra == "test"
25
+ Requires-Dist: pytest-raises; extra == "test"
26
+ Requires-Dist: pytest-mock; extra == "test"
27
+ Requires-Dist: hypothesis; extra == "test"
28
+ Provides-Extra: development
29
+ Requires-Dist: ruff; extra == "development"
30
+ Requires-Dist: pip-audit; extra == "development"
31
+ Requires-Dist: tox; extra == "development"
32
+ Requires-Dist: twine; extra == "development"
33
+ Provides-Extra: deployment
34
+ Requires-Dist: click; extra == "deployment"
35
+ Requires-Dist: click-log; extra == "deployment"
36
+ Requires-Dist: pyinstaller; extra == "deployment"
37
+ Provides-Extra: docs
38
+ Requires-Dist: sphinx>=7.0; extra == "docs"
39
+ Requires-Dist: sphinx-rtd-theme>=2.0; extra == "docs"
40
+ Requires-Dist: myst-parser>=2.0; extra == "docs"
41
+ Dynamic: license-file
42
+
43
+ SBtab: a Table format for Systems Biology
44
+ =========================================
45
+ Python code and example files by
46
+ Timo Lubitz, Elad Noor, Jens Hahn, Frank Bergmann (2018).
47
+
48
+ [![PyPI version](https://img.shields.io/pypi/v/sbtab)](https://pypi.org/project/sbtab/)
49
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/sbtab)](https://pypi.org/project/sbtab/)
50
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/sbtab)](https://pypi.org/project/sbtab/)
51
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
52
+
53
+ Data tables in the form of spreadsheets or delimited text files are the most common data
54
+ format in Systems Biology. However, they are often not sufficiently structured and lack
55
+ clear naming conventions that would be required for modeling. We propose the **SBtab**
56
+ format as an attempt to establish an easy-to-use table format that is both flexible and
57
+ clearly structured. It comprises defined table types for different kinds of data; syntax
58
+ rules for usage of names, shortnames, and database identifiers used for annotation;
59
+ and standardized formulae for reaction stoichiometries. Predefined table types can be
60
+ used to define biochemical network models and the biochemical constants therein. The users
61
+ can also define their own table types, adjusting SBtab to other types of data.
62
+
63
+ The SBtab specification can be found on the
64
+ [SBtab homepage](https://www.sbtab.net/sbtab/default/downloads.html#spec).
65
+ The homepage also provides various information on example files, frequently
66
+ asked questions, online tools, and tutorials.
67
+
68
+ Software tools
69
+ --------------
70
+
71
+ SBtab comes along with software tools which can be employed in three different ways:
72
+
73
+ 1. **SBtab online**
74
+
75
+ You can use the software tools that come with SBtab in the convenient online interface:
76
+ - [Validator](https://www.sbtab.net/sbtab/default/validator.html)
77
+ - [SBML Converter](https://www.sbtab.net/sbtab/default/converter.html)
78
+ - [Customize SBtab](https://www.sbtab.net/sbtab/default/def_files.html)
79
+
80
+ 2. **Python package** (i.e., pip installer)
81
+
82
+ The tools can be employed as a Python package. It needs to be installed via
83
+ [pypi](https://pypi.org/project/sbtab/). Please type on your commandline:
84
+ ```bash
85
+ sudo pip install sbtab
86
+ ```
87
+ You will then be able to import the SBtab library into your Python modules by adding
88
+ ```
89
+ import sbtab
90
+ ```
91
+ to them. See the code examples in this repository's directory `/examples`.
92
+
93
+ 3. **From the commandline** (for experienced users)
94
+
95
+ You can employ the SBtab commandline tools from the directory
96
+ `SBtab/python`. To use this option,
97
+ you will have to install the required packages on your own and put
98
+ the Python modules to their according directory. Details on the usage
99
+ of the commandline tools you can find in the directory `SBtab/python`.
100
+
101
+
102
+ Repository contents
103
+ -------------------
104
+ The SBtab repository consists of the following directories and contents:
105
+
106
+ - **Source Code `/src`**
107
+
108
+ - Source scripts and commandline Python modules, including a file and object validator, and a converter to and from SBML.
109
+ - SQLite interface: Python interface for querying SQLite databases via SBtab.
110
+
111
+ - **Unit Tests `/tests`**
112
+
113
+ Some tests to ensure the correctness and functionality of the SBtab package.
114
+
115
+ - **Definition Table `/definitions_table`**
116
+
117
+ Default definitions of predefined SBtab table types.
118
+
119
+ - **Example Files `/examples`**
120
+
121
+ Example SBtab files. These files can also be found including explanatory words in the [online SBtab Download Section](https://www.sbtab.net/sbtab/default/downloads.html)
122
+
123
+ - **API documentation** `/api_documentation`
124
+
125
+ HTML pydoc documentation of the SBtab interface and source code.
@@ -0,0 +1,83 @@
1
+ SBtab: a Table format for Systems Biology
2
+ =========================================
3
+ Python code and example files by
4
+ Timo Lubitz, Elad Noor, Jens Hahn, Frank Bergmann (2018).
5
+
6
+ [![PyPI version](https://img.shields.io/pypi/v/sbtab)](https://pypi.org/project/sbtab/)
7
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/sbtab)](https://pypi.org/project/sbtab/)
8
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/sbtab)](https://pypi.org/project/sbtab/)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
+
11
+ Data tables in the form of spreadsheets or delimited text files are the most common data
12
+ format in Systems Biology. However, they are often not sufficiently structured and lack
13
+ clear naming conventions that would be required for modeling. We propose the **SBtab**
14
+ format as an attempt to establish an easy-to-use table format that is both flexible and
15
+ clearly structured. It comprises defined table types for different kinds of data; syntax
16
+ rules for usage of names, shortnames, and database identifiers used for annotation;
17
+ and standardized formulae for reaction stoichiometries. Predefined table types can be
18
+ used to define biochemical network models and the biochemical constants therein. The users
19
+ can also define their own table types, adjusting SBtab to other types of data.
20
+
21
+ The SBtab specification can be found on the
22
+ [SBtab homepage](https://www.sbtab.net/sbtab/default/downloads.html#spec).
23
+ The homepage also provides various information on example files, frequently
24
+ asked questions, online tools, and tutorials.
25
+
26
+ Software tools
27
+ --------------
28
+
29
+ SBtab comes along with software tools which can be employed in three different ways:
30
+
31
+ 1. **SBtab online**
32
+
33
+ You can use the software tools that come with SBtab in the convenient online interface:
34
+ - [Validator](https://www.sbtab.net/sbtab/default/validator.html)
35
+ - [SBML Converter](https://www.sbtab.net/sbtab/default/converter.html)
36
+ - [Customize SBtab](https://www.sbtab.net/sbtab/default/def_files.html)
37
+
38
+ 2. **Python package** (i.e., pip installer)
39
+
40
+ The tools can be employed as a Python package. It needs to be installed via
41
+ [pypi](https://pypi.org/project/sbtab/). Please type on your commandline:
42
+ ```bash
43
+ sudo pip install sbtab
44
+ ```
45
+ You will then be able to import the SBtab library into your Python modules by adding
46
+ ```
47
+ import sbtab
48
+ ```
49
+ to them. See the code examples in this repository's directory `/examples`.
50
+
51
+ 3. **From the commandline** (for experienced users)
52
+
53
+ You can employ the SBtab commandline tools from the directory
54
+ `SBtab/python`. To use this option,
55
+ you will have to install the required packages on your own and put
56
+ the Python modules to their according directory. Details on the usage
57
+ of the commandline tools you can find in the directory `SBtab/python`.
58
+
59
+
60
+ Repository contents
61
+ -------------------
62
+ The SBtab repository consists of the following directories and contents:
63
+
64
+ - **Source Code `/src`**
65
+
66
+ - Source scripts and commandline Python modules, including a file and object validator, and a converter to and from SBML.
67
+ - SQLite interface: Python interface for querying SQLite databases via SBtab.
68
+
69
+ - **Unit Tests `/tests`**
70
+
71
+ Some tests to ensure the correctness and functionality of the SBtab package.
72
+
73
+ - **Definition Table `/definitions_table`**
74
+
75
+ Default definitions of predefined SBtab table types.
76
+
77
+ - **Example Files `/examples`**
78
+
79
+ Example SBtab files. These files can also be found including explanatory words in the [online SBtab Download Section](https://www.sbtab.net/sbtab/default/downloads.html)
80
+
81
+ - **API documentation** `/api_documentation`
82
+
83
+ HTML pydoc documentation of the SBtab interface and source code.
@@ -0,0 +1,92 @@
1
+ [project]
2
+ name = "sbtabpy"
3
+ version = "1.0.8"
4
+ description = "SBtab - Standardised Data Tables for Systems Biology"
5
+ readme = "README.md"
6
+ license = { text = "MIT" }
7
+ authors = [{ name = "Timo Lubitz", email = "timo.lubitz@gmail.com" },
8
+ { name = "Elad Noor", email = "elad.noor@weizmann.ac.il" }]
9
+ keywords = ["modelling", "systems biology", "standard format", "data table"]
10
+ classifiers = [
11
+ "Development Status :: 4 - Beta",
12
+ "Intended Audience :: Developers",
13
+ "Topic :: Software Development",
14
+ "Programming Language :: Python :: 3",
15
+ ]
16
+ requires-python = ">=3.9"
17
+ dependencies = [
18
+ "python-libsbml>=5.0",
19
+ "numpy>=2.0",
20
+ "scipy>=1.13",
21
+ "openpyxl>=2.5",
22
+ "pandas>=2.0",
23
+ "pyarrow>=14.0.1",
24
+ ]
25
+
26
+ [project.optional-dependencies]
27
+ test = [
28
+ "pytest",
29
+ "pytest-cov",
30
+ "pytest-raises",
31
+ "pytest-mock",
32
+ "hypothesis"
33
+ ]
34
+ development = [
35
+ "ruff",
36
+ "pip-audit",
37
+ "tox",
38
+ "twine"
39
+ ]
40
+ deployment = [
41
+ "click",
42
+ "click-log",
43
+ "pyinstaller",
44
+ ]
45
+ docs = [
46
+ "sphinx>=7.0",
47
+ "sphinx-rtd-theme>=2.0",
48
+ "myst-parser>=2.0",
49
+ ]
50
+
51
+ [project.scripts]
52
+ sbtab = "sbtab.__main__:main"
53
+
54
+ [project.urls]
55
+ Homepage = "https://www.sbtab.net"
56
+
57
+ [tool.pytest.ini_options]
58
+ testpaths = ["tests"]
59
+
60
+ [tool.setuptools.packages.find]
61
+ where = ["src"]
62
+
63
+ [tool.setuptools.package-data]
64
+ "sbtab" = ["data/*.html", "data/*.tsv"]
65
+
66
+
67
+ [build-system]
68
+ requires = [ "setuptools>=61", "wheel", "setuptools-git-versioning>=2.0,<3", ]
69
+ build-backend = "setuptools.build_meta"
70
+
71
+ [tool.distutils.bdist_wheel]
72
+ universal = true
73
+
74
+ [tool.setuptools-git-versioning]
75
+ enabled = true
76
+
77
+ [tool.isort]
78
+ profile = "black"
79
+
80
+ [tool.black]
81
+ target-version = ["py314"]
82
+ exclude = '''
83
+ (
84
+ __init__.py
85
+ )
86
+ '''
87
+
88
+ [tool.ruff]
89
+ target-version = "py314"
90
+
91
+ [tool.ruff.lint]
92
+ ignore = ["F401"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+