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.
- sbtabpy-1.0.8/LICENSE +25 -0
- sbtabpy-1.0.8/PKG-INFO +125 -0
- sbtabpy-1.0.8/README.md +83 -0
- sbtabpy-1.0.8/pyproject.toml +92 -0
- sbtabpy-1.0.8/setup.cfg +4 -0
- sbtabpy-1.0.8/src/sbtab/SBtab.py +1567 -0
- sbtabpy-1.0.8/src/sbtab/__init__.py +1 -0
- sbtabpy-1.0.8/src/sbtab/__main__.py +118 -0
- sbtabpy-1.0.8/src/sbtab/data/__init__.py +0 -0
- sbtabpy-1.0.8/src/sbtab/data/definitions.tsv +409 -0
- sbtabpy-1.0.8/src/sbtab/data/template_sbtab_online.html +89 -0
- sbtabpy-1.0.8/src/sbtab/data/template_standalone.html +34 -0
- sbtabpy-1.0.8/src/sbtab/sbml2sbtab.py +1089 -0
- sbtabpy-1.0.8/src/sbtab/sbtab2sbml.py +2304 -0
- sbtabpy-1.0.8/src/sbtab/sbtab_objtables2sbtab.py +112 -0
- sbtabpy-1.0.8/src/sbtab/sbtab_sbml2sbtab.py +87 -0
- sbtabpy-1.0.8/src/sbtab/sbtab_sbtab2html.py +193 -0
- sbtabpy-1.0.8/src/sbtab/sbtab_sbtab2objtables.py +124 -0
- sbtabpy-1.0.8/src/sbtab/sbtab_sbtab2sbml.py +91 -0
- sbtabpy-1.0.8/src/sbtab/sbtab_validator.py +114 -0
- sbtabpy-1.0.8/src/sbtab/utils.py +585 -0
- sbtabpy-1.0.8/src/sbtab/validatorSBtab.py +408 -0
- sbtabpy-1.0.8/src/sbtabpy.egg-info/PKG-INFO +125 -0
- sbtabpy-1.0.8/src/sbtabpy.egg-info/SOURCES.txt +34 -0
- sbtabpy-1.0.8/src/sbtabpy.egg-info/dependency_links.txt +1 -0
- sbtabpy-1.0.8/src/sbtabpy.egg-info/entry_points.txt +2 -0
- sbtabpy-1.0.8/src/sbtabpy.egg-info/requires.txt +29 -0
- sbtabpy-1.0.8/src/sbtabpy.egg-info/top_level.txt +1 -0
- sbtabpy-1.0.8/tests/test_cli.py +125 -0
- sbtabpy-1.0.8/tests/test_sbml2sbtab.py +115 -0
- sbtabpy-1.0.8/tests/test_sbtab.py +281 -0
- sbtabpy-1.0.8/tests/test_sbtab2html.py +37 -0
- sbtabpy-1.0.8/tests/test_sbtab2sbml.py +126 -0
- sbtabpy-1.0.8/tests/test_sbtab_doc.py +273 -0
- sbtabpy-1.0.8/tests/test_utils.py +149 -0
- 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
|
+
[](https://pypi.org/project/sbtab/)
|
|
49
|
+
[](https://pypi.org/project/sbtab/)
|
|
50
|
+
[](https://pypi.org/project/sbtab/)
|
|
51
|
+
[](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.
|
sbtabpy-1.0.8/README.md
ADDED
|
@@ -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
|
+
[](https://pypi.org/project/sbtab/)
|
|
7
|
+
[](https://pypi.org/project/sbtab/)
|
|
8
|
+
[](https://pypi.org/project/sbtab/)
|
|
9
|
+
[](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"]
|
sbtabpy-1.0.8/setup.cfg
ADDED