pymetadata 0.5.0__py3-none-any.whl

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.

Potentially problematic release.


This version of pymetadata might be problematic. Click here for more details.

Files changed (42) hide show
  1. pymetadata/__init__.py +14 -0
  2. pymetadata/cache.py +52 -0
  3. pymetadata/chebi.py +92 -0
  4. pymetadata/console.py +18 -0
  5. pymetadata/core/__init__.py +1 -0
  6. pymetadata/core/annotation.py +396 -0
  7. pymetadata/core/creator.py +46 -0
  8. pymetadata/core/synonym.py +12 -0
  9. pymetadata/core/xref.py +66 -0
  10. pymetadata/examples/__init__.py +1 -0
  11. pymetadata/examples/cache_path_example.py +15 -0
  12. pymetadata/examples/omex_example.py +46 -0
  13. pymetadata/examples/results/test_from_files.omex +0 -0
  14. pymetadata/examples/results/test_from_omex.omex +0 -0
  15. pymetadata/examples/results/testomex/README.md +3 -0
  16. pymetadata/examples/results/testomex/manifest.xml +9 -0
  17. pymetadata/examples/results/testomex/models/omex_comp.xml +174 -0
  18. pymetadata/examples/results/testomex/models/omex_comp_flat.xml +215 -0
  19. pymetadata/examples/results/testomex/models/omex_minimal.xml +99 -0
  20. pymetadata/examples/test.omex +0 -0
  21. pymetadata/identifiers/__init__.py +1 -0
  22. pymetadata/identifiers/miriam.py +43 -0
  23. pymetadata/identifiers/registry.py +397 -0
  24. pymetadata/log.py +29 -0
  25. pymetadata/metadata/__init__.py +6 -0
  26. pymetadata/metadata/eco.py +15918 -0
  27. pymetadata/metadata/kisao.py +2731 -0
  28. pymetadata/metadata/sbo.py +3754 -0
  29. pymetadata/omex.py +771 -0
  30. pymetadata/omex_v2.py +30 -0
  31. pymetadata/ontologies/__init__.py +1 -0
  32. pymetadata/ontologies/ols.py +214 -0
  33. pymetadata/ontologies/ontology.py +312 -0
  34. pymetadata/py.typed +0 -0
  35. pymetadata/resources/chebi_webservice_wsdl.xml +509 -0
  36. pymetadata/resources/ontologies/README.md +4 -0
  37. pymetadata/resources/templates/ontology_enum.pytemplate +61 -0
  38. pymetadata/unichem.py +190 -0
  39. pymetadata-0.5.0.dist-info/METADATA +154 -0
  40. pymetadata-0.5.0.dist-info/RECORD +42 -0
  41. pymetadata-0.5.0.dist-info/WHEEL +4 -0
  42. pymetadata-0.5.0.dist-info/licenses/LICENSE +7 -0
