{
"cells": [
{
"cell_type": "markdown",
"id": "64bf0f0c",
"metadata": {
"lines_to_next_cell": 0
},
"source": [
"Biological Pathway Exchange (BioPAX) is a standard language that aims to enable integration, exchange, visualization and analysis of biological pathway data. Specifically, BioPAX supports data exchange between pathway data groups and thus reduces the complexity of interchange between data formats by providing an accepted standard format for pathway data. It is an open and collaborative effort by the community of researchers, software developers, and institutions. BioPAX is defined in OWL DL and is represented in the RDF/XML format. For more details, see Demir E et al. 2010. The BioPAX community standard for pathway data sharing, Nature Biotechnology. 28(9)."
]
},
{
"cell_type": "markdown",
"id": "62db559b",
"metadata": {
"lines_to_next_cell": 0
},
"source": [
"http://www.biopax.org/\n",
"Specification: http://www.biopax.org/release/biopax-level3-documentation.pdf\n",
"https://pypi.org/project/pybiopax/\n",
"https://github.com/indralab/pybiopax"
]
},
{
"cell_type": "markdown",
"id": "02e25b6b",
"metadata": {
"lines_to_next_cell": 0
},
"source": [
"For the reactions you need probably the `BiochemicalReaction` and `Degradation`.\n",
"For the PhysicalEntities you would use `Protein` and `RNA`.\n",
"For the inhibition you will probably use `Modulation`.\n",
"Have a look at the specification and the introduction to BioPax."
]
},
{
"cell_type": "markdown",
"id": "d5da4ce5",
"metadata": {},
"source": [
"Example for fetching information\n",
"https://github.com/indralab/pybiopax/blob/master/notebooks/tutorial.ipynb"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "04e92d33",
"metadata": {
"execution": {
"iopub.execute_input": "2023-04-17T14:01:44.724457Z",
"iopub.status.busy": "2023-04-17T14:01:44.724104Z",
"iopub.status.idle": "2023-04-17T14:01:44.955764Z",
"shell.execute_reply": "2023-04-17T14:01:44.956193Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.10/dist-packages/tqdm-4.64.1-py3.10.egg/tqdm/auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
" from .autonotebook import tqdm as notebook_tqdm\n"
]
}
],
"source": [
"\n",
"import os\n",
"from pathlib import Path\n",
"\n",
"import pybiopax\n",
"from pybiopax.api import model_to_owl_str\n",
"from pybiopax.biopax import (\n",
" BioSource,\n",
" CellularLocationVocabulary,\n",
" Control,\n",
" PhysicalEntity,\n",
" Rna,\n",
" UnificationXref,\n",
")\n",
"from pybiopax.biopax.base import Protein\n",
"from pybiopax.biopax.model import (\n",
" BiochemicalReaction,\n",
" BioPaxModel,\n",
" Provenance,\n",
" PublicationXref,\n",
" Stoichiometry,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "2a978ccc",
"metadata": {
"execution": {
"iopub.execute_input": "2023-04-17T14:01:44.958940Z",
"iopub.status.busy": "2023-04-17T14:01:44.957989Z",
"iopub.status.idle": "2023-04-17T14:01:44.991215Z",
"shell.execute_reply": "2023-04-17T14:01:44.991714Z"
}
},
"outputs": [],
"source": [
"def create_repressilator(biopax_path: Path) -> BioPaxModel:\n",
" \"\"\"Create repressilator using biopax.\"\"\"\n",
" objects = []\n",
"\n",
" # \n",
" # \n",
" # LacI protein\n",
" # \n",
" # Protein(LacI protein)\n",
" # {'_controller_of': set(), 'xref': [],\n",
" # 'display_name': 'LacI protein', 'standard_name': None, '_name': [], 'evidence': [], 'uid': 'PX', 'comment': [], 'availability': None, 'data_source': [], '_participant_of': set(), 'feature': [], 'not_feature': [], 'member_physical_entity': [], 'cellular_location': None, '_component_of': set(), '_member_physical_entity_of': {PhysicalEntity(PX), PhysicalEntity(PX), PhysicalEntity(PX)}, 'entity_reference': None}\n",
" #\n",
" # \n",
" # \n",
" # PY\n",
" # \n",
" # \n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"RIGHT_0_conversion_Reaction5_PY\",\n",
" display_name=\"PY\",\n",
" cellular_location=\"cell\",\n",
" member_physical_entity=\"PY\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" # \n",
" # \n",
" # 1.0\n",
" # \n",
" s1 = Stoichiometry(\n",
" uid=\"LEFT_0_conversion_Reaction2_Y_STOICHIOMETRY\",\n",
" physical_entity=\"LEFT_0_conversion_Reaction2_Y\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s1)\n",
"\n",
" # '''\n",
" # \n",
" # \n",
" # BioModels Database\n",
" # \n",
" # '''\n",
" p3 = Provenance(\n",
" uid=\"datasource_1\",\n",
" xref=\"http://identifiers.org/biomodels.db/BIOMD0000000012\",\n",
" display_name=\"BioModels Database\",\n",
" )\n",
" objects.append(p3)\n",
" #\n",
" p4 = PublicationXref(\n",
" uid=\"http://identifiers.org/pubmed/10659856\", id=\"10659856\", db=\"PubMed\"\n",
" )\n",
" objects.append(p4)\n",
"\n",
" p5 = Provenance(\n",
" uid=\"datasource_2\",\n",
" xref=\"http://identifiers.org/biomodels.db/MODEL6615351360\",\n",
" display_name=\"BioModels Database\",\n",
" )\n",
" objects.append(p5)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/biomodels.db/BIOMD0000000012\",\n",
" id=\"BIOMD0000000012\",\n",
" db=\"BioModels Database\",\n",
" )\n",
" objects.append(u1)\n",
"\n",
" u2 = UnificationXref(\n",
" uid=\"http://identifiers.org/obo.go/GO:0006402\",\n",
" id=\"GO:0006402\",\n",
" db=\"Gene Ontology\",\n",
" )\n",
" objects.append(u2)\n",
"\n",
" s2 = Stoichiometry(\n",
" uid=\"LEFT_0_conversion_Reaction7_PX_STOICHIOMETRY\",\n",
" physical_entity=\"LEFT_0_conversion_Reaction7_PX\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s2)\n",
"\n",
" #\n",
" # '''\n",
" # \n",
" # \n",
" # INHIBITION\n",
" # \n",
" # \n",
" # '''\n",
" c1 = Control(\n",
" uid=\"control_Reaction4_X_0\",\n",
" controlled=\"conversion_Reaction4\",\n",
" control_type=\"INHIBITION\",\n",
" controller=\"PEP0_control_Reaction4X\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" s2 = Stoichiometry(\n",
" uid=\"RIGHT_0_conversion_Reaction6_PZ_STOICHIOMETRY\",\n",
" physical_entity=\"RIGHT_0_conversion_Reaction6_PZ\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s2)\n",
"\n",
" c2 = PhysicalEntity(\n",
" uid=\"PEP0_control_Reaction4X\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"X\",\n",
" member_physical_entity=\"X\",\n",
" )\n",
" objects.append(c2)\n",
"\n",
" u3 = UnificationXref(\n",
" uid=\"http://identifiers.org/obo.go/GO:0030163\",\n",
" id=\"GO:0030163\",\n",
" db=\"Gene Ontology\",\n",
" )\n",
" objects.append(u3)\n",
"\n",
" s3 = Stoichiometry(\n",
" uid=\"RIGHT_0_conversion_Reaction12_Z_STOICHIOMETRY\",\n",
" physical_entity=\"RIGHT_0_conversion_Reaction12_Z\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s3)\n",
"\n",
" c3 = PhysicalEntity(\n",
" uid=\"LEFT_0_conversion_Reaction7_PX\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"PX\",\n",
" member_physical_entity=\"PX\",\n",
" )\n",
" objects.append(c3)\n",
"\n",
" s4 = Stoichiometry(\n",
" uid=\"RIGHT_0_conversion_Reaction11_Y_STOICHIOMETRY\",\n",
" physical_entity=\"RIGHT_0_conversion_Reaction11_Y\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s4)\n",
"\n",
" c4 = CellularLocationVocabulary(\n",
" uid=\"cell\", term=\"cell\", xref=\"http://identifiers.org/obo.go/GO:0005623\"\n",
" )\n",
" objects.append(c4)\n",
"\n",
" b1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction12\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0006351\",\n",
" participant_stoichiometry=\"RIGHT_0_conversion_Reaction12_Z_STOICHIOMETRY\",\n",
" display_name=\"transcription of CI\",\n",
" right=\"RIGHT_0_conversion_Reaction12_Z\",\n",
" )\n",
" objects.append(b1)\n",
"\n",
" b1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction11\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0006351\",\n",
" participant_stoichiometry=\"RIGHT_0_conversion_Reaction11_Y_STOICHIOMETRY\",\n",
" display_name=\"transcription of TetR\",\n",
" right=\"RIGHT_0_conversion_Reaction11_Y\",\n",
" )\n",
" objects.append(b1)\n",
"\n",
" b1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction10\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0006351\",\n",
" participant_stoichiometry=\"RIGHT_0_conversion_Reaction10_X_STOICHIOMETRY\",\n",
" display_name=\"transcription of LacI\",\n",
" right=\"RIGHT_0_conversion_Reaction10_X\",\n",
" )\n",
" objects.append(b1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"LEFT_0_conversion_Reaction9_PZ\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"PZ\",\n",
" member_physical_entity=\"PZ\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/kegg.compound/C00046\",\n",
" id=\"C00046\",\n",
" db=\"KEGG Compound\",\n",
" )\n",
" objects.append(u1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/obo.go/GO:0005623\",\n",
" id=\"GO:0005623\",\n",
" db=\"Gene Ontology\",\n",
" )\n",
" objects.append(u1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"LEFT_0_conversion_Reaction8_PY\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"PY\",\n",
" member_physical_entity=\"PY\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/chebi/CHEBI:33699\", id=\"CHEBI:33699\", db=\"ChEBI\"\n",
" )\n",
" objects.append(u1)\n",
"\n",
" p1 = Protein(\n",
" uid=\"PX\",\n",
" xref=\"http://identifiers.org/uniprot/P03023\",\n",
" display_name=\"LacI protein\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" p1 = Protein(\n",
" uid=\"PY\",\n",
" xref=\"http://identifiers.org/uniprot/P04483\",\n",
" display_name=\"TetR protein\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" s1 = Stoichiometry(\n",
" uid=\"RIGHT_0_conversion_Reaction10_X_STOICHIOMETRY\",\n",
" physical_entity=\"RIGHT_0_conversion_Reaction10_X\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s1)\n",
"\n",
" p1 = Protein(\n",
" uid=\"PZ\",\n",
" xref=\"http://identifiers.org/uniprot/P03034\",\n",
" display_name=\"cI protein\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" c1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction2\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0006402\",\n",
" participant_stoichiometry=\"LEFT_0_conversion_Reaction2_Y_STOICHIOMETRY\",\n",
" left=\"LEFT_0_conversion_Reaction2_Y\",\n",
" display_name=\"degradation of TetR transcripts\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" s1 = Stoichiometry(\n",
" uid=\"RIGHT_0_conversion_Reaction4_PX_STOICHIOMETRY\",\n",
" physical_entity=\"RIGHT_0_conversion_Reaction4_PX\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"LEFT_0_conversion_Reaction3_Z\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"Z\",\n",
" member_physical_entity=\"Z\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" c1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction3\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0006402\",\n",
" participant_stoichiometry=\"LEFT_0_conversion_Reaction3_Z_STOICHIOMETRY\",\n",
" left=\"LEFT_0_conversion_Reaction3_Z\",\n",
" display_name=\"degradation of CI transcripts\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" c1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction4\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0006412\",\n",
" participant_stoichiometry=\"RIGHT_0_conversion_Reaction4_PX_STOICHIOMETRY\",\n",
" display_name=\"translation of LacI\",\n",
" right=\"RIGHT_0_conversion_Reaction4_PX\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" c1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction5\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0006412\",\n",
" participant_stoichiometry=\"RIGHT_0_conversion_Reaction5_PY_STOICHIOMETRY\",\n",
" display_name=\"translation of TetR\",\n",
" right=\"RIGHT_0_conversion_Reaction5_PY\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"LEFT_0_conversion_Reaction2_Y\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"Y\",\n",
" member_physical_entity=\"Y\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" c1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction6\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0006412\",\n",
" participant_stoichiometry=\"RIGHT_0_conversion_Reaction6_PZ_STOICHIOMETRY\",\n",
" display_name=\"translation of CI\",\n",
" right=\"RIGHT_0_conversion_Reaction6_PZ\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" c1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction7\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0030163\",\n",
" participant_stoichiometry=\"LEFT_0_conversion_Reaction7_PX_STOICHIOMETRY\",\n",
" display_name=\"degradation of LacI\",\n",
" left=\"LEFT_0_conversion_Reaction7_PX\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" s1 = Stoichiometry(\n",
" uid=\"LEFT_0_conversion_Reaction9_PZ_STOICHIOMETRY\",\n",
" physical_entity=\"LEFT_0_conversion_Reaction9_PZ\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s1)\n",
"\n",
" c1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction8\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0030163\",\n",
" participant_stoichiometry=\"LEFT_0_conversion_Reaction8_PY_STOICHIOMETRY\",\n",
" display_name=\"degradation of TetR\",\n",
" left=\"LEFT_0_conversion_Reaction8_PY\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" c1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction9\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0030163\",\n",
" participant_stoichiometry=\"LEFT_0_conversion_Reaction9_PZ_STOICHIOMETRY\",\n",
" display_name=\"degradation of CI\",\n",
" left=\"LEFT_0_conversion_Reaction9_PZ\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/taxonomy/562\", id=\"562\", db=\"Taxonomy\"\n",
" )\n",
" objects.append(u1)\n",
"\n",
" s1 = Stoichiometry(\n",
" uid=\"LEFT_0_conversion_Reaction1_X_STOICHIOMETRY\",\n",
" physical_entity=\"LEFT_0_conversion_Reaction1_X\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"RIGHT_0_conversion_Reaction4_PX\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"PX\",\n",
" member_physical_entity=\"PX\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/uniprot/P03034\",\n",
" id=\"P03034\",\n",
" db=\"UniProt Knowledgebase\",\n",
" )\n",
" objects.append(u1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"PEP0_control_Reaction10PZ\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"PZ\",\n",
" member_physical_entity=\"PZ\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" s1 = Stoichiometry(\n",
" uid=\"LEFT_0_conversion_Reaction3_Z_STOICHIOMETRY\",\n",
" physical_entity=\"LEFT_0_conversion_Reaction3_Z\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"RIGHT_0_conversion_Reaction10_X\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"X\",\n",
" member_physical_entity=\"X\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" b1 = BioSource(uid=\"biosource_1\", xref=\"http://identifiers.org/taxonomy/562\")\n",
" objects.append(b1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"RIGHT_0_conversion_Reaction11_Y\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"Y\",\n",
" member_physical_entity=\"Y\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"RIGHT_0_conversion_Reaction12_Z\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"Z\",\n",
" member_physical_entity=\"Z\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" s1 = Stoichiometry(\n",
" uid=\"LEFT_0_conversion_Reaction8_PY_STOICHIOMETRY\",\n",
" physical_entity=\"LEFT_0_conversion_Reaction8_PY\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"RIGHT_0_conversion_Reaction6_PZ\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"PZ\",\n",
" member_physical_entity=\"PZ\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"PEP0_control_Reaction6Z\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"Z\",\n",
" member_physical_entity=\"Z\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"PEP0_control_Reaction11PX\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"PX\",\n",
" member_physical_entity=\"PX\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" r1 = Rna(\n",
" uid=\"Y\",\n",
" xref=[\n",
" \"http://identifiers.org/chebi/CHEBI:33699\",\n",
" \"http://identifiers.org/kegg.compound/C00046\",\n",
" \"http://identifiers.org/uniprot/P04483\",\n",
" ],\n",
" display_name=\"TetR mRNA\",\n",
" )\n",
" objects.append(r1)\n",
"\n",
" r1 = Rna(\n",
" uid=\"X\",\n",
" xref=[\n",
" \"http://identifiers.org/chebi/CHEBI:33699\",\n",
" \"http://identifiers.org/kegg.compound/C00046\",\n",
" \"http://identifiers.org/uniprot/P03023\",\n",
" ],\n",
" display_name=\"LacI mRNA\",\n",
" )\n",
" objects.append(r1)\n",
"\n",
" s1 = Stoichiometry(\n",
" uid=\"RIGHT_0_conversion_Reaction5_PY_STOICHIOMETRY\",\n",
" physical_entity=\"RIGHT_0_conversion_Reaction5_PY\",\n",
" stoichiometric_coefficient=\"1\",\n",
" )\n",
" objects.append(s1)\n",
"\n",
" r1 = Rna(\n",
" uid=\"Z\",\n",
" xref=[\n",
" \"http://identifiers.org/chebi/CHEBI:33699\",\n",
" \"http://identifiers.org/kegg.compound/C00046\",\n",
" \"http://identifiers.org/uniprot/P03034\",\n",
" ],\n",
" display_name=\"cI mRNA\",\n",
" )\n",
" objects.append(r1)\n",
"\n",
" c1 = Control(\n",
" uid=\"control_Reaction6_Z_0\",\n",
" controlled=\"conversion_Reaction6\",\n",
" control_type=\"INHIBITION\",\n",
" controller=\"PEP0_control_Reaction6Z\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" c1 = Control(\n",
" uid=\"control_Reaction12_PY_0\",\n",
" controlled=\"conversion_Reaction12\",\n",
" control_type=\"INHIBITION\",\n",
" controller=\"PEP0_control_Reaction12PY\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"PEP0_control_Reaction12PY\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"PY\",\n",
" member_physical_entity=\"PY\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/biomodels.db/MODEL6615351360\",\n",
" id=\"MODEL6615351360\",\n",
" db=\"BioModels Database\",\n",
" )\n",
" objects.append(u1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/uniprot/P03023\",\n",
" id=\"P03023\",\n",
" db=\"UniProt Knowledgebase\",\n",
" )\n",
" objects.append(u1)\n",
"\n",
" c1 = Control(\n",
" uid=\"control_Reaction10_PZ_0\",\n",
" controlled=\"conversion_Reaction10\",\n",
" control_type=\"INHIBITION\",\n",
" controller=\"PEP0_control_Reaction10PZ\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/obo.go/GO:0006412\",\n",
" id=\"GO:0006412\",\n",
" db=\"Gene Ontology\",\n",
" )\n",
" objects.append(u1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/obo.go/GO:0040029\",\n",
" id=\"GO:0040029\",\n",
" db=\"Gene Ontology\",\n",
" )\n",
" objects.append(u1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/obo.go/GO:0006351\",\n",
" id=\"GO:0006351\",\n",
" db=\"Gene Ontology\",\n",
" )\n",
" objects.append(u1)\n",
"\n",
" c1 = Control(\n",
" uid=\"control_Reaction5_Y_0\",\n",
" controlled=\"conversion_Reaction5\",\n",
" control_type=\"INHIBITION\",\n",
" controller=\"PEP0_control_Reaction5Y\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"LEFT_0_conversion_Reaction1_X\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"X\",\n",
" member_physical_entity=\"X\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" p1 = PhysicalEntity(\n",
" uid=\"PEP0_control_Reaction5Y\",\n",
" cellular_location=\"cell\",\n",
" display_name=\"Y\",\n",
" member_physical_entity=\"Y\",\n",
" )\n",
" objects.append(p1)\n",
"\n",
" c1 = Control(\n",
" uid=\"control_Reaction11_PX_0\",\n",
" controlled=\"conversion_Reaction11\",\n",
" control_type=\"INHIBITION\",\n",
" controller=\"PEP0_control_Reaction11PX\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" c1 = BiochemicalReaction(\n",
" uid=\"conversion_Reaction1\",\n",
" xref=\"http://identifiers.org/obo.go/GO:0006402\",\n",
" participant_stoichiometry=\"LEFT_0_conversion_Reaction1_X_STOICHIOMETRY\",\n",
" display_name=\"degradation of LacI transcripts\",\n",
" left=\"LEFT_0_conversion_Reaction1_X\",\n",
" )\n",
" objects.append(c1)\n",
"\n",
" u1 = UnificationXref(\n",
" uid=\"http://identifiers.org/uniprot/P04483\",\n",
" id=\"P04483\",\n",
" db=\"UniProt Knowledgebase\",\n",
" )\n",
" objects.append(u1)\n",
" # '''\n",
" # \n",
" # \n",
" # \n",
" # transcription of CI\n",
" # \n",
" # \n",
" # '''\n",
" # b1=BiochemicalReaction(uid=\"conversion_Reaction12\", displayName=\"transcription of CI\")\n",
" # objects.append(b1)\n",
"\n",
" model = BioPaxModel(\n",
" objects={o.uid: o for o in objects},\n",
" xml_base=\"http://www.biopax.org/release/biopax-level3.owl#\",\n",
" )\n",
" owl_str: str = model_to_owl_str(model)\n",
" os.makedirs(os.path.dirname(biopax_path), exist_ok=True)\n",
"\n",
" with open(biopax_path, \"w\") as f_biopax:\n",
" f_biopax.write(owl_str)\n",
"\n",
" print(\"-\" * 80)\n",
" print(owl_str)\n",
" print(\"-\" * 80)\n",
"\n",
" return model"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "44a9beae",
"metadata": {
"execution": {
"iopub.execute_input": "2023-04-17T14:01:44.993993Z",
"iopub.status.busy": "2023-04-17T14:01:44.993333Z",
"iopub.status.idle": "2023-04-17T14:01:45.040300Z",
"shell.execute_reply": "2023-04-17T14:01:45.040515Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Serializing OWL elements: 100% 73.0/73.0 [00:00<00:00, 5.10kit/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"--------------------------------------------------------------------------------\n",
"\n",
"\n",
" \n",
" \n",
" \n",
"\n",
"\n",
" cell\n",
" PY\n",
" PY\n",
"\n",
"\n",
"\n",
" LEFT_0_conversion_Reaction2_Y\n",
" 1\n",
"\n",
"\n",
"\n",
" BioModels Database\n",
" http://identifiers.org/biomodels.db/BIOMD0000000012\n",
"\n",
"\n",
"\n",
" PubMed\n",
" 10659856\n",
"\n",
"\n",
"\n",
" BioModels Database\n",
" http://identifiers.org/biomodels.db/MODEL6615351360\n",
"\n",
"\n",
"\n",
" BioModels Database\n",
" BIOMD0000000012\n",
"\n",
"\n",
"\n",
" Gene Ontology\n",
" GO:0006402\n",
"\n",
"\n",
"\n",
" LEFT_0_conversion_Reaction7_PX\n",
" 1\n",
"\n",
"\n",
"\n",
" INHIBITION\n",
" conversion_Reaction4\n",
" PEP0_control_Reaction4X\n",
"\n",
"\n",
"\n",
" RIGHT_0_conversion_Reaction6_PZ\n",
" 1\n",
"\n",
"\n",
"\n",
" cell\n",
" X\n",
" X\n",
"\n",
"\n",
"\n",
" Gene Ontology\n",
" GO:0030163\n",
"\n",
"\n",
"\n",
" RIGHT_0_conversion_Reaction12_Z\n",
" 1\n",
"\n",
"\n",
"\n",
" cell\n",
" PX\n",
" PX\n",
"\n",
"\n",
"\n",
" RIGHT_0_conversion_Reaction11_Y\n",
" 1\n",
"\n",
"\n",
"\n",
" cell\n",
" http://identifiers.org/obo.go/GO:0005623\n",
"\n",
"\n",
"\n",
" transcription of CI\n",
" RIGHT_0_conversion_Reaction12_Z_STOICHIOMETRY\n",
" RIGHT_0_conversion_Reaction12_Z\n",
" http://identifiers.org/obo.go/GO:0006351\n",
"\n",
"\n",
"\n",
" transcription of TetR\n",
" RIGHT_0_conversion_Reaction11_Y_STOICHIOMETRY\n",
" RIGHT_0_conversion_Reaction11_Y\n",
" http://identifiers.org/obo.go/GO:0006351\n",
"\n",
"\n",
"\n",
" transcription of LacI\n",
" RIGHT_0_conversion_Reaction10_X_STOICHIOMETRY\n",
" RIGHT_0_conversion_Reaction10_X\n",
" http://identifiers.org/obo.go/GO:0006351\n",
"\n",
"\n",
"\n",
" cell\n",
" PZ\n",
" PZ\n",
"\n",
"\n",
"\n",
" KEGG Compound\n",
" C00046\n",
"\n",
"\n",
"\n",
" Gene Ontology\n",
" GO:0005623\n",
"\n",
"\n",
"\n",
" cell\n",
" PY\n",
" PY\n",
"\n",
"\n",
"\n",
" ChEBI\n",
" CHEBI:33699\n",
"\n",
"\n",
"\n",
" LacI protein\n",
" http://identifiers.org/uniprot/P03023\n",
"\n",
"\n",
"\n",
" TetR protein\n",
" http://identifiers.org/uniprot/P04483\n",
"\n",
"\n",
"\n",
" RIGHT_0_conversion_Reaction10_X\n",
" 1\n",
"\n",
"\n",
"\n",
" cI protein\n",
" http://identifiers.org/uniprot/P03034\n",
"\n",
"\n",
"\n",
" degradation of TetR transcripts\n",
" LEFT_0_conversion_Reaction2_Y\n",
" LEFT_0_conversion_Reaction2_Y_STOICHIOMETRY\n",
" http://identifiers.org/obo.go/GO:0006402\n",
"\n",
"\n",
"\n",
" RIGHT_0_conversion_Reaction4_PX\n",
" 1\n",
"\n",
"\n",
"\n",
" cell\n",
" Z\n",
" Z\n",
"\n",
"\n",
"\n",
" degradation of CI transcripts\n",
" LEFT_0_conversion_Reaction3_Z\n",
" LEFT_0_conversion_Reaction3_Z_STOICHIOMETRY\n",
" http://identifiers.org/obo.go/GO:0006402\n",
"\n",
"\n",
"\n",
" translation of LacI\n",
" RIGHT_0_conversion_Reaction4_PX_STOICHIOMETRY\n",
" RIGHT_0_conversion_Reaction4_PX\n",
" http://identifiers.org/obo.go/GO:0006412\n",
"\n",
"\n",
"\n",
" translation of TetR\n",
" RIGHT_0_conversion_Reaction5_PY_STOICHIOMETRY\n",
" RIGHT_0_conversion_Reaction5_PY\n",
" http://identifiers.org/obo.go/GO:0006412\n",
"\n",
"\n",
"\n",
" cell\n",
" Y\n",
" Y\n",
"\n",
"\n",
"\n",
" translation of CI\n",
" RIGHT_0_conversion_Reaction6_PZ_STOICHIOMETRY\n",
" RIGHT_0_conversion_Reaction6_PZ\n",
" http://identifiers.org/obo.go/GO:0006412\n",
"\n",
"\n",
"\n",
" degradation of LacI\n",
" LEFT_0_conversion_Reaction7_PX\n",
" LEFT_0_conversion_Reaction7_PX_STOICHIOMETRY\n",
" http://identifiers.org/obo.go/GO:0030163\n",
"\n",
"\n",
"\n",
" LEFT_0_conversion_Reaction9_PZ\n",
" 1\n",
"\n",
"\n",
"\n",
" degradation of TetR\n",
" LEFT_0_conversion_Reaction8_PY\n",
" LEFT_0_conversion_Reaction8_PY_STOICHIOMETRY\n",
" http://identifiers.org/obo.go/GO:0030163\n",
"\n",
"\n",
"\n",
" degradation of CI\n",
" LEFT_0_conversion_Reaction9_PZ\n",
" LEFT_0_conversion_Reaction9_PZ_STOICHIOMETRY\n",
" http://identifiers.org/obo.go/GO:0030163\n",
"\n",
"\n",
"\n",
" Taxonomy\n",
" 562\n",
"\n",
"\n",
"\n",
" LEFT_0_conversion_Reaction1_X\n",
" 1\n",
"\n",
"\n",
"\n",
" cell\n",
" PX\n",
" PX\n",
"\n",
"\n",
"\n",
" UniProt Knowledgebase\n",
" P03034\n",
"\n",
"\n",
"\n",
" cell\n",
" PZ\n",
" PZ\n",
"\n",
"\n",
"\n",
" LEFT_0_conversion_Reaction3_Z\n",
" 1\n",
"\n",
"\n",
"\n",
" cell\n",
" X\n",
" X\n",
"\n",
"\n",
"\n",
" http://identifiers.org/taxonomy/562\n",
"\n",
"\n",
"\n",
" cell\n",
" Y\n",
" Y\n",
"\n",
"\n",
"\n",
" cell\n",
" Z\n",
" Z\n",
"\n",
"\n",
"\n",
" LEFT_0_conversion_Reaction8_PY\n",
" 1\n",
"\n",
"\n",
"\n",
" cell\n",
" PZ\n",
" PZ\n",
"\n",
"\n",
"\n",
" cell\n",
" Z\n",
" Z\n",
"\n",
"\n",
"\n",
" cell\n",
" PX\n",
" PX\n",
"\n",
"\n",
"\n",
" TetR mRNA\n",
" http://identifiers.org/chebi/CHEBI:33699\n",
" http://identifiers.org/kegg.compound/C00046\n",
" http://identifiers.org/uniprot/P04483\n",
"\n",
"\n",
"\n",
" LacI mRNA\n",
" http://identifiers.org/chebi/CHEBI:33699\n",
" http://identifiers.org/kegg.compound/C00046\n",
" http://identifiers.org/uniprot/P03023\n",
"\n",
"\n",
"\n",
" RIGHT_0_conversion_Reaction5_PY\n",
" 1\n",
"\n",
"\n",
"\n",
" cI mRNA\n",
" http://identifiers.org/chebi/CHEBI:33699\n",
" http://identifiers.org/kegg.compound/C00046\n",
" http://identifiers.org/uniprot/P03034\n",
"\n",
"\n",
"\n",
" INHIBITION\n",
" conversion_Reaction6\n",
" PEP0_control_Reaction6Z\n",
"\n",
"\n",
"\n",
" INHIBITION\n",
" conversion_Reaction12\n",
" PEP0_control_Reaction12PY\n",
"\n",
"\n",
"\n",
" cell\n",
" PY\n",
" PY\n",
"\n",
"\n",
"\n",
" BioModels Database\n",
" MODEL6615351360\n",
"\n",
"\n",
"\n",
" UniProt Knowledgebase\n",
" P03023\n",
"\n",
"\n",
"\n",
" INHIBITION\n",
" conversion_Reaction10\n",
" PEP0_control_Reaction10PZ\n",
"\n",
"\n",
"\n",
" Gene Ontology\n",
" GO:0006412\n",
"\n",
"\n",
"\n",
" Gene Ontology\n",
" GO:0040029\n",
"\n",
"\n",
"\n",
" Gene Ontology\n",
" GO:0006351\n",
"\n",
"\n",
"\n",
" INHIBITION\n",
" conversion_Reaction5\n",
" PEP0_control_Reaction5Y\n",
"\n",
"\n",
"\n",
" cell\n",
" X\n",
" X\n",
"\n",
"\n",
"\n",
" cell\n",
" Y\n",
" Y\n",
"\n",
"\n",
"\n",
" INHIBITION\n",
" conversion_Reaction11\n",
" PEP0_control_Reaction11PX\n",
"\n",
"\n",
"\n",
" degradation of LacI transcripts\n",
" LEFT_0_conversion_Reaction1_X\n",
" LEFT_0_conversion_Reaction1_X_STOICHIOMETRY\n",
" http://identifiers.org/obo.go/GO:0006402\n",
"\n",
"\n",
"\n",
" UniProt Knowledgebase\n",
" P04483\n",
"\n",
"\n",
"\n",
"--------------------------------------------------------------------------------\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"if __name__ == \"__main__\":\n",
" from combine_notebooks import RESULTS_DIR\n",
"\n",
" create_repressilator(biopax_path=RESULTS_DIR / \"repressilator_biopax.owl\")"
]
}
],
"metadata": {
"jupytext": {
"cell_metadata_filter": "-all",
"main_language": "python",
"notebook_metadata_filter": "-all"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}