Skip to content

Commit

Permalink
Add basico-copasi model interface (#531)
Browse files Browse the repository at this point in the history
* Add basico-copasi model interface

* fix docs

* fixup
  • Loading branch information
yannikschaelte authored and EmadAlamoudi committed Jun 30, 2022
1 parent 1f5467c commit 89727c3
Show file tree
Hide file tree
Showing 19 changed files with 804 additions and 20 deletions.
2 changes: 2 additions & 0 deletions doc/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,7 @@ API reference
api_random_variables
api_sge
api_external
api_petab
api_copasi
api_visualization
api_weightedstatistics
4 changes: 4 additions & 0 deletions doc/api_copasi.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. _api_copasi:

.. automodule:: pyabc.copasi
:imported-members:
4 changes: 4 additions & 0 deletions doc/api_petab.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. _api_petab:

.. automodule:: pyabc.petab
:imported-members:
10 changes: 6 additions & 4 deletions doc/examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ Algorithms and features
examples/discrete_parameters.ipynb
examples/look_ahead.ipynb

Languages
---------
External interfaces
-------------------

.. toctree::
:maxdepth: 2
Expand All @@ -55,6 +55,7 @@ Languages
examples/using_julia.ipynb
examples/external_simulators.ipynb
examples/petab_yaml2sbml.ipynb
examples/using_copasi.ipynb

Application examples
--------------------
Expand All @@ -75,8 +76,9 @@ Download the examples as notebooks
* :download:`Model selection <examples/model_selection.ipynb>`
* :download:`Early stopping of model simulations <examples/early_stopping.ipynb>`
* :download:`Resuming stored ABC runs <examples/resuming.ipynb>`
* :download:`Using R with pyABC <examples/using_R.ipynb>`
* :download:`Using Julia with pyABC <examples/using_julia.ipynb>`
* :download:`Using R via rpy2 <examples/using_R.ipynb>`
* :download:`Using Julia via pyjulia <examples/using_julia.ipynb>`
* :download:`Using COPASI via BasiCO <examples/using_copasi.ipynb>`
* :download:`Ordinary differential equations: Conversion reaction <examples/conversion_reaction.ipynb>`
* :download:`Markov jump process: Reaction network <examples/chemical_reaction.ipynb>`
* :download:`Multi-scale model: Tumor spheroid growth <examples/multiscale_agent_based.ipynb>`
Expand Down
154 changes: 154 additions & 0 deletions doc/examples/models/model1.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created by COPASI version 4.30 (Build 240) on 2021-03-03 15:27 with libSBML version 5.19.0. -->
<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
<model metaid="COPASI0" id="ABC_Example" name="ABC Example">
<notes>
<body xmlns="http://www.w3.org/1999/xhtml">
<pre>Example from:

https://pyabc.readthedocs.io/en/latest/examples/chemical_reaction.html</pre>
</body>
</notes>
<annotation>
<COPASI xmlns="http://www.copasi.org/static/sbml">
<rdf:RDF xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#COPASI0">
<dcterms:created>
<rdf:Description>
<dcterms:W3CDTF>2021-03-03T11:20:00Z</dcterms:W3CDTF>
</rdf:Description>
</dcterms:created>
</rdf:Description>
</rdf:RDF>
</COPASI>
</annotation>
<listOfUnitDefinitions>
<unitDefinition id="substance" name="substance">
<listOfUnits>
<unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
</listOfUnits>
</unitDefinition>
<unitDefinition id="length" name="length">
<listOfUnits>
<unit kind="metre" exponent="1" scale="0" multiplier="1"/>
</listOfUnits>
</unitDefinition>
<unitDefinition id="area" name="area">
<listOfUnits>
<unit kind="metre" exponent="2" scale="0" multiplier="1"/>
</listOfUnits>
</unitDefinition>
<unitDefinition id="volume" name="volume">
<listOfUnits>
<unit kind="litre" exponent="1" scale="0" multiplier="1"/>
</listOfUnits>
</unitDefinition>
<unitDefinition id="time" name="time">
<listOfUnits>
<unit kind="second" exponent="1" scale="0" multiplier="1"/>
</listOfUnits>
</unitDefinition>
</listOfUnitDefinitions>
<listOfCompartments>
<compartment metaid="COPASI1" id="compartment" name="compartment" spatialDimensions="3" size="1" constant="true">
<annotation>
<COPASI xmlns="http://www.copasi.org/static/sbml">
<rdf:RDF xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#COPASI1">
<dcterms:created>
<rdf:Description>
<dcterms:W3CDTF>2021-03-03T11:20:53Z</dcterms:W3CDTF>
</rdf:Description>
</dcterms:created>
</rdf:Description>
</rdf:RDF>
</COPASI>
</annotation>
</compartment>
</listOfCompartments>
<listOfSpecies>
<species metaid="COPASI2" id="X" name="X" compartment="compartment" initialConcentration="40" boundaryCondition="false" constant="false">
<annotation>
<COPASI xmlns="http://www.copasi.org/static/sbml">
<rdf:RDF xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#COPASI2">
<dcterms:created>
<rdf:Description>
<dcterms:W3CDTF>2021-03-03T11:20:53Z</dcterms:W3CDTF>
</rdf:Description>
</dcterms:created>
</rdf:Description>
</rdf:RDF>
</COPASI>
</annotation>
</species>
<species metaid="COPASI3" id="Y" name="Y" compartment="compartment" initialConcentration="3" boundaryCondition="false" constant="false">
<annotation>
<COPASI xmlns="http://www.copasi.org/static/sbml">
<rdf:RDF xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#Metabolite_0">
<dcterms:created>
<rdf:Description>
<dcterms:W3CDTF>2021-03-03T11:20:53Z</dcterms:W3CDTF>
</rdf:Description>
</dcterms:created>
</rdf:Description>
</rdf:RDF>
</COPASI>
</annotation>
</species>
</listOfSpecies>
<listOfParameters>
<parameter metaid="COPASI5" id="rate" name="rate" value="2.3" constant="true">
<annotation>
<COPASI xmlns="http://www.copasi.org/static/sbml">
<rdf:RDF xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#COPASI5">
<dcterms:created>
<rdf:Description>
<dcterms:W3CDTF>2021-03-03T14:26:22Z</dcterms:W3CDTF>
</rdf:Description>
</dcterms:created>
</rdf:Description>
</rdf:RDF>
</COPASI>
</annotation>
</parameter>
</listOfParameters>
<listOfReactions>
<reaction metaid="COPASI4" id="reaction" name="R1" reversible="false">
<annotation>
<COPASI xmlns="http://www.copasi.org/static/sbml">
<rdf:RDF xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#COPASI4">
<dcterms:created>
<rdf:Description>
<dcterms:W3CDTF>2021-03-03T11:20:53Z</dcterms:W3CDTF>
</rdf:Description>
</dcterms:created>
</rdf:Description>
</rdf:RDF>
</COPASI>
</annotation>
<listOfReactants>
<speciesReference species="X" stoichiometry="1"/>
<speciesReference species="Y" stoichiometry="1"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="Y" stoichiometry="2"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<times/>
<ci> compartment </ci>
<ci> rate </ci>
<ci> X </ci>
<ci> Y </ci>
</apply>
</math>
</kineticLaw>
</reaction>
</listOfReactions>
</model>
</sbml>
2 changes: 1 addition & 1 deletion doc/examples/using_R.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Using R with pyABC"
"# Using R via rpy2"
]
},
{
Expand Down
323 changes: 323 additions & 0 deletions doc/examples/using_copasi.ipynb

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion doc/examples/using_julia.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"id": "11bed717-fd94-4e66-a839-285e30377757",
"metadata": {},
"source": [
"# Using Julia with pyABC"
"# Using Julia via pyjulia"
]
},
{
Expand Down
1 change: 0 additions & 1 deletion pyabc/acceptor/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
=========
Acceptors handle the acceptance step.
"""


Expand Down
8 changes: 8 additions & 0 deletions pyabc/copasi/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""
Copasi
======
Simulations via COPASI (http://copasi.org).
"""

from .model import BasicoModel
Loading

0 comments on commit 89727c3

Please sign in to comment.