@@ -0,0 +1,66 @@
1
+ """Module for crossreferences (xref)."""
2
+
3
+ import re
4
+ from dataclasses import dataclass
5
+ from typing import Dict
6
+ from urllib.parse import urlparse
7
+
8
+ from pymetadata import log
9
+
10
+
11
+ logger = log.get_logger(__name__)
12
+
13
+ url_regex = re.compile(
14
+ r"^(?:http|ftp)s?://" # http:// or https://
15
+ r"(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|" # domain...
16
+ r"localhost|" # localhost...
17
+ r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" # ...or ip
18
+ r"(?::\d+)?" # optional port
19
+ r"(?:/?|[/?]\S+)$",
20
+ re.IGNORECASE,
21
+ )
22
+
23
+
24
+ def is_url(url: str) -> bool:
25
+ """Check if string is valid url."""
26
+ try:
27
+ result = urlparse(url)
28
+ if not all([result.scheme, result.netloc]):
29
+ return False
30
+ if re.match(url_regex, url) is None:
31
+ return False
32
+ except ValueError:
33
+ return False
34
+
35
+ return True
36
+
37
+
38
+ @dataclass()
39
+ class CrossReference:
40
+ """Handling database cross references."""
41
+
42
+ name: str
43
+ accession: str
44
+ url: str
45
+
46
+ def __post_init__(self) -> None:
47
+ """Validate."""
48
+ self.validate()
49
+
50
+ def to_dict(self) -> Dict:
51
+ """Convert to dict."""
52
+ return self.__dict__
53
+
54
+ def validate(self, warnings: bool = True) -> bool:
55
+ """Validate the cross reference.
56
+
57
+ :return:
58
+ """
59
+ if not is_url(self.url):
60
+ if warnings:
61
+ logger.warning(
62
+ f"{self.__class__.__name__} <{self.name}|{self.accession}> "
63
+ f"has invalid url: '{self.url}'"
64
+ )
65
+ return False
66
+ return True
@@ -0,0 +1 @@
1
+ """Examples for pymetadata."""
@@ -0,0 +1,15 @@
1
+ """Example for customizing the cache path."""
2
+
3
+ from pathlib import Path
4
+
5
+ import pymetadata
6
+ from pymetadata.chebi import ChebiQuery
7
+
8
+
9
+ pymetadata.CACHE_PATH = Path.home() / ".cache" / "pymetadata"
10
+
11
+ if __name__ == "__main__":
12
+
13
+ chebis = ["CHEBI:2668", "CHEBI:138366", "CHEBI:9637", "CHEBI:155897"]
14
+ for chebi in chebis:
15
+ d = ChebiQuery.query(chebi=chebi, cache=True)
@@ -0,0 +1,46 @@
1
+ """Example for reading and writing omex archives."""
2
+
3
+ from pathlib import Path
4
+
5
+ from pymetadata import RESOURCES_DIR
6
+ from pymetadata.console import console
7
+ from pymetadata.omex import EntryFormat, ManifestEntry, Omex
8
+
9
+
10
+ """
11
+ # COMBINE archives in `pymetadata`
12
+ COMBINE archives are a convenient method to exchange files and resources relevant
13
+ for modeling studies. `pymetadata` provides functionality for reading, writing
14
+ and validating archives.
15
+
16
+ ## Read archive from OMEX
17
+ To read a COMBINE archive use the `Omex` helper methods which can either read from
18
+ a given directory or
19
+ """
20
+ omex_example: Path = RESOURCES_DIR / "data" / "omex" / "CompModels.omex"
21
+ omex = Omex.from_omex(omex_example)
22
+ console.print(omex)
23
+
24
+ """
25
+ ## Write archive to directory or archive
26
+ """
27
+ omex.to_directory(Path("./results/testomex"))
28
+ omex.to_omex(Path("./results/test_from_omex.omex"))
29
+
30
+ """
31
+ ## Create archive from files
32
+ In the following a new archive is created by adding entries to the archive.
33
+ """
34
+ omex = Omex()
35
+ omex.add_entry(
36
+ entry_path=Path("results/testomex/models/omex_comp_flat.xml"),
37
+ entry=ManifestEntry(location="./model.xml", format=EntryFormat.SBML, master=False),
38
+ )
39
+ omex.add_entry(
40
+ entry_path=Path("results/testomex/README.md"),
41
+ entry=ManifestEntry(
42
+ location="./README.md", format=EntryFormat.MARKDOWN, master=False
43
+ ),
44
+ )
45
+ omex.to_omex(Path("results/test_from_files.omex"))
46
+ console.print(omex)
@@ -0,0 +1,3 @@
1
+ # Composite model COMBINE archive (OMEX)
2
+
3
+ Example of a composite model distributed as COMBINE archive.
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <omexManifest xmlns="http://identifiers.org/combine.specifications/omex-manifest">
3
+ <content location="." format="http://identifiers.org/combine.specifications/omex" />
4
+ <content location="./manifest.xml" format="http://identifiers.org/combine.specifications/omex-manifest" />
5
+ <content location="./README.md" format="http://purl.org/NET/mediatypes/text/x-markdown" />
6
+ <content location="./models/omex_comp_flat.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-1" />
7
+ <content location="./models/omex_minimal.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-1" />
8
+ <content location="./models/omex_comp.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-1" />
9
+ </omexManifest>
@@ -0,0 +1,174 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" level="3" version="1" comp:required="true">
3
+ <notes>
4
+ <body xmlns="http://www.w3.org/1999/xhtml" style="background-color: white;padding: 30px;padding-bottom: 10px;font-size: 14px;padding-top: 10px;color: #333;font-family: Helvetica, arial, sans-serif;line-height: 1.6;">
5
+ <p style="margin: 15px 0;margin-bottom: 0 !important;margin-top: 0 !important;">Created with <a href="https://github.com/matthiaskoenig/sbmlutils" style="text-decoration: none;color: #4183C4;">https://github.com/matthiaskoenig/sbmlutils</a>.
6
+ <a href="https://doi.org/10.5281/zenodo.5525390" style="color: #4183C4;text-decoration: none;">
7
+ <img alt="DOI" src="https://zenodo.org/badge/DOI/10.5281/zenodo.5525390.svg" style="max-width: 100%;"/></a></p>
8
+ </body>
9
+ </notes>
10
+ <model id="omex_comp">
11
+ <notes>
12
+ <body xmlns="http://www.w3.org/1999/xhtml" style="padding-top: 10px;font-size: 14px;padding: 30px;color: #333;padding-bottom: 10px;background-color: white;font-family: Helvetica, arial, sans-serif;line-height: 1.6;">
13
+ <p style="margin: 15px 0;margin-top: 0 !important;margin-bottom: 0 !important;">Hierarchical model reusing the minimal model in composite model coupling.</p>
14
+ </body>
15
+ </notes>
16
+ <listOfCompartments>
17
+ <compartment id="cell0" spatialDimensions="3" size="1" constant="true">
18
+ <comp:listOfReplacedElements>
19
+ <comp:replacedElement metaid="cell0_RE" comp:portRef="cell_port" comp:submodelRef="submodel0"/>
20
+ </comp:listOfReplacedElements>
21
+ </compartment>
22
+ <compartment id="cell1" spatialDimensions="3" size="1" constant="true">
23
+ <comp:listOfReplacedElements>
24
+ <comp:replacedElement metaid="cell1_RE" comp:portRef="cell_port" comp:submodelRef="submodel1"/>
25
+ </comp:listOfReplacedElements>
26
+ </compartment>
27
+ <compartment id="cell2" spatialDimensions="3" size="1" constant="true">
28
+ <comp:listOfReplacedElements>
29
+ <comp:replacedElement metaid="cell2_RE" comp:portRef="cell_port" comp:submodelRef="submodel2"/>
30
+ </comp:listOfReplacedElements>
31
+ </compartment>
32
+ <compartment id="cell3" spatialDimensions="3" size="1" constant="true">
33
+ <comp:listOfReplacedElements>
34
+ <comp:replacedElement metaid="cell3_RE" comp:portRef="cell_port" comp:submodelRef="submodel3"/>
35
+ </comp:listOfReplacedElements>
36
+ </compartment>
37
+ <compartment id="cell4" spatialDimensions="3" size="1" constant="true">
38
+ <comp:listOfReplacedElements>
39
+ <comp:replacedElement metaid="cell4_RE" comp:portRef="cell_port" comp:submodelRef="submodel4"/>
40
+ </comp:listOfReplacedElements>
41
+ </compartment>
42
+ </listOfCompartments>
43
+ <listOfSpecies>
44
+ <species id="S0" compartment="cell0" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
45
+ <comp:listOfReplacedElements>
46
+ <comp:replacedElement metaid="S0_RE" comp:portRef="S1_port" comp:submodelRef="submodel0"/>
47
+ </comp:listOfReplacedElements>
48
+ </species>
49
+ <species id="S1" compartment="cell1" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
50
+ <comp:listOfReplacedElements>
51
+ <comp:replacedElement metaid="S1_RE" comp:portRef="S1_port" comp:submodelRef="submodel1"/>
52
+ </comp:listOfReplacedElements>
53
+ </species>
54
+ <species id="S2" compartment="cell2" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
55
+ <comp:listOfReplacedElements>
56
+ <comp:replacedElement metaid="S2_RE" comp:portRef="S1_port" comp:submodelRef="submodel2"/>
57
+ </comp:listOfReplacedElements>
58
+ </species>
59
+ <species id="S3" compartment="cell3" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
60
+ <comp:listOfReplacedElements>
61
+ <comp:replacedElement metaid="S3_RE" comp:portRef="S1_port" comp:submodelRef="submodel3"/>
62
+ </comp:listOfReplacedElements>
63
+ </species>
64
+ <species id="S4" compartment="cell4" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
65
+ <comp:listOfReplacedElements>
66
+ <comp:replacedElement metaid="S4_RE" comp:portRef="S1_port" comp:submodelRef="submodel4"/>
67
+ </comp:listOfReplacedElements>
68
+ </species>
69
+ </listOfSpecies>
70
+ <listOfParameters>
71
+ <parameter id="D" value="0.01" constant="true"/>
72
+ </listOfParameters>
73
+ <listOfReactions>
74
+ <reaction id="J0" reversible="true" fast="false">
75
+ <listOfReactants>
76
+ <speciesReference species="S0" stoichiometry="1" constant="true"/>
77
+ </listOfReactants>
78
+ <listOfProducts>
79
+ <speciesReference species="S1" stoichiometry="1" constant="true"/>
80
+ </listOfProducts>
81
+ <kineticLaw>
82
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
83
+ <apply>
84
+ <times/>
85
+ <ci> D </ci>
86
+ <apply>
87
+ <minus/>
88
+ <ci> S0 </ci>
89
+ <ci> S1 </ci>
90
+ </apply>
91
+ </apply>
92
+ </math>
93
+ </kineticLaw>
94
+ </reaction>
95
+ <reaction id="J1" reversible="true" fast="false">
96
+ <listOfReactants>
97
+ <speciesReference species="S1" stoichiometry="1" constant="true"/>
98
+ </listOfReactants>
99
+ <listOfProducts>
100
+ <speciesReference species="S2" stoichiometry="1" constant="true"/>
101
+ </listOfProducts>
102
+ <kineticLaw>
103
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
104
+ <apply>
105
+ <times/>
106
+ <ci> D </ci>
107
+ <apply>
108
+ <minus/>
109
+ <ci> S1 </ci>
110
+ <ci> S2 </ci>
111
+ </apply>
112
+ </apply>
113
+ </math>
114
+ </kineticLaw>
115
+ </reaction>
116
+ <reaction id="J2" reversible="true" fast="false">
117
+ <listOfReactants>
118
+ <speciesReference species="S2" stoichiometry="1" constant="true"/>
119
+ </listOfReactants>
120
+ <listOfProducts>
121
+ <speciesReference species="S3" stoichiometry="1" constant="true"/>
122
+ </listOfProducts>
123
+ <kineticLaw>
124
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
125
+ <apply>
126
+ <times/>
127
+ <ci> D </ci>
128
+ <apply>
129
+ <minus/>
130
+ <ci> S2 </ci>
131
+ <ci> S3 </ci>
132
+ </apply>
133
+ </apply>
134
+ </math>
135
+ </kineticLaw>
136
+ </reaction>
137
+ <reaction id="J3" reversible="true" fast="false">
138
+ <listOfReactants>
139
+ <speciesReference species="S3" stoichiometry="1" constant="true"/>
140
+ </listOfReactants>
141
+ <listOfProducts>
142
+ <speciesReference species="S4" stoichiometry="1" constant="true"/>
143
+ </listOfProducts>
144
+ <kineticLaw>
145
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
146
+ <apply>
147
+ <times/>
148
+ <ci> D </ci>
149
+ <apply>
150
+ <minus/>
151
+ <ci> S3 </ci>
152
+ <ci> S4 </ci>
153
+ </apply>
154
+ </apply>
155
+ </math>
156
+ </kineticLaw>
157
+ </reaction>
158
+ </listOfReactions>
159
+ <comp:listOfSubmodels>
160
+ <comp:submodel comp:id="submodel0" comp:modelRef="emd0"/>
161
+ <comp:submodel comp:id="submodel1" comp:modelRef="emd1"/>
162
+ <comp:submodel comp:id="submodel2" comp:modelRef="emd2"/>
163
+ <comp:submodel comp:id="submodel3" comp:modelRef="emd3"/>
164
+ <comp:submodel comp:id="submodel4" comp:modelRef="emd4"/>
165
+ </comp:listOfSubmodels>
166
+ </model>
167
+ <comp:listOfExternalModelDefinitions>
168
+ <comp:externalModelDefinition comp:id="emd0" comp:source="omex_minimal.xml" comp:modelRef="omex_minimal"/>
169
+ <comp:externalModelDefinition comp:id="emd1" comp:source="omex_minimal.xml" comp:modelRef="omex_minimal"/>
170
+ <comp:externalModelDefinition comp:id="emd2" comp:source="omex_minimal.xml" comp:modelRef="omex_minimal"/>
171
+ <comp:externalModelDefinition comp:id="emd3" comp:source="omex_minimal.xml" comp:modelRef="omex_minimal"/>
172
+ <comp:externalModelDefinition comp:id="emd4" comp:source="omex_minimal.xml" comp:modelRef="omex_minimal"/>
173
+ </comp:listOfExternalModelDefinitions>
174
+ </sbml>
@@ -0,0 +1,215 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" level="3" version="1" fbc:required="false">
3
+ <notes>
4
+ <body xmlns="http://www.w3.org/1999/xhtml" style="background-color: white;padding: 30px;padding-bottom: 10px;font-size: 14px;padding-top: 10px;color: #333;font-family: Helvetica, arial, sans-serif;line-height: 1.6;">
5
+ <p style="margin: 15px 0;margin-bottom: 0 !important;margin-top: 0 !important;">Created with <a href="https://github.com/matthiaskoenig/sbmlutils" style="text-decoration: none;color: #4183C4;">https://github.com/matthiaskoenig/sbmlutils</a>.
6
+ <a href="https://doi.org/10.5281/zenodo.5525390" style="color: #4183C4;text-decoration: none;">
7
+ <img alt="DOI" src="https://zenodo.org/badge/DOI/10.5281/zenodo.5525390.svg" style="max-width: 100%;"/></a></p>
8
+ </body>
9
+ </notes>
10
+ <model id="omex_comp" fbc:strict="false">
11
+ <notes>
12
+ <body xmlns="http://www.w3.org/1999/xhtml" style="padding-top: 10px;font-size: 14px;padding: 30px;color: #333;padding-bottom: 10px;background-color: white;font-family: Helvetica, arial, sans-serif;line-height: 1.6;">
13
+ <p style="margin: 15px 0;margin-top: 0 !important;margin-bottom: 0 !important;">Hierarchical model reusing the minimal model in composite model coupling.</p>
14
+ </body>
15
+ </notes>
16
+ <listOfCompartments>
17
+ <compartment id="cell0" spatialDimensions="3" size="1" constant="true"/>
18
+ <compartment id="cell1" spatialDimensions="3" size="1" constant="true"/>
19
+ <compartment id="cell2" spatialDimensions="3" size="1" constant="true"/>
20
+ <compartment id="cell3" spatialDimensions="3" size="1" constant="true"/>
21
+ <compartment id="cell4" spatialDimensions="3" size="1" constant="true"/>
22
+ </listOfCompartments>
23
+ <listOfSpecies>
24
+ <species id="S0" compartment="cell0" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
25
+ <species id="S1" compartment="cell1" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
26
+ <species id="S2" compartment="cell2" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
27
+ <species id="S3" compartment="cell3" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
28
+ <species id="S4" compartment="cell4" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
29
+ <species id="submodel0__S2" compartment="cell0" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
30
+ <species id="submodel1__S2" compartment="cell1" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
31
+ <species id="submodel2__S2" compartment="cell2" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
32
+ <species id="submodel3__S2" compartment="cell3" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
33
+ <species id="submodel4__S2" compartment="cell4" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
34
+ </listOfSpecies>
35
+ <listOfParameters>
36
+ <parameter id="D" value="0.01" constant="true"/>
37
+ <parameter id="submodel0__k1" value="0.1" constant="true"/>
38
+ <parameter id="submodel1__k1" value="0.1" constant="true"/>
39
+ <parameter id="submodel2__k1" value="0.1" constant="true"/>
40
+ <parameter id="submodel3__k1" value="0.1" constant="true"/>
41
+ <parameter id="submodel4__k1" value="0.1" constant="true"/>
42
+ </listOfParameters>
43
+ <listOfReactions>
44
+ <reaction id="J0" reversible="true" fast="false">
45
+ <listOfReactants>
46
+ <speciesReference species="S0" stoichiometry="1" constant="true"/>
47
+ </listOfReactants>
48
+ <listOfProducts>
49
+ <speciesReference species="S1" stoichiometry="1" constant="true"/>
50
+ </listOfProducts>
51
+ <kineticLaw>
52
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
53
+ <apply>
54
+ <times/>
55
+ <ci> D </ci>
56
+ <apply>
57
+ <minus/>
58
+ <ci> S0 </ci>
59
+ <ci> S1 </ci>
60
+ </apply>
61
+ </apply>
62
+ </math>
63
+ </kineticLaw>
64
+ </reaction>
65
+ <reaction id="J1" reversible="true" fast="false">
66
+ <listOfReactants>
67
+ <speciesReference species="S1" stoichiometry="1" constant="true"/>
68
+ </listOfReactants>
69
+ <listOfProducts>
70
+ <speciesReference species="S2" stoichiometry="1" constant="true"/>
71
+ </listOfProducts>
72
+ <kineticLaw>
73
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
74
+ <apply>
75
+ <times/>
76
+ <ci> D </ci>
77
+ <apply>
78
+ <minus/>
79
+ <ci> S1 </ci>
80
+ <ci> S2 </ci>
81
+ </apply>
82
+ </apply>
83
+ </math>
84
+ </kineticLaw>
85
+ </reaction>
86
+ <reaction id="J2" reversible="true" fast="false">
87
+ <listOfReactants>
88
+ <speciesReference species="S2" stoichiometry="1" constant="true"/>
89
+ </listOfReactants>
90
+ <listOfProducts>
91
+ <speciesReference species="S3" stoichiometry="1" constant="true"/>
92
+ </listOfProducts>
93
+ <kineticLaw>
94
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
95
+ <apply>
96
+ <times/>
97
+ <ci> D </ci>
98
+ <apply>
99
+ <minus/>
100
+ <ci> S2 </ci>
101
+ <ci> S3 </ci>
102
+ </apply>
103
+ </apply>
104
+ </math>
105
+ </kineticLaw>
106
+ </reaction>
107
+ <reaction id="J3" reversible="true" fast="false">
108
+ <listOfReactants>
109
+ <speciesReference species="S3" stoichiometry="1" constant="true"/>
110
+ </listOfReactants>
111
+ <listOfProducts>
112
+ <speciesReference species="S4" stoichiometry="1" constant="true"/>
113
+ </listOfProducts>
114
+ <kineticLaw>
115
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
116
+ <apply>
117
+ <times/>
118
+ <ci> D </ci>
119
+ <apply>
120
+ <minus/>
121
+ <ci> S3 </ci>
122
+ <ci> S4 </ci>
123
+ </apply>
124
+ </apply>
125
+ </math>
126
+ </kineticLaw>
127
+ </reaction>
128
+ <reaction id="submodel0__J0" reversible="false" fast="false">
129
+ <listOfReactants>
130
+ <speciesReference species="S0" stoichiometry="1" constant="true"/>
131
+ </listOfReactants>
132
+ <listOfProducts>
133
+ <speciesReference species="submodel0__S2" stoichiometry="1" constant="true"/>
134
+ </listOfProducts>
135
+ <kineticLaw>
136
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
137
+ <apply>
138
+ <times/>
139
+ <ci> submodel0__k1 </ci>
140
+ <ci> submodel0__S2 </ci>
141
+ </apply>
142
+ </math>
143
+ </kineticLaw>
144
+ </reaction>
145
+ <reaction id="submodel1__J0" reversible="false" fast="false">
146
+ <listOfReactants>
147
+ <speciesReference species="S1" stoichiometry="1" constant="true"/>
148
+ </listOfReactants>
149
+ <listOfProducts>
150
+ <speciesReference species="submodel1__S2" stoichiometry="1" constant="true"/>
151
+ </listOfProducts>
152
+ <kineticLaw>
153
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
154
+ <apply>
155
+ <times/>
156
+ <ci> submodel1__k1 </ci>
157
+ <ci> submodel1__S2 </ci>
158
+ </apply>
159
+ </math>
160
+ </kineticLaw>
161
+ </reaction>
162
+ <reaction id="submodel2__J0" reversible="false" fast="false">
163
+ <listOfReactants>
164
+ <speciesReference species="S2" stoichiometry="1" constant="true"/>
165
+ </listOfReactants>
166
+ <listOfProducts>
167
+ <speciesReference species="submodel2__S2" stoichiometry="1" constant="true"/>
168
+ </listOfProducts>
169
+ <kineticLaw>
170
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
171
+ <apply>
172
+ <times/>
173
+ <ci> submodel2__k1 </ci>
174
+ <ci> submodel2__S2 </ci>
175
+ </apply>
176
+ </math>
177
+ </kineticLaw>
178
+ </reaction>
179
+ <reaction id="submodel3__J0" reversible="false" fast="false">
180
+ <listOfReactants>
181
+ <speciesReference species="S3" stoichiometry="1" constant="true"/>
182
+ </listOfReactants>
183
+ <listOfProducts>
184
+ <speciesReference species="submodel3__S2" stoichiometry="1" constant="true"/>
185
+ </listOfProducts>
186
+ <kineticLaw>
187
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
188
+ <apply>
189
+ <times/>
190
+ <ci> submodel3__k1 </ci>
191
+ <ci> submodel3__S2 </ci>
192
+ </apply>
193
+ </math>
194
+ </kineticLaw>
195
+ </reaction>
196
+ <reaction id="submodel4__J0" reversible="false" fast="false">
197
+ <listOfReactants>
198
+ <speciesReference species="S4" stoichiometry="1" constant="true"/>
199
+ </listOfReactants>
200
+ <listOfProducts>
201
+ <speciesReference species="submodel4__S2" stoichiometry="1" constant="true"/>
202
+ </listOfProducts>
203
+ <kineticLaw>
204
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
205
+ <apply>
206
+ <times/>
207
+ <ci> submodel4__k1 </ci>
208
+ <ci> submodel4__S2 </ci>
209
+ </apply>
210
+ </math>
211
+ </kineticLaw>
212
+ </reaction>
213
+ </listOfReactions>
214
+ </model>
215
+ </sbml>
@@ -0,0 +1,99 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" level="3" version="1" comp:required="true" fbc:required="false">
3
+ <notes>
4
+ <body xmlns="http://www.w3.org/1999/xhtml" style="font-size: 14px;font-family: Helvetica, arial, sans-serif;line-height: 1.6;background-color: white;color: #333;padding-top: 10px;padding-bottom: 10px;padding: 30px;">
5
+ <p style="margin-top: 0 !important;margin-bottom: 0 !important;margin: 15px 0;">Created with <a href="https://github.com/matthiaskoenig/sbmlutils" style="text-decoration: none;color: #4183C4;">https://github.com/matthiaskoenig/sbmlutils</a>.
6
+ <a href="https://doi.org/10.5281/zenodo.5525390" style="color: #4183C4;text-decoration: none;">
7
+ <img alt="DOI" src="https://zenodo.org/badge/DOI/10.5281/zenodo.5525390.svg" style="max-width: 100%;"/></a></p>
8
+ </body>
9
+ </notes>
10
+ <model metaid="meta_omex_minimal" id="omex_minimal" fbc:strict="false">
11
+ <notes>
12
+ <body xmlns="http://www.w3.org/1999/xhtml" style="color: #333;background-color: white;line-height: 1.6;padding-bottom: 10px;padding: 30px;font-family: Helvetica, arial, sans-serif;font-size: 14px;padding-top: 10px;">
13
+ <h2 style="position: relative;font-size: 24px;border-bottom: 1px solid #cccccc;margin-top: 0;margin: 20px 0 10px;cursor: text;padding-top: 0;color: black;padding: 0;font-weight: bold;-webkit-font-smoothing: antialiased;">Terms of use</h2>
14
+ <p style="margin: 15px 0;">The content of this model has been carefully created in a manual research effort.
15
+ This file has been created by <a href="https://livermetabolism.com" style="text-decoration: none;color: #4183C4;">Matthias König</a>
16
+ using <a style="text-decoration: none;color: #4183C4;"/>
17
+ <a href="https://github.com/matthiaskoenig/sbmlutils" style="color: #4183C4;text-decoration: none;">sbmlutils</a>.
18
+ For questions contact koenigmx@hu-berlin.de.</p>
19
+ <a href="https://livermetabolism.com" style="text-decoration: none;color: #4183C4;">
20
+ <img src="https://livermetabolism.com/img/people/koenig.png" style="max-width: 100%;" width="80"/>
21
+ </a>
22
+ Copyright © 2021 Matthias König.
23
+ <a href="http://creativecommons.org/licenses/by/4.0/" rel="license" style="color: #4183C4;text-decoration: none;">
24
+ <img alt="Creative Commons License" src="https://i.creativecommons.org/l/by/4.0/88x31.png" style="border-width:0;max-width: 100%;"/></a>
25
+ <br/>This work is licensed under a <a href="http://creativecommons.org/licenses/by/4.0/" rel="license" style="text-decoration: none;color: #4183C4;">Creative Commons Attribution 4.0 International License</a>.
26
+ <p style="margin: 15px 0;">Redistribution and use of any part of this model, with or without modification,
27
+ are permitted provided that the following conditions are met:</p>
28
+ <ol style="margin: 15px 0;padding-left: 30px;">
29
+ <li style="margin-top: 0;margin: 15px 0;">Redistributions of this SBML file must retain the above copyright notice, this
30
+ list of conditions and the following disclaimer.</li>
31
+ <li style="margin-bottom: 0;margin: 15px 0;">Redistributions in a different form must reproduce the above copyright notice,
32
+ this list of conditions and the following disclaimer in the documentation and/or
33
+ other materials provided with the distribution.</li>
34
+ </ol>
35
+ <p style="margin-bottom: 0 !important;margin: 15px 0;">This model is distributed in the hope that it will be useful, but WITHOUT ANY
36
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
37
+ FOR A PARTICULAR PURPOSE.</p></body>
38
+ </notes>
39
+ <annotation>
40
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:vCard4="http://www.w3.org/2006/vcard/ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
41
+ <rdf:Description rdf:about="#meta_omex_minimal">
42
+ <dcterms:creator>
43
+ <rdf:Bag>
44
+ <rdf:li rdf:parseType="Resource">
45
+ <vCard:N rdf:parseType="Resource">
46
+ <vCard:Family>König</vCard:Family>
47
+ <vCard:Given>Matthias</vCard:Given>
48
+ </vCard:N>
49
+ <vCard:EMAIL>koenigmx@hu-berlin.de</vCard:EMAIL>
50
+ <vCard:ORG rdf:parseType="Resource">
51
+ <vCard:Orgname>Humboldt-University Berlin, Institute for Theoretical Biology</vCard:Orgname>
52
+ </vCard:ORG>
53
+ </rdf:li>
54
+ </rdf:Bag>
55
+ </dcterms:creator>
56
+ <dcterms:created rdf:parseType="Resource">
57
+ <dcterms:W3CDTF>1900-01-01T00:00:00Z</dcterms:W3CDTF>
58
+ </dcterms:created>
59
+ <dcterms:modified rdf:parseType="Resource">
60
+ <dcterms:W3CDTF>1900-01-01T00:00:00Z</dcterms:W3CDTF>
61
+ </dcterms:modified>
62
+ </rdf:Description>
63
+ </rdf:RDF>
64
+ </annotation>
65
+ <listOfCompartments>
66
+ <compartment id="cell" spatialDimensions="3" size="1" constant="true"/>
67
+ </listOfCompartments>
68
+ <listOfSpecies>
69
+ <species id="S1" compartment="cell" initialConcentration="10" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
70
+ <species id="S2" compartment="cell" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
71
+ </listOfSpecies>
72
+ <listOfParameters>
73
+ <parameter id="k1" value="0.1" constant="true"/>
74
+ </listOfParameters>
75
+ <listOfReactions>
76
+ <reaction id="J0" reversible="false" fast="false">
77
+ <listOfReactants>
78
+ <speciesReference species="S1" stoichiometry="1" constant="true"/>
79
+ </listOfReactants>
80
+ <listOfProducts>
81
+ <speciesReference species="S2" stoichiometry="1" constant="true"/>
82
+ </listOfProducts>
83
+ <kineticLaw>
84
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
85
+ <apply>
86
+ <times/>
87
+ <ci> k1 </ci>
88
+ <ci> S2 </ci>
89
+ </apply>
90
+ </math>
91
+ </kineticLaw>
92
+ </reaction>
93
+ </listOfReactions>
94
+ <comp:listOfPorts>
95
+ <comp:port metaid="cell_port" sboTerm="SBO:0000599" comp:idRef="cell" comp:id="cell_port" comp:name="Port of cell"/>
96
+ <comp:port metaid="S1_port" sboTerm="SBO:0000599" comp:idRef="S1" comp:id="S1_port" comp:name="Port of S1"/>
97
+ </comp:listOfPorts>
98
+ </model>
99
+ </sbml>
Binary file
@@ -0,0 +1 @@
1
+ """Identifiers.org and MIRIAM."""