From 45c493da4e6c9ec604c672864b6927a3b5e34977 Mon Sep 17 00:00:00 2001 From: Alessandro Cattabiani Date: Tue, 3 Dec 2024 10:23:03 +0100 Subject: [PATCH] Tiny CI: Reactivate integration tests with new CI and detach from BB5 Reactivate integration tests with new CI and detach from BB5 - Solved issue #12. - Updated metabolism manager for new CI. - Improved CLI to report full error stack on failure. - Tested and integrated new CI as default. - Removed `bluepysnap` dependency. - Re-enabled steps integration tests. - Integrated metabolism into MultiscaleRun: - Organized configs/templates and cleaned `data`. - Moved metabolism data to `data/metabolism`. - Updated to use `pkg_path` for flexibility. - Relocated metabolism model to `metabolism/ODE_system.jl`. - Fixed templates and pathing in pytests. - Updated GitLab CI for the new structure. - Added young and old ODE_system models. - Verified new CI is smaller with stats. --- .ci/setup.sh | 9 + .ci/test_integration.sh | 13 + .ci/test_pytest.sh | 3 + .ci/test_simulation.sh | 6 +- .gitlab-ci.yml | 28 +- docs/contributing.rst | 5 +- docs/simulation_config.rst | 1 + multiscale_run/cli.py | 54 +- multiscale_run/config.py | 20 +- multiscale_run/connection_manager.py | 2 +- multiscale_run/data/metabolism/ATDMP.jl | 105 +++ multiscale_run/data/metabolism/ETC.jl | 222 +++++ .../data/metabolism/GLC_transport.jl | 65 ++ multiscale_run/data/metabolism/GLYCOLYSIS.jl | 532 +++++++++++ multiscale_run/data/metabolism/MAS.jl | 121 +++ multiscale_run/data/metabolism/PPP_a.jl | 80 ++ multiscale_run/data/metabolism/PPP_n.jl | 87 ++ multiscale_run/data/metabolism/TCA.jl | 484 ++++++++++ multiscale_run/data/metabolism/bf_input.jl | 21 + multiscale_run/data/metabolism/creatine.jl | 49 + .../data/metabolism/ephys_parameters.jl | 166 ++++ multiscale_run/data/metabolism/gaba.jl | 26 + .../data/metabolism/general_parameters.jl | 16 + .../data/metabolism/generalisations.jl | 50 + multiscale_run/data/metabolism/gltgln.jl | 137 +++ multiscale_run/data/metabolism/glycogen.jl | 111 +++ multiscale_run/data/metabolism/gshgssg.jl | 71 ++ multiscale_run/data/metabolism/ketones.jl | 138 +++ multiscale_run/data/metabolism/lactate.jl | 130 +++ multiscale_run/data/metabolism/pyrCarb.jl | 12 + .../data/metabolism/pyrTrCytoMito.jl | 19 + .../u0.csv} | 0 .../u0_db_refined_selected_oct2021.jl | 475 ++++++++++ .../data/metabolism/variables_idxs.jl | 183 ++++ .../julia_gen_18feb2021.jl | 290 ------ .../data/metabolismndam_reduced/met4cns.jl | 311 ------- .../metabolism_model_21nov22_noEphys_noSB.jl | 825 ----------------- ...sm_model_21nov22_withEphysCurrNdam_noSB.jl | 824 ---------------- ..._model_21nov22_withEphysNoCurrNdam_noSB.jl | 876 ------------------ .../u0_Calv_ATP_1p4_Nai10.csv | 37 - .../ODE_system.jl} | 0 multiscale_run/metabolism/ODE_system_aged.jl | 720 ++++++++++++++ multiscale_run/metabolism/ODE_system_young.jl | 721 ++++++++++++++ multiscale_run/metabolism/README.md | 27 + multiscale_run/metabolism_manager.py | 28 +- multiscale_run/neurodamus_manager.py | 17 +- multiscale_run/preprocessor.py | 117 ++- multiscale_run/reporter.py | 2 +- multiscale_run/simulation.py | 6 +- multiscale_run/steps_manager.py | 7 +- .../{data => templates}/__init__.py | 11 +- .../config => templates}/msr.schema.json | 6 +- .../{data => templates}/postproc.ipynb | 0 .../rat_sscxS1HL_V10/circuit_config.json | 0 .../rat_sscxS1HL_V10/node_sets.json | 0 .../rat_sscxS1HL_V10/simulation_config.json | 51 +- .../rat_sscxS1HL_V6/circuit_config.json | 0 .../rat_sscxS1HL_V6/node_sets.json | 0 .../rat_sscxS1HL_V6/simulation_config.json | 51 +- .../simulation.sbatch.jinja | 0 .../templates/tiny_CI/circuit_config.json | 104 +++ .../templates/tiny_CI/node_sets.json | 59 ++ .../templates/tiny_CI/simulation_config.json | 476 ++++++++++ multiscale_run/utils.py | 23 + pyproject.toml | 7 +- tests/integration/connect_neurodamus2steps.py | 14 +- tests/integration/preprocessor.py | 2 +- tests/pytests/test_cli.py | 23 +- tests/pytests/test_config.py | 2 +- tests/pytests/test_metabolism.py | 2 +- tests/pytests/test_neurodamus.py | 7 +- tests/pytests/test_reporter.py | 27 +- tests/pytests/test_steps.py | 4 +- 73 files changed, 5762 insertions(+), 3356 deletions(-) create mode 100755 multiscale_run/data/metabolism/ATDMP.jl create mode 100755 multiscale_run/data/metabolism/ETC.jl create mode 100755 multiscale_run/data/metabolism/GLC_transport.jl create mode 100755 multiscale_run/data/metabolism/GLYCOLYSIS.jl create mode 100755 multiscale_run/data/metabolism/MAS.jl create mode 100755 multiscale_run/data/metabolism/PPP_a.jl create mode 100755 multiscale_run/data/metabolism/PPP_n.jl create mode 100755 multiscale_run/data/metabolism/TCA.jl create mode 100755 multiscale_run/data/metabolism/bf_input.jl create mode 100755 multiscale_run/data/metabolism/creatine.jl create mode 100755 multiscale_run/data/metabolism/ephys_parameters.jl create mode 100755 multiscale_run/data/metabolism/gaba.jl create mode 100755 multiscale_run/data/metabolism/general_parameters.jl create mode 100755 multiscale_run/data/metabolism/generalisations.jl create mode 100755 multiscale_run/data/metabolism/gltgln.jl create mode 100755 multiscale_run/data/metabolism/glycogen.jl create mode 100755 multiscale_run/data/metabolism/gshgssg.jl create mode 100755 multiscale_run/data/metabolism/ketones.jl create mode 100755 multiscale_run/data/metabolism/lactate.jl create mode 100755 multiscale_run/data/metabolism/pyrCarb.jl create mode 100755 multiscale_run/data/metabolism/pyrTrCytoMito.jl rename multiscale_run/data/{metabolismndam_reduced/u0steady_22nov22.csv => metabolism/u0.csv} (100%) create mode 100755 multiscale_run/data/metabolism/u0_db_refined_selected_oct2021.jl create mode 100755 multiscale_run/data/metabolism/variables_idxs.jl delete mode 100644 multiscale_run/data/metabolismndam_reduced/julia_gen_18feb2021.jl delete mode 100644 multiscale_run/data/metabolismndam_reduced/met4cns.jl delete mode 100644 multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_noEphys_noSB.jl delete mode 100644 multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_withEphysCurrNdam_noSB.jl delete mode 100644 multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_withEphysNoCurrNdam_noSB.jl delete mode 100644 multiscale_run/data/metabolismndam_reduced/u0_Calv_ATP_1p4_Nai10.csv rename multiscale_run/{data/metabolismndam_reduced/metabolismWithSBBFinput_ndamAdapted_opt_sys_young_202302210826_2stim.jl => metabolism/ODE_system.jl} (100%) create mode 100644 multiscale_run/metabolism/ODE_system_aged.jl create mode 100644 multiscale_run/metabolism/ODE_system_young.jl create mode 100644 multiscale_run/metabolism/README.md rename multiscale_run/{data => templates}/__init__.py (60%) rename multiscale_run/{data/config => templates}/msr.schema.json (98%) rename multiscale_run/{data => templates}/postproc.ipynb (100%) rename multiscale_run/{data/config => templates}/rat_sscxS1HL_V10/circuit_config.json (100%) rename multiscale_run/{data/config => templates}/rat_sscxS1HL_V10/node_sets.json (100%) rename multiscale_run/{data/config => templates}/rat_sscxS1HL_V10/simulation_config.json (90%) rename multiscale_run/{data/config => templates}/rat_sscxS1HL_V6/circuit_config.json (100%) rename multiscale_run/{data/config => templates}/rat_sscxS1HL_V6/node_sets.json (100%) rename multiscale_run/{data/config => templates}/rat_sscxS1HL_V6/simulation_config.json (90%) rename multiscale_run/{data => templates}/simulation.sbatch.jinja (100%) create mode 100644 multiscale_run/templates/tiny_CI/circuit_config.json create mode 100644 multiscale_run/templates/tiny_CI/node_sets.json create mode 100644 multiscale_run/templates/tiny_CI/simulation_config.json diff --git a/.ci/setup.sh b/.ci/setup.sh index 634416b..7f85ce5 100755 --- a/.ci/setup.sh +++ b/.ci/setup.sh @@ -16,3 +16,12 @@ set_test_environment() { fi MPIRUN=${MPIRUN:-"srun --overlap"} } + +download_tiny_CI_neurodamus_data() { + local url="https://github.com/BlueBrain/MultiscaleRun/releases/download/0.8.2/tiny_CI_neurodamus_release-v0.8.2.tar.gz" + local filename="tiny_CI_neurodamus_release-v0.8.2.tar.gz" + + # Download the file + wget -q "$url" -O "$filename" + tar -xzf "$filename" +} diff --git a/.ci/test_integration.sh b/.ci/test_integration.sh index 54e2924..972da03 100755 --- a/.ci/test_integration.sh +++ b/.ci/test_integration.sh @@ -7,6 +7,19 @@ set_test_environment pushd "${SCRIPT_DIR}/.." >/dev/null +download_tiny_CI_neurodamus_data + + +MULTISCALE_RUN_PATH="" +# Loop through the directories in PYTHONPATH and find the one containing the commit hash +for path in $(echo $PYTHONPATH | tr ':' '\n'); do + if [[ "$path" == *"$PY_MULTISCALE_RUN_COMMIT"* ]]; then + MULTISCALE_RUN_PATH=$path + break + fi +done +ln -s "$(pwd)/tiny_CI_neurodamus" "$MULTISCALE_RUN_PATH/multiscale_run/templates/tiny_CI" + num_errors=0 count_errors() { ((num_errors++)) diff --git a/.ci/test_pytest.sh b/.ci/test_pytest.sh index 1e436b2..499404b 100755 --- a/.ci/test_pytest.sh +++ b/.ci/test_pytest.sh @@ -8,6 +8,9 @@ set_test_environment pushd "${SCRIPT_DIR}/.." >/dev/null +download_tiny_CI_neurodamus_data +ln -s "$(pwd)/tiny_CI_neurodamus" "$(pwd)/multiscale_run/templates/tiny_CI" + num_errors=0 count_errors() { local command="$BASH_COMMAND" diff --git a/.ci/test_simulation.sh b/.ci/test_simulation.sh index 07d0c4c..9887fbb 100755 --- a/.ci/test_simulation.sh +++ b/.ci/test_simulation.sh @@ -12,8 +12,8 @@ postproc=${postproc:true} steps=${steps:-false} metabolism=${metabolism:-false} bloodflow=${bloodflow:-false} -tstop=${tstop:-300} -circuit=${circuit:-rat_sscxS1HL_V10_CI} +tstop=${tstop:-290} +circuit=${circuit:-tiny_CI} if [ -z ${sim_name:x} ]; then fatal_error "expected environment variable 'SIM_NAME'." @@ -23,6 +23,8 @@ rm -rf "$sim_name" multiscale-run init --no-check -f "$sim_name" --circuit $circuit pushd "$sim_name" +wget https://github.com/BlueBrain/MultiscaleRun/releases/download/0.8.2/tiny_CI_neurodamus_release-v0.8.2.tar.gz +tar -xzvf tiny_CI_neurodamus_release-v0.8.2.tar.gz /gpfs/bbp.cscs.ch/project/proj12/jenkins/subcellular/bin/jq ".multiscale_run.with_steps = $steps | .multiscale_run.with_bloodflow = $bloodflow | .multiscale_run.with_metabolism = $metabolism | .run.tstop = $tstop " simulation_config.json > simulation_config.json.bak mv simulation_config.json.bak simulation_config.json cat simulation_config.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f38ed5f..39b279a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -52,13 +52,12 @@ pytest: - !reference [.bbp_gitlab_access, script] - !reference [.spack_test, script] -# TODO: reinstate when ratV10 is working -# integration: -# extends: .spack_test -# timeout: 10 minutes -# variables: -# bb5_duration: "00:10:00" -# bb5_ntasks: 2 +integration: + extends: .spack_test + timeout: 10 minutes + variables: + bb5_duration: "00:10:00" + bb5_ntasks: 2 .nrun: extends: .spack_test @@ -70,9 +69,9 @@ pytest: expire_in: 4 hours variables: bb5_memory: 32G - bb5_ntasks: 4 + bb5_ntasks: 2 bb5_duration: "04:00:00" - circuit: "rat_sscxS1HL_V10_CI" + circuit: "tiny_CI" script: - spack ${SPACK_EXTRA_FLAGS} load /${SPACK_INSTALLED_HASH} - ${SPACK_SOURCE_DIR}/.ci/test_simulation.sh @@ -84,26 +83,21 @@ pytest: steps: "true" metabolism: "false" bloodflow: "false" + tstop: 105 dualrun 1/16: extends: .dualrun variables: bb5_ntasks: 1 bb5_duration: "02:00:00" - tstop: 105 + dualrun 2/16: extends: .dualrun variables: bb5_ntasks: 2 - tstop: 105 - -dualrun 16/16: - extends: .dualrun - variables: - bb5_ntasks: 16 -ratV10_CI_nrun_[steps, metab, bf]: +tiny_CI_nrun_[steps, metab, bf]: extends: .nrun parallel: matrix: diff --git a/docs/contributing.rst b/docs/contributing.rst index acce767..d539f93 100644 --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -144,8 +144,9 @@ MultiscaleRun relies on ``setuptools-scm`` utility to infer the Python package v 1. If the structure of the JSON configuration changed during this release (key addition, removal, ...), then increment the JSON ``config_format`` key in the files: - * ``multiscale_run/data/config/rat_sscxS1HL_V6/simulation_config.json`` - * ``multiscale_run/data/config/rat_sscxS1HL_V10/simulation_config.json`` + * ``multiscale_run/templates/rat_sscxS1HL_V6/simulation_config.json`` + * ``multiscale_run/templates/rat_sscxS1HL_V10/simulation_config.json`` + * ``multiscale_run/templates/tiny_CI/simulation_config.json`` 2. Ensure the Sphinx documentation is up-to-date. The fastest way is to check the artifacts of the ``docs`` stage in the CI. 3. Ensure the *Releases Notes* section is completed for this version. diff --git a/docs/simulation_config.rst b/docs/simulation_config.rst index 3ca91a3..4ecaafe 100644 --- a/docs/simulation_config.rst +++ b/docs/simulation_config.rst @@ -51,6 +51,7 @@ Preprocessor - **filter_neuron**: Boolean. Determines if the neurons connected to astrocytes must be filtered out when generating the mesh. - **neuron_population_name**: String. Name of the neuron population to use. Typically: "All". + - **astrocyte_population_name**: String. Name of the astrocyte population to use. Typically: "astrocytes". Connections among simulators ============================ diff --git a/multiscale_run/cli.py b/multiscale_run/cli.py index 8a69af1..fbd3e69 100644 --- a/multiscale_run/cli.py +++ b/multiscale_run/cli.py @@ -29,18 +29,14 @@ DEFAULT_CIRCUIT, NAMED_CIRCUITS, ) -from .data import ( +from .simulation import MsrSimulation +from .templates import ( BB5_JULIA_ENV, MSR_CONFIG_JSON, MSR_POSTPROC, SBATCH_TEMPLATE, ) -from .simulation import MsrSimulation -from .utils import ( - MsrException, - merge_dicts, - pushd, -) +from .utils import MsrException, copy_symlinks, merge_dicts, pushd def _cli_logger(): @@ -129,8 +125,11 @@ def julia(args=None, **kwargs): @command -def init(directory, circuit, julia="shared", check=True, force=False): +def init( + directory, circuit, julia="shared", check=True, force=False, metabolism="standard" +): """Setup a new simulation""" + if not force: dir_content = set(Path(".").iterdir()) dir_content.discard(Path(".logs")) @@ -140,6 +139,7 @@ def init(directory, circuit, julia="shared", check=True, force=False): "Use option '-f' to overwrite the content of the directory." ) assert julia in ["shared", "create", "no"] + assert metabolism in ["standard", "young", "aged"] circuit_def = NAMED_CIRCUITS[circuit] @@ -150,12 +150,10 @@ def init(directory, circuit, julia="shared", check=True, force=False): sbatch_parameters["loaded_modules"] = loaded_modules SBATCH_TEMPLATE.stream(sbatch_parameters).dump("simulation.sbatch") shutil.copy(MSR_POSTPROC, MSR_POSTPROC.name) - shutil.copytree( - str(circuit_def.path), - ".", - ignore=shutil.ignore_patterns("cache", "msr*"), - dirs_exist_ok=True, - ) + shutil.copy(circuit_def.path / "simulation_config.json", ".") + shutil.copy(circuit_def.path / "circuit_config.json", ".") + shutil.copy(circuit_def.path / "node_sets.json", ".") + copy_symlinks(circuit_def.path, ".") rd = {"msr_version": str(__version__)} if julia == "no": @@ -203,6 +201,14 @@ def check_julia_env(): check_julia_env() circuit_config = circuit_def.json() + if metabolism != "standard": + p_split = circuit_config["multiscale_run"]["metabolism"][ + "julia_code_path" + ].rsplit(".", 1) + rd.setdefault("metabolism", {})["julia_code_path"] = ( + f"{p_split[0]}_{metabolism}.{p_split[1]}" + ) + circuit_config = merge_dicts(child={"multiscale_run": rd}, parent=circuit_config) with open(MSR_CONFIG_JSON, "w") as ostr: json.dump(circuit_config, ostr, indent=4) @@ -216,6 +222,20 @@ def check_julia_env(): "generated sbatch file. But feel free to browse and tweak " "the JSON configuration files at will!" ) + + LOGGER.warning( + f'Set up with circuit: "{circuit}" and metabolism type: "{metabolism}"' + ) + folder_path = os.path.abspath(directory) + if os.path.exists(folder_path) and os.path.isdir(folder_path): + LOGGER.warning(f"Folder: {os.path.abspath(directory)}") + content = os.listdir(folder_path) + LOGGER.warning( + f"Contents of the folder {folder_path}:\n" + + "\n".join(f"- {item}" for item in content) + ) + else: + LOGGER.warning(f"Directory: {directory}") return directory @@ -592,6 +612,12 @@ def argument_parser(): "'create' to construct a new env locally, " "'no' to skip Julia environment (typically if metabolism model is not required)", ) + parser_init.add_argument( + "--metabolism", + choices=["standard", "young", "aged"], + default="standard", + help="Choose Metabolism type. ", + ) parser_init.add_argument( "--no-check", action="store_const", diff --git a/multiscale_run/config.py b/multiscale_run/config.py index 9834760..8c5acbf 100644 --- a/multiscale_run/config.py +++ b/multiscale_run/config.py @@ -9,7 +9,7 @@ import numpy as np from . import utils -from .data import CONFIG_DIR, DATA_DIR, MSR_CONFIG_JSON, MSR_SCHEMA_JSON +from .templates import MSR_CONFIG_JSON, MSR_PKG_DIR, MSR_SCHEMA_JSON, TEMPLATES_DIR class NamedCircuit( @@ -51,7 +51,7 @@ def json(self): NAMED_CIRCUITS = { "rat_sscxS1HL_V6": NamedCircuit( - path=CONFIG_DIR / "rat_sscxS1HL_V6", + path=TEMPLATES_DIR / "rat_sscxS1HL_V6", sbatch_parameters=dict( job_name="msr_ratV6", nodes=1, @@ -59,15 +59,23 @@ def json(self): ), ), "rat_sscxS1HL_V10": NamedCircuit( - path=CONFIG_DIR / "rat_sscxS1HL_V10", + path=TEMPLATES_DIR / "rat_sscxS1HL_V10", sbatch_parameters=dict( job_name="msr_ratV10", nodes=64, time="10:00:00", ), ), + "tiny_CI": NamedCircuit( + path=TEMPLATES_DIR / "tiny_CI", + sbatch_parameters=dict( + job_name="msr_tiny_CI", + nodes=1, + time="01:00:00", + ), + ), "rat_sscxS1HL_V10_CI": NamedCircuit( - path=CONFIG_DIR / "rat_sscxS1HL_V10", + path=TEMPLATES_DIR / "rat_sscxS1HL_V10", sbatch_parameters=dict( job_name="msr_ratV10_CI", nodes=1, @@ -83,7 +91,7 @@ def json(self): ), } -DEFAULT_CIRCUIT = "rat_sscxS1HL_V10_CI" +DEFAULT_CIRCUIT = "tiny_CI" class MsrConfigException(Exception): @@ -237,7 +245,7 @@ def _load(self): """ d = utils.load_json( - self.config_path, base_subs_d={"pkg_data_path": str(DATA_DIR)} + self.config_path, base_subs_d={"pkg_path": str(MSR_PKG_DIR)} ) self.update(MsrConfig._objectify_config(None, d)) diff --git a/multiscale_run/connection_manager.py b/multiscale_run/connection_manager.py index a4f8dd7..8db3846 100644 --- a/multiscale_run/connection_manager.py +++ b/multiscale_run/connection_manager.py @@ -473,7 +473,7 @@ def remove_gids(self, failed_cells: list[int]): ndam_m = self.managers["neurodamus"] metab_m = self.managers.get("metabolism", None) - gids = ndam_m.gids + gids = ndam_m.gids() failed_gids = { gids[igid]: e for igid, e in enumerate(failed_cells) if e is not None } diff --git a/multiscale_run/data/metabolism/ATDMP.jl b/multiscale_run/data/metabolism/ATDMP.jl new file mode 100755 index 0000000..deb6ace --- /dev/null +++ b/multiscale_run/data/metabolism/ATDMP.jl @@ -0,0 +1,105 @@ +# Jolivet2015 ATP-ADP +qAK = 0.92 +vATPasesn = 0.0 #0.0033489929892437376 #0.003348829040159755 #0.010188268272998515 # 0.0 # 0.5*0.1388 #0.0832; % mmol/L/sec +vATPasesg = 0.0 # 0.5*0.1351 #0.1061; % mmol/L/sec +ATDPtot_n = 1.4449961078157665 #1.4482032555861983 +ATDPtot_a = 1.3434724532826217 #1.3452032555861981 + +# ADK +# check DiNuzzo PMID: 19888285 and ref there adenylate kinase (Rapoport et al, 1976) +# Winter2017, Lambeth 2002, JayGliaExpand + +#psiADK_n(ATP_n,AMP_n,ADP_n), ATP_n + AMP_n + MET_h_c_n ⇒ 2ADP_n + +Vmaxfadk_n = 1.0 #14.67 #kcat_fadk_n = 14018.6 #Vmaxfadk 14.67 + +KmADPADK_n = 0.35 # KADPADK_n +KmATPADK_n = 0.27 # KATPADK_n +KmAMPADK_n = 0.32 # KAMPADK_n +KeqADK_n = 2.21 + +# psiADK_n1 = ((Vmaxfadk_n*(ATP_n0*AMP_n0)/(KmATPADK_n*KmAMPADK_n) - (((Vmaxfadk_n*(KmADPADK_n^2)) / (KmATPADK_n*KmAMPADK_n*KeqADK_n))*(((ADP_n0)^2)/(KmADPADK_n^2)))) / (1 + ATP_n0/KmATPADK_n + AMP_n0/KmAMPADK_n + (ATP_n0*AMP_n0)/(KmATPADK_n*KmAMPADK_n) + (2*ADP_n0)/KmADPADK_n + ((ADP_n0)^2)/(KmADPADK_n^2))) + + +############################################ + +# ADK +# check DiNuzzo PMID: 19888285 and ref there adenylate kinase (Rapoport et al, 1976) +# Winter2017, Lambeth 2002, JayGliaExpand + +#psiADK(ATP_a,AMP_a,ADP_a), ATP_a + AMP_a + MET_h_c_a ⇒ 2ADP_a + +Vmaxfadk_a = 14.67 #kcat_fadk_a = 14018.6 #Vmaxfadk 14.67 + +KmADPADK_a = 0.35 # KADPADK +KmATPADK_a = 0.27 # KATPADK +KmAMPADK_a = 0.32 # KAMPADK +KeqADK_a = 2.21 + + +# psiADK_a1 = ((Vmaxfadk_a*(ATP_a0*AMP_a0)/(KmATPADK_a*KmAMPADK_a) - (((Vmaxfadk_a*(KmADPADK_a^2)) / (KmATPADK_a*KmAMPADK_a*KeqADK_a))*(((ADP_a0)^2)/(KmADPADK_a^2)))) / (1 + ATP_a0/KmATPADK_a + AMP_a0/KmAMPADK_a + (ATP_a0*AMP_a0)/(KmATPADK_a*KmAMPADK_a) + (2*ADP_a0)/KmADPADK_a + ((ADP_a0)^2)/(KmADPADK_a^2))) + + +############################################ + +# AC and NEneuromod + +# # ATP_a ⇒ cAMP_a + PPi_a + MET_h_c_a + +# # From J. Biol. Chem.-1997-Dessauer-27787-95.pdf + +# VmaxfAC_a = 3.0 #kcat_fAC_a = 109151.4 #VmaxfAC 3.0 #30.0 +# KmACATP_a = 0.34 # KACATP +# KicAMPAC_a = 2.3 + +# VmaxrAC_a = 0.1 #kcat_rAC_a = 3638.4 #VmaxrAC_a 0.1 #1.0 +# KmpiAC_a = 0.31 #0.12 # KpiAC +# KmcAMPAC_a = 2.3 # KcAMPAC + +# VmaxfAC_a = 0.3 #3.0 #kcat_fAC_a = 109151.4 #VmaxfAC 3.0 #30.0 +# KmACATP_a = 0.4 # 0.34 # KACATP +# KicAMPAC_a = 0.045 #2.3 + +# VmaxrAC_a = 0.01 #0.1 #kcat_rAC_a = 3638.4 #VmaxrAC_a 0.1 #1.0 +# KmpiAC_a = 0.01 #0.31 #0.12 # KpiAC +# KmcAMPAC_a = 2.0 #2.3 # KcAMPAC + + +#VmaxfAC_a = 0.3 #3.0 #kcat_fAC_a = 109151.4 #VmaxfAC 3.0 #30.0 +#KmACATP_a = 0.4 # 0.34 # KACATP +#KicAMPAC_a = 0.04533 #0.045 #0.0465 #2.3 + +# 0.045 -> -2.2e-7 +# 0.0453 -> -1.783216198374761e-8 +# 0.0454 -> 4.93348351140038e-8 +# 0.0456 -> 1.8329278509024457e-7 +# 0.046 -> 4.4971786195144035e-7 + +#VmaxrAC_a = 0.01 #0.1 #kcat_rAC_a = 3638.4 #VmaxrAC_a 0.1 #1.0 +KmpiAC_a = 0.01 #0.31 #0.12 # KpiAC +#KmcAMPAC_a = 2.0 #2.3 # KcAMPAC + +# +VmaxfAC_a = 0.003 #3.0 #kcat_fAC_a = 109151.4 #VmaxfAC 3.0 #30.0 +KmACATP_a = 0.8 #0.34 # 0.34 # KACATP +KicAMPAC_a = 0.045 #0.256 #0.04533 #0.045 #0.0465 #2.3 + +VmaxrAC_a = 0.0001 #0.1 #kcat_rAC_a = 3638.4 #VmaxrAC_a 0.1 #1.0 +KmcAMPAC_a = 0.4 #2.7 #8.8 #2.3 #8.8 #2.7 #2.0 #2.3 # KcAMPAC + + +# Adenylate cyclase; ATP ⇒ cAMP + Pi #Ppi +#assuming competitive inh by cAMP in f dir +#psiAC(ATP_a,cAMP_a,Pi_a) = (a[11]/cai0_ca_ion)*( ((kcat_fAC_a*concentration_enzyme_transporter_AC_a*ATP_a/(KmACATP*(1+cAMP_a/KicAMPAC)) - kcat_rAC_a*concentration_enzyme_transporter_AC_a*cAMP_a*PPi_a/(KmpiAC*KmcAMPAC))/(1 + ATP_a/(KmACATP*(1+cAMP_a/KicAMPAC) )+ cAMP_a/KmcAMPAC + (cAMP_a*PPi_a)/(KmcAMPAC*KmpiAC) + PPi_a/KmpiAC)) ) + +# # without cai for optimiz; but with PPi_a instead of Pi_a for gem +# psiAC_a1 = ((VmaxfAC_a*ATP_a0/(KmACATP_a*(1+cAMP_a0/KicAMPAC_a)) - VmaxrAC_a*cAMP_a0*PPi_a0/(KmpiAC_a*KmcAMPAC_a))/(1 + ATP_a0/(KmACATP_a*(1+cAMP_a0/KicAMPAC_a) )+ cAMP_a0/KmcAMPAC_a + (cAMP_a0*PPi_a0)/(KmcAMPAC_a*KmpiAC_a) + PPi_a0/KmpiAC_a)) + +# #psiAC(NE_neuromod,ATP_a,cAMP_a,PPi_a) + + + + + + + diff --git a/multiscale_run/data/metabolism/ETC.jl b/multiscale_run/data/metabolism/ETC.jl new file mode 100755 index 0000000..27803fe --- /dev/null +++ b/multiscale_run/data/metabolism/ETC.jl @@ -0,0 +1,222 @@ +# diff from Theurey2019: + +# ADTPtot; total Adenosine phosphates in cytosol # needs opt +# state_fact # needs opt +# Init[7] # O2 # Theurey2019 works with my O2 + + +#ADTP_tot_n = 1.448e-3 # #1e-3*(ATP_n0 + ADP_n0) #2.6e-3 # total Adenosine phosphates in cytosol, calculated from Evans_77 +#state_fact = 0.967 #10/11 #ATP_n0/(ATP_n0 + ADP_n0) #10/11 + +# ATP_e = state_fact*ADTP_tot # ini ATP level +# ADP_e = ADTP_tot-ATP_e # ini ADP level + + +###################################################### + + +# fixed par +etcF = 0.096484 # kJ mol^{-1} mV^{-1} +etcR = 8314e-6 # Universal gas constant (kJ * mol^{-1} * K^{-1}] +etcT = (273.15 + 37) # Temperature (K), 37 degree +etcRT = etcR*etcT # kJ mol^{-1} + + +dG_C1o = -69.37 # kJ mol^{-1} +dG_C3o = -32.53 # kJ mol^{-1} +dG_C4o = -122.94 # kJ mol^{-1} +dG_F1o = 36.03 # kJ mol^{-1} +n_A = 3.0 # numbers of proteins used by ATP synthase + +# concentrations and pH +#pH_e = 7.4 # External pH (cytosol) +#H_e = 10^(-pH_e) == C_H_cyt_n # cytosolic hydrogen concentration (Molar) +K_i = 120e-3 # K_i IM potassium-concentration +Mg_tot = 20e-3 # Mg_tot; IM magnesium-concentration +#Pi_e = 20e-3 # Pi_e IM phosphate-concentration + +NADtot = 726e-6 # NADtot mito +#Ctot0 = 2.70e-3 # Cyt-c (total IMS Cyt-C, Cred+Cox, M] # Cyt-c from Beard. Total IMS Cyt-c, Cred+Cox, molar +#Qtot0 = 1.35e-3 # total IMS Ubiquinol, Q+QH2, M + + + + +W_c = 1/0.0575 # Volume fraction cytosol/mitochondria # 0.0575 is mito vol fraction from supp of Santuy2018 doi: 10.1093/cercor/bhy159 #1/0.06 0.06 is mitochondrial fraction Ward 2007 +W_m = 0.143/0.20; # mitochondrial water space (ml water / ml mito] +W_x = 0.9*W_m; # Matrix water space (ml water / ml mito] +W_i = 0.1*W_m; # IM water space (ml water / ml mito] + + + + +# Potassium-Hydrogen-Antiport +x_KH = 2.9802e7 # x_KH # K+ / H+ antiporter activity + +# Matrix buffer and membrane capacitance +CIM = 6.7568e-6 # CIM # Inner Membrane capacitance + +#c_inc = 1 # Cyt-c after release set to 0.1# +#t12cyto = 90; # cyt-c release half time Waterhouse 2000 (seconds) +#Cfin = Ctot0*W_i/W_c*c_inc; # final cytochrome c after release in IMS given by re-equilibration of the +# IMS water space with the rest of the cell (0.1#) +# c_inc is used to modify OXPHOS-contributing cyt-c after release + +# potassium uniporter and adenylate kinase neglected +x_K = 0; # Passive potassium transporter activity +x_AK = 0 # AK activity +K_AK = 0; # Adenelyte Kinase switched off + + +# Parameters for complex I +x_C1 = 1.0200e+003 # x_C1 # Complex I activity + +# Parameters for complex III +x_C3 = 0.2241 # x_C3 # Complex III activity +k_Pi3 = 0.192e-3 # k_Pi3 # Complex III / Pi parameter +k_Pi4 = 25.31e-3 # k_Pi4 # Complex III / Pi parameter + +# Parameters for complex IV +x_C4 = 3.2131e-004 # x_C4 # Complex IV activity +k_O2 = 1.2e-4 # k_O2 # kinetic constant for complex IV M + + +# Parameters for OM transporters +gamma = 5.99 # gamma # MOM area per unit volume micron^{-1} +x_A = 85.0 # x_A # MOM permeability to nucleotides (micron s^{-1}) +x_Pi2 = 327.0 # x_Pi2 # MOM permeability to phosphate (micron s^{-1}) + +# Phosphate-Hydrogen-Cotransport +k_dHPi = 10^(-6.75) # k_dHPi # H/Pi co-transpor Molar form factor 1 binding +k_PiH = 0.45082e-3 # k_PiH # H+/Pi co-transport activity form factor 2 Michaelis constant +x_Pi1 = 3.85e5 # x_Pi1 # H+/Pi co-transport activity + +# Parameters for ATP synthase and Mg-binding to ATP?ADP +x_MgA = 1e6 # x_MgA # Mg2+ binding activity + +# Parameters for input function +k_Pi1 = 0.13413e-3 # k_Pi1 # Dehydrogenase flux input +k_Pi2 = 0.677e-3 # k_Pi2 # Dehydrogenase flux input + +###################################################### + +# Proton leak activity +x_Hle = 149.61265600173826 #150.0 # x_Hle # Proton leak activity +x_Ht = 2044.5370854408536 #2000.0 # x_Ht # MOM permeability to protons (micron s^{-1}) + +# adj for eq: 0.9654561819314937 +r_DH = 4.35730398512522 # 4.3 # r_DH # Input-flux: Initial disturbance of equilibrium + +x_buff = 1437.0652678883314 # 200/(0.5*T2Jcorrection) # #100 # x_buff # Inner Matrix hydrogen buffer capacity + + +# optimised parameters + +# Parameters for input function +x_DH = 0.0478558445772299 # 0.04702218860608453 #0.05896 # x_DH # Dehydrogenase activity + +# Parameters for Adenosine Transferase +x_ANT = 0.0647001029937813 # 0.07649900124686723 #0.0020 # x_ANT # ANT activity +k_mADP = 1.03045032866899E-05 # 1.0588243052994988e-5 #3.50e-6 # k_mADP # ANT Michaelis-Menten constant + + +# Cytosolic ATP production and consumption +# K_ADTP_dyn = 0.5912763309268644 #3.42 # K_ADTP_dyn; Cytosolic ATP production +# x_ATPK = 0.30499319022776666 # 0.504 # x_ATPK +# K_ADTP_cons = 1.1895556584725608 #1.0 # K_ADTP_cons; Cytosolic ATP consumption + + + +# Parameters for ATP synthase and Mg-binding to ATP?ADP +x_F1 = 7099.66908851658 #6912.715469614502 #6829.4 # x_F1 # F1Fo ATPase activity +K_DT = 0.00166023273526023 #0.001855689326651793 #0.000192 # K_DT # Mg/ATP binding constant (M) +K_DD = 0.000409766157053928 #0.00036972016989755054 #347e-6 # K_DD # Mg/ADP binding constant (M) + +###################################################### +# Astrocyte + +#ADTP_tot_a = 1.345e-3 # #1e-3*(ATP_n0 + ADP_n0) #2.6e-3 # total Adenosine phosphates in cytosol, calculated from Evans_77 + +# ATP_e0 = 1.3 # == Init[23] # ATP_c, cytosolic ATP +# ADP_e0 = 0.045 # == Init[24] # ADP_c, cytosolic ADP + + +# only params that may differ from neuronal + +# Proton leak activity +x_Hle_a = 149.61265600173826 # 150.0 # x_Hle # Proton leak activity + +# Potassium-Hydrogen-Antiport +x_KH_a = 2.9802e7 # x_KH # K+ / H+ antiporter activity + +# Matrix buffer and membrane capacitance +x_buff_a = 1437.0652678883314 # 200/(0.5*T2Jcorrection) # 100 # x_buff # Inner Matrix hydrogen buffer capacity + + +# potassium uniporter and adenylate kinase neglected +x_K_a = 0; # Passive potassium transporter activity +x_AK_a = 0 # AK activity +K_AK_a = 0; # Adenelyte Kinase switched off + + +# Parameters for complex I +x_C1_a = 1.0200e+003 # x_C1 # Complex I activity + +# Parameters for complex III +x_C3_a = 0.2241 # x_C3 # Complex III activity +k_Pi3_a = 0.192e-3 # k_Pi3 # Complex III / Pi parameter +k_Pi4_a = 25.31e-3 # k_Pi4 # Complex III / Pi parameter + +# Parameters for complex IV +x_C4_a = 3.2131e-004 # x_C4 # Complex IV activity +k_O2_a = 1.2e-4 # k_O2 # kinetic constant for complex IV M + + +# Parameters for OM transporters +x_Ht_a = 2044.5370854408536 #2000.0 # x_Ht # MOM permeability to protons (micron s^{-1}) +gamma_a = 5.99 # gamma # MOM area per unit volume micron^{-1} +x_A_a = 85.0 # x_A # MOM permeability to nucleotides (micron s^{-1}) +x_Pi2_a = 327.0 # x_Pi2 # MOM permeability to phosphate (micron s^{-1}) + +# Phosphate-Hydrogen-Cotransport +k_dHPi_a = 10^(-6.75) # k_dHPi # H/Pi co-transpor Molar form factor 1 binding +k_PiH_a = 0.45082e-3 # k_PiH # H+/Pi co-transport activity form factor 2 Michaelis constant +x_Pi1_a = 3.85e5 # x_Pi1 # H+/Pi co-transport activity + +# Parameters for ATP synthase and Mg-binding to ATP?ADP +x_MgA_a = 1e6 # x_MgA # Mg2+ binding activity + +# Parameters for input function +k_Pi1_a = 0.13413e-3 # k_Pi1 # Dehydrogenase flux input +k_Pi2_a = 0.677e-3 # k_Pi2 # Dehydrogenase flux input + + +###################################################### + +# optimised parameters + +# adj for eq: 0.9654561819314937 +r_DH_a = 4.51551099390501 # 4.3 # r_DH # Input-flux: Initial disturbance of equilibrium + + +# Parameters for input function +#x_DH_a = 0.04702218860608453 #0.05896 # x_DH # Dehydrogenase activity +x_DH_a = 0.014771869267445427 #0.014885075252276352 #0.0151125164947073 #0.014882801669692953 # 0.041477965015268535 # 0.0412 # 0.04150217281642099 # 0.04702218860608453 + +# Parameters for Adenosine Transferase +x_ANT_a = 0.0881948452324846 # 0.07649900124686723 #0.0020 # x_ANT # ANT activity +k_mADP_a = 1.07960040439672E-05 # 1.0588243052994988e-5 #3.50e-6 # k_mADP # ANT Michaelis-Menten constant + + +# Cytosolic ATP production and consumption +# K_ADTP_dyn_a = 0.5912763309268644 #3.42 # K_ADTP_dyn; Cytosolic ATP production +# x_ATPK_a = 0.30499319022776666 # 0.504 # x_ATPK +# K_ADTP_cons_a = 1.1895556584725608 #1.0 # K_ADTP_cons; Cytosolic ATP consumption + + + +# Parameters for ATP synthase and Mg-binding to ATP?ADP +x_F1_a = 6306.50439347496 # 6912.715469614502 #6829.4 # x_F1 # F1Fo ATPase activity +K_DT_a = 0.00194323827864375 #0.001855689326651793 #0.000192 # K_DT # Mg/ATP binding constant (M) +K_DD_a = 0.000328048467890892 #0.00036972016989755054 #347e-6 # K_DD # Mg/ADP binding constant (M) + diff --git a/multiscale_run/data/metabolism/GLC_transport.jl b/multiscale_run/data/metabolism/GLC_transport.jl new file mode 100755 index 0000000..723174e --- /dev/null +++ b/multiscale_run/data/metabolism/GLC_transport.jl @@ -0,0 +1,65 @@ +C_Glc_a = 4.6 #C_Glc_a = 4.65 #4.75 #5.2 #5.25 #5.5 # DOI 10.1002/glia # 4.75 in Jolivet # 4.8 Winter2017Copasi #5.5 #Glc_b0 + 0.5 #Glc_b0 + 0.8 # aprox from Calvetti and Nehlig1992 # check it + +# concentration_enzyme_transporter_GLUT1_cap = 0.000208/5 # /5 because five-fold more carriers in parenchymal cells than in endothelium DOI 10.1002/glia.20375 +# kcat_TbGlc = 1149.0*5 # calc from TbGlc 0.239 Jolivet and concGlut1, *5 because /5 in conc because five-fold more carriers in parenchymal cells than in endothelium DOI 10.1002/glia.20375 + +# # TmaxBBB = 0.023 mM/s # DOI 10.1002/glia +# # KztBBB = 5 mM # DOI 10.1002/glia + +# KbGlc_b = 8.0 # GLUT1 on BBB Ronowska2018 Simpson 2007 #4.6 #0.6 #5.0 #4.60 # mM # Km GLC 1-2 mM for GLC influx; Km GLC is 20-30 mM for GLC efflux # Wayne Alberts Basic Neurochemistry 8th edition 2012 + + +# DiNuzzo2010 DiNuzzo2010_1.pdf + +# blood -> endoth +TmaxGLCce = 2.21 #0.239 # ecsBA +TmaxGLCeb = 20.0 #0.239 #10.0 #4.0 #3.5 #1.5 #0.8 # 1.2 #1.5 #0.6 #0.3 #ok with TmaxGLCce = 0.1 #0.2 # ok w/o diff #0.25 #0.023 #0.2 #0.085 #0.1 #0.026 # estim #6.41 in DiNuzzo2010 +KeG2 = 12.5 #ablBarros2007 #8. #10. in DiNuzzo2010 # 8 in Barros2007 +ReGoi2 = 1. +ReGio2 = 1. +ReGee2 = 1. + + +# ecsBA -> a +TmaxGLCba = 8. #2.45 #0.147 # ecsAN +TmaxGLCai = 0.032 #1.0 #0.3 #0.2 #0.4 #0.6 #0.023 #0.1 #0.147 #0.14 in DiNuzzo2010 +KeG4 = 8. #10. in DiNuzzo2010 # 8 in Barros2007 +ReGoi4 = 1. +ReGio4 = 1.36 +ReGee4 = 1.36 + + +# ecsAN -> n +TmaxGLCin = 0.4 # 0.1 #0.041 # 1000*299*0.25/60 = 1245.83 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +# KmPEP = 0.13 mM +# KmADP = 2.3 + +# VmaxPK = 1187.5 mM/s #285 umol/min/mg protein -> 1000*285*0.25/60 = 1187.5 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +# KmPEP = 0.033 mM or 0.065 mM +# KmADP = 0.28 mM or 0.25 mM + +# Keq=38900. # DOI 10.1074/jbc.M111422200 + + + +# KersonGarfinkelMildvan1966 PMID: 6022859 +# fwd +# Km_pep_pk_n = 0.075 #0.1 #0.5 #0.074 +# Km_adp_pk_n = 0.2 #0.28 #0.5 +# Ki_ATP_pk_n = 0.34 # 0.13 in text +# KiPyrPK_n = 0.01 +# # rev +# KmPyrPK_n = 13. # 10. table +# KmATPPK_n = 0.01 # 0.86 table +# adj KersonGarfinkelMildvan1966 PMID: 6022859 +# psiPK_n(PEP_n,ADP_n,ATP_n,Pyr_n) = Vmaxpk_n*PEP_n*ADP_n / ( 1 + Km_adp_pk_n/ADP_n + (Km_pep_pk_n/PEP_n)*(1 + Pyr_n/KiPyrPK_n) + (Km_adp_pk_n/ADP_n)*(Km_pep_pk_n/PEP_n)*(1 + Pyr_n/KiPyrPK_n) ) + + + +#Mulukutla2015: ordered bi bi mechanism + +# VmfPK_n = 1245.83 # 1.0002776306165402*1245.83 # From DOI 10.1074/jbc.M508490200 #1.68 # 1200. #80. # +# VmrPK_n = 0.032 #1245.83/38900 # where Keq=38900. from DOI 10.1074/jbc.M111422200 #0.004 + +# Km_pep_PK_n = 0.1 # approx avg PMID: 6022859 and DOI 10.1074/jbc.M508490200 +# Km_adp_PK_n = 0.24 # approx avg PMID: 6022859 and DOI 10.1074/jbc.M508490200 + +# Km_pyr_PK_n = 11.5 #15.0 #12.0 # 11.5 # PMID: 6022859 avg text+table +# Km_Mg_atp_PK_n = 0.01 # text # 0.86 table # PMID: 6022859 + +# L_pk_n = 0.389 +# K_atpPK_n = 0.34 # 0.13 in text #3.39 + +# VmfPK_a = 1275. #1269.1963812533515 # 1245.83 # From DOI 10.1074/jbc.M508490200 #1.68 +# VmrPK_a = 0.032 #1245.83/38900 # where Keq=38900. from DOI 10.1074/jbc.M111422200 #0.004 + +# Km_pep_PK_a = 0.1 # approx avg PMID: 6022859 and DOI 10.1074/jbc.M508490200 +# Km_adp_PK_a = 0.24 # approx avg PMID: 6022859 and DOI 10.1074/jbc.M508490200 + +# Km_pyr_PK_a = 10.363500082938396 # 11.5 # PMID: 6022859 avg text+table +# Km_Mg_atp_PK_a = 0.01 # text # 0.86 table # PMID: 6022859 + +# L_pk_a = 0.389 +# K_atpPK_a = 0.34 # 0.13 in text #3.39 + +# Berndt2015 + opt +Vmaxpk_n = 7.48969758041304 #7.843117959791727 #23.76 + +Km_pep_pk_n = 0.074 # 0.1 # approx avg PMID: 6022859 and DOI 10.1074/jbc.M508490200 +Km_adp_pk_n = 0.562062013433244 #0.42 # 0.24 # approx avg PMID: 6022859 and DOI 10.1074/jbc.M508490200 +Ki_ATP_pk_n = 1.88029571803631 #2.2 #4.4 + +Vmaxpk_a = 8.88447689329492 #8.789368481405708 #23.76 + +Km_pep_pk_a = 0.074 +Km_adp_pk_a = 0.510068084908044 #0.42 +Ki_ATP_pk_a = 1.76791009718649 #2.2 #4.4 + + diff --git a/multiscale_run/data/metabolism/MAS.jl b/multiscale_run/data/metabolism/MAS.jl new file mode 100755 index 0000000..fee5499 --- /dev/null +++ b/multiscale_run/data/metabolism/MAS.jl @@ -0,0 +1,121 @@ +# AAT mito n (GOT mito n): psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n), AKGmito_n + ASPmito_n ⇒ OXAmito_n + GLUmito_n + +#Mulukutla2015: ping pong bi bi mechanism + +VfAAT_n = 1.2829135841551298 # after opt #0.1 #0.3 #32. # Berndt2015 #0.13 + +KiAKG_AAT_n = 1.9 # Recasens1980 #26.5 +KeqAAT_n = 0.14 # 0.147 in Berndt2015 # because AAT/GOT near-equilibrium DOI: 10.1002/iub.2367 + +KmAKG_AAT_n = 1.3 # Magee1971 #0.344 # WILCOCK1973 #3.54 # Recasens1980 #3.22 +KmASP_AAT_n = 0.5 # Magee1971 #1.56 # WILCOCK1973 #0.58 # Recasens1980 #0.89 +KiGLU_AAT_n = 10.7 + +KiASP_AAT_n = 263.0 # Recasens1980 #3.9 +KmOXA_AAT_n = 0.1 # Magee1971 # 0.1-0.25 Quang Khai HUYNH 1980 #0.088 +KmGLU_AAT_n = 3.5 # Magee1971 #16.66 # 10.0-25.0 Quang Khai HUYNH 1980 #32.5 + + +#AAT/GOT was psiMAAT_n +#alpha_AAT_n = (1.0 + AKGmito_n/KiAKG_AAT_n) + + +#before 27 may2020 psiAAT_n = VfAAT_n*(ASPmito_n*AKGmito_n - OXAmito_n*GLUmito_n/KeqAAT_n) / ( KmAKG_AAT_n*ASPmito_n + KmASP_AAT_n*alpha_AAT_n*AKGmito_n + ASPmito_n*AKGmito_n + KmASP_AAT_n*AKGmito_n*GLUmito_n/KiGLU_AAT_n + ( KiASP_AAT_n*KmAKG_AAT_n/(KmOXA_AAT_n*KiGLU_AAT_n) )* ( KmGLU_AAT_n*ASPmito_n*OXAmito_n/KiASP_AAT_n + OXAmito_n*GLUmito_n + KmGLU_AAT_n*alpha_AAT_n*OXAmito_n + KmOXA_AAT_n*GLUmito_n ) ) + +#psiAAT_n = VmaxmitoAAT_n*(ASPmito_n*AKGmito_n-OXAmito_n*GLUmito_n/KeqmitoAAT_n) # it was psiMAAT_n + + +# GOT2 and MDH2, enzymes that are usually assumed to be close to equilibrium DOI: 10.1002/iub.2367 + + +# psiAAT_n1 = VfAAT_n*(ASPmito_n0*AKGmito_n0 - OXAmito_n0*GLUmito_n0/KeqAAT_n) / ( KmAKG_AAT_n*ASPmito_n0 + KmASP_AAT_n*(1.0 + AKGmito_n0/KiAKG_AAT_n)*AKGmito_n0 + ASPmito_n0*AKGmito_n0 + KmASP_AAT_n*AKGmito_n0*GLUmito_n0/KiGLU_AAT_n + ( KiASP_AAT_n*KmAKG_AAT_n/(KmOXA_AAT_n*KiGLU_AAT_n) )* ( KmGLU_AAT_n*ASPmito_n0*OXAmito_n0/KiASP_AAT_n + OXAmito_n0*GLUmito_n0 + KmGLU_AAT_n*(1.0 + AKGmito_n0/KiAKG_AAT_n)*OXAmito_n0 + KmOXA_AAT_n*GLUmito_n0 ) ) + + +############################### + +# cMDH n: psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n), MAL_n + NAD_n ⇒ OXA_n + NADH_n +# MAS_r01_cMDH_n + +VmaxcMDH_n = 11.927187547739674 # after opt #10. #0.16 # + +Keqcmdh_n = 3.15e-5 # because MDH near-equilibrium DOI: 10.1002/iub.2367 #0.000402 # +Kmmalcmdh_n = 0.77 # Berndt2015 #0.35 # +Kmnadcmdh_n = 0.05 # Berndt2015 +Kmoxacmdh_n = 0.04 # Berndt2015 +Kmnadhcmdh_n = 0.05 # Berndt2015 + +# # GOT2 and MDH2, enzymes that are usually assumed to be close to equilibrium DOI: 10.1002/iub.2367 + + +############################### + +# psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n), ASP_n + AKG_n ⇒ OXA_n + GLU_n +# MAS_r02_cAAT_n + +VfCAAT_n = 0.6248605383756786 #0.023594697230144117 # after opt #0.3 #32. + +KiAKG_CAAT_n = 1. #17.0 # Recasens1980 #0.73 #26.5 # 1-3 KRISTA1972 +KeqCAAT_n = 0.358 #0.36 # because AAT/GOT near-equilibrium DOI: 10.1002/iub.2367 #2.5 #1.56 + +KmAKG_CAAT_n = 0.15 # Magee1971 #0.085 # WILCOCK1973 #0.54 # Recasens1980 # 0.06-0.1 Quang Khai HUYNH 1980 # 0.17 KRISTA1972 #3.22 + +KmASP_CAAT_n = 6.7 # Magee1971 #1.55 # WILCOCK1973 #1.13 Recasens1980 # 1.81-2.5 Quang Khai HUYNH 1980 # 2.0 KRISTA1972 #0.89 + +KiGLU_CAAT_n = 10.7 + +KiASP_CAAT_n = 21.0 # Recasens1980 #3.9 + +KmOXA_CAAT_n = 0.11 # Magee1971 #0.5 #0.33-0.5 Quang Khai HUYNH 1980 #0.088 + +KmGLU_CAAT_n = 5.0 # Magee1971 #12.5 #Quang Khai HUYNH 1980 #32.5 + +#psiCAAT_n = VmaxcAAT_n*(ASP_n*AKG_n-OXA_n*GLU_n/KeqcAAT_n) #changed to below 27may2020 +#alpha_CAAT_n = (1.0 + AKG_n/KiAKG_CAAT_n) + + +############################### + +# AGC (aralar,citrin) n: psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n), ASPmito_n + GLU_n ⇒ GLUmito_n + ASP_n + +# MAS_r03_AGC_n + +# Berndt2015 + +Vmaxagc_n = 0.0001830479496983698 # after opt #0.0069 +Km_aspmito_agc_n = 0.05 +Km_glu_agc_n = 5.6 +Km_asp_agc_n = 0.05 +Km_glumito_agc_n = 2.8 + +# Aspartate/glutamate carrier [64] Berndt 2015 +# Asp_mito + glu_cyt + h_cyt ↔ Asp_cyt + glu_mito + h_mito +#Vmaxagc_n = 3200.0 +#Keqagc_n = 0.968 # from NEDERGAARD 1991: 7.01/7.24 # hcyt/hext # was 1.737 in Berndt 2015 - mistake in Berndt2015 ?? # Hcyt_n/Hext # +#Vmm_n = -0.14 #-140.0 mV +#Km_aspmito_agc_n = 0.05 +#Km_glu_agc_n = 2.8 +#Km_asp_agc_n = 0.05 +#@reaction_func VAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n) = Vmaxagc_n*(ASPmito_n*GLU_n - ASP_n*GLUmito_n/ exp(-Vmm_n)^(F/(R*T))*Keqagc_n ) / ((ASPmito_n+Km_aspmito_agc_n)*(GLU_n+Km_glu_agc_n) + (ASP_n+Km_asp_agc_n)*(GLUmito_n+Km_glu_agc_n)) + +# From DOI: 10.1002/iub.2367: +# cytosolic Ca stimulation of the aspartate–glutamate transporter +# It is possible that this calcium stimulation plays a physiological role in heart and brain + +# psiAGC_n1 = Vmaxagc_n*(ASPmito_n0*GLU_n0 - ASP_n0*GLUmito_n0 / ((exp(MitoMembrPotent_n0)^(F/(R*T))) * (C_H_cyt_n/C_H_mito_n)) ) / ((ASPmito_n0+Km_aspmito_agc_n)*(GLU_n0+Km_glu_agc_n) + (ASP_n0+Km_asp_agc_n)*(GLUmito_n0+Km_glumito_agc_n)) + + +############################### + +# MAKGC n: psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n), AKGmito_n + MAL_n ⇒ MALmito_n + AKG_n + +# MAS_r04_MAKGC_n + +Vmaxmakgc_n = 0.000262718660265385 # after opt # 0.0005 #0.0004267 # + +#KeqMakgc_n = 2.28 +Km_mal_mkgc_n = 0.4 +Km_akgmito_mkgc_n = 0.2 +Km_malmito_mkgc_n = 0.71 +Km_akg_mkgc_n = 0.1 + +# psiMAKGC_n1 = Vmaxmakgc_n*( MAL_n0*AKGmito_n0 - MALmito_n0*AKG_n0) / ((MAL_n0+Km_mal_mkgc_n)*(AKGmito_n0+Km_akgmito_mkgc_n)+(MALmito_n0+Km_malmito_mkgc_n)*(AKG_n0+Km_akg_mkgc_n)) diff --git a/multiscale_run/data/metabolism/PPP_a.jl b/multiscale_run/data/metabolism/PPP_a.jl new file mode 100755 index 0000000..f37714a --- /dev/null +++ b/multiscale_run/data/metabolism/PPP_a.jl @@ -0,0 +1,80 @@ +### PPP: Winter2017, Stincone 2015; Nakayama 2005; Sabate 1995 rat liver; Kauffman1969 mouse brain; Mulukutla(2015) Multiplicity of Steady States in Glycolysis and Shift of Metabolic State in Cultured Mammalian Cells. PLoS ONE; Cakir 2007 + + +# PPP_r01_G6PDH + +VmaxG6PDH_a = 477.195127843729 #478.1665057289348 #0.05 #0.0803931164211058 #0.065 #0.29057 #0.05 #0.29057 # 5.9e-06 +KeqG6PDH_a = 0.008 #0.00709854391636249 #0.00548183269281042 #0.004996308250689027 #22906.4 +K_G6P_G6PDH_a = 0.03 #0.0169812873724678 #0.0158229604461531 #6.91392e-5 #0.047 # avg 29-65 uM # 6.91392e-05 W17 # 29-65 uM book Neurochemistry Lajtha 2007 NeurochemistryEnergeticsBook.pdf # 0.036 +K_NADP_G6PDH_a = 0.13 #0.113800580992371 #0.117925904076472 #1.31616e-05 #0.0105 # avg 4-17 uM 1.31616e-05 # 4-17 uM book Neurochemistry Lajtha 2007 NeurochemistryEnergeticsBook.pdf # 0.0048 +K_GL6P_G6PDH_a = 0.0180932 #0.01 # 0.0001 #0.0180932 +K_NADPH_G6PDH_a = 2E-05 #2.56105031786788E-05 #2.51285420418258E-05 #0.00050314 #0.00015 #0.00050314 #0.0035 #0.00050314 # Ki NADPH = 3.5 uM book Neurochemistry Lajtha 2007 NeurochemistryEnergeticsBook.pdf # Ki 0.0011 + + +# r02: 6PGL + +Vmax6PGL_a = 8.839100733681803 #8.85709967646198 #0.0008 #0.00788831166500804 #0.039 #0.18 #0.09 #0.184701 +Keq6PGL_a = 961.0 #900.0 #1883.78898381691 #2116.69452134578 #531174. +K_GL6P_6PGL_a = 0.0180932 #0.1 #0.05 #0.0180932 +K_GO6P_6PGL_a = 2.28618 + + +# r03: GND = 6-Phosphogluconate Dehydrogenase (6PGDH): 6-Phosphogluconate(GO6P) + NADP+ → ribulose 5-phosphate(RU5P) + CO2 +NADPH+H+ + +Vmax6PGDH_a = 1.7337940118891872e7 #1.751250837536649e7 #1.09999997755265 #1.24786813651401 #1.25214497008764 #1.0 #1.31377 +Keq6PGDH_a = 37.38848579759115 # 36.1122375263804 #38.468548761728 #37.38848579759115 # Cit # Berndt 2015 + +# VmaxCSmito_n = 0.2 #0.4833 # 0.17 #0.165 #0.2 #0.4833 #0.2 #adj #1280.0 #0.116 # doi:10.1046/j.1471-4159.2003.01871.x 0.116 umol/min/mg +# KmOxaMito_n = 0.005 # 0.005 mM brain https://pubmed.ncbi.nlm.nih.gov/4201777/ +# KiCitMito_n = 1.0 #3.7 #1.6 # 3.7 # 0.037 +# KmAcCoAmito_n = 0.0048 # 0.0048 mM brain https://pubmed.ncbi.nlm.nih.gov/4201777/ +# KiCoA_n = 0.02 # 0.025 # Berndt 2012,2015 #0.067 #0.00025 + +VmaxCSmito_n = 0.4689427553439143 #0.4645 # 0.4722162450277844 # 0.4724918447819282 # 0.5112293698278352 # 0.4645 # 0.57 #0.55 #0.65 #0.8 #0.4968890850459*1.0 #0.2 #0.4833 # 1.0 #0.2 #0.4833 # 0.17 #0.165 #0.2 #0.4833 #0.2 #adj #1280.0 #0.116 # doi:10.1046/j.1471-4159.2003.01871.x 0.116 umol/min/mg + +KmOxaMito_n = 0.005 # 0.005 mM brain https://pubmed.ncbi.nlm.nih.gov/4201777/ +KiCitMito_n = 1.0 #3.7 #1.6 # 3.7 # 0.037 +KmAcCoAmito_n = 0.0048 # 0.0048 mM brain https://pubmed.ncbi.nlm.nih.gov/4201777/ +KiCoA_n = 0.02 # 0.025 # Berndt 2012,2015 #0.067 #0.00025 + + +VmaxCSmito_a = 0.7181459358580017 #0.27867260457961346*1.9413118399434741 # 1.9413118399434741 # < from opt a 2.0 #0.2 #0.4833 # 0.17 #0.165 # 0.2 # 0.4833 #0.116 umol/min/mg # doi:10.1046/j.1471-4159.2003.01871.x #0.2 #adj #1280.0 + +KmOxaMito_a = 0.004 #0.005 # 0.005 mM brain https://pubmed.ncbi.nlm.nih.gov/4201777/ +KiCitMito_a = 1.0 #3.7 #1.6 # Berndt2018 #3.7 +KmAcCoAmito_a = 0.0048 # 0.0048 mM brain https://pubmed.ncbi.nlm.nih.gov/4201777/ +KiCoA_a = 0.02 # 0.025 # Berndt 2012,2015 + + +# psiCS_n1 = VmaxCSmito_n*(OXAmito_n0/(OXAmito_n0 + KmOxaMito_n*(1.0 + CITmito_n0/KiCitMito_n))) * (AcCoAmito_n0/(AcCoAmito_n0 + KmAcCoAmito_n*(1.0+CoAmito_n0/KiCoA_n))) +# psiCS_a1 = VmaxCSmito_a*(OXAmito_a0/(OXAmito_a0 + KmOxaMito_a*(1.0 + CITmito_a0/KiCitMito_a))) * (AcCoAmito_a0/(AcCoAmito_a0 + KmAcCoAmito_a*(1.0+CoAmito_a0/KiCoA_a))) + +# println(psiCS_n1) +# println(psiCS_a1) + +############################################## + +# r03: aconitase, CITmito_a ⇒ ISOCITmito_a + +# VmaxAco_n = 2. #5. #10. #5. #100. #200. #16000.0 +# KeqAco_na = 0.11 #0.067 #Berndt2015 #0.1 #Berndt2018 +# KmCitAco_n = 0.48 # GUARRIERO-BOBYLEVA 1973 +# KmIsoCitAco_n = 0.12 # GUARRIERO-BOBYLEVA 1973 + +VmaxAco_n = 25.611147830094392 # 25.782707422203963 # 25.797754993950043 # 29. # 23.433 #29. #28.0 #2.35 # 2.3 #2. #5. #10. #5. #100. #200. #16000.0 #29. #28.0 #2.35 # 2.3 #2. #5. #10. #5. #100. #200. #16000.0 +KeqAco_na = 0.11 #0.067 #Berndt2015 #0.1 #Berndt2018 +KmCitAco_n = 0.48 # GUARRIERO-BOBYLEVA 1973 +KmIsoCitAco_n = 0.12 # GUARRIERO-BOBYLEVA 1973 + + +# Cit <-> IsoCit # Berndt 2015 +VmaxAco_a = 9.438075110105698 #26.99 # 29. #2. #5. # 10. #5. # 100. #200. #16000.0 +#KeqAco_na = 0.11 #0.067 #0.1 #Berndt2018 +KmCitAco_a = 0.48 # GUARRIERO-BOBYLEVA 1973 +KmIsoCitAco_a = 0.12 # GUARRIERO-BOBYLEVA 1973 + + +# VmaxAco_n = 2. #16000.0 +# KeqAco_na = 0.067 # par[511] +# KmCitAco_n = 0.48 # GUARRIERO-BOBYLEVA 1973 +# KmIsoCitAco_n = 0.12 # GUARRIERO-BOBYLEVA 1973 + + +# # Cit <-> IsoCit # Berndt 2015 +# VmaxAco_a = 2. #16000.0 +# KeqAco_na = 0.067 +# KmCitAco_a = 0.48 # GUARRIERO-BOBYLEVA 1973 +# KmIsoCitAco_a = 0.12 # GUARRIERO-BOBYLEVA 1973 + + + +# #psiACO_n1 = VmaxAco_n*(CITmito_n0-ISOCITmito_n0/KeqAco_na) / (KmCitAco_n + CITmito_n0 + KmCitAco_n*ISOCITmito_n/KmIsoCitAco_n) +# psiACO_n1 = VmaxAco_n*(CITmito_n0-ISOCITmito_n0/KeqAco_na) / (1.0+CITmito_n0/KmCitAco_n + ISOCITmito_n0/KmIsoCitAco_n) +# psiACO_a1 = VmaxAco_a*(CITmito_a0-ISOCITmito_a0/KeqAco_na) / (1.0+CITmito_a0/KmCitAco_a + ISOCITmito_a0/KmIsoCitAco_a) + +# println(psiACO_n1) +# println(psiACO_a1) + +############################################## + +# r04: IDH: ISOCITmito_a + NADmito_a ⇒ AKGmito_a + NADHmito_a # ISOCITmito_a ⇒ AKGmito_a # + +# key rate-limiting enzyme in TCA !!! + +# a +#CO2_mito_a = 1.2 # par[349] + +# NAD-dependent isocitrate dehydrogenase (IDH); ISOCITmito + NADmito ⇒ AKGmito + NADHmito +#VmaxIDH_a = 64.0 #### CHECK IT!!!! UNITS!!!! +#nIsoCitmitoIDH_a = 1.9 +#KmIsoCitmito1IDH_a = 0.11 +#KmIsoCitmito2IDH_a = 0.06 +#KaCaidhIDH_a = 0.0074 +#nCaIdhIDH_a = 2.0 +#KmNADmitoIDH_a = 0.091 +#KiNADHmitoIDH_a = 0.041 + +######### IDH_a +#Wu2007 +# VmaxfIDH_a = 425.0 #mM/s +# Km_a_NAD_IDH_a = 0.074 +# Km_b_ISOCIT_IDH_a = 0.183 # 0.059, 0.055, 0.183 +# nH_IDH_a = 2.5 # 2.67 #3.0 +# KibIDH_a = 0.0238 # 0.00766, 0.0238 +# KiqIDH_a = 0.029 +# Ki_atp_IDH_a = 0.091 +# Ka_adp_IDH_a = 0.05 +# Keq0_IDH_a = 3.5e-16 #3.5*(10^(-16)) +#Pakg_IDH_a = 1.0 +#Keq_IDH_a = 30.5 #-Mulukutla2015 #Keq0_IDH_a*(Pakg_IDH_a*Pnadh_IDH_a*Pco2tot_IDH_a)/(C_H_mitomatr*Pnad_IDH_a*Picit_IDH_a) + + +# Berndt + doi:10.1016/j.bbapap.2008.07.001 + Mulukutla + +# # NAD-dependent isocitrate dehydrogenase (IDH); ISOCITmito + NADmito ⇒ AKGmito + NADHmito +# VmaxIDH_n = 0.1249913793 # VmaxCSmito_n/3.8666666667 #3.8666666667 is calc from rates ratio of doi:10.1046/j.1471-4159.2003.01871.x Table 2 #4.25 #64.0 +# nIsoCitmito_n = 1.9 # 3 +# KmIsoCitmito1_n = 0.2 #0.11 +# KmIsoCitmito2_n = 0.06 +# Km_a_Ca_idh_n = 0.074 #0.0074 +# nCaIdh_n = 2.0 +# KmNADmito_n = 0.091 +# KiNADHmito_n = 0.0041 # 4.1 uM PMID: 7359132 #0.05 #0.041 +# #KmIsoCitmito = KmIsoCitmito1/(1+(CaMito/KaCaidh)^nIsoCitmito) + KmIsoCitmito2 + + +# VmaxIDH_a = 0.2708146552 # VmaxCSmito_a/1.7846153846 # 1.7846153846 is calc from rates ratio of doi:10.1046/j.1471-4159.2003.01871.x Table 2 Specific activities of LDH, CS, and ICDH in total lysates of neural cell cultures +# nIsoCitmito_a = 1.9 # 3 +# KmIsoCitmito1_a = 0.2 #0.11 +# KmIsoCitmito2_a = 0.06 +# Km_a_Ca_idh_a = 0.074 #0.0074 +# nCaIdh_a = 2.0 +# KmNADmito_a = 0.091 +# KiNADHmito_a = 0.05 #0.041 + +# psiIDH_n1 = VmaxIDH_n*((ISOCITmito_n0^nIsoCitmito_n) / (ISOCITmito_n0^nIsoCitmito_n + (KmIsoCitmito1_n/(1+(CaMito_n0/Km_a_Ca_idh_n)^nCaIdh_n) + KmIsoCitmito2_n)^nIsoCitmito_n) ) * (NADmito_n0/(NADmito_n0 + KmNADmito_n*(1+NADHmito_n0/KiNADHmito_n))) +# psiIDH_a1 = VmaxIDH_a*((ISOCITmito_a0^nIsoCitmito_a) / (ISOCITmito_a0^nIsoCitmito_a + (KmIsoCitmito1_a/(1+(CaMito_a0/Km_a_Ca_idh_a)^nCaIdh_a) + KmIsoCitmito2_a)^nIsoCitmito_a) ) * (NADmito_a0/(NADmito_a0 + KmNADmito_a*(1+NADHmito_a0/KiNADHmito_a))) + +###### with eq from doi:10.1016/j.bbapap.2008.07.001 + +VmaxIDH_n = 1194.49868869589 #1109.856835123883 # 1117.155367232157 # 1117.8073730616716 # 1033.507542656321 # 1090. #1080. #1078.5 #1076. #950. #910. #905.055 #1076.0 # 891.34 #500. #80.0 #5.2 #2.5 #0.1249913793 # n/a = 0.030/0.065 = 0.4615384615384615 ratio of doi:10.1046/j.1471-4159.2003.01871.x #1076.0 # 891.34 #500. #80.0 #5.2 #2.5 #0.1249913793 # n/a = 0.030/0.065 = 0.4615384615384615 ratio of doi:10.1046/j.1471-4159.2003.01871.x Table 2 #4.25 #64.0 # 1000*69.2*0.25/60 = 288.33 where 69.2 from doi:10.1016/j.bbapap.2008.07.001 # +KiNADmito_na = 0.14 #0.0776 # Kia +KmIsoCitIDHm_n = 0.15 #0.35 #0.45 #0.1489 # Kmb +KmNADmito_na = 0.5033 # Kma +KiNADHmito_na = 0.00475 ## Kiq +nIDH = 3 #1.9 #3 + + +VmaxIDH_a = 332.052098136637 #344.93939819582073 # 1087.7 # 1076.0 # 891.34 #500. #80.0 #5.42 #0.2708146552 # n/a = 0.030/0.065 = 0.4615384615384615 ratio of doi:10.1046/j.1471-4159.2003.01871.x Table 2 Specific activities of LDH, CS, and ICDH in total lysates of neural cell cultures +#KiNADmito_na = 0.14 #0.0776 # Kia +KmIsoCitIDHm_a = 0.15 # 0.35 #0.45 # 0.1489 # Kmb +#KmNADmito_na = 0.5033 # Kma +#KiNADHmito_na = 0.00475 ## Kiq +nIDH = 3 #1.9 #3 + +#psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a) = VmaxIDH_a*(NADmito_a/KiNADmito_a)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH ) / (1.0 + NADmito_a/KiNADmito_a + (KmNADmito_a/KiNADmito_a)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) + NADHmito_a/KiNADHmito_a + (NADmito_a/KiNADmito_a)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) + ((KmNADmito_a*NADHmito_a)/(KiNADmito_a*KiNADHmito_a))*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) ) + +# psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n) = VmaxIDH_n*((NADmito_n*ISOCITmito_n)/(KiNADmito_n*KmIsoCitIDHm_n)) / +# (1.0 + NADmito_n/KiNADmito_n + (KmNADmito_n*ISOCITmito_n)/(KiNADmito_n*KmIsoCitIDHm_n) + NADHmito_n/KiNADHmito_n + (NADmito_n*ISOCITmito_n)/(KiNADmito_n*KmIsoCitIDHm_n) + +# (KmNADmito_n*ISOCITmito_n*NADHmito_n)/(KiNADmito_n*KmIsoCitIDHm_n*KiNADHmito_n) ) + +#psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n) = VmaxIDH_n*(NADmito_n/KiNADmito_n)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH ) / (1.0 + NADmito_n/KiNADmito_n + (KmNADmito_n/KiNADmito_n)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) + NADHmito_n/KiNADHmito_n + (NADmito_n/KiNADmito_n)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) + ((KmNADmito_n*NADHmito_n)/(KiNADmito_n*KiNADHmito_n))*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) ) + +# add ADP-activation +# psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n) = VmaxIDH_n*(NADmito_n/KiNADmito_n)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH ) / +# (1.0 + NADmito_n/KiNADmito_n + (KmNADmito_n/KiNADmito_n)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) + NADHmito_n/KiNADHmito_n + (NADmito_n/KiNADmito_n)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) + +# ((KmNADmito_n*NADHmito_n)/(KiNADmito_n*KiNADHmito_n))*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) ) + +# +# psiIDH_n(ISOCITmito_n,CaMito_n,NADmito_n,NADHmito_n) = VmaxIDH_n*((ISOCITmito_n^nIsoCitmito_n) / (ISOCITmito_n^nIsoCitmito_n + (KmIsoCitmito1_n/(1+(CaMito_n/Km_a_Ca_idh_n)^nCaIdh_n) + KmIsoCitmito2_n)^nIsoCitmito_n) ) * (NADmito_n/(NADmito_n + KmNADmito_n*(1+NADHmito_n/KiNADHmito_n))) +# psiIDH_a(ISOCITmito_a,CaMito_a,NADmito_a,NADHmito_a) = VmaxIDH_a*((ISOCITmito_a^nIsoCitmito_a) / (ISOCITmito_a^nIsoCitmito_a + (KmIsoCitmito1_a/(1+(CaMito_a/Km_a_Ca_idh_a)^nCaIdh_a) + KmIsoCitmito2_a)^nIsoCitmito_a) ) * (NADmito_a/(NADmito_a + KmNADmito_a*(1+NADHmito_a/KiNADHmito_a))) + +# psiIDH_n1 = VmaxIDH_n*(NADmito_n0/KiNADmito_n)*((ISOCITmito_n0/KmIsoCitIDHm_n)^nIDH ) / (1.0 + NADmito_n0/KiNADmito_n + (KmNADmito_n/KiNADmito_n)*((ISOCITmito_n0/KmIsoCitIDHm_n)^nIDH) + NADHmito_n0/KiNADHmito_n + (NADmito_n0/KiNADmito_n)*((ISOCITmito_n0/KmIsoCitIDHm_n)^nIDH) + ((KmNADmito_n*NADHmito_n0)/(KiNADmito_n*KiNADHmito_n))*((ISOCITmito_n0/KmIsoCitIDHm_n)^nIDH) ) +# psiIDH_a1 = VmaxIDH_a*(NADmito_a0/KiNADmito_a)*((ISOCITmito_a0/KmIsoCitIDHm_a)^nIDH ) / (1.0 + NADmito_a0/KiNADmito_a + (KmNADmito_a/KiNADmito_a)*((ISOCITmito_a0/KmIsoCitIDHm_a)^nIDH) + NADHmito_a0/KiNADHmito_a + (NADmito_a0/KiNADmito_a)*((ISOCITmito_a0/KmIsoCitIDHm_a)^nIDH) + ((KmNADmito_a*NADHmito_a0)/(KiNADmito_a*KiNADHmito_a))*((ISOCITmito_a0/KmIsoCitIDHm_a)^nIDH) ) + +# println(psiIDH_n1) +# println(psiIDH_a1) + +################################################### + +# r05: aKGDH: AKGmito_a + NADmito_a + CoAmito_a ⇒ SUCCOAmito_a + NADHmito_a # AKGmito_a + CoAmito_a ⇒ SUCCOAmito_a + +# VmaxKGDH_n = 10. #1.344 +# #KiCa2KGDH_n = 0.0012 #1.2e-05 +# Km1KGDHKGDH_n = 0.67 #0.025 # 0.67 # doi:10.1098/rstb.2005.1764 +# Km2KGDHKGDH_n = 0.16 #0.0016 +# #Ki_KG_Ca_KGDH_n = 1.33e-7 #1.33e-09 +# KiNADHKGDHKGDH_n = 0.0045 #4.5e-05 # 0.0045 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase +# KmNADkgdhKGDH_n = 0.021 #0.00021 # 0.021 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase +# Km_CoA_kgdhKGDH_n = 0.0027 #1.3e-05 # 0.0027 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase +# Ki_SucCoA_kgdhKGDH_n = 0.0039 # in brain! Luder 1990 # 0.0069 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase + +# aKG dehydrogenase (KGDH); AKGmito + NADmito + CoAmito ⇒ SUCCOAmito + NADHmito ### Berndt2012 +### but in future for more details and regulation can consider Detailed kinetics and regulation of mammalian 2- oxoglutarate dehydrogenase +# 2011 Feng Qi1,2, Ranjan K Pradhan1, Ranjan K Dash1 and Daniel A Beard + +# VmaxKGDH_a = 10. #1.344 +# #KiCa2KGDH_a = 0.0012 # McCormack 1979, Mogilevskaya 2006 +# Km1KGDHKGDH_a = 0.67 #2.5 # Berndt 2012 # 0.67 # doi:10.1098/rstb.2005.1764 +# Km2KGDHKGDH_a = 0.16 # McCormack 1979 +# #Ki_KG_Ca_KGDH_a = 1.33e-7 # calculated from McCormack 1979 +# KiNADHKGDHKGDH_a = 0.0045 # Smith 1974 # 0.0045 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase +# KmNADkgdhKGDH_a = 0.021 # Smith 1974 # 0.021 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase +# Km_CoA_kgdhKGDH_a = 0.0027 #0.0013 # Smith 1974 # 0.0027 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase +# KiSucCoAkgdhKGDH_a = 0.0039 # in brain! Luder 1990 # # 0.0069 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase + +# # psiKGDH_n(CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) = VmaxKGDH_n*(1-CaMito_n/(CaMito_n+KiCa2KGDH_n))*(AKGmito_n/(AKGmito_n+(Km1KGDHKGDH_n/(1+CaMito_n/Ki_KG_Ca_KGDH_n)+Km2KGDHKGDH_n)*(1+NADHmito_n/KiNADHKGDHKGDH_n))) * (NADmito_n/(NADmito_n+KmNADkgdhKGDH_n*(1+NADHmito_n/KiNADHKGDHKGDH_n))) * (CoAmito_n/(CoAmito_n + Km_CoA_kgdhKGDH_n*(1+SUCCOAmito_n/Ki_SucCoA_kgdhKGDH_n))) +# # psiKGDH_a(CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) = VmaxKGDH_a*(1-CaMito_a/(CaMito_a+KiCa2KGDH_a))*(AKGmito_a/(AKGmito_a+(Km1KGDHKGDH_a/(1+CaMito_a/Ki_KG_Ca_KGDH_a)+Km2KGDHKGDH_a)*(1+NADHmito_a/KiNADHKGDHKGDH_a))) * (NADmito_a/(NADmito_a+KmNADkgdhKGDH_a*(1+NADHmito_a/KiNADHKGDHKGDH_a))) * (CoAmito_a/(CoAmito_a + Km_CoA_kgdhKGDH_a*(1+SUCCOAmito_a/KiSucCoAkgdhKGDH_a))) + +# psiKGDH_n(CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) = VmaxKGDH_n*(1-CaMito_n/(CaMito_n+KiCa2KGDH_n))*(AKGmito_n/(AKGmito_n+(Km1KGDHKGDH_n/(1+CaMito_n/Ki_KG_Ca_KGDH_n)+Km2KGDHKGDH_n)*(1+NADHmito_n/KiNADHKGDHKGDH_n))) * (NADmito_n/(NADmito_n+KmNADkgdhKGDH_n*(1+NADHmito_n/KiNADHKGDHKGDH_n))) * (CoAmito_n/(CoAmito_n + Km_CoA_kgdhKGDH_n*(1+SUCCOAmito_n/Ki_SucCoA_kgdhKGDH_n))) +# psiKGDH_a(CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) = VmaxKGDH_a*(1-CaMito_a/(CaMito_a+KiCa2KGDH_a))*(AKGmito_a/(AKGmito_a+(Km1KGDHKGDH_a/(1+CaMito_a/Ki_KG_Ca_KGDH_a)+Km2KGDHKGDH_a)*(1+NADHmito_a/KiNADHKGDHKGDH_a))) * (NADmito_a/(NADmito_a+KmNADkgdhKGDH_a*(1+NADHmito_a/KiNADHKGDHKGDH_a))) * (CoAmito_a/(CoAmito_a + Km_CoA_kgdhKGDH_a*(1+SUCCOAmito_a/KiSucCoAkgdhKGDH_a))) + +# psiKGDH_n1 = VmaxKGDH_n*(AKGmito_n0/(AKGmito_n0+(Km1KGDHKGDH_n+Km2KGDHKGDH_n)*(1+NADHmito_n0/KiNADHKGDHKGDH_n))) * (NADmito_n0/(NADmito_n0+KmNADkgdhKGDH_n*(1+NADHmito_n0/KiNADHKGDHKGDH_n))) * (CoAmito_n0/(CoAmito_n0 + Km_CoA_kgdhKGDH_n*(1+SUCCOAmito_n0/Ki_SucCoA_kgdhKGDH_n))) +# psiKGDH_a1 = VmaxKGDH_a*(AKGmito_a0/(AKGmito_a0+(Km1KGDHKGDH_a+Km2KGDHKGDH_a)*(1+NADHmito_a0/KiNADHKGDHKGDH_a))) * (NADmito_a0/(NADmito_a0+KmNADkgdhKGDH_a*(1+NADHmito_a0/KiNADHKGDHKGDH_a))) * (CoAmito_a0/(CoAmito_a0 + Km_CoA_kgdhKGDH_a*(1+SUCCOAmito_a0/KiSucCoAkgdhKGDH_a))) + + +# Mogilevskaya + +VmaxKGDH_n = 28.6907036435173 #28.91517141816992 # 28.932047191118823 # 29.791351583908167 #28.496668132945448 # 30.41167501394481 #30. #28. #27. #26. #25.524 #23.4 #30.0 #35.0 # 40.0 #50.415 #166.22 #10. #1.344 23.4 #30.0 #35.0 # 40.0 #50.415 #166.22 #10. #1.344 +KiADPmito_KGDH_n = 0.6 # 0.56 # 0.1 # both values are in Mogilevskaya, 0.56 is fitted, 0.1 is lit +KiATPmito_KGDH_n = 0.0108261270854904 #0.01 # 0.1 # both values are in Mogilevskaya, 0.01 is fitted, 0.1 is lit +Km1KGDHKGDH_n = 0.8 #0.67 #0.025 # 0.67 # doi:10.1098/rstb.2005.1764 +Km_CoA_kgdhKGDH_n = 0.005 # 0.0027 #1.3e-05 # 0.0027 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase +KmNADkgdhKGDH_na = 0.021 #0.00021 # 0.021 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase +KiCa2KGDH_n = 1.2e-05 # 0.0012 #1.2e-05 +KiNADHKGDHKGDH_na = 0.0045 #4.5e-05 # 0.0045 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase +Ki_SucCoA_kgdhKGDH_n = 0.0039 # in brain! Luder 1990 # 0.0069 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase + +VmaxKGDH_a = 7.74815022676304 #7.4236647140402 #18.792728253785338 # 23.86 #23.93 #24.0 #up #23.8 down #24.256852208624576 up #23.4 #47.681 #166.22 #10. #1.344 +KiADPmito_KGDH_a = 0.5046016363070087 #KiADPmito_KGDH_a = 0.6 #0.57 #0.56 # 0.1 # both values are in Mogilevskaya, 0.56 is fitted, 0.1 is lit +KiATPmito_KGDH_a = 0.054580855381112 #0.053818392618842754 # 0.01 # 0.1 # both values are in Mogilevskaya, 0.01 is fitted, 0.1 is lit +Km1KGDHKGDH_a = 0.6287013099563603 # 0.8 #0.67 #0.025 # 0.67 # doi:10.1098/rstb.2005.1764 +Km_CoA_kgdhKGDH_a = 0.005 #0.0027 #1.3e-05 # 0.0027 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase +KiCa2KGDH_a = 1.2e-05 #0.0012 #1.2e-05 +Ki_SucCoA_kgdhKGDH_a = 0.0039 # in brain! Luder 1990 # 0.0069 # SMITH1973 Regulation of Mitochondrial a=Ketoglutarate Metabolism by Product Inhibition at a-Ketoglutarate Dehydrogenase + + +# psiKGDH_n1 = +# (VmaxKGDH_n*(1 + ADPmito_n0/KiADPmito_KGDH_n)*(AKGmito_n0/Km1KGDHKGDH_n)*(CoAmito_n0/Km_CoA_kgdhKGDH_n)*(NADmito_n0/KmNADkgdhKGDH_n) ) / +# ( ( (CoAmito_n0/Km_CoA_kgdhKGDH_n)*(NADmito_n0/KmNADkgdhKGDH_n)*(AKGmito_n0/Km1KGDHKGDH_n + (1 + ATPmito_n0/KiATPmito_KGDH_n)/(1 + CaMito_n0/KiCa2KGDH_n)) ) + +# ( (AKGmito_n0/Km1KGDHKGDH_n)*(CoAmito_n0/Km_CoA_kgdhKGDH_n + NADmito_n0/KmNADkgdhKGDH_n)*(1 + NADHmito_n0/KiNADHKGDHKGDH_n + SUCCOAmito_n0/Ki_SucCoA_kgdhKGDH_n) ) ) + +# psiKGDH_a1 = +# (VmaxKGDH_a*(1 + ADPmito_a0/KiADPmito_KGDH_a)*(AKGmito_a0/Km1KGDHKGDH_a)*(CoAmito_a0/Km_CoA_kgdhKGDH_a)*(NADmito_a0/KmNADkgdhKGDH_a) ) / +# ( ( (CoAmito_a0/Km_CoA_kgdhKGDH_a)*(NADmito_a0/KmNADkgdhKGDH_a)*(AKGmito_a0/Km1KGDHKGDH_a + (1 + ATPmito_a0/KiATPmito_KGDH_a)/(1 + CaMito_a0/KiCa2KGDH_a)) ) + +# ( (AKGmito_a0/Km1KGDHKGDH_a)*(CoAmito_a0/Km_CoA_kgdhKGDH_a + NADmito_a0/KmNADkgdhKGDH_a)*(1 + NADHmito_a0/KiNADHKGDHKGDH_a + SUCCOAmito_a0/Ki_SucCoA_kgdhKGDH_a) ) ) + +# println(psiKGDH_n1) +# println(psiKGDH_a1) + + + + +################################################### + + +# r06: SCS: SUCCOAmito_n + ADPmito_n ⇒ SUCmito_n + ATPmito_n + CoAmito_n + +VmaxSuccoaATPscs_n = 410.83664327655714 #409.916218893484 #433.58091004733 # 433.8339610456146 # 437.42815951086135 # 458.29727009401 # 476.615 # 400. #396. #395. #394.5 #394.21 #395. #400.0 #1.0067 #192.0 #400.0 #1.0067 #192.0 +AmaxPscs_n = 1.2 # Berndt 2015 +npscs_n = 3.0 # Berndt 2015 #2.5 # +Keqsuccoascs_na = 3.8 # Berndt 2015 +Km_succoa_scs_n = 0.02852096394334664 #0.041 # Berndt2012,2015 #0.086 # 0.024 # Mogilevskaya +Km_succ_scs_n = 0.836589467070621 #1.6 #PMID: 1869044 #0.49 # +Km_pi_scs_na = 2.5 # 0.72,2.5 # Berndt 2012,2015 +Km_coa_scs_n = 0.056 #PMID: 1869044 +Km_atpmito_scs_n = 0.0156620432157514 #0.017 # PMID: 1869044 # 0.72 # +Km_ADPmito_scs_n = 0.25 # Berndt 2012,2015 + + +VmaxSuccoaATPscs_a = 182.496590618396 #171.24090767446916 # 360.0 #490.78642491794716 #400.0 #429.06807326391527 #367.77263422621314 #490.36351230161745 #576.4491390247175 #490.7864249179471 #370.0 #360.0 #415.0 # 410 down # 420 up #360.0 #400.0 #0.9236 #192.0 #360.0 #370.0 # 360.0 # 400.0 #0.9236 #192.0 +AmaxPscs_a = 1.2 # Berndt 2015 +npscs_a = 3.0 # Berndt 2015 #2.5 # +#Keqsuccoascs_na = 3.8 # Berndt 2015 +Km_succoa_scs_a = 0.041 # Berndt2012,2015 #0.086 # 0.024 # Mogilevskaya +Km_succ_scs_a = 1.6 #PMID: 1869044 #0.49 # +#Km_pi_scs_na = 2.5 # 0.72,2.5 # Berndt 2012,2015 +Km_coa_scs_a = 0.056 #PMID: 1869044 +Km_atpmito_scs_a = 0.0164177843454365 #0.017 # PMID: 1869044 # 0.72 # +Km_ADPmito_scs_a = 0.25 # Berndt 2012,2015 + +################################################### + +# !!! J_DH from ETC instead + +# # r07: SDH: SUCmito_n + Qmito_n ⇒ FUMmito_n + QH2mito_n + +# # kcat_SDH_n = 79274.6 #Vf_SDH_n 16.1389 # par[547] + +# # #Mulukutla2015 +# # KiOXA_SDH_n = 0.0015 # par[544] +# # KaSUC_SDH_n = 0.45 # par[545] +# # KaFUM_SDH_n = 0.375 # par[546] +# # Keq_SDH_n = 1.21 # par[548] +# # KiSUC_SDH_n = 0.12 # par[549] +# # KmQ_SDH_n = 0.48 # par[550] +# # KmSuc_SDH_n = 0.467 # par[551] +# # KiFUM_SDH_n = 1.275 # par[552] +# # KmQH2_SDH_n = 0.00245 # par[553] +# # KmFUM_SDH_n = 1.2 # par[554] + +# # psiSDH_n(SUCmito_n,Qmito_n,QH2mito_n,FUMmito_n,OXAmito_n) = kcat_SDH_n*concentration_enzyme_transporter_TCA_r07_SDH_n*( SUCmito_n*Qmito_n - QH2mito_n*FUMmito_n/Keq_SDH_n ) / ( KiSUC_SDH_n*KmQ_SDH_n*((1.0 + OXAmito_n/KiOXA_SDH_n + SUCmito_n/KaSUC_SDH_n + FUMmito_n/KaFUM_SDH_n ) / (1.0 + SUCmito_n/KaSUC_SDH_n + FUMmito_n/KaFUM_SDH_n ) ) + KmQ_SDH_n*SUCmito_n + KmSuc_SDH_n*((1.0 + OXAmito_n/KiOXA_SDH_n + SUCmito_n/KaSUC_SDH_n + FUMmito_n/KaFUM_SDH_n ) / (1.0 + SUCmito_n/KaSUC_SDH_n + FUMmito_n/KaFUM_SDH_n ) ) *Qmito_n + SUCmito_n*Qmito_n + KmSuc_SDH_n*Qmito_n*FUMmito_n/KiFUM_SDH_n + (KiSUC_SDH_n*KmQ_SDH_n/(KiFUM_SDH_n*KmQH2_SDH_n) )*( KmFUM_SDH_n*((1.0 + OXAmito_n/KiOXA_SDH_n + SUCmito_n/KaSUC_SDH_n + FUMmito_n/KaFUM_SDH_n ) / (1.0 + SUCmito_n/KaSUC_SDH_n + FUMmito_n/KaFUM_SDH_n ) ) *QH2mito_n + KmQH2_SDH_n*FUMmito_n + KmFUM_SDH_n*SUCmito_n*QH2mito_n/KiSUC_SDH_n + QH2mito_n*FUMmito_n ) ) # eto_mito_n_scaled* + + +# # # Succinate dehydrogenase (SDH); SUCmito + Qmito ⇒ FUMmito + QH2mito # Mogilevskaya 2006 ## try eq from IvanChang for this reaction +# # #kfSDH_a = 10000.0 +# # #Kesucsucmito_a = 0.01 +# # #Kmqmito_a = 0.0003 +# # #krSDH_a = 102.0 +# # #Kefumfummito_a = 0.29 +# # #Kmqh2mito_a = 0.0015 +# # #Kmsucsdh_a = 0.13 +# # #Kmfumsdh_a = 0.025 +# # #@reaction_func VSDH(SDHmito,SUCmito,Qmito,FUMmito,QH2mito) = SDHmito*(kfSDH*(SUCmito/Kesucsucmito)*(Qmito/Kmqmito) - krSDH*(FUMmito/Kefumfummito)*(QH2mito/Kmqh2mito)) / (1+(SUCmito/Kesucsucmito)+(Qmito/Kmqmito)*(Kmsucsdh/Kesucsucmito)+(SUCmito/Kesucsucmito)*(Qmito/Kmqmito)+(FUMmito/Kefumfummito)+(QH2mito/Kmqh2mito)*(Kmfumsdh/Kefumfummito) + (FUMmito/Kefumfummito)*(QH2mito/Kmqh2mito)) +# # #################################################################################### + +# # # Succinate dehydrogenase (SDH); SUCmito + Qmito ⇒ FUMmito + QH2mito # IvanChang +# # #VmaxDHchang_a = 0.28 +# # #KrDHchang_a = 0.100 +# # #pDchang_a =0.8 + +# # #Mulukutla2015 +# # kcat_SDH_a = 82609.7 #Vf_SDH_a 16.14 #58100.0/3600.0 +# # Keq_SDH_a = 1.21 +# # KmSuc_SDH_a = 0.467 +# # KmQ_SDH_a = 0.48 +# # KmQH2_SDH_a = 0.00245 +# # KmFUM_SDH_a = 1.2 +# # KiSUC_SDH_a = 0.12 +# # KiFUM_SDH_a = 1.275 +# # KiOXA_SDH_a = 0.0015 +# # KaSUC_SDH_a = 0.45 +# # KaFUM_SDH_a = 0.375 + +# # #psiSDH_a VmaxDHchang_a*((NADmito_a/NADHmito_a)/(NADmito_a/NADHmito_a+KrDHchang_a)) + +# # #Mulukutla2015 +# # #alpha_SDH_a ((1.0 + OXAmito_a/KiOXA_SDH_a + SUCmito_a/KaSUC_SDH_a + FUMmito_a/KaFUM_SDH_a ) / (1.0 + SUCmito_a/KaSUC_SDH_a + FUMmito_a/KaFUM_SDH_a )) +# # psiSDH_a(SUCmito_a,Qmito_a,QH2mito_a,FUMmito_a,OXAmito_a) = kcat_SDH_a*concentration_enzyme_transporter_TCA_r07_SDH_a*( SUCmito_a*Qmito_a - QH2mito_a*FUMmito_a/Keq_SDH_a ) / ( KiSUC_SDH_a*KmQ_SDH_a*((1.0 + OXAmito_a/KiOXA_SDH_a + SUCmito_a/KaSUC_SDH_a + FUMmito_a/KaFUM_SDH_a ) / (1.0 + SUCmito_a/KaSUC_SDH_a + FUMmito_a/KaFUM_SDH_a )) + KmQ_SDH_a*SUCmito_a + KmSuc_SDH_a*((1.0 + OXAmito_a/KiOXA_SDH_a + SUCmito_a/KaSUC_SDH_a + FUMmito_a/KaFUM_SDH_a ) / (1.0 + SUCmito_a/KaSUC_SDH_a + FUMmito_a/KaFUM_SDH_a ))*Qmito_a + SUCmito_a*Qmito_a + KmSuc_SDH_a*Qmito_a*FUMmito_a/KiFUM_SDH_a + (KiSUC_SDH_a*KmQ_SDH_a/(KiFUM_SDH_a*KmQH2_SDH_a) )*( KmFUM_SDH_a*((1.0 + OXAmito_a/KiOXA_SDH_a + SUCmito_a/KaSUC_SDH_a + FUMmito_a/KaFUM_SDH_a ) / (1.0 + SUCmito_a/KaSUC_SDH_a + FUMmito_a/KaFUM_SDH_a ))*QH2mito_a + KmQH2_SDH_a*FUMmito_a + KmFUM_SDH_a*SUCmito_a*QH2mito_a/KiSUC_SDH_a + QH2mito_a*FUMmito_a ) ) + + +# # Berndt2012 +# # ZEYLEMAKER1969 for OXA inh 1-s2.0-0005274469902423-main.pdf KiOXA = 4 uM +# # http://dx.doi.org/10.1016/j.bbabio.2016.06.002 for BRAIN OXA inhibition of SDH KdOXA ~ 1e-8 M + +# VmaxSDH_n = 12.1 # 5000. # approx Mogilevskaya #2.9167 #brain approx 1000*0.7*0.25/60 from Shaw1981 #2000. # approx from LW fig in MISHRA1993 # 0.33056 # approx by 1000*4.76*0.25/3600 from RAMESH REDDY 1989 # #20.0 # approx +# Keq_SDH_n = 0.06 #2.547923498331544 # calc Berndt2012# 1.21 #0.06 # calc as in Berndt2015 fad #1.21 #0.0102 # approx 102/10000 +# KmSuc_SDH_n = 1.6 #0.00769 #1.0 # approx Nakae1995 KmSDH solub and membrane bound are diff #0.00769 #1.6 # Berndt2012 # 2.5 # RAMESH REDDY 1989 # 0.26 #doi:10.1016/j.bbabio.2010.10.009 # 0.00769 approx from LW fig in MISHRA1993 # 0.048 from https://doi.org/10.1186/s13765-021-00626-1 +# #KiMAL_SDH_n = 2.2 # Berndt2012 +# KiOXASDH_n = 0.004 # ZEYLEMAKER1969 + +# VmaxSDH_a = 11.7 #5000. # approx Mogilevskaya 2.9167 #brain approx 1000*0.7*0.25/60 from Shaw1981 # 2000. # approx from LW fig in MISHRA1993 #0.33056 # approx by 1000*4.76*0.25/3600 from RAMESH REDDY 1989 # #20.0 # approx +# Keq_SDH_a = 0.06 #2.547923498331544 #1.21 #0.06 # calc as in Berndt2015 fad #1.21 #0.0102 # approx 102/10000 +# KmSuc_SDH_a = 1.6 #0.00769 #1.0 # approx Nakae1995 KmSDH solub and membrane bound are diff # 0.00769 #1.6 # Berndt2012 # 2.5 # RAMESH REDDY 1989 # 0.26 #doi:10.1016/j.bbabio.2010.10.009 # 0.00769 approx from LW fig in MISHRA1993 # 0.048 from https://doi.org/10.1186/s13765-021-00626-1 +# #KiMAL_SDH_a = 2.2 # Berndt2012 +# KiOXASDH_a = 0.004 # ZEYLEMAKER1969 + + +# # #psiSDH_n1 = VmaxSDH_n*( SUCmito_n0*Qmito_n0 - (QH2mito_n0*FUMmito_n0)/Keq_SDH_n ) / (SUCmito_n0 + KmSuc_SDH_n*(1 + MALmito_n0/KiMAL_SDH_n) ) +# # #psiSDH_a1 = VmaxSDH_a*( SUCmito_a0*Qmito_a0 - (QH2mito_a0*FUMmito_a0)/Keq_SDH_a ) / (SUCmito_a0 + KmSuc_SDH_a*(1 + MALmito_a0/KiMAL_SDH_a) ) + +# # psiSDH_n1 = VmaxSDH_n*( SUCmito_n0*Qmito_n0 - (QH2mito_n0*FUMmito_n0)/Keq_SDH_n ) / (SUCmito_n0 + KmSuc_SDH_n*(1 + OXAmito_n0/KiOXASDH_n) ) +# # psiSDH_a1 = VmaxSDH_a*( SUCmito_a0*Qmito_a0 - (QH2mito_a0*FUMmito_a0)/Keq_SDH_a ) / (SUCmito_a0 + KmSuc_SDH_a*(1 + OXAmito_a0/KiOXASDH_a) ) + +# # println(psiSDH_n1) +# # println(psiSDH_a1) + + + +################################################### + + +# r08: FUM: FUMmito_a ⇒ MALmito_a + +# kr = 1.4*kf # doi:10.1111/febs.14782 The FEBS Journal - 2019 - Ajalla Aleixo - Structural biochemical and biophysical characterization of recombinant human.pdf + +# Vmaxfum_n = 20. #0.8109 # 90721*2.27*1e-4=20.59 Mogilevskaya +# Keqfummito_na = 5.5 #4.4 #4.3 #doi:10.1111/febs.14782 #4.4 Berndt 2015 +# Km_fummito_n = 0.14 #0.2 # doi:10.1111/febs.14782 #0.14 Berndt 2015 +# Km_malmito_n = 0.3 #1.4 #doi:10.1111/febs.14782 #0.3 Berndt 2015 + + +Vmaxfum_n = 129.92082588239924 # 129.9966516254743 # 131.89863784638874 # 132.91320856708984 # 133. #130. #139. #132. #140. #155. #180. #130. #260. #0.8109 # 90721*2.27*1e-4=20.59 Mogilevskaya + +Keqfummito_na = 6.0 #5.6 #5.5 #4.4 #4.3 #doi:10.1111/febs.14782 #4.4 Berndt 2015 +Km_fummito_n = 0.15102517071248805 #0.14 #0.2 # doi:10.1111/febs.14782 #0.14 Berndt 2015 +Km_malmito_n = 0.3 #1.4 #doi:10.1111/febs.14782 #0.3 Berndt 2015 + + +# Fumarase (FUM); FUMmito ⇒ MALmito based on Berndt 2015 +Vmaxfum_a = 42.24027032956515 #231.87304452250146 #260. # 20. #1.496 # 90721*2.27*1e-4=20.59 Mogilevskaya +Km_fummito_a = 0.14 #0.2 # doi:10.1111/febs.14782 #0.14 Berndt 2015 +Km_malmito_a = 0.3 #1.4 #doi:10.1111/febs.14782 #0.3 Berndt 2015 + + +# psiFUM_n1 = Vmaxfum_n*(FUMmito_n0 - MALmito_n0/Keqfummito_n)/(1.0+FUMmito_n0/Km_fummito_n+MALmito_n0/Km_malmito_n) +# psiFUM_a1 = Vmaxfum_a*(FUMmito_a0 - MALmito_a0/Keqfummito_a)/(1.0+FUMmito_a0/Km_fummito_a+MALmito_a0/Km_malmito_a) + +# println(psiFUM_n1) +# println(psiFUM_a1) + + +################################################### + + +# r09: MDH: MALmito_a + NADmito_a ⇒ OXAmito_a + NADHmito_a # MALmito_a ⇒ OXAmito_a # + +# VmaxMDHmito_n = 3261.5989 #20. #10. # approx #32000.0 #Berndt #0.53 +# Keqmdhmito_na = 0.022 #0.02 #0.02 #0.01 #4e-5 #1e-3 #1.2e-3 #Berndt2012 or 1e-4 Berndt2015 #0.000402 # +# Km_mal_mdh_n = 0.4 #0.33 #0.145 #Berndt #0.167 #0.0145 # 0.33 Berndt2018 +# Km_nad_mdh_na = 0.06 #Berndt #0.056 #0.006 +# Km_oxa_mdh_n = 0.1 #0.08 #0.017 #0.04 #Bernstein1978 #0.017 #Berndt #0.055 #0.0017 +# Km_nadh_mdh_na = 0.044 #Berndt #0.026 #0.0044 + +VmaxMDHmito_n = 390.370655175952 #417.5043146364773 # 417.7479828450139 # 418.7013772682505 # 450.58427655768554 #450. # 445. #390. #475. #800.0 #70.07614130634326 #3261.5989 #20. #10. # approx #32000.0 #Berndt #0.53 + +Keqmdhmito_na = 0.025 #0.022 #0.02 #0.02 #0.01 #4e-5 #1e-3 #1.2e-3 #Berndt2012 or 1e-4 Berndt2015 #0.000402 # +Km_mal_mdh_n = 0.4 #0.33 #0.145 #Berndt #0.167 #0.0145 # 0.33 Berndt2018 +Km_nad_mdh_na = 0.06 #Berndt #0.056 #0.006 +Km_oxa_mdh_n = 0.1 #0.08 #0.017 #0.04 #Bernstein1978 #0.017 #Berndt #0.055 #0.0017 +Km_nadh_mdh_na = 0.044 #Berndt #0.026 #0.0044 + + + +# Malate dehydrogenase; MALmito + NADmito ⇒ OXAmito + NADHmito based on Berndt 2015 +VmaxMDHmito_a = 107.964870005644 #118.4814599996424 # 343.03071799750387 #300.0 #343.03071799750387 #800.0 #53.57 #20. # approx #32000.0 #Berndt +#Keqmdhmito_na = 0.022 #0.02 #0.01 #4e-5 #1e-3 #1.2e-3 #Berndt 0.0001 +Km_mal_mdh_a = 0.4 #0.33 #0.145 #Berndt #0.0145 #0.145 # 0.33 Berndt2018 +#Km_nad_mdh_na = 0.06 #Berndt #0.006 #0.06 +Km_oxa_mdh_a = 0.1 #0.08 #0.017 #0.04 #Bernstein1978 0.017 #Berndt #0.0017 #0.017 +#Km_nadh_mdh_na = 0.044 #Berndt #0.0044 #0.044 + + + +# psiMDH_n1 = VmaxMDHmito_n*(MALmito_n0*NADmito_n0-OXAmito_n0*NADHmito_n0/Keqmdhmito_n) / ((1.0+MALmito_n0/Km_mal_mdh_n)*(1.0+NADmito_n0/Km_nad_mdh_n)+(1.0+OXAmito_n0/Km_oxa_mdh_n)*(1.0+NADHmito_n0/Km_nadh_mdh_n)) # eto_mito_n_scaled* +# psiMDH_a1 = VmaxMDHmito_a*(MALmito_a0*NADmito_a0-OXAmito_a0*NADHmito_a0/Keqmdhmito_a) / ((1.0+MALmito_a0/Km_mal_mdh_a)*(1+NADmito_a0/Km_nad_mdh_a)+(1+OXAmito_a0/Km_oxa_mdh_a)*(1+NADHmito_a0/Km_nadh_mdh_a)) + + +# println(psiMDH_n1) +# println(psiMDH_a1) + diff --git a/multiscale_run/data/metabolism/bf_input.jl b/multiscale_run/data/metabolism/bf_input.jl new file mode 100755 index 0000000..0093cc2 --- /dev/null +++ b/multiscale_run/data/metabolism/bf_input.jl @@ -0,0 +1,21 @@ +# vV dyn BF Winter 2017 +global_par_F_0 = 0.012 +global_par_delta_F = 0.42 + +global_par_tau_v = 35.0 + +global_par_t_0 = 200.0 +global_par_t_fin = 20.0 #40.0 # global_par_t_en_D + +global_par_t_1 = 2.0 + + +C_O_a = 8.34 #7.78346 #8.34 #9.14 #Calvetti # 8.35 Jlv # 8.34 #Winter2017 # C_O_a:7.78346 in opt: 202110220825 + +#PScap = 10. +PScapA = 0.8736 #0.2175 #Jolivet #10. Winter +PScapNAratio = 1.9 #3.8 +#PScapN = PScapNAratio*PScapA #0.747 #Jolivet #40.5 # Winter +KO2b = 0.0361 +HbOP = 8.6 +param_degree_nh = 2.73 # param_degree_JO2 = 1/param_degree_nh diff --git a/multiscale_run/data/metabolism/creatine.jl b/multiscale_run/data/metabolism/creatine.jl new file mode 100755 index 0000000..4e8e3d4 --- /dev/null +++ b/multiscale_run/data/metabolism/creatine.jl @@ -0,0 +1,49 @@ +# Calvetti2018 +# # psiCrKinase_n(Cr_n,ATP_n,ADP_n,PCr_n), Cr_n + ATP_n ⇒ ADP_n + PCr_n + MET_h_c_n + +# V_Cr_n = 10.0 #16666.67 #kcat_Cr_n = 935138.5 #V_Cr_n 16666.67 +# mu_Cr_n = 0.01 +# Km_Cr_n = 495.0 + +# V_PCr_n = 10.0 #16666.67 #kcat_PCr_n = 935138.5 #V_PCr_n 16666.67 +# mu_PCr_n = 100.0 +# Km_PCr_n = 528.0 + +# # psiCrKinase_n1 = V_Cr_n * (Cr_n0 / (Cr_n0 + Km_Cr_n)) * ( (ATP_n0/ADP_n0)/ ( mu_Cr_n + ATP_n0/ADP_n0 )) - ( V_PCr_n * (PCr_n0 / (PCr_n0 + Km_PCr_n)) * ( ADP_n0/ATP_n0 ) / ( mu_PCr_n + ADP_n0/ATP_n0 ) ) + + +# ####################################################### + +# #psiCrKinase_a(Cr_a,ATP_a,ADP_a,PCr_a), Cr_a + ATP_a ⇒ ADP_a + PCr_a + MET_h_c_a + +# V_Cr_a = 10.0 #16666.67 #kcat_Cr_a = 668433.5 #V_Cr_a 16666.67 +# mu_Cr_a = 0.01 # par[281] +# Km_Cr_a = 495.0 # par[282] + +# V_PCr_a = 10.0 #16666.67 #kcat_PCr_a = 668433.5 #V_PCr_a 16666.67 +# mu_PCr_a = 100.0 +# Km_PCr_a = 528.0 + +# # psiCrKinase_a1 = V_Cr_a * (Cr_a0 / (Cr_a0 + Km_Cr_a)) * ( (ATP_a0/ADP_a0) / ( mu_Cr_a + ATP_a0/ADP_a0 )) - (V_PCr_a * (PCr_a0 / (PCr_a0 + Km_PCr_a)) * ( ADP_a0/ATP_a0 ) / ( mu_PCr_a + ADP_a0/ATP_a0 )) + + +# Jolivet2015 + opt par +Crtot = 10.0 #5.0 #10.0 in Jlv + +kCKnps = 0.0214016075483191 #0.027854224286550353 +#kCKnms = 0.0008979238618658251 + +kCKgps = 0.00178189983486018 #0.00178189983486018 #0.0003859785697371309 +#kCKgms = 1.2499574733414296e-5 + +# creatine upd for better opt: +# kCKnms -> KeqCKnpms*kCKnps +# kCKgms -> KeqCKgpms*kCKgps + +# psiCrKinase_n1(PCr_n,ATP_n,ADP_n) = kCKnps*PCr_n*ADP_n - KeqCKnpms*kCKnps*(Crtot - PCr_n)*ATP_n # kCKnps*PCr_n*ADP_n - kCKnms*(Crtot - PCr_n)*ATP_n +# psiCrKinase_a1(PCr_a,ATP_a,ADP_a) = kCKgps*PCr_a*ADP_a - KeqCKgpms*kCKgps*(Crtot - PCr_a)*ATP_a # kCKgps*PCr_a*ADP_a - kCKgms*(Crtot - PCr_a)*ATP_a + +KeqCKnpms = 0.04265840286184623 #0.0453633356986354 #0.03223654166881234 #0.0008979238618658251/0.027854224286550353 #kCKnms/kCKnps +KeqCKgpms = 0.034 #KeqCKgpms = 0.0375 #0.0283089638639555 #0.032384115889975654 #1.2499574733414296e-5/0.0003859785697371309 #kCKgms/kCKgps +# ini: 0.032236541668812340.032384115889975654 + diff --git a/multiscale_run/data/metabolism/ephys_parameters.jl b/multiscale_run/data/metabolism/ephys_parameters.jl new file mode 100755 index 0000000..a3fe5a7 --- /dev/null +++ b/multiscale_run/data/metabolism/ephys_parameters.jl @@ -0,0 +1,166 @@ +# # Na/K-ATPase +# kPumpn = 2.49e-06; # cm (mmol/L)-1 sec-1 +# kPumpg = 4.64e-07; # cm (mmol/L)-1 sec-1 +KmPump = 0.5; # mmol/L +# vPumpg0 = 0.0708; # mmol/L sec-1 + +SmVn = 2.5e04; # cm-1 +SmVg = 2.5e04; # cm-1 +# gNan = 0.0155; # mS cm-2 +# gNag = 0.00623; # mS cm-2 + +# Ratio of excitatory conductance +glia = 50.0; # mV +# +# Neuronal parameters +Cm = 1e-03; # mF/cm2 +gL = 0.02; # mS/cm2 + +gNa = 56. # 40.0; # mS/cm2 +gK = 6. # 18.0; # mS/cm2 +g_M = 0.075 # not Jlv, enzymes/enzymes_preBigg/gen_mix.ipynb + +gCa = 0.02; # mS/cm2 +gmAHP = 6.5; # mS/cm2 +KD = 30e-03; # mmol/L +tauCa = 150e-03; # sec +Ca0 = 0.5e-04; # mmol/L +EK = -80.0; # mV +ECa = 120.0; # mV +Ee = 0.0; # mV +Ei = -80.0; # mV +phi = 4.0; # phih # +#phin = 4.0; # +## + +kPumpn = 2.2e-06; +gNan = 0.0136; +gNag = 0.0061; +gKpas = 0.04 #0.05 #0.2035; ############ +kPumpg = 4.5e-07; +vPumpg0 = 0.0687; + +gKn = 0.05 # approx between Calv, Jlv, enzymes/enzymes_preBigg/gen_mix.ipynb +gKg = 0.05 # approx between Calv, Jlv, enzymes/enzymes_preBigg/gen_mix.ipynb + +# qAK = 0.92; +# A = 2.212; # mmol/L + +tau_max = 0.6 # not jlv, approx ms-s, 608ms /enzymes/enzymes_preBigg/gen_mix.ipynb + + + +RateDecayK_a = 0.07 + +ImaxNaKa = 1.45 +INaKaKThr = 20. # 16 is estim in W2013 # !!!!!!!!!!!! +INaKaNaThr = 30. # 1 is estim in W2013 # !!!!!!!!!!!! + +gKirV = 6.75*gKpas # 0.1*2* #7*gKpas +VKirAV = 31.15 + +gKirS = 40*gKpas #4*gKpas # 0.1* #40*gKpas +VKirS = 26.8 + +gleakA = gKpas # 0.1* +VleakA = -40. + +### +VprodEET_a = 72.0 +kdeg_EET_a = 7.1 +CaMinEET_a = 5e-5 #5e-6 #1e-4 # !!!!!!!!!!!! +EETshift = 2000.0 #mV 4.0 mV is [EET]*EETshift #0.002 # 2. # approx # !!!!!!!!!!!! + +Ca3BK = 0.0004 +Ca4BK = 0.00015 + +v4BK = 14.5 +v5BK = 8. +v6BK = -13. + +psiBK = 2.664 #0.02 # !!!!!!!!!!!! +gBK = 54.0*gKpas # 200. ##1000*gKpas # 200. #0.2 # 200pS # !!!!!!!!!!!! + +EBK = -80. #-95. # !!!!!!!!!!!! + +KGlutSyn = 4. #8.82 ########### +deltaGlutSyn = 0.001235 +rhIP3a = 0.0048 +kdegIP3a = 1.25 + +konhIP3Ca_a = 2000. #2e-3 # 2 +khIP3Ca_aINH = 1e-4 +Pleak_CaER_a = 1e-3 #2.5e-3 #5.2e-3 # # !!!!!!!!!!!! + +beta_Ca_a = 0.025 #0.0244 #in W2013 !!!!!!!!!!! + + + + +VCa_pump_a = 0.055 #0.05worked #0.02 # !!!!!!!!!!!! +KpCa_pump_a = 0.00019 #0.000192 + + + + +ImaxIP3_a = 1.0 #2.88 in W2013 !!!!!!!!!!! +KIIP3_a = 1e-5 #3.0e-5 in W2013 !!!!!!!!!!! +KCaactIP3_a = 0.00017 + +Ca_perivasc = 5.0e-3 +tauTRPCa_perivasc = 20. #1.5 #2.0 #0.9 #in W2013 !!!!!!!!!!! + + + + +gTRP = 10*gKpas #w #11.5*gKpas #10*gKpas worked #13.5*gKpas # 1e-5* !!!!!!!!!!!! +VTRP = 6. + +r0TRPVsinf = 0.0237 #0.23wwithe2TRPVsinf = 0.25 #0.032w with e2TRPVsinf = 0.1 #0.034f #0.032w #0.03 # 0.0237 # !!!!!!!!!!!! + +#eTRPVsinf = ((rTRPVsinf-r0TRPVsinf)/r0TRPVsinf) +e2TRPVsinf = 0.046 #0.045 #0.05f #0.04r #0.06f #0.02r #0.025 #0.1w +kTRPVsinf = 0.101 #0.102r #0.1 # !!!!!!!!!!!! + +gammaCaaTRPVsinf = 5e-5 #5e-5worked #5.0e-7 #1e-6 #1e-5 #5.0e-5 # 0.2uM in W2012 # 0.01uM in W2013 !!!!!!!!!!! +gammaCapTRPVsinf = 0.32 #w # 0.3r #0.35 #w #0.2worked +v1TRPsinf_a = 120. +v2TRPsinf_a = 13. + + + + +epsilon = 1.0 #9.33 # 1/s # Calvetti2018 #epsilon=1.333333333 # Cressman2011 # 1.2 Cressman2009 +mu_glia_ephys = 0.1 #0.01 #0.1 # Calvetti2018 +#mu_pump_ephys = 0.1 + +kbath = 4.0 #6.3 #4.0 # #kbath=4.0 Cressman2011 #3. CapoRangel ... Calvetti2019 #5.03 #4.2 #6.3 # mM # Calvetti2018 + +gamma = 5.99 #but gamma-ephys isn't in use, because different ephys model in the end; gamma is only used for mito-ETC functions #5. #0.045 +glia_c = 30. #20.75 # mM/s # Calvetti2018 #glia=66.666666666 # Cressman2011 + +Na_n2_baseNKA = 18. #15.5 #15.7 #10.0 #14.70 # 18 # Jglia + +K_n_Rest = 120. #130. #140.0 +#Na_ecs_Rest = 130. #140. #144.0 +Na_n_Rest = 8. #9.5 #10.5 #9.5 #10.5 #8. #10. #10.5 + + +# Jolivet conc +Na_out = 150. # 153.5 # +# Na_n0 = 8.5 +# Na_a0 = 15. + +synInput = 1e-12 + +gbar = 7.8e-06; # mS cm-2 sec +finf = 3.5; # Hz +f0 = 32; # Hz +tau = 2.5 +Ne = 240.0 + +# synaptic glutamate +amplGR = 1.1 #25. +tauG= 2. #2.7 +KsynGlutPulse = 0.4; #8.8 + diff --git a/multiscale_run/data/metabolism/gaba.jl b/multiscale_run/data/metabolism/gaba.jl new file mode 100755 index 0000000..8356cb4 --- /dev/null +++ b/multiscale_run/data/metabolism/gaba.jl @@ -0,0 +1,26 @@ +# psiGAD_inh_n(GLU_n), GLU_n + MET_h_c_n ⇒ GABA_inh_n + MET_co2_c_n + +glutamatergic_gaba_scaling = 0.1 # 0.1 for GLU-neurons + + +VmaxGAD_inh_n = 0.000178 +KmGAD_inh_n = 4.0 +# from Thesis of Evelyn Rodriguez: A MATHEMATICAL MODEL OF NEUROCHEMICAL MECHANISMS IN A SINGLE GABA NEURON + +#psiGAD_inh_n(GLU_n) = glutamatergic_gaba_scaling * VmaxGAD_inh_n*GLU_n/(KmGAD_inh_n + GLU_n) +#psiGAD_inh_n1 = glutamatergic_gaba_scaling * VmaxGAD_inh_n*GLU_n0/(KmGAD_inh_n + GLU_n0) + +# psiGLU_GABA is 0.13 umol per gram tissue per minute. # Yamashita 2018: vesicular GABA uptake rate is 5–6 times slower than the glutamate uptake rate + +############################################### + +# psiGADcatab_inh_n(GABA_inh_n), GABA_inh_n ⇒ SUCmito_n + +# combo of reactions in Bigg: +# ABUTD,4ABUTtm,ABTArm,SSALxm(r0178) + +kGADcatab_inh_n = 0.0005 #0.00101 + +#psiGADcatab_inh_n(GABA_inh_n) = glutamatergic_gaba_scaling*kGADcatab_inh_n * GABA_inh_n +#psiGADcatab_inh_n1 = glutamatergic_gaba_scaling*kGADcatab_inh_n * GABA_inh_n0 + diff --git a/multiscale_run/data/metabolism/general_parameters.jl b/multiscale_run/data/metabolism/general_parameters.jl new file mode 100755 index 0000000..4d526ba --- /dev/null +++ b/multiscale_run/data/metabolism/general_parameters.jl @@ -0,0 +1,16 @@ +R = 8.31 # J/(K*mol) +T = 310.0 # Kelvin, 37 C +F = 9.64853e04 # +RTF = 26.73 # mV + +eto_n = 0.45 # Jolivet2015 # 0.4 # volume fraction neuron Calvetti2018 # +eto_a = 0.25 #0.3 # volume fraction astrocyte Calvetti2018 # 0.25 Jolivet2015 +eto_ecs = 0.2 #0.3 # volume fraction ecs Calvetti2018 # 0.2 Jolivet2015 +eto_b = 0.0055 #0.04 # volume fraction blood Calvetti2018 # 0.0055 Jolivet2015, Winter2017 +beta = eto_n/eto_ecs #1.33 # Calvetti2018; in Cressman2011 it was set to 7.0 + +# Compare J_C4 from Theurey with vMitooutn from Jolivet: 3.5926631697208284 times higher respiration (C4) in Theurey as compared to Jolivet (vMitooutn) +# 1/3.5926631697208284 = 0.2783450473253539 = T2Jcorrection +# make J_C4 (with proper 1000* /W_) be same as 0.6*vMitooutn (see du for O2, see enzymes_preBigg/OXPHOS_ETC_Theurey2019de_mMmod_n2test.ipynb ) and correspondingly change all other mito rates + +T2Jcorrection = 0.2783450473253539 #1.3*0.2783450473253539 #1.3049872091414738*0.2783450473253539 # 0.2783450473253539 \ No newline at end of file diff --git a/multiscale_run/data/metabolism/generalisations.jl b/multiscale_run/data/metabolism/generalisations.jl new file mode 100755 index 0000000..c42c096 --- /dev/null +++ b/multiscale_run/data/metabolism/generalisations.jl @@ -0,0 +1,50 @@ +# mito resp from Jlv2015 +# VrespMitoout_n = 0.1610 +# VrespMitoout_a = 0.0627 +# KO2MitoResp = 0.001 +# KRespADP_n = 3.328e-03 +# KRespADP_a = 4.989e-04 +# KRespNADH_n = 4.54e-02 +# KRespNADH_a = 2.66e-02 + +VrespMitoout_n = 0.140644217754747 #0.15640216013767116 +VrespMitoout_a = 0.0510063287190737 #0.06115387526422048 + +KO2MitoResp = 0.001 + +KRespADP_n = 0.0557248838326987 #0.3495441819775649 +KRespADP_a = 0.0102874918177607 #0.045393594641510326 + +KRespNADH_n = 0.13114593324930549 +KRespNADH_a = 0.0759898967510787 + +# NADH Shuttles a Jolivet opt +TgNADH_jlv = 55.0410655992489 #51.94256357630623 +MgCyto_jlv = 0.0002614 #2.614e-04 +MgMito_jlv = 9620.0 #9.620e+03 + +# NADH Shuttles n Jolivet opt + +TnNADH_jlv = 2910.22500248421 #2691.2265435495747 #1.1709070145980331*2298.411838000185 #0.9361685524612757*0.9996042792515688*0.6924570931165768*1.3051626594529149*1.462361970041893*0.8672648386372539*2142.799630588424 #2348.64 # 9446 # mmol/L/sec +MnCyto_jlv = 4.653e-08 +MnMito_jlv = 366600.0 #3.666e+05 + +KmMito = 0.04 +KmMito_a = 0.02 #0.04 + +KmNADn_jlv = 2.023244602040409 #4.171638354722493*0.485 #2.8886769438173014*0.485 #4.85e-01 +KmNADg_jlv = 162.04744400627905 #4.237642364180937*38.24 #2.8567630357548386*38.24 # mmol/L + +VMaxMitoinn = 0.877982001488671 #1.110778742993905 #0.147 +VMaxMitoing = 34.5066477078802 #42.837139022091534 #0.07658716521503295 * 5.31 + + + +V_oxphos_n = 4.60513160667386 +V_oxphos_a = 2.45307864305658 +K_oxphos_n = 1.0 +K_oxphos_a = 1.0 +mu_oxphos_n = 0.00778541423822839 +mu_oxphos_a = 0.0478833989798708 +nu_oxphos_n = 0.244089708012957 +nu_oxphos_a = 0.0615914841992225 diff --git a/multiscale_run/data/metabolism/gltgln.jl b/multiscale_run/data/metabolism/gltgln.jl new file mode 100755 index 0000000..60e036c --- /dev/null +++ b/multiscale_run/data/metabolism/gltgln.jl @@ -0,0 +1,137 @@ +# SNAT n: psiSNAT_GLN_n(GLN_out,GLN_n), GLN_out ⇒ GLN_n + +TmaxSNAT_GLN_n = 0.07614698345131839 #0.02331661188845118 # < after opt # 0.039 +KmSNAT_GLN_n = 1.1 # Chaudhry 1999 +coeff_gln_ratio_n_ecs = 2.5 #1.0506973592641118 # < after opt # 2.5 + + +# #psiSNAT_GLN_n(GLN_out,GLN_n) = TmaxSNAT_GLN_n*(GLN_out-GLN_n/coeff_gln_ratio_n_ecs)/(KmSNAT_GLN_n+GLN_n) +# psiSNAT_GLN_n1 = TmaxSNAT_GLN_n*(GLN_out0 - GLN_n0/coeff_gln_ratio_n_ecs)/(KmSNAT_GLN_n+GLN_n0) + +####################################### + +# GLS n: psiGLS_n(GLN_n,GLUmito_n), GLN_n ⇒ GLUmito_n + +#bigg "psiGLS_n":["GLNtm_n","GLUNm_n","GLUt2m_n"] + +VmGLS_n = 330.14406166650446 #0.02921417471855462 # < after opt # 0.01 +KeqGLS_n = 25. #12.0 +KmGLNGLS_n = 12.0 +KiGLUGLS_n = 45.0 + + +# #psiGLS_n(GLN_n,GLUmito_n) = VmGLS_n*( GLN_n - GLUmito_n/KeqGLS_n )/ (KmGLNGLS_n*(1.0 + GLUmito_n/KiGLUGLS_n) + GLN_n ) +# psiGLS_n1 = VmGLS_n*( GLN_n0 - GLUmito_n0/KeqGLS_n )/ (KmGLNGLS_n*(1.0 + GLUmito_n0/KiGLUGLS_n) + GLN_n0 ) + + +####################################### + +# synGlutRelease + +glut_vesicle_deltaConc = 0.1 # mM Flanagan2018 +coeff_synGlutRelease = 1.5 #0.33 + +# ! ATTENTION ! v_thr depends on saveat (and tstops) + +# # when solving with saveat 1e-4: +# v_thr = -60. #-2.732 + +# when solving with saveat 1e-1: +v_thr = 60. #-2.732 + +#synGlutRelease(V) = glut_vesicle_deltaConc*exp(-((V+v_thr)/coeff_synGlutRelease)^2) / (coeff_synGlutRelease * 1.772 ) + + +########################################## + + +# psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out), GLUT_syn ⇒ Va + GLUT_a +# bigg GLUt6(), k_c + glu__L_e + h_e + 3.0 na1_e ⇌ glu__L_c + h_c + 3.0 na1_c + k_e +# bigg closest rn: GLUt6: k_c + glu__L_e + h_e + 3.0 na1_e ⇌ glu__L_c + h_c + 3.0 na1_c + k_e + +# Flanagan 2018 + +# GLTGLN_r01_EAAT12_a + +Na_syn_EAAT = 150.0 # 150 to be same as out #140.0 +H_syn_EAAT = 4e-05 +H_ast_EAAT = 6e-05 +SA_ast_EAAT = 2.8274e-13 # m2 +alpha_EAAT = 0.41929231117352916 #0.0011781014781337903 # < after opt # 1e-5 #1e-06 +beta_EAAT = 0.035 #0.0292 +K_ast_EAAT = 100.0 +Vol_syn = 1e-18 +Vol_astEAAT = 3.76e-17 + +# EAAT1 / GLT-1 +#VrevEAAT = (R*T/(2*F))* log( ((Na_syn_EAAT/Na_a)^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/GLUT_a) * (K_a/K_out ) ) + +# VrevEAAT = (R*T/(2*F))* log( clamp(((Na_syn_EAAT/ clamp(Na_a,1e-12,Na_a) )^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/ clamp(GLUT_a,1e-12,GLUT_a) ) * (K_ast_EAAT/ clamp(K_out,1e-12,K_out)) ,1e-12, ((Na_syn_EAAT/ clamp(Na_a,1e-12,Na_a) )^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/ clamp(GLUT_a,1e-12,GLUT_a) ) * (K_ast_EAAT/ clamp(K_out,1e-12,K_out)) ) ) # simplified K +##worked with this before 26may2020 VrevEAAT = (R*T/(2*F))* log( clamp(((Na_syn_EAAT/ clamp(Na_a,1e-12,Na_a) )^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/ clamp(GLUT_a,1e-12,GLUT_a) ) * (K_a/ clamp(K_out,1e-12,K_out)) ,1e-12, ((Na_syn_EAAT/ clamp(Na_a,1e-12,Na_a) )^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/ clamp(GLUT_a,1e-12,GLUT_a) ) * (K_a/ clamp(K_out,1e-12,K_out)) ) ) # simplified K + +#VrevEAAT() = (R*T/(2*F))* log( clamp(((Na_syn_EAAT/ clamp(Na_a,1e-12,Na_a) )^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/ clamp(GLUT_a,1e-12,GLUT_a) ) * (K_a/ clamp(K_out,1e-12,K_out)) ,1e-12, ((Na_syn_EAAT/ clamp(Na_a,1e-12,Na_a) )^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/ clamp(GLUT_a,1e-12,GLUT_a) ) * (K_a/ clamp(K_out,1e-12,K_out)) ) ) # simplified K +#VEAAT() = (1/(2*F))* SA_ast_EAAT * ( -alpha_EAAT*exp(-beta_EAAT*(Va - VrevEAAT)) ) # # Va = Va0 +#psiEAAT12() = - ((1/(2*F))* SA_ast_EAAT * ( -alpha_EAAT*exp(-beta_EAAT*(Va - (R*T/(2*F))* log( clamp(((Na_syn_EAAT/ clamp(Na_a,1e-12,Na_a) )^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/ clamp(GLUT_a,1e-12,GLUT_a) ) * (K_ast_EAAT/ clamp(K_out,1e-12,K_out)) ,1e-12, ((Na_syn_EAAT/ clamp(Na_a,1e-12,Na_a) )^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/ clamp(GLUT_a,1e-12,GLUT_a) ) * (K_ast_EAAT/ clamp(K_out,1e-12,K_out)) ) ) )) ) ) / Vol_syn + +#VEAAT(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) = (1/(2*F))* SA_ast_EAAT * ( -alpha_EAAT*exp(-beta_EAAT*(Va - ((R*T/(2*F))* log( ((Na_syn_EAAT/Na_a)^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/GLUT_a) * (K_a/K_out ) )))) ) # # Va = Va0 + +#worked in full sys: +#psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) = - 0.1* ((1/(2*F))* SA_ast_EAAT * ( -alpha_EAAT*exp(-beta_EAAT*(Va - ((R*T/(2*F))* log( ((Na_syn_EAAT/Na_a)^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/GLUT_a) * (K_a/K_out ) )))) )) / Vol_syn #worked with this before 26may2020 + +# #psiEAAT121 = - ((1/(2*F*1e-3))* SA_ast_EAAT * ( -alpha_EAAT*exp(-beta_EAAT*(Va0 - ((R*T/(2*F*1e-3))*log( ((Na_syn_EAAT/Na_a0)^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn0/GLUT_a0) * (K_a0/K_out0 ) )))) )) +# psiEAAT121 = - ((1/(2*F*1e-3)) * ( -alpha_EAAT*exp(-beta_EAAT*(Va0 - ((R*T/(2*F*1e-3))*log( ((Na_syn_EAAT/Na_a0)^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn0/GLUT_a0) * (K_a0/K_out0 ) )))) )) + +# #/ Vol_syn #worked with this before 26may2020 + +# # check it, should have Vol_syn but Domain error in log if Vol_syn without clamp, but clamp is not easily compatible with Catalyst and not biological + + +########################################## + +# psiGDH_simplif_a(NADmito_a,GLUmito_a,NADHmito_a,AKGmito_a), GLUmito_a + NADmito_a ⇒ AKGmito_a + NADHmito_a +# bigg GDHm glu__L_m + h2o_m + nad_m ⇌ akg_m + h_m + nadh_m + nh4_m + +# GLTGLN_r02_GDH_a + +VmGDH_a = 0.0192685649342926 #0.02 #0.1 #0.02 +KeqGDH_a = 1.5 #1.0 #0.646 #0.34 #0.3 +KiNAD_GDH_a = 1.0 +KmGLU_GDH_a = 3.5 # 0.33 Mezhenska2019 +KiAKG_GDH_a = 0.25 # 4.2 Mezhenska2019 +KiNADH_GDH_a = 0.004 +KmNADH_GDH_a = 0.04 +KmAKG_GDH_a = 1.1 # 0.36 Mezhenska2019 +KiGLU_GDH_a = 3.5 # 9.0 Mezhenska2019 + +########################################## + +# psiGLNsynth_a(GLUT_a,ATP_a,ADP_a), GLUT_a + ATP_a ⇒ GLN_a + ADP_a + +# GLTGLN_r03_GLNsynth_a + +VmaxGLNsynth_a = 0.020022679766390446 #0.0013164531825672209 # < after opt # 0.01 #0.039 +KmGLNsynth_a = 2.0 #3.5 #2.0 # 3.5 LISTROM1997 +muGLNsynth_a = 0.01 + +#Calvetti2011, Pamiljans1961 + +# bigg GLNS atp_c + glu__L_c + nh4_c ⇌ adp_c + gln__L_c + h_c + pi_c + + +########################################## + +# psiSNAT_GLN_a(GLN_a,GLN_out), GLN_a ⇒ GLN_out + +# GLTGLN_r04_SNAT_a + +TmaxSNAT_GLN_a = 0.054730164766604375 #0.039 #0.008 +KmSNAT_GLN_a = 1.1 +coeff_gln_ratio_a_ecs = 1. + +# #SNAT GLN transporter +# psiSNAT_GLN_a1 = TmaxSNAT_GLN_a*(GLN_a0-GLN_out0)/(KmSNAT_GLN_a+GLN_a0) + + +# #bigg GLNt4: gln__L_e + na1_e → gln__L_c + na1_c + + diff --git a/multiscale_run/data/metabolism/glycogen.jl b/multiscale_run/data/metabolism/glycogen.jl new file mode 100755 index 0000000..2185f91 --- /dev/null +++ b/multiscale_run/data/metabolism/glycogen.jl @@ -0,0 +1,111 @@ +# Glycogen + +# based on DiNuzzo2010_2_glycogen.pdf doi:10.1038/jcbfm.2010.151 + +# Glycogen synthase +#VmaxGS_a = 0.07585 # 0.00153 #0.1 #0.5 #DiNuzzo2010_2_glycogen.pdf doi:10.1038/jcbfm.2010.151 # 0.000153 in Cloutier2009 0.0001528 in cellml Cloutier2009 +kL2_GS_a = 0.4502909779144298 #3.4 # JC2018 #3.33 #0.017 #0.01 # 1.53e-4 mM/s Cloutoer2009 #0.017 #mmol/L per s #DiNuzzo2010 PMID: 20827264 #3.33 prev par opt Jay +kmL2_GS_a = 1.4 #0.57 # JC2018 + +# Glycogen phosphorylase +k_L2_GS_a = 0.8008668792292503 #0.34 # JC2018 +km_L2_GS_a = 1.4 # JC2018 + +VmaxGP_a = 0.001843542832727982 # 5.41521636193213E-06 # 0.00000525 # 0.000005 #0.00005 #0.0001 #0.001 #0.008 #DiNuzzo2010_2_glycogen.pdf doi:10.1038/jcbfm.2010.151 # 4.92e-5 in Cloutier2009 4.922e-5 in cellml Cloutier2009 +KmGP_AMP_a = 0.1 #1e-5 # 1e-5 adj to new u0 24aug22 #0.01 # adj AMP to match glycogen dynamics in DiNuzzo2010_2_glycogen.pdf doi:10.1038/jcbfm.2010.151 # 0.016 DiNuzzo2010_2_glycogen.pdf doi:10.1038/jcbfm.2010.151 +hGPa = 1.5 + + +#adapted from Lambeth +# Phosphoglucomutase +Vmaxfpglm_a = 1.8474212896979174 # 0.00095469565397463 # 0.64 #0.001 #0.005 #0.01 #0.1 #adj to gp flux at act # 8mM/s - 0.48 M/min Lambeth +KmG6PPGLM_a = 0.001 #0.0024 #0.03 # adj from conc diff 0.03*0.06/0.75 # g6p = 0.75 Lambeth +KmG1PPGLM_a = 0.01 #0.0107 # adj from conc diff 0.063*0.01/0.0589 #0.063 # g1p = 0.0589 Lambeth +KeqPGLM_a = 4.9 # 6.5 # 16.62 #1.0048450801727364*6.5 #7.05 #7.01 # adj from conc ratio to flux close to GP flux at steady state #0.45 + +#VmaxPDE_a = 1.92e-5 #0.00105*exp(-4) with approx conc from mol atlas #1050.0 +VmaxPDE_a = 1e-3 #1.92e-5 #0.00105*exp(-4) with approx conc from mol atlas #1050.0 +Kmcamppde_a = 0.0055 #mM #5500.0 +#psiPDE_a(cAMP_a) = VmaxPDE_a*cAMP_a/(Kmcamppde_a + cAMP_a) + + + + + + +# details glycogen regulation +# GSAJay +kg8_GSAJay = 5.0 +st_GSAJay = 0.003 +kmg8_GSAJay = 0.00012 +s1_GSAJay = 100.0 +kg2_GSAJay = 0.5 +kg7_GSAJay = 20.257289129639318 #1.012864456481966*20.0 # kg7_GSAJay = 20.0 +kmg7_GSAJay = 0.015 + +# Phosphorylase kinase act 0 ⇒ PHKa +cai0_ca_ion = 5e-05 +kg3_PHKact = 20.0 +kt_PHKact = 0.0025 +kmg3_PHKact = 0.004 +kg4_PHKact = 5.0 +kmg4_PHKact = 0.0011 + +# PHK +kg5_PHK = 1915.1920260832771 #20.0 +pt_PHK = 0.007 +kmg5_PHK = 0.01 +s1_PHK = 100.0 +kg2_PHK = 0.5 +kg6_PHK = 500.0 #5.0 +kmg6_PHK = 0.005 +s2_PHK = 0.001 +kgi_PHK = 10.0 +kmind_PHK = 2e-06 + + +# PKA1,2 +kgc1_PKA12 = 1e-06 +k_gc1_PKA12 = 0.01 + +kgc2_PKA12 = 1e-06 +k_gc2_PKA12 = 0.01 + + + +# GP +Vmaxfgpa = 0.001 #4.93e-5 #Cloutier2009 # 0.008 DiNuzzo2010 #0.33 + +Km_GLY_b_GP_a_a = 0.15 +Ki_G1P_GP_a_a = 10.1 +Ki_GLY_fGP_a_a = 2.0 +Km_Pi_GP_a_a = 4.0 +KeqGPa = 0.42 + +Ki_Pi_G_P_a_a = 4.7 +Km_GLY_fGP_a_a = 1.7 + + +### +Vmaxfgpb = 0.5 + +KiGLYbGP_b_a = 4.4 +Km_G1P_GP_b_a = 1.5 +Ki_GLY_fGP_b_a = 15.0 +Km_Pi_GP_b_a = 0.2 +KeqGPb = 0.42 + + +AMPnHGPb = 1.5 #1.75 # 1.5 DiNuzzo2010 +Km_AMP_GP_b_a = 0.016 #DiNuzzo2010 #1.9e-06 +Ki_Pi_G_P_b_a = 4.6 +Ki_G1P_GP_b_a = 7.4 + + +#### UDPGP +VmaxfUDPGP = 0.004420628605834113 #0.0045555170380946215 #0.0015762057284464041*2.890179217014261 # 1.374710748327394*1.070600857717005*0.01253505948380228 # +VmaxrUDPGP = 0.017682514423336453 #0.018222068152378486 # 0.0015762057284464041*11.560716868057044 # 1.374710748327394*1.070600857717005*0.8599116744575482* 0.026768820961076727*0.027228381148077584*2.5 +KutpUDPGP = 0.05 # KutpUDPGP +Kg1pUDPGP = 0.1 +KpiUDPGP = 0.2 #200.0 # 200 as adj for Pi instead of PPi #0.2 +KUDPglucoUDPGP_a = 0.05 # KglucoUDPGP diff --git a/multiscale_run/data/metabolism/gshgssg.jl b/multiscale_run/data/metabolism/gshgssg.jl new file mode 100755 index 0000000..3313881 --- /dev/null +++ b/multiscale_run/data/metabolism/gshgssg.jl @@ -0,0 +1,71 @@ +# psiGSSGR_n(GSSG_n,NADPH_n), GSSG_n + NADPH_n ⇒ 2GSH_n + NADP_n + +Vmf_GSSGR_n = 0.006 # 0.296193997692182 # 8.625213760987834e-6 # 0.0001 #0.0025 #kcat_f_GSSGR_n = 210.0 # Vali PMID: 17936517 10.7 # 0.0025 # 8.925 mM/h Reed2008 #Vmax_GSSGR_n #kcat_r_GSSGR_n = 210.0 # Vali PMID: 17936517 #0.12 #Vmr_GSSGR_n 0.000029 #0.00029 # par[382] # 0.0000005 + +# KmGSSGRGSSG_n = 0.11112641937846 # 0.0642364727884081 # 0.0652 #PMID: 4018089 0.107 # mM 0.072 mM 0.107 mM # Reed 2008 +# KmGSSGRNADPH_n = 0.0100081583265437 # 0.00883424633339055 # 0.00401498478437164 #0.00852 #PMID: 4018089 0.0104 # mM Reed 2008 +# # simplified version, Reed2008; Vali PMID: 17936517 +KmGSSGRGSSG_n = 0.0652 #PMID: 4018089 0.107 # mM 0.072 mM 0.107 mM # Reed 2008 +KmGSSGRNADPH_n = 0.00852 #PMID: 4018089 0.0104 # mM Reed 2008 + + +############################ + +# psiGSSGR_a(GSSG_a,NADPH_a), GSSG_a + NADPH_a ⇒ 2GSH_a + NADP_a + +Vmf_GSSGR_a = 0.003 #0.323856399322304 #0.0025 #kcat_f_GSSGR_a = 210.0 # Vali PMID: 17936517 4.35 #Vmf_GSSGR_a 0.0025 # 8.925 mM/h Reed2008 #Vmax_GSSGR_n #Vmf_GSSGR_a 1.5 #15.27 # par[381] + +#kcat_r_GSSGR_a = 210.0 # Vali PMID: 17936517 0.05 #Vmr_GSSGR_a 0.000029 #0.00029 # par[382] # 0.0000005 +# KmGSSGRGSSG_a = 0.0825167868170385 #0.0652 #PMID: 4018089 #0.107 # mM 0.072 mM 0.107 mM # Reed 2008 +# KmGSSGRNADPH_a = 0.019192925530061 #0.00852 #PMID: 4018089 #0.0104 # mM Reed 2008 + +KmGSSGRGSSG_a = 0.0652 #PMID: 4018089 #0.107 # mM 0.072 mM 0.107 mM # Reed 2008 +KmGSSGRNADPH_a = 0.00852 #PMID: 4018089 #0.0104 # mM Reed 2008 + + +# denom_offset_a = 1.73 + +# # simplified version, Reed2008; Vali PMID: 17936517 +# psiGSSGR_a1 = (Vmf_GSSGR_a*GSSG_a0*NADPH_a0 ) / ( ( KmGSSGRGSSG_a + GSSG_a0 )*( KmGSSGRNADPH_a + NADPH_a0 ) ) # GSSG_a + NADPH_a ⇒ 2GSH_a + NADP_a + + +############################ + +# Mulukutla2015, Reed2008 +#psiGPX_n(GSH_n), 2GSH_n ⇒ GSSG_n + +V_GPX_n = 0.001072378746836681 # 0.00173937423839227 # 0.00001 #0.00125 #kcat_GPX_n = 2.0 # Vali PMID: 17936517 2.7 0.00125 #4.33 # par[380] # 4.5 mM/h +KmGPXGSH_n = 0.571655480073944 # 0.571655480073944 # 0.5152645026510133 # 1.33 #0.133 # Vali PMID: 17936517 1.33 #mM # Reed2008 +# KmH2O2_n = 0.00009 # mM # can add H2O2 inhib see Reed 2008 for parameters and eq + +############################ + +# Mulukutla2015, Reed2008 +#psiGPX_a(GSH_a), 2GSH_a ⇒ GSSG_a + +V_GPX_a = 0.0011730710542436833 #0.0011730407957506474 #0.0011730286476087722 #0.00149823791984372 #0.00125 #kcat_GPX_a = 2.0 # Vali PMID: 17936517 #1.96 #V_GPX_a 0.00125 #4.33 # par[380] # 4.5 mM/h +KmGPXGSH_a = 1.13224874593032 #1.33 #0.133 # Vali PMID: 17936517 #1.33 #mM # Reed2008 +# KmH2O2_a = 0.00009 # mM # can add H2O2 inhib see Reed 2008 for parameters and eq + +#psiGPX_a1 = V_GPX_a * GSH_a0 / (GSH_a0 + KmGPXGSH_a) + + +VmaxGSHsyn_n = 1.5e-5 +KmGSHsyn_n = 0.03 # approx based on Reed2008 + +VmaxGSHsyn_a = 1.5e-5 +KmGSHsyn_a = 0.03 # approx based on Reed2008 + +glycine_n = 10.0 # PMID: 10719892 #0.924 +glycine_a = 2.0 # PMID: 10719892 #0.924 +glutamylCys_n = 0.021375 # 0.021 #0.022 #0.0098 +glutamylCys_a = 0.4 #0.022 #0.0098 +KeGSHSyn_n = 5.6 +KeGSHSyn_a = 5.6 +Km_glutamylCys_GSHsyn_n = 0.022 +Km_glycine_GSHsyn_n = 0.3 +Km_glutamylCys_GSHsyn_a = 0.022 +Km_glycine_GSHsyn_a = 0.3 + +# glutathioneSyntase1(GSH_n) = VmaxGSHsyn_n*GSH_n/(GSH_n + KmGSHsyn_n) +# glutathioneSyntase1(GSH_n0) diff --git a/multiscale_run/data/metabolism/ketones.jl b/multiscale_run/data/metabolism/ketones.jl new file mode 100755 index 0000000..7f31d69 --- /dev/null +++ b/multiscale_run/data/metabolism/ketones.jl @@ -0,0 +1,138 @@ +# bHB art-cap + +C_bHB_a = 0.3 #0.18 + +# JbHBTrArtCap1 = (2*(C_bHB_a - bHB_b0)/eto_b)*(global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(100-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(100-(global_par_t_0+global_par_t_1+global_par_t_fin+3))))))) + +################################ + +# MCT bhb b + +# MCT1_bHB_b(bHB_b,bHB_ecs), bHB_b ⇒ ∅ +# (eto_b/eto_ecs)*(bHB_b,bHB_ecs), ∅ ⇒ bHB_ecs # eto_b/eto_ecs = 0.0275 + +VmaxMCTbhb_b = 0.35559905936750225 #0.29 #mM/s # Neves 2012 +KmMCT1_bHB_b = 12.5 #mM # Perez-Escuredo 2016 Table 2 +#KmMCT1_bHB_a = 6.03 #mM - astrocyte #Jay's alt from Achanta and Rae 2017, with subref Tildon 1994 + +# MCT1_bHB_b1 = VmaxMCTbhb_b*(bHB_b0/(bHB_b0 + KmMCT1_bHB_b) - bHB_ecs0/(bHB_ecs0 + KmMCT1_bHB_b)) + + +################################ + +# MCT bhb a: MCT1_bHB_a(bHB_ecs,bHB_a), bHB_ecs ⇒ bHB_a + +VmaxMCTbhb_a = 0.29 #mM/s # Neves 2012 +KmMCT1_bHB_a = 6.03 #mM astrocytes Achanta and Rae 2017, with subref Tildon 1994 #12.5 #mM # Perez-Escuredo 2016 Table 2 +#KmMCT1_bHB_a = 6.03 #mM #Jay's alt from Achanta and Rae 2017, with subref Tildon 1994 + +## Jay comment: besides MCT1, there is also the pyruvate transporter for bHB: betaOHB is poor substrate for the +## mitochondrial pyruvate carrier (KM = 5.6 mM; although its metabolite acetoacetate is carried with +## reasonable affinity (0.56 mM)"" Achanta and Rae 2017, Halestrap 1978 Biochem J. +## Not sure if we'll ever need this mechanism for bHB, maybe for AcAc + + +# MCT1_bHB_a1 = VmaxMCTbhb_a*(bHB_ecs0/(bHB_ecs0 + KmMCT1_bHB_a) - bHB_a0/(bHB_a0 + KmMCT1_bHB_a)) + + +################################ + +# MCT bhb n: MCT2_bHB_n(bHB_ecs,bHB_n), bHB_ecs ⇒ bHB_n + +VmaxMCTbhb_n = 0.29032861767118245 #0.29 #mM/s # Neves 2012 +KmMCT2_bHB_n = 1.2 #mM # Perez-Escuredo 2016 https://doi.org/10.1016/j.bbamcr.2016.03.013 Table 2 # Ronowska 2018 + +# MCT2_bHB_n1 = VmaxMCTbhb_n*(bHB_ecs0/(bHB_ecs0 + KmMCT2_bHB_n) - bHB_n0/(bHB_n0 + KmMCT2_bHB_n)) + + + +################################ + +# bHBDH_n(NAD_n,bHB_n), NAD_n + bHB_n ⇒ AcAc_n + NADH_n + + +# beta-hydroxybutyrate dehydrogenase is exclusively located in mitochondria (DOI: 10.1002/iub.2367) +# but here I was using cytosolic conc just as approximation + + +Vmax_bHBDH_f_n = 0.05139599967731973 #0.532 #0.532 # 0.9063430122643024 #1.2 # 0.532 # Nielsen 1973, check units +Vmax_bHBDH_r_n = 0.012848999919329931 #0.665 #0.665 # 0.5358569280430245 #0.4 # 0.665 # Nielsen 1973, check units +#Keq_bHBDH_n 0.033 # Nielsen 1973 + +# Km_AcAc_BHBD_n = 0.39 # 0.26784852162653866 #0.39 mM # brain mito Dombrowski 1977 +# Km_NADH_BHBD_n = 0.05 #mM # brain mito Dombrowski 1977 +# Km_NAD_B_HBD_n = 0.39 # 0.17691521110119537 # 0.39 mM # brain mito, similar in brain and liver Dombrowski 1977 +# Km_betaHB_BHBD_n = 0.45 # 0.4574168440640211 #1.98 #mM #brain mito, similar in brain and liver Dombrowski 1977 +# Ki_NADH_BHBD_r_n = 0.3 # 0.38858801604311016 # 0.22 # mM in direction AcAc to bHB # brain mito Dombrowski 1977 +# Ki_NAD_B_HBD_f_n = 0.45 # 1.0508306759981987 # 1.5 # mM Nielsen 1973 + +Km_AcAc_BHBD_n = 0.2 #0.45 #0.39 # 0.26784852162653866 #0.39 mM # brain mito Dombrowski 1977 +Km_NADH_BHBD_n = 0.05 #mM # brain mito Dombrowski 1977 +Km_NAD_B_HBD_n = 0.2 #0.39 # 0.17691521110119537 # 0.39 mM # brain mito, similar in brain and liver Dombrowski 1977 +Km_betaHB_BHBD_n = 0.45 # 0.4574168440640211 #1.98 #mM #brain mito, similar in brain and liver Dombrowski 1977 +Ki_NADH_BHBD_r_n = 0.39 #0.3 # 0.38858801604311016 # 0.22 # mM in direction AcAc to bHB # brain mito Dombrowski 1977 +Ki_NAD_B_HBD_f_n = 0.45 # 1.0508306759981987 # 1.5 # mM Nielsen 1973 + + +################################ + +# SCOT_n: SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n), SUCCOAmito_n + AcAc_n ⇒ AcAcCoA_n + SUCmito_n + +VmaxfSCOT_n = 2.6842893020795207 #1.68 # 1.67 #mM/s # calc from kcat from WhiteJencks and conc of SCOT (gene OXCT1) in mol atlas +VmaxrSCOT_n = 0.08787851881807955 #0.055 #0.08 # 0.08 adj for conc #0.12 # mM/s # calc from kcat from WhiteJencks and conc of SCOT (gene OXCT1) in mol atlas + +Km_AcAc_SCOT_n = 0.25 #0.16 #mM # or 0.2 mM in Hersh (ref from White Jencks 1975) +Km_AcAcCoA_SCOT_n = 0.19 #mM # or 0.93 mM in Hersh (ref from White Jencks 1975) +Km_SUC_SCOT_n = 23.0 #mM # Km_Succinate_SCOT_n or 36 mM in Hersh (ref from White Jencks 1975) +Km_SucCoA_SCOT_n = 4.2 #mM +Ki_AcAc_SCOT_n = 0.78 #0.29 #mM # or 0.78 mM in Hersh (ref from White Jencks 1975) +Ki_AcAcCoA_SCOT_n = 0.033 #mM # or 0.17 mM in Hersh (ref from White Jencks 1975) +Ki_SUC_SCOT_n = 0.54 #mM # Ki_Succinate_SCOT_n or 1.0 mM in Hersh (ref from White Jencks 1975) +Ki_SucCoA_SCOT_n= 2.4 #mM # or 1.9 mM in Hersh (ref from White Jencks 1975) + + +# combo f r as SCOT_n() for TD chem pot bigg: OCOAT1m + + +################################ + +# thiolase (gene ACAT1) + +# thiolase_n(CoAmito_n,AcAcCoA_n), CoAmito_n + AcAcCoA_n ⇒ 2AcCoAmito_n +#bigg: 2.0 accoa_m → aacoa_m + coa_m + +# also can adjust for brain thiolase activity is 8% of heart thiolase activity # table 1 from Yang 1987 + +# Vmax_thiolase_f_n = 2.13 #0.5 # approx #2.13 # mM/s # Gilbert: kf is 360 sec-1 # 360*exp(1.78)*1e-3 + +# #Vmax_thiolase_r_n = 2.37e-5 #Gilbert: kr is 4e-3 sec-1 # 4e-3*exp(1.78)*1e-3 + +# #Km_AcCoA_thiolase_r_n = 0.237 #mM (rat liver) # Huth 1982 +# #Km_AcAcCoA_thiolase_r_n = 0.035 #mM #35 uM (peroxisomes), 80 uM (cytosol) # Antonenkov2000 FEBS + +# Km_AcAcCoA_thiolase_f_n = 0.021 #0.021 #mM #21.0 uM # Gilbert thiolase II heart (ketone bodies utilization) # 0.01 mM Huth 1982 # 9 uM (peroxisomes), 16 uM (cytosol) # Antonenkov2000 FEBS +# #Km_AcCoA_thiolase_f_n = 0.0085 #mM #8.5 uM # Gilbert thiolase II heart (ketone bodies utilization) # 0.09 mM (rat liver) # Huth 1982 +# Km_CoA_thiolase_f_n = 0.056 #0.056 #mM #56.0 uM # Gilbert thiolase II heart (ketone bodies utilization) #0.025 mM Huth 1982 # 8 uM (peroxisomes), 20 uM (cytosol) # Antonenkov2000 FEBS +# Ki_CoA_thiolase_f_n = 0.05 #mM Huth 1982 +# #Ki_AcAcCoA_thiolase_r_n = 0.0016 #mM Huth 1982 + +Vmax_thiolase_f_n = 1.0 #2.13 #0.5 # approx #2.13 # mM/s # Gilbert: kf is 360 sec-1 # 360*exp(1.78)*1e-3 + +#Vmax_thiolase_r_n = 2.37e-5 #Gilbert: kr is 4e-3 sec-1 # 4e-3*exp(1.78)*1e-3 + +#Km_AcCoA_thiolase_r_n = 0.237 #mM (rat liver) # Huth 1982 +#Km_AcAcCoA_thiolase_r_n = 0.035 #mM #35 uM (peroxisomes), 80 uM (cytosol) # Antonenkov2000 FEBS + +Km_AcAcCoA_thiolase_f_n = 0.021 #0.021 #mM #21.0 uM # Gilbert thiolase II heart (ketone bodies utilization) # 0.01 mM Huth 1982 # 9 uM (peroxisomes), 16 uM (cytosol) # Antonenkov2000 FEBS +#Km_AcCoA_thiolase_f_n = 0.0085 #mM #8.5 uM # Gilbert thiolase II heart (ketone bodies utilization) # 0.09 mM (rat liver) # Huth 1982 +Km_CoA_thiolase_f_n = 0.056 #0.056 #mM #56.0 uM # Gilbert thiolase II heart (ketone bodies utilization) #0.025 mM Huth 1982 # 8 uM (peroxisomes), 20 uM (cytosol) # Antonenkov2000 FEBS +Ki_CoA_thiolase_f_n = 0.05 #mM Huth 1982 +#Ki_AcAcCoA_thiolase_r_n = 0.0016 #mM Huth 1982 + + + +# eq type based on eq18 https://www.qmul.ac.uk/sbcs/iubmb/kinetics/ek4t6.html#p52 + +# thiolase_n1 = Vmax_thiolase_f_n*CoAmito_n0*AcAcCoA_n0 / ( Ki_CoA_thiolase_f_n * Km_AcAcCoA_thiolase_f_n + Km_AcAcCoA_thiolase_f_n*CoAmito_n0 + Km_CoA_thiolase_f_n*AcAcCoA_n0 + CoAmito_n0*AcAcCoA_n0) + + diff --git a/multiscale_run/data/metabolism/lactate.jl b/multiscale_run/data/metabolism/lactate.jl new file mode 100755 index 0000000..1af7cb2 --- /dev/null +++ b/multiscale_run/data/metabolism/lactate.jl @@ -0,0 +1,130 @@ +# LAC +# Jolivet, Calvetti, Simpson, DiNuzzo... + + + +# LDH +# # LDH a +# VmfLDH_a = 780.0 #Winter2017 #4160.00 #Calvetti 1110. # DiNuzzo # 1.59 #Jolivet2015 +# VmrLDH_a = 32.0 #Winter2017 #3245.00 #Calvetti # 25. # DiNuzzo #0.071 # Jolivet pdf # 0.099 Joliivet matlab +# # LDH n +# VmfLDH_n = 2000. #Winter2017 #1436.00 #Calvetti #2000. # DiNuzzo 72.3 #Jolivet2015 +# VmrLDH_n = 15. #Winter2017 #1579.83 #Calvetti # 44.8 # DiNuzzo 0.72 # Jolivet pdf # 0.768 Joliivet matlab + +# KeqLDH = 1.62*(10^11) M^(-1) # https://doi.org/10.3389/fnins.2015.00022 # The equilibrium constant is strongly in favor of La− (1.62 × 10^11 M^−1) (Lambeth and Kushmerick, 2002) + +# OBrien2007 DOI 10.1007/s11064-006-9132-9 +# The main difference in LDH kinetics between the neuronal and glial preparations is found in the rates of the reverse reaction, +# conversion of lactate to pyruvate, +# which was more than two-fold higher in synaptosol than in astrocytes, +# with Vmax values of 268 lmol/min/ mg protein versus 123 lmol/min/mg protein, respectively. + +# LDH a: Berndt2018 (astrocytes express liver isoform LDH5) +# LDH n: Berndt2015 + +# LDH +# Params and mechanism from OBrien2007 DOI 10.1007/s11064-006-9132-9 eq derived according to mechanism + Calvetti2018 for redox dependence + +# # LDH a +# nu_LDH1f_a = 0.1 #0.01 # adj for redox ratio diff #0.1 #Calvetti2018 +# VmfLDH1_a = 7816.67 #4160.0 #Calvetti2018 # 1876 umol/min/mg protein OBrien2007 -> 1000*1876*0.25/60 = 7816.67 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +# KmLDH1pyr_a = 0.084 # OBrien2007 #6.24 #Calvetti2018 + +# nu_LDH1r_a = 10. #100. # adj for redox ratio diff # 10.0 #Calvetti2018 +# VmrLDH1_phase1_a = 225.0 #single phased 3245.0 #Calvetti2018 # 54 umol/min/mg protein OBrien2007 -> 1000*54*0.25/60 = 225 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +# VmrLDH1_phase2_a = 512.5 # 123 umol/min/mg protein OBrien2007 -> 1000*123*0.25/60 = 512.5 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 + +# KmLDH1lac_phase1_a = 1.5 # OBrien2007 +# KmLDH1lac_phase2_a = 8.6 # OBrien2007 + + +# # LDH n LDH5_synaptic + LDH1_n +# nu_LDH5f_n = 0.1 #0.01 # adj for redox ratio diff # 0.1 #Calvetti2018 +# VmfLDH5_n = 4845.83 # 1163 umol/min/mg protein OBrien2007 -> 1000*1163*0.25/60 = 4845.83 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +# KmLDH5pyr_n = 0.0296 # OBrien2007 #6.24 #Calvetti2018 + +# nu_LDH5r_n = 10. #100. # adj for redox ratio diff # 10.0 #Calvetti2018 +# VmrLDH5_phase1_n = 533.33 # 128 umol/min/mg protein OBrien2007 -> 1000*128*0.25/60 = 533.33 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +# VmrLDH5_phase2_n = 1116.67 # 268 umol/min/mg protein OBrien2007 -> 1000*268*0.25/60 = 1116.67 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 + +# KmLDH5lac_phase1_n = 1.73 # OBrien2007 +# KmLDH5lac_phase2_n = 7.77 # OBrien2007 + +# adj Vmax for abs val at relevant scale? + +# Params and mechanism from OBrien2007 DOI 10.1007/s11064-006-9132-9 eq derived according to mechanism + Calvetti2018 for redox dependence + +# LDH a +VmfLDH1_a = 7816.67 #4160.0 #7816.67 #4160.0 #Calvetti2018 # 1876 umol/min/mg protein OBrien2007 -> 1000*1876*0.25/60 = 7816.67 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +VmrLDH1_phase1_a = 225.0 #single phased 3245.0 #Calvetti2018 # 54 umol/min/mg protein OBrien2007 -> 1000*54*0.25/60 = 225 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +VmrLDH1_phase2_a = 512.5 # 123 umol/min/mg protein OBrien2007 -> 1000*123*0.25/60 = 512.5 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 + +KmLDH1pyr_a = 0.084 # OBrien2007 #6.24 #Calvetti2018 +KmLDH1lac_phase1_a = 1.5 # OBrien2007 +KmLDH1lac_phase2_a = 8.6 # OBrien2007 + +nu_LDH1f_a = 0.1 #0.01 # adj for redox ratio diff #0.1 #Calvetti2018 +nu_LDH1r_a = 1/nu_LDH1f_a #10. #100. # adj for redox ratio diff # 10.0 #Calvetti2018 + + +# LDH n LDH5_synaptic + LDH1_n +VmfLDH1_n = 7816.67 #4160.0 #7816.67 #4160.0 #Calvetti2018 # 1876 umol/min/mg protein OBrien2007 -> 1000*1876*0.25/60 = 7816.67 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +VmrLDH1_phase1_n = 225.0 #single phased 3245.0 #Calvetti2018 # 54 umol/min/mg protein OBrien2007 -> 1000*54*0.25/60 = 225 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +VmrLDH1_phase2_n = 512.5 # 123 umol/min/mg protein OBrien2007 -> 1000*123*0.25/60 = 512.5 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 + +KmLDH1pyr_n = 0.084 # OBrien2007 #6.24 #Calvetti2018 +KmLDH1lac_phase1_n = 1.5 # OBrien2007 +KmLDH1lac_phase2_n = 8.6 # OBrien2007 + +nu_LDH1f_n = 0.1 #0.01 # adj for redox ratio diff #0.1 #Calvetti2018 +nu_LDH1r_n = 1/nu_LDH1f_n #10. #100. # adj for redox ratio diff # 10.0 #Calvetti2018 + + +VmfLDH5_n = 0.999637815739898*4845.83 # 1163 umol/min/mg protein OBrien2007 -> 1000*1163*0.25/60 = 4845.83 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +VmrLDH5_phase1_n = 0.999637815739898*533.33 # 128 umol/min/mg protein OBrien2007 -> 1000*128*0.25/60 = 533.33 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 +VmrLDH5_phase2_n = 0.999637815739898*1116.67 # 268 umol/min/mg protein OBrien2007 -> 1000*268*0.25/60 = 1116.67 mM/s # *0.25 from Nazaret2009 doi:10.1016/j.jtbi.2008.09.037 + + +nu_LDH5f_n = 0.1 #0.01 # adj for redox ratio diff # 0.1 #Calvetti2018 +nu_LDH5r_n = 1/nu_LDH5f_n #10. #100. # adj for redox ratio diff # 10.0 #Calvetti2018 + +KmLDH5pyr_n = 0.0296 # OBrien2007 #6.24 #Calvetti2018 +KmLDH5lac_phase1_n = 1.73 # OBrien2007 +KmLDH5lac_phase2_n = 7.77 # OBrien2007 + +# art -> cap +C_Lac_a = 0.75 #0.55 #0.55 - 0.10113109309463841 #0.6 #0.82 #0.55 #0.815 #Lac_b0 #0.82 #Lac_b0 - 0.10113109309463841 #0.82 #1.22 #1.6 #0.82 #1.222 # 0.5 #1.225 #1.22 #1.25 #1.0 #0.85 # #0.82 #0.5 Jolivet2015 # 1. #0.9 #1.0 # Leegsma-Vogt PMID: 11746404 #0.82 # set slightly higher than Lac_b from http://dx.doi.org/10.1016/j.cmet.2015.10.010 + + +# using simple transport equations for Lac, because we don't model precisely H which are important for equations (like equations in DiNuzzo) + +# cap -> ecs +TbLac = (1/0.0275)*0.3 #0.28 #0.17 # Calvetti #0.00587 # Winter2017 0.3 #0.275 # 0.25 #Jolivet2015 0.3 # Jolivet matlab #0.29 # 0.26 ce 0.3 eb DiNuzzo2010 DiNuzzo2010_1.pdf # 0.00587 Winter2017 #0.25 #Jolivet pdf #0.17 # mM/s +KbLac = 1.0 #5. #3.5 #1.0 #1.87 #1.0 #Jolivet, Leegsma-Vogt PMID: 11746404 #5.00 # mM Calvetti # 0.5 Winter2017 # 3.5-10 mM Perez-Escuredo https://doi.org/10.1016/j.bbamcr.2016.03.013 + +# ecs <-> a +#Jolivet2015, Calvetti2018 +TaLac = (1/0.8)*107. # 0.035 #1.04167 #0.250 umol/min/mg Broer et al., 1997 DOI: 10.1002/jnr.20294 -> 1000*0.250*0.25/60 = 1.04167 mM/s # *0.25 from Nazaret2009 #66.67 #Calvetti #0.057 # Winter2017 # 107. #Jolivet matlab #106.1 #Jolivet pdf #66.67 Calvetti # ecsBA2a: 0.03 mM/s DiNuzzo2010, a2ecsAN: 0.04 mM/s DiNuzzo2010, ecsBA2a:1.2e-15 mmol/sec Simpson2007, a2ecsAN: 1.5e-14 mmol/sec Simpson 2007 +Km_Lac_a = 3.5 # Jolivet2015 #6.0 # 0.5 Winter2017 #3.5-10.0 mM https://doi.org/10.1016/j.bbamcr.2016.03.013 # 3.5-7.0 mM from Dienel 2019 https://doi.org/10.1002/jnr.24387 #15.0 # par[35] + +# ecs <-> n +TnLac = (1/0.44)*23.5 #0.07 #66.67 #Calvetti # 0.2175 #Winter2017 # 23.5 #Jolivet matlab #24.3 Jolivet pdf #66.67 Calvetti# 0.07 mM/s DiNuzzo2010, Simpson 2007 predicted: 4.9e-15 mmol/sec +Km_LacTr_n = 0.74 #Jolivet2015 #0.6 # 0.5 Winter2017 # 0.5-0.75 mM from https://doi.org/10.1016/j.bbamcr.2016.03.013 # 0.7 from Dienel 2019 https://doi.org/10.1002/jnr.24387 # 0.025 # par[37] + +TMaxLACgc = (1/0.022)*2.43e-03 +KtLACgc = 1.0 + +# ecs diffusion +betaLacDiff = 0 #0.001 # s-1 www.pnas.org􏱵cgi􏱵doi􏱵10.1073􏱵pnas.0605864104 +#Lac_ecs0 = Lac_ecs0 + + + +VmfLDH_a = 8.74949881831907 #8.445290697870174 #0.9722314374674746*1124.6166207771603 #1486.8293841083846 # 1.71 +#VmrLDH_a = 0.4331118732235805 # 0.9999030676455061*4.0693155124381875*1.107525198132424*0.099 #0.9722314374674746*67.2 #0.050693455630342395 #0.08044909945699166 # 0.099 + +VmfLDH_n = 241.739831262545 #226.35715419383556 #0.39617499995813404*4710.989517511934 #6059.141369229505 #78.1 +#VmrLDH_n = 0.7556440067499692 #0.999978541778008*0.9713032773071247*1.1049568944911459*0.768 #0.39617499995813404*36.18 #40.273541408198604*0.8929243326451762 #2.4067213774881893 #0.768 + +KeLDH_a = 0.046994407267851 #0.051284424505696105 +KeLDH_n = 0.00329708625924639 #0.0033382819705485936 diff --git a/multiscale_run/data/metabolism/pyrCarb.jl b/multiscale_run/data/metabolism/pyrCarb.jl new file mode 100755 index 0000000..3f12d16 --- /dev/null +++ b/multiscale_run/data/metabolism/pyrCarb.jl @@ -0,0 +1,12 @@ +# PYRCARB pyruvate carboxylase: PYRmito_a + ATPmito_a ⇒ OXAmito_a + ADPmito_a + +VmPYRCARB_a = 0.00755985436706299 #0.00770594375034992 # < from opt a #0.1 #11.97 + + +muPYRCARB_a = 0.01 +CO2_mito_a = 1.2 +KeqPYRCARB_a = 1.0 +KmPYR_PYRCARB_a = 0.05638211229110231 # < from opt a #0.22 +KmCO2_PYRCARB_a = 3.2 + +# psiPYRCARB_a1 = ( (ATPmito_a0/ADPmito_a0)/(muPYRCARB_a + (ATPmito_a0/ADPmito_a0)))*VmPYRCARB_a*(PYRmito_a0*CO2_mito_a - OXAmito_a0/KeqPYRCARB_a)/( KmPYR_PYRCARB_a*KmCO2_PYRCARB_a + KmPYR_PYRCARB_a*CO2_mito_a + KmCO2_PYRCARB_a*PYRmito_a0 + CO2_mito_a*PYRmito_a0) # PYRmito_a + ATPmito_a ⇒ OXAmito_a + ADPmito_a diff --git a/multiscale_run/data/metabolism/pyrTrCytoMito.jl b/multiscale_run/data/metabolism/pyrTrCytoMito.jl new file mode 100755 index 0000000..a95029a --- /dev/null +++ b/multiscale_run/data/metabolism/pyrTrCytoMito.jl @@ -0,0 +1,19 @@ +# PyrTr cyto2mito + +# Berndt2015,Jolivet2015 + +#Vmax_PYRtrcyt2mito_n = 6.0 #12.8 #128. #1.1 #1. #5. # 128. +# Vmax_PYRtrcyt2mito_nH = 158005. #158010. #128. +Vmax_PYRtrcyt2mito_nH = 7257.23890975437 # 7700.0 + +KmPyrCytTr_na = 0.15 #0.15 # Berndt2015 #0.015 # 0.63 BerndtHepatokin +KmPyrMitoTr_na = 0.15 #0.15 + +#Vmax_PYRtrcyt2mito_a = 3.0 #6. #3. #6.4 #12.8 #128. # 1.1 #1. #5. # 128. +# Vmax_PYRtrcyt2mito_aH = 158005. #158010. #128. +Vmax_PYRtrcyt2mito_aH = 7961.37240852442 #7700.0 + +KmPyrCytTr_n = 0.15 #0.15 # Berndt2015 +KmPyrMitoTr_n = 0.15 #0.15 +KmPyrCytTr_a = 0.15 #0.15 # Berndt2015 +KmPyrMitoTr_a = 0.15 #0.15 diff --git a/multiscale_run/data/metabolismndam_reduced/u0steady_22nov22.csv b/multiscale_run/data/metabolism/u0.csv similarity index 100% rename from multiscale_run/data/metabolismndam_reduced/u0steady_22nov22.csv rename to multiscale_run/data/metabolism/u0.csv diff --git a/multiscale_run/data/metabolism/u0_db_refined_selected_oct2021.jl b/multiscale_run/data/metabolism/u0_db_refined_selected_oct2021.jl new file mode 100755 index 0000000..fca4f03 --- /dev/null +++ b/multiscale_run/data/metabolism/u0_db_refined_selected_oct2021.jl @@ -0,0 +1,475 @@ +# THIS IS NOT REALLY U0. It is a series of parameters used to build up the system + + +VNeu0 = -65.0 #-71 NMC -73.0 Jolivet -70.0;-56.1999;-75.0 #mV # -56.1999 mV from Calvetti2018 # -61.5 in ephys +Va0 = -90.0 # mV # -0.09 V # Breslin2018 microdomains +m0 = 0.05 #calc based on Pospischil 2008 DOI 10.1007/s00422-008-0263-8 in workflow_sim/coupled_sim_gen_Ephys_Markram.ipynb #0.0054 #0.1*(VNeu0+30.0)/(1.0-exp(-0.1*(VNeu0+30.0))) / ( 0.1*(VNeu0+30.0)/(1.0-exp(-0.1*(VNeu0+30.0))) + 4.0*exp(-(VNeu0+55.0)/18.0) ) # (alpha_m + beta_m) +h0 = 0.6 #0.9002 # Calvetti2018, but 0.99 in Jolivet2015 +n0 = 0.32 #0.1558 # Calvetti2018, but 0.02 in Jolivet2015 +pgate0 = 0.0266 #calc + +ksi0 = 0.001 + +Conc_Cl_out0 = 125.0 #130.0 #;140.0;110.0 #140 mM # Novel determinants of the neuronal Cl− concentration Eric Delpire 2014 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4215762/ +Conc_Cl_in0 = 10.0 #6.0 #8.0;6.0 # mM # Novel determinants of the neuronal Cl− concentration Eric Delpire 2014 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4215762/ + +Na_n0 = 10.0 #11.5604 # mM + +Na_out0 = 153.5 +K_n0 = 140.0 + +K_out0 = 4.1 #;6.2773;2.3;5.9 #mM +-1.8 (mouse,rat) - Takaneshi, Manaka, Sano 1981 # Consider using 3mM for K_out (see ErecinskaSilverIonsMetabolism.pdf) # 6.2773 # mM +K_a0 = 100.0 #52.0 #;54.0;100.0;110.0;113.0;130.0 #Witthoft2013 # 100.0 #Flanagan2018 # # 130.0 # approx ## in intracellular K+ concentration [K+]in (from 110 to ~113 mM) dissipated over several seconds after [K+]out returned to 3 mM +Na_a0 = 13.5 # 13.5 mM is derived from 10-17 mM range of literature values #10.0 #17.0;10.0 #Witthoft2013 supp figure S2 in pdf # 15.0 in Jolivet2015 +Ca_a0 = 5.1e-5 #7.5e-5;8.0e-5;5.0e-5 # 5.0e-5 is from Jay Coggan 2020 https://doi.org/10.1016/j.jtbi.2019.110123 #75 nM # Physiology of Astroglia. Verkhratsky and Nedergaard 2018 # [Ca2+]i of 50−80 nM and [Na+]i of 15 mM, the ENCX could be as negative as about −85 to −90 mV, being thus very close (or even slightly more negative) to the resting membrane potential of astrocytes. +Ca_n0 = 5.1e-5 # Jlv2015 + + +nBK_a0 = 1e-5 +mGluRboundRatio_a0 = 0.0 +IP3_a0 = 1e-5 #5e-5 +hIP3Ca_a0 = 1.0 # approx +Ca_r_a0 = 0.4 # mM doi:10.1016/j.jtbi.2007.08.024 +sTRP_a0 = 0.001255 #f prestim, r after #0.00126r #0.00125f #0.00127r #0.0013r #0.0015r #0.002r 0.001f #0.005sg #0.001 #0.1 #0.001 +EET_a0 = 5e-4 + +O2_ecs0 = 0.04 #;0.03;0.05 #0.04 mM Calvetti2018 + +Glc_a0 = 1.2 # FelipeBarros2017doi:10.1002/jnr.23998 #;1.25;1.0;0.8;1.5;1.8;2.0;2.5 # ~1.5-2.5 mM From Molecules to Networks 2014 ###################################################### +ATP_a0 = 1.3 # 0.7-1.3 mM (acutely isolated cortical slices ) 1.5 mM ( primary cultures of cortical astrocytes from mice) doi: 10.3389/fncel.2020.565921 Kohler 2020 #2.17 #1.4;2.17;2.2 #2.17 # or 1.4 ? # atpc/adpc = 29 -> for 1.4 atp -> adp=0.05 +ADP_a0 = 0.045 # atpc/adpc = 29 -> for 1.3 atp -> adp=0.045 + +NADH_a0 = 0.10386865243459381 # Jlv 0.00078 #0.00078 derived from 2 eq: NAD+NADH=0.212 in Jolivet, Nad/NADH = 270 # Nad/NADH = 670-715 #NADH/NAD = [0.001,0.01] # Neves 2012 # mean NAD+/NADH value in hippocampal neurons was ∼660 and in hippocampal astrocytes was ∼270 https://doi.org/10.1089/ars.2015.6593 +NAD_a0 = 0.212 #0.21122 # derived from 2 eq: NAD+NADH=0.212 in Jolivet, Nad/NADH = 270 #0.16 #0.5 #;0.2 # 0.162061 Copasi Winter2017 + +# SPLIT GLC_ECS INTO basal_lamina and interstitial as in FelipeBarros2017doi:10.1002/jnr.23998 +#Glc_ecs0 = 1.3 #;1.25;0.23;2.4;2.48 #2.48 mM Jolivet2015 #1.25 # 2.4 mM SilverErecinsca 1994 Table 1 brain_glucose_SilverErecinska.pdf #try to split ECS_n and ECS_a see fig 2 in Felipe Barros 2017 https://doi.org/10.1002/jnr.23998 # or 0.23 mM from 10.1007/978-1-4614-1788-0 p394 : table 13.4 : rat brain interstitial : 0.23+-0.12 # 0.2-0.25 from 10.1007/978-1-4614-1788-0 p679 + (Silver and Erecinska 1994) # 0.33 mM from Cloutier2009 +Glc_ecsBA0 = 1.3 # 1.3 to Glc_b # endothel-to-astrocyte (basal lamina) FelipeBarros2017doi:10.1002/jnr.23998 # 2.7 DiNuzzo 2010 1 +Glc_ecsAN0 = 1.0 # astrocyte-to-neuron (interstitial space) FelipeBarros2017doi:10.1002/jnr.23998 +Glc_t_t0 = 1.4 # endothelium DOI: 10.1002/jnr.23998 + +Lac_ecs0 = 0.55 # MaechlerCell Lac gradient # 0.6 Jolivet #1.3 #1.4;1.3;1.2;0.6 #1.3 #Calvetti # 0.4 mM from Cloutier2009 + +O2_a0 = 0.03 # mM Calvetti2018 # 0.102 Cloutier2009 + +G6P_a0 = 0.06 #Kauffman1969,From Molecules to Networks 2014 #0.2 #;0.675;0.53;0.75;0.06;0.1 # #0.675 #mM-Park2016-worked #0.53 #0.75 # 0.53 also ok # 0.06-0.2 mM From Molecules to Networks 2014 (book) +#G6P_a0 = 0.2 # in between exp data #0.1 # Winter2017 #0.6 Poliquin, # 0.7 Cloutier #0.06 # 0.07 Winter2017 #0.2 #;0.675;0.53;0.75;0.06;0.1 # #0.675 #mM-Park2016-worked #0.53 #0.75 # 0.53 also ok # 0.06-0.2 mM From Molecules to Networks 2014 (book) + +# Mulukutla2014 (bistability): F6P = 0.09 - 0.3 mM + +F6P_a0 = 0.01 #Kauffman1969,From Molecules to Networks 2014 #;0.01;0.0969;0.228 # 0.01 - 0.02 mM From Molecules to Networks 2014 (book) #0.0969#-worked #mM -Park2016 # 0.228 mM -Lambeth2002 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +#F6P_a0 = 0.02 #;0.01;0.0969;0.228 # 0.01 - 0.02 mM From Molecules to Networks 2014 (book) #0.0969#-worked #mM -Park2016 # 0.228 mM -Lambeth2002 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +f26bp_a0 = 0.015 #;0.005;0.025 #0.005-0.025 #mM #Mulukutla supp fig plot 6 # 2.6-12.4 nmol/g wet weight ErecinskaSilverIonsMetabolism.pdf p15/35 -> 1.19*1e-3*(2.6-12.4) mM -> 0.003094 - 0.014756 + + +FBP_a0 = 0.03 #approx Berndt2015 #0.1 #;0.01;1.52;0.0723 # 0.01 - 0.1 mM From Molecules to Networks 2014 (book) #1.52 #-worked #0.0723 # Lambeth # Jay Glia expand # 1.52 #mM -Park2016 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +Lac_a0 = 0.6 #0.6 #Jolivet #1.3 #1.4;1.3;0.6 #1.3 # mM Calvetti2018; Lambeth ## 0.602393 # Jay 181130 # From AMPK 2020 CellRep https://doi.org/10.1016/j.celrep.2020.108092 : Lactate is 10–50 times more abundant than pyruvate in healthy cells; Lac/PYR = 10-15 (Siesjo 1978) + +AMP_a0 = 1e-5 ##0.01 #;0.03;2e-5;1e-5;0.05 #2e-5 #0.03 #-Mulukutla2015 #2e-5 # Lambeth # 0.01 # 2e-5 # 1e-5 # from 1e-5 to 0.05 # 0.00017 to 0.05 mM PMID: 2642915 +Pi_a0 = 20.0 # Theurey2019 #1.15 # estim from new ATP and ATP/Pi = 1.13-1.7; PCr/Pi = 1.87-3.74; ATP/PCr = 1.5-2.23 PMID: 2642915 #4.1 #;1.0;40.0;31.3 # Lambeth # 40.0 # 4.1 # 31.3 # 4.1 # 4.0 Anderson&Wright 1979 # wide range from 1 to 40 mM + +# Mulukutla2014 (bistability): GAP = 0.02 mM, DHAP = 0.04 mM +GAP_a0 = 0.005 #Kauffman1969,Jolivet2015,Tiveci2005. #0.05 #;0.04;0.0355;0.0574386;0.0046;0.141 # 0.04 - 0.05 mM From Molecules to Networks 2014 (book) # 0.141 #mM -Park2016 #0.0355 # Lambeth # 0.0574386 # 0.0574386 is from latest Jay's data; it was 0.0046 in Jay Glia expand !!!!!!!!!!!!!!!!!!!!!!!!!! +DHAP_a0 = 0.04 #Kauffman1969,From Molecules to Networks 2014 #0.03 #;0.01;1.63;0.0764 # 0.01 - 0.03 mM From Molecules to Networks 2014 #1.63 #mM -Park2016 # 0.0764 # Lambeth # Jay Glia +#GAP_a0 = 0.06 # in between Cloutier2009 and From Molecules to Networks 2014 #;0.04;0.0355;0.0574386;0.0046;0.141 # 0.04 - 0.05 mM From Molecules to Networks 2014 (book) # 0.141 #mM -Park2016 #0.0355 # Lambeth # 0.0574386 # 0.0574386 is from latest Jay's data; it was 0.0046 in Jay Glia expand !!!!!!!!!!!!!!!!!!!!!!!!!! +#DHAP_a0 = 0.03 #;0.01;1.63;0.0764 # 0.01 - 0.03 mM From Molecules to Networks 2014 #1.63 #mM -Park2016 # 0.0764 # Lambeth # Jay Glia expand !!!!!!!!!!!!!!!!!!!!!!!!!! + +BPG13_a0 = 0.04 #approx Shestov2014 DOI: 10.7554/eLife.03342 , erythrocyte, Lambeth 0.065 #mM Lambeth +PG3_a0 = 0.1 #approx Berndt2015 # 0.375 #;0.52;0.0168 #0.52 #0.0168 ####0.375 #-Park # 0.052 #mM Lambeth #!!!!!!!!!!!!! +PG2_a0 = 0.01 #approx Berndt2015 #0.00949 #;0.02;0.05;0.00256;0.005 ####0.00949 #mM #-Park #0.02 #mM -Berndt #0.005 #mM Lambeth # !!!!!!!!!!!!!!!!!!!! + +PEP_a0 = 0.005 #0.015 #0.005;0.004;0.0194;0.0142;0.028;0.017;0.015 # 0.015 # mM Jolivet2015 # 0.004-0.005 mM From Molecules to Networks 2014 # 0.0194 # Lambeth # 0.014203938186866 # Jay 181130 this value taken from Jolivet PEPg # 0.0279754 # was working with 0.0170014 # was working with 0.0279754 - Glia_170726(1).mod # was working 0.015 # glia expand in between n and g ### check it + +Pyr_a0 = 0.033 #Arce-Molina2019 #0.1 #0.04;0.033;0.15;0.1;0.2;0.35;0.0994;0.202 #mM 0.033-0.04 mM Arce-Molina2019 astrocyte cytosol #0.15 #0.1–0.2 mM -Lajtha 2007 book NeurochemistryEnergeticsBook.pdf #0.35 # mM Calvetti2018 # 0.0994 # Lambeth # 0.202024 # !!!!! From AMPK 2020 CellRep https://doi.org/10.1016/j.celrep.2020.108092 : Lactate is 10–50 times more abundant than pyruvate in healthy cells + +G1P_a0 = 0.01 #From Molecules to Networks 2014 (book) #0.0589 #mM -Lambeth #u59 + +################# glycogen_scaled[i]*5.0 here !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! LAYER_SPECIFIC!!!!!!!!!!! +GLY_a0 = 14.0 # DiNuzzo2010 doi:10.1038/jcbfm.2010.151 #5.0 #1.4;1.12;4.2;5.0;14mM DiNuzzo2010 doi:10.1038/jcbfm.2010.151 #glycogen_scaled[1]*5.0;glycogen_scaled[1]*30.0;glycogen_scaled[1]*1.12 #my main googledocs table # 1.12 # mM-Waitt2017 (up to 100 times lower than liver,skeletal muscle); Cloutier2009: 3mM #u60 # 1.4 to 4.2 mM Cloutier2009 + +GPa_a0 = 0.0016099978488516124 #0.00699 #0.0699071 #Jay +GPb_a0 = 0.06839000215114839 #0.010485 #;0.000025 #1.5*GPa_a;0.000025 #0.000025 #Jay +UDPgluco_a0 = 0.1 # from ratio with G1P #0.589 #mM +GS_a0 = 0.0029999 #0.01 # ;0.003 #0.003 # 0.0111569 # or 0.003 - both are in Jay's most recent # GSa_a0 +UTP_a0 = 0.23 #;1.76 #0.23 # too low 5.17e-15 # 5170 pmol/10^6cells Lazarowski&Harden # or 0.23 mM - Anderson&Wright + +cAMP_a0 = 0.04 #0.0449285 # approx Jay mod Coggan20188 wide range of conc starting from low conc +PKAa_a0 = 5.0e-8 #0.0018 #;1.4339 # from Jay 181130 = CC# 1.4339 # or 0.0018 +PKAb_a0 = 0.00025 #;0.082 # 0.0823673 # or 0.00025 + +PHKa_a0 = 4.0e-7 #0.0025 #;0.0089 # or 0.00899953 +PHKb_a0 = 0.000025 + +PP1_a0 = 1.0e-6 #0.00025 +R2CcAMP2_a0 = 1.0 #;0.3584 # Jay 181130 # 0.3584 # 1.0 # 0.3584 +R2CcAMP4_a0 = 1.0 #;1.55948 # Jay 181130 #1.55948 # 1.0 # 1.55948 + +Glc_b0 = 4.5 #5.0 # 5.5 glc blood in DOI 10.1002/glia so use slightly less in cap than art #4.5 #6.15 #mM Nehlig 1992 #4.51 # mM Calvetti2018 # 4.5 mM Jolivet2015 +Lac_b0 = 0.81 # mM #http://dx.doi.org/10.1016/j.cmet.2015.10.010 #0.5 #0.55 Jolivet # #1.24 # mM Calvetti2018 +O2cap0 = 7.0 #O2_b0 6.67;7.3 #7.3 #Winter2017 # 7.0 Jolivet2015 # 6.67 # mM Calvetti2018 # ?is it total or free? +q0 = 0.0067 #mL/s #0.4 # mL/min denoted as Q in table but seems to be q0 (baseline bloodflow) according to text and equations; used for callback + +PCr_a0 = 4.9242059083825644 #3.0 # close to 1.5 Cloutier2009, estim from new ATP and ATP/Pi = 1.13-1.7; PCr/Pi = 1.87-3.74; ATP/PCr = 1.5-2.23 PMID: 2642915 #4.9 #10.32;4.9 # mM Calvetti2018 #34.67 # Lambeth # 4.9 mM Jay 2020 # The ratio of creatine phosphate to creatine in isolated nerve terminals is about 0.5:1 (Erecinska and Nelson, 1994) Lajtha 2007 book NeurochemistryEnergeticsBook.pdf but the same source: If the creatine kinase activity is sufficient for maintaining the reaction close to equilibrium then the ATP/ADP ratio should be in the region of 90. This is far higher than is measured in the same preparation by conventional extraction and enzymatic analysis, where values close to 5 are generally reported (Erecinska and Nelson, 1994). +Cr_a0 = 2.0 # to sum to 5.0 as in Cloutier2009 #1.1e-3 # mM Calvetti2018 # 40-34.67 # Lambeth # + +###### GLU_GLN astrocyte +# Consequently, vesicular glutamate release from astrocytes creates localized extracellular glutamate accumulations of 1–100 μM [42] # Astrocyte glutamine synthetase: pivotal in health and disease Rose, Verkhratsky and Vladimir Parpura +GLUT_out0 = 2.5e-5 # mM # 25 nM # Physiology of Astroglia. Verkhratsky and Nedergaard 2018 #The extracellular concentration of glutamate in resting conditions is around 25 nM (677) https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6050349/ +GLUT_a0 = 0.3 #mM #0.3 mM (227) https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6050349/ # Physiology of Astroglia. Verkhratsky and Nedergaard 2018 and the same value in Savtchenko-Rusakov ASTRO 2018 +GLN_out0 = 0.2 #;0.3;0.13;0.5 #0.3 #mM # from 0.13 mM to 0.5 mM # Broer Brookes 2001 Transfer of glutamine between astrocytes and neurons #estimates of extracellular glutamine vary from 0.13 mm to 0.5 mm, the upper limit of this range being close to the mean around which plasma and CSF levels ¯uctuate (Jacobson et al. 1985; ErecinÂska and Silver 1990; Xu et al. 1998) +GLN_a0 = 0.25 #;2.0;0.3;0.2 #0.2-2.0 mM Hertz2017 #0.25 #mM estimate based on "a bit lower than GLUT_a" ##Broer Brookes 2001 Astrocytes and neurons, cultured in medium containing 2 mm glutamine, generate intracellular glutamine concentrations of 20 mm or more, when estimated on the basis of a solute-accessible water content of 4 mL per mg protein (Patel and Hunt 1985;Brookes 1992a) + +GLUT_syn0 = 5e-3 # mM #Breslin2018 table2 ref52 # Scimemi,Beato: DOI 10.1007/s12035-009-8087-7 glutamate concentration in synaptic vesicles is ~60 mM !!!!!!!!!!!!!!!!!!!!!!!!!! + +# steady-state release rate of glutamate (1.2 molecules per EAAC1 per second) is predicted to increase 20-fold at short times after the depolarization -- Transport direction determines the kinetics of substrate transport by the glutamate transporter EAAC1 2007 Zhou Zhang, Zhen Tao, Armanda Gameiro, Stephanie Barcelona, Simona Braams, Thomas Rauen, and Christof Grewer +# Broer Brookes 2001 The overall concentration of glutamine in normal mammalian brain is an estimated 5±9 nmol/mg wet weight, equivalent to 6±11 mM, with little regional variation(ErecinÂska and Silver 1990) +# GLUT_n_cyt = 1−10 mM. # Physiology of Astroglia. Verkhratsky and Nedergaard 2018 #https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6050349/ # the cytosolic concentration of glutamate in neurons is usually assumed to be in a range of 1−10 mM. +# # Physiology of Astroglia. Verkhratsky and Nedergaard 2018 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6050349/ Kinetics of the glutamate translocation by EAATs is relatively slow; both EAAT1 and EAAT2 transport ~30 molecules of glutamate per second (1286, 1956). The glutamate binding to the transporters (Km ~20 μM) is however much faster, and hence glutamate transporters concentrated at the perisynaptic processes act as almost instant buffers for glutamate. The higher is the density of transporters, the higher is their buffering capacity (1792). The EAAT2 in cultured hippocampal astrocytes has a remarkable lateral mobility regulated by glutamate, possibly allowing a continuous exchange of glutamate-bound and unbound transporters to maintain high buffer capacity of perisynaptic zones (1177). + +################ neuron +Lac_n0 = 0.5 #gradient in http://dx.doi.org/10.1016/j.cmet.2015.10.010 0.55 #0.6 Jolivet #0.8 #1.3;0.6 # From AMPK 2020 CellRep https://doi.org/10.1016/j.celrep.2020.108092 : Lactate is 10–50 times more abundant than pyruvate in healthy cells +Glc_n0 = 0.9 # FelipeBarros2017doi:10.1002/jnr.23998 #1.2 #;1.5;2.5 # ~1.5-2.5 mM From Molecules to Networks 2014 +O2_n0 = 0.03 # mM Calvetti2018 # 0.102 Cloutier2009 + + +ATP_n0 = 1.400216 # 00216 because of ETC # 1.4 # Non-canonical... paper #2.18 #1.4;0.84;2.18;2.2 #0.8435861272283393 #1.4 # 2.18 Calvetti2018 +ADP_n0 = 0.047784 # because of ETC #0.048 #6.3e-3 #0.03;6.3e-3 #6.3e-3 # mM Calvetti2018 # atpc/adpc = 29 -> for 1.4 atp -> adp=0.048 # atp/adp in range from 1 to >100 doi: 10.1038/ncomms3550 (2013) # 0.021-0.56 mM PMID: 2642915 + +#NADH_n = 1.2e-3 # mM Calvetti2018 # Nad/NADH = 670-715 ### check !! +#NAD_n = 0.03 # mM Calvetti2018 #NAD_n = 0.20574782239567735 # calc from Jay 181130 Rminusn 0.00625245 / 0.0303889 # was working with 0.5 # Jay Glia_170726(1).mod +NADH_n0 = 0.006243658877436395 #0.0003 # derived from 2 eq: NAD+NADH=0.212 in Jolivet, Nad/NADH = 700 # Nad/NADH = 670-715 #NADH/NAD = [0.001,0.01] # Neves 2012 +NAD_n0 = 0.212 #0.2117 # derived from 2 eq: NAD+NADH=0.212 in Jolivet, Nad/NADH = 700 + +PEP_n0 = 0.005 #0.015 #;0.005;0.004 # 0.004-0.005 mM From Molecules to Networks 2014 (book) # 0.015 # mM Jolivet2015 +Pyr_n0 = 0.06 #0.17 #0.3;0.05;0.2;0.38 #0.05 #0.05-0.2 mM From Molecules to Networks 2014 (book) # #0.38 # mM Calvetti2018 # From AMPK 2020 CellRep https://doi.org/10.1016/j.celrep.2020.108092 : Lactate is 10–50 times more abundant than pyruvate in healthy cells; Lac/PYR = 10-15 (Siesjo 1978 Brain energy metabolism. New York, NY: John Wiley & Sons) + +PCr_n0 = 4.946022342318186 #3.0 # close to Cloutier2009 2.5 mM PCrn, 3.0 is estim from new ATP and ATP/Pi = 1.13-1.7; PCr/Pi = 1.87-3.74; ATP/PCr = 1.5-2.23 PMID: 2642915 #4.9 #10.33;4.9 # 10.33 mM Calvetti2018 # 4.9 mM Jay 2020 +Cr_n0 = 2.0 # to sum to 5.0 as in Cloutier2009 #3.0e-4 # mM Calvetti2018 + +G6P_n0 = 0.06 #Kauffman1969,From Molecules to Networks 2014 #0.15 #;0.06;0.2;0.7 #was 0.2 before 27may2020 #0.06-0.2 mM From Molecules to Networks 2014 #0.7 #was working with 0.1 # # both n and a values worked here # # 0.7 = a ### 0.1 # approx from figure, so check it, Berndt 2015 +#G6P_n0 = 0.2 # in between exp data #0.1 # Winter2017 #0.6 Poliquin, # 0.7 Cloutier #0.06 #0.15 #;0.06;0.2;0.7 #was 0.2 before 27may2020 #0.06-0.2 mM From Molecules to Networks 2014 #0.7 #was working with 0.1 # # both n and a values worked here # # 0.7 = a ### 0.1 # approx from figure, so check it, Berndt 2015 + +# Mulukutla2014 (bistability): F6P = 0.09 - 0.3 mM + +F6P_n0 = 0.01 #Kauffman1969,From Molecules to Networks 2014 #;0.01;0.035;0.228 # 0.01 - 0.02 mM From Molecules to Networks 2014 #0.035#-worked # 0.228 # 0.228 = a ### 0.035 # approx from figure, so check it, Berndt 2015 +#F6P_n0 = 0.03 # 0.03 is between Winter2017 and From Molecules to Networks2014 #0.02 # 0.1 - Cloutier, Poliquin # #;0.01;0.035;0.228 # 0.01 - 0.02 mM From Molecules to Networks 2014 #0.035#-worked # 0.228 # 0.228 = a ### 0.035 # approx from figure, so check it, Berndt 2015 +FBP_n0 = 0.03 #approx Berndt2015 #0.1 #;0.01;1.52 # 0.01 - 0.1 mM From Molecules to Networks 2014 #0.035 #-approx from figure, so check it, Berndt 2015 # 1.52 #mM -Park2016 # !!!! + +# Mulukutla2014 (bistability): GAP = 0.02 mM, DHAP = 0.04 mM +GAP_n0 = 0.005 #Kauffman1969,Jolivet2015,Tiveci2005 #0.05 #;0.04;0.0046;0.057 # 0.04 - 0.05 mM From Molecules to Networks 2014 # 0.0574386 # Jay 181130 # was working with 0.00460529 ## 0.0574386 # 0.0574386 = a ### 0.00460529 # Jay Glia_170726(1).mod +DHAP_n0 = 0.04 #Kauffman1969,From Molecules to Networks 2014 #0.03 #;0.01;0.05 # 0.01 - 0.03 mM From Molecules to Networks 2014 # 0.05 # 0.0764 = a ### 0.05 # approx from figure, so check it, Berndt 2015 +#GAP_n0 = 0.04 # Cloutier2009 and From Molecules to Networks 2014 #;0.04;0.0046;0.057 # 0.04 - 0.05 mM From Molecules to Networks 2014 # 0.0574386 # Jay 181130 # was working with 0.00460529 ## 0.0574386 # 0.0574386 = a ### 0.00460529 # Jay Glia_170726(1).mod +#DHAP_n0 = 0.03 #;0.01;0.05 # 0.01 - 0.03 mM From Molecules to Networks 2014 # 0.05 # 0.0764 = a ### 0.05 # approx from figure, so check it, Berndt 2015 + +Pi_n0 = 20.0 # Theurey2019 1.15 # estim from new ATP and ATP/Pi = 1.13-1.7; PCr/Pi = 1.87-3.74; ATP/PCr = 1.5-2.23 PMID: 2642915 #4.1 #1.0-worked before 18feb2020 # 4.1 # check it Jay Glia expand +BPG13_n0 = 0.04 #approx Shestov DOI: 10.7554/eLife.03342 , erythrocyte, Lambeth #0.065 # check it Jay Glia expand #0.01 approx doi: 10.15255/CABEQ.2014.2002 ecoli + +PG3_n0 = 0.1 #approx Berndt2015 #0.07 #0.375=latest astrocyte # 0.052 =a ### 0.07 # approx from figure, so check it, Berndt 2015 +PG2_n0 = 0.01 #approx Berndt2015 #0.009 # 0.005 #;0.02;0.00949 #0.00949 =latest astrocyte # Lambeth # 0.02 # 0.005 # 0.005 = a ### 0.02 # approx from figure, so check it, Berndt 2015 + +f26bp_n0 = 0.015 #0.005;0.015;0.025 #0.015 #mM 0.005-0.025 mM Mulukutla2014 supp fig plot 6 #2.6-12.4 nmol/g wet weight ErecinskaSilverIonsMetabolism.pdf p15/35 -> 1.19*1e-3*(2.6-12.4) mM + + +# Berndt 2015 # fig S1 #mM and other ref, specified below +PYRmito_n0 = 0.05 #inferred from PYRcyt to PYRmito diff in astro where conc are measured by Arce-Molina 0.025 #0.14 # 0.14 Nazaret 2009 doi:10.1016/j.jtbi.2008.09.037 #0.1-0.6 Berndt 2015 #0.05 #inferred from PYRcyt to PYRmito diff in astro where conc are measured by Arce-Molina 0.025 +CITmito_n0 = 0.35 # 0.2-0.4 Ronowska 2018 10.3389/fncel.2018.00169 # 0.4 Nazaret 2009 10.1016/j.jtbi.2008.09.037 #;1.25 #1.25 # approx from figure, so check it, Berndt 2015 +ISOCITmito_n0 = 0.035 # 0.1CIT Frezza 2017 https://doi.org/10.1098/rsfs.2016.0100 #;0.09 #0.09 # approx # approx from figure, so check it, Berndt 2015 +AKGmito_n0 = 0.25 #0.25 Nazaret 2009 10.1016/j.jtbi.2008.09.037 #;0.6 #0.6 # approx # approx from figure, so check it, Berndt 2015 +SUCCOAmito_n0 = 0.0025 #0.05 # approxm # approx from figure, so check it, Berndt 2015 # SUCCOAmito < OXAmito +SUCmito_n0 = 0.5 #;1.25 ### 1.25 # Berndt 2015; or 0.5 mM from Succinate, an intermediate in metabolism, signal transduction, ROS, hypoxia, and tumorigenesis Laszlo Trette 2016 +FUMmito_n0 = 0.04 #Fink 2018 10.1074/jbc.RA118.005144 #0.055 #;0.35;1.94 #0.35 # in Berndt2015, but 1.94 in Mogilevskaya 2006 +MALmito_n0 = 0.22 # Fink 2018 10.1074/jbc.RA118.005144 and Biochemistry book 2012 Reginald H. Garrett, Charles M. Grisham #;0.03;2.0 #2.0 # approx from figure, so check it, Berndt 2015 ############## 0.03 by Chen ########################################## +OXAmito_n0 = 0.005 # 0.005 Nazaret 2009 10.1016/j.jtbi.2008.09.037 #;0.0001;0.08;0.1 #0.0001 #mM Williamson 1967 #0.08 # OAmito # approx from figure, so check it, Berndt 2015 # 0.1 #mM Shestov 2007 + +AcCoAmito_n0 = 0.074 # Poliquin doi:10.1371/journal.pone.0069146 # 0.07 Nazaret 2009 10.1016/j.jtbi.2008.09.037 #0.01 #0.07 # 0.05 - estimated from fig 1e (Intracellular concentrations of metabolites in HCT116 cells after incubation in [13C6]-glucose medium for 5 hr. - Liu 2018 Cell. Acetate Production from Glucose and Coupling to Mitochondrial Metabolism in Mammals #0.01 # The Regulatory Effects of Acetyl-CoA Distribution in the Healthy and Diseased Brain Ronowska 2018: the acetyl-CoA concentrations in neuronal mitochondrial and cytoplasmic compartments are in the range of 10 and 7 μmol/L, respectively # very small and not visible on plot in Berndt +CoAmito_n0 = 0.002 #Poliquin 0.16 #;0.37;0.001 #0.37 # 0.37 = a ### 0.001 - lead to domain error # Rock 2000 Pantothenate Kinase Regulation of the Intracellular Concentration of Coenzyme A + very small and not visible on plot in Berndt + +# +# +CaMito_n0 = 0.0001 #uM-mM Brocard2001 J Physiol #Lajtha 2007 book NeurochemistryEnergeticsBook.pdf # 1e-7 M Martinez-Serrano 1992 PMID: 1550964 #;5.1e-5 # from Mogilevskaya 2006 # 5e-5 # Calcium = 5.10258e-5 in Jay, but check which part is mito.... see my pencil notes on printed Calvetti p 242 about Ca in ddifferent organelles + + +### +ASPmito_n0 = 1.4 # approx set as cyt, Maletic-Savatic PMID:19022759 and Nazaret 2009 10.1016/j.jtbi.2008.09.037 #0.1 #;2.0;2.6;1.5 #2.0 #Shestov2007 #2.6 From Molecules to Networks 2014 (book) #1.5 ### Chen Abs Quant Big mmc1 # check and set neuronal!!!! +GLUmito_n0 = 10.0 #Roberg PMID: 10942715 #5.3 # Nazaret 2008 #0.057 # by Chen # check and set neuronal!!!! + + +### MAS cyto-mito +MAL_n0 = 0.45 #;2.0;0.6 # 2.0 #cytosol # 0.6 by Chen # 5.0 # check and set neuronal!!!! just assumption from # Nonactivating behavior is observed at concentrations between 0.02 and 0.15 mM L-malate and activating behavior is observed between 0.15 and 0.5 mM L-malate.(Malate dehydrogenase. Kinetic studies of substrate activation of supernatant enzyme by L-malate. Mueggler PA, Wolfe RG.) +OXA_n0 = 0.01 #0.1 #;0.005;0.01 #cytosol #0.005 # check and set neuronal, just assumption from heart data now # 0.01 mM from 10.1007/978-1-4614-1788-0 and Williamson 1967 # Berndt 2015 re Indiveri C, Dierks T, Kramer R, Palmieri F. Reaction-Mechanism of the Reconstituted Oxoglutarate Carrier from Bovine Heart-Mitochondria +ASP_n0 = 1.4 #;6.0 #6.0 #cytosol ### Chen Abs Quant Big mmc1 # 5.0 # 2.0 # 1.19*1.2=1.4 mM 1.0–1.4 mmol/kg ww Maletic-Savatic PMID:19022759 +AKG_n0 = 0.2 #;1.2;0.265 #1.2 #cytosol # by Chen #0.265 Pritchard 1995 # check and set neuronal!!!! + + +# ### PPP # Kauffman 1969 (https://www.jbc.org/article/S0021-9258(18)83418-4/pdf) - Normal Brain Levels: In general, the levels of pentose phosphate pathway metabolites in normal mouse brain are extremely low (Table II). # [umol/g]*1.04g/ml*0.001 -> mM # 1e-6/1e3 -> 1e-9 mol/g -> 1e-6 mmol/g -> ~1e-3mM +# GL6P_n0 = 3.0e-06 # gluconolactone 6-phosphate 3.00121e-06 Copasi Winter2017 #mM from Sabate 1995 # 7.62e-06 mM Nakayama 2005 rbc #0.45366 mM Winter 2017 +# GO6P_n0 = 0.0097 # gluconate 6-phosphate Kauffman1969 # 0.00288326 Copasi Winter2017 #2.72 Nakayama 2005 rbc #### from Sabate 1995: 0.018 mM + +NADP_n0 = 0.0003 #2.21464e-09 # 2.21464e-09 Copasi Winter2017 #mM from Sabate 1995 #8.06e-05 # Nakayama 2005 rbc #0.45366 mM Winter 2017 +NADPH_n0 = 0.03 #order of magnitude lower than NADH Berndt2015 #0.003 #Bradshaw 2019 10.3390/nu11030504 #0.291226 # 0.291226 Copasi Winter2017 # mM from Sabate 1995 #6.58e-02 mM Nakayama 2005 rbc #0.45366 mM Winter 2017 + +# RU5P_n0 = 0.0072 # Kauffman1969 # 0.000674378 Copasi Winter2017 #1.48e-04 Nakayama 2005 rbc #### from Sabate 1995: 0.012 mM +# X5P_n0 = 0.014 # Kauffman1969 # 0.0206819 Copasi Winter2017 #mM calc from Kauffman1969 #4.3e-04 # Nakayama 2005 rbc #### from Sabate 1995: 0.018 mM +# R5P_n0 = 0.025 # Kauffman1969 in text, R5P+S7P=0.064 #2.70062e-05 Copasi Winter2017 #mM from Sabate 1995 #2.81e-04 # Nakayama 2005 rbc #### +S7P calc from Kauffman1969: 0.0643 mM +S7P +# S7P_n0 = 0.04 # Kauffman1969 in text, R5P+S7P=0.064 # 0.2 Winter2017pdf 1.15524 Copasi Winter2017 #mM calc from Kauffman1969 #0.0749 # Nakayama 2005 rbc #### +R5P calc from Kauffman1969: 0.0643 mM #### from Sabate 1995: 0.068 mM +# E4P_n0 = 0.002 # Kauffman1969 # 0.00651212 Copasi Winter2017 # mM calc from Kauffman1969 #1.17 Nakayama 2005 rbc #### calc from Kauffman1969: <0.002 mM #### from Sabate 1995: 0.004 mM + +# ### PPPa +# GL6P_a0 = 3.0e-06 # gluconolactone 6-phosphate 2.99776e-06 Copasi Winter2017 #mM from Sabate 1995 # 7.62e-06 mM Nakayama 2005 rbc #u147 +# GO6P_a0 = 0.0097 # gluconate 6-phosphate Kauffman1969 #0.00180362 Copasi Winter2017 #mM calc from Kauffman1969 #2.72 Nakayama 2005 rbc #### from Sabate 1995: 0.018 mM #u148 + +NADP_a0 = 0.0003 #2.75699e-09 # 2.75699e-09 Copasi Winter2017 #mM from Sabate 1995 #8.06e-05 # Nakayama 2005 rbc #u149 +NADPH_a0 = 0.03 #order of magnitude lower than NADH Berndt2015 #0.003 #Bradshaw 2019 10.3390/nu11030504 #0.291226 #0.291226 Copasi Winter2017 # mM from Sabate 1995 #6.58e-02 mM Nakayama 2005 rbc #u150 + +# RU5P_a0 = 0.0072 # Kauffman1969 # 0.000674347 Copasi Winter2017 #mM calc from Kauffman1969 #1.48e-04 Nakayama 2005 rbc #### from Sabate 1995: 0.012 mM #u151 +# X5P_a0 = 0.014 # Kauffman1969 # 0.0206807 Copasi Winter2017 #mM calc from Kauffman1969 #4.3e-04 # Nakayama 2005 rbc #### from Sabate 1995: 0.018 mM#u152 +# R5P_a0 = 0.025 # Kauffman1969 in text, R5P+S7P=0.064 # 2.601e-05 Copasi Winter2017 #mM from Sabate 1995 #2.81e-04 # Nakayama 2005 rbc #### +S7P calc from Kauffman1969: 0.0643 mM +S7P #u153 +# S7P_a0 = 0.04 # Kauffman1969 in text, R5P+S7P=0.064 #0.276691 Copasi Winter2017 #mM calc from Kauffman1969 #0.0749 # Nakayama 2005 rbc #### +R5P calc from Kauffman1969: 0.0643 mM #### from Sabate 1995: 0.068 mM #u154 +# E4P_a0 = 0.002 # Kauffman1969 # 0.00569938 Copasi Winter2017 # mM calc from Kauffman1969 #1.17 Nakayama 2005 rbc #### calc from Kauffman1969: <0.002 mM #### from Sabate 1995: 0.004 mM#u155 + +# Winter2017 +GL6P_n0 = 3.001213795e-6 +GL6P_a0 = 2.997760015e-6 +GO6P_n0 = 0.002883261904 +GO6P_a0 = 0.001803623341 +RU5P_n0 = 0.000674378444 +RU5P_a0 = 0.0006743472507 +R5P_n0 = 2.700617026e-5 +R5P_a0 = 2.600996357e-5 +X5P_n0 = 0.02068192382 +X5P_a0 = 0.02068072623 +S7P_n0 = 1.155239863 +S7P_a0 = 0.2766906117 +E4P_n0 = 0.006512123226 +E4P_a0 = 0.005699383152 + + +#!conc is not involved explicitly in the current version of the model (15oct2021) SDHmito_n0 = 0.05 # Mogilevskaya 2006 # levels of sdh expression in astrocytes and neurons are almost the same by Sharma's data + +### mito astrocyte +PYRmito_a0 = 0.021 # Arce-Molina2019 ;0.0235 #0.025 #0.0235 #mM Arce-Molina2019 astrocyte mito #u120 !!!!!!!!!!!! +CITmito_a0 = 0.35 #;0.2;0.4 #0.25-0.35 From molecules to networks 2014; 0.2-0.4 Ronowska2018 # # u121 +ISOCITmito_a0 = 0.035 #;0.02 #Frezza2017 Cit/Isocit =10; 0.02 From molecules to networks 2014 # u122 +AKGmito_a0 = 0.2 #From molecules to networks 2014 # u123 #0.2 most of files, # 0.6 - v8_v9_v10_K and DATA - approx from Berndt +SUCCOAmito_a0 = 0.002 #approx from Berndt2015 # SUCCOAmito < OXAmito #0.0068 #0.05 #0.0068 #Park2016 # u124 +SUCmito_a0 = 0.45 #;0.7 # 0.7 #0.5 #0.45-0.7 From molecules to networks 2014 #u125 +FUMmito_a0 = 0.04 # Fink 2018 10.1074/jbc.RA118.005144 #0.055 #in between of Fink20018 and From molecules to networks 2014 #u126 +MALmito_a0 = 0.22 # Fink 2018 10.1074/jbc.RA118.005144 and Biochemistry book 2012 Reginald H. Garrett, Charles M. Grisham #;0.45 #0.45 #in between of googledoc sources and From molecules to networks 2014 # u127 +OXAmito_a0 = 0.004 #From molecules to networks 2014 (book) #u128 # several diff values: 0.004; 0.04; 0.08; 2.0 +AcCoAmito_a0 = 0.0045 #mM Ronowska 2018 #0.07 #0.0045 #Nazaret2008 #0.0045 #From molecules to networks 2014; Ronowska2018 #u129 +CoAmito_a0 = 0.002 #Poliquin #0.16 #;0.03 # in between of lit values #0.16 #Mogilevskaya #0.003 #From molecules to networks 2014 #u130 + +CaMito_a0 = 0.0001 #set same as neuronal # Lajtha 2007 book NeurochemistryEnergeticsBook.pdf #0.001 Mogilevskaya 2006 #u133 + + +#Pimito_a0 = 2.7 #;5.0;2.0 #2.5 #5.0 #2.7 #2.0 #From molecules to networks 2014 # #u136 + + + +ASPmito_a0 = 1.4 # approx set as cyt, Maletic-Savatic PMID:19022759 and Nazaret 2009 10.1016/j.jtbi.2008.09.037 #0.1 #-most of files #2.0 - fn8,9,10 set same as neuron value, noref +GLUmito_a0 = 10.0 #neur Roberg PMID: 10942715 + astro 17mM doi:10.1088/1742-6596/1141/1/012028 #5.3 # Nazaret 2008 #0.057 # Chen # check cell type specificity #u142 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +MAL_a0 = 0.45 #From Molecules to Networks2014 #u143 ### check subcell specificity +OXA_a0 = 0.01 # 0.1 #;0.01 #cytosol #0.01 #mM Williamson 1967 #u144 ### check subcell specificity +ASP_a0 = 1.4 #u145 ### check subcell specificity +AKG_a0 = 0.2 #From molecules to networks 2014 ##u146 ### check subcell specificity + + +# Glutathione Astrocyte +GSH_a0 = 4.3 # 4.3 estim average, also considering neuron/astrocyte ratio # 0.91 mM PMID: 16624809 #2.6 #McBean2017: astrocytes contain one of the highest cytosolic GSH conc 8-10 mM #0.5–10 mM - Reed2008 doi:10.1186/1742-4682-5-8 -GSH/GSSG ~100; 90% total glutathione in cytosole is reduced (GSH) # ~2.6 mM From molecules to networks 2014 #reduced +GSSG_a0 = 0.043 #;2.88 #Reed2008 doi:10.1186/1742-4682-5-8 GSH/GSSG ~100; 90% total glutathione in cytosole is reduced (GSH) #0.43*GSH_a #Raps1989 #GSH_a/0.9 #GSH/GSSG = 90% McBean2017 # glutathione disulfide +# Glutathione Neuron Koga2011: neuronal glutathione concentrations ranging from 0.2 to 1 mM, though some have suggested concentrations as high as 10 mM +GSH_n0 = 1.2 # 1.2 estim from average # 0.21 mM PMID: 16624809 #2.0 #0.57 # 1-3 mM from Vali doi:10.1016/j.neuroscience.2007.08.028 # ~2.6 mM From molecules to networks 2014 #reduced +GSSG_n0 = 0.012 #0.022 #0.003*GSH_n #0.3% of totGSH # Reed2008 GSH/GSSG ~100 # GSH_n/0.9 #GSH/GSSG = 90% McBean2017 # glutathione disulfide + + +GLU_n0 = 10.0 #11.6 #10.0;11.6 # from MAS # 11.6 - From molecules to networks 2014 #check + +NE_neuromod0 = 0.0 # define in callback + +AMP_n0 = 1e-5 #0.01 #;0.03;2.0e-5 #2e-5 #0.03 #-Mulukutla2015 #2e-5 # Lambeth # 0.01 # 2e-5 # 1e-5 # from 1e-5 to 0.05 # 0.00017 to 0.05 mM PMID: 2642915 + +GLN_n0 = 0.4 # mM Shestov 2007 # for now no separation between cyto and mito GLN + +GABA_n0 = 1.0 #mM check! Diff for diff n types +GABA_inh_n0 = 5.0 # mM # Yamashita et al., 2018 : suggesting that endogenous GABA concentrations in BCs are 5 mM, as in other inhibitory neurons (Apostolides and Trussell, ) ... 1-10 mM Yamashita et al., 2018 # 3mM released and https://doi.org/10.3389/fnsyn.2018.00040 + +vV0 = 0.0237 # ml global_par_Compartment_9 0.02396 - in pdf # 0.0237 # - in Winter2017 matlab file # 0.02 in Jolivet2015 +ddHb0 = 0.05 #0.058 #0.0478 #0.058 #mM Jolivet2015 # 0.0478 #Winter2017 # 0.12 Aubert2007 doi 10.1073/pnas.0605864104 # 0.063 Auebrt 2002 doi:10.1006/nimg.2002.1224 and Buxton et al. (1998a,b) + +### ketones + +bHB_n0 = 0.00156 # mM #from brain-to-plasma bHB ratio and bHB_b 0.078*0.02 # beta-HydroxyButyrate # brain-to-plasma bHB ratio = 0.078 # Fig5 Chowdhury doi:10.1038/jcbfm.2014.77 +# bHB_n0 = 0.02 to 0.18 mM # Cobelli_ketoModelHuman # 0.15 mM Cornille +AcAc_n0 = 0.00312 #inferred from ratio 2*0.00156 ratio of AcetoAcetate to bHb in the brain: 2 to 4.5 # Nehlig 1992 # AcetoAcetate +# AcAc_n0 = 0.03 to 0.1 mM # Cobelli_ketoModelHuman # 0.3 mM Cornille +# AcAc_n0 = 0.063 to 1.6 mM # Berndt2018 Hepatokin1 +AcAcCoA_n0 = 0.0006 #mM Berndt2018 Hepatokin1 Menahan1981 # AcetoAcetyl-CoA +#astrocyte +bHB_a0 = 0.00156 # set to the same value as in the neuron, need to search for more precise data # beta-HydroxyButyrate +AcAc_a0 = 0.00312 #inferred from ratio 2*0.00156 ratio of AcetoAcetate to bHb in the brain: 2 to 4.5 # Nehlig 1992 # AcetoAcetate +# AcAc_a0 = 0.03 to 0.1 mM # Cobelli_ketoModelHuman # 0.3 mM Cornille +# AcAc_a0 = 0.063 to 1.6 mM # Berndt2018 Hepatokin1 +#HMGCoA_a0 = # 3-hydroxy-3-methylglutaryl-CoA +AcAcCoA_a0 = 0.0006 #mM Berndt2018 Hepatokin1 Menahan1981 # AcetoAcetyl-CoA +# ecs +bHB_ecs0 = 0.002 # # 0.05/25 using plasma:ecs ratio from Achanta and Rae (2017) # #0.05 # set to the same value as in the blood plasma, need to search for more precise data # beta-HydroxyButyrate +#blood +#bHB_b0 = 0.05 #mM in blood plasma Ronowska 2018 +bHB_b0 = 0.18 #mM in adult wide range for diff develop stages in Table 2 Nehlig 1992 #0.02 mM # Nehlig 2003 # beta-HydroxyButyrate # 1.27 mM for awake rats fassted for 2 days, 9.1-12 mM is for hyperketonemia # Chowdhury doi:10.1038/jcbfm.2014.77 +# bHB0 in plasma >= 0.2 mM -> hyperketonaemia Robinson&williamson 1980 (Evans 2020) +fattyAcids0 = 0.14 #mM Persson 2010 human #0.43 # mM # 0.13 mM at birth rat, which represent ~ 30% of adult value (Yeh and Zee 1976) - Nehlig 1992 + +##### concentrations as constant parameters +# from optim/param_estim/from_desktop/TCA_astro_17feb2020.ipynb +C_Mg_a = 0.369 #0.7 # mM # 0.369 mM 0.4 mM -Mulquiney1999 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +C_Mg_n = 0.369 #0.7 # mM # 0.369 mM 0.4 mM -Mulquiney1999 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +BPG23_a = 0.237 #mM -Park2016 #3.1 # mM #for now fixed; check value #C_23BPG_a = 3.1 # mM #BPG23 +BPG23_n = 0.237 #mM -Park2016 #3.1 # mM #for now fixed; check value #C_23BPG_a = 3.1 # mM #BPG23 +GBP_a = 0.01 #0.6 #0.3 #0.1 #mM #for now fixed; check value # G16bp #Quick1974: 10 μm and 600 μm #C_g16bp_a = 0.1 # mM #GBP +GBP_n = 0.01 #0.6 #0.3 #0.1 #mM #for now fixed; check value # G16bp #Quick1974: 10 μm and 600 μm #C_g16bp_a = 0.1 # mM #GBP +C_ALA_a = 0.65 #-From Molecules to networks 2014 #1.0 #mM -Mulukutla2015 Alanine ### check more specific neuron and astroyte values +C_ALA_n = 0.65 #-From Molecules to networks 2014 #1.0 #mM -Mulukutla2015 Alanine ### check more specific neuron and astroyte values + +C_H_cyt_a = 3.981071705534969e-5 #3.981e-5 #6.31e-05 #1e3*(10^(-7.4)) #mM #Arce-Molina2019 biorxiv #10^(-7.3) # 10^(-7.01-7.4) M +C_H_cyt_n = 3.981071705534969e-5 #3.981e-5 #6.31e-05 #1e3*(10^(-7.4)) #mM #Arce-Molina2019 biorxiv #10^(-7.3) # 10^(-7.01-7.4) M +C_H_mito_a = 1.58e-05 #1e3*(10^(-7.8)) #mM #Arce-Molina2019 biorxiv #10^(-8) #10^(-7.8) +C_H_mito_n = 1.58e-05 #1e3*(10^(-7.8)) #mM #Arce-Molina2019 biorxiv #10^(-8) #10^(-7.8) + +#Hin_n = 7.01 #7.0-7.4 Wiki # # from NEDERGAARD 1991: 7.01/7.24 # hcyt/hext # +#Hmito_n = 7.8 # Mito mattrix Wiki # check it more precisely ############################################################# check!! + +C_O2_mito_a = 0.01 #mM # Zhang2018 supp, consistent with whole cell O2 in Calvetti2018 +C_O2_mito_n = 0.01 #mM # Zhang2018 supp, consistent with whole cell O2 in Calvetti2018 +PPi_a0 = 0.0062 #mM pyrophosphate +PPi_n0 = 0.0062 #mM pyrophosphate +CO2_a = 1.2 #mM in cytosol Physiology of astroglia... book Verkhratsky #0.001 # mM from Sabate 1995 # PPP #CO2_a = 0.001 # mM from Sabate 1995 # 0.012 mM Winter2017 +CO2_mito_a = 1.2 #21.4 #Wu2007 #or 1.2 as cytosol astrocyte? +CO2_n = 1.2 #mM in cytosol Physiology of astroglia... book Verkhratsky #0.001 # mM from Sabate 1995 # PPP #CO2_a = 0.001 # mM from Sabate 1995 # 0.012 mM Winter2017 +CO2_mito_n = 1.2 #21.4 #Wu2007 #or 1.2 as cytosol astrocyte? +h2o_m_a = 1.0 # H2O is not taken for the analysis but only participate in rns to balance stoichiometries +h2o_m_n = 1.0 # H2O is not taken for the analysis but only participate in rns to balance stoichiometries + + +################### +# Theurey2019 +################### + +C_H_mitomatr_n0 = 1.82084728579186E-05 #Theurey2019 #1e-05 #mM # pH=8.0 -> C = 10^(-8) M +C_H_mitomatr_a0 = 1.82084728579186E-05 #Theurey2019 #1e-05 #mM # pH=8.0 -> C = 10^(-8) M + +K_x_n0 = 54.8851390930353 +K_x_a0 = 54.8851390930353 +Mg_x_n0 = 0.413984791104507 +Mg_x_a0 = 0.413984791104507 + +NADHmito_n0 = 0.35662010403786 #mito matrix #0.07 +NADHmito_a0 = 0.35662010403786 #mito matrix #0.07 + +QH2mito_n0 = 0.03858504874339510 +QH2mito_a0 = 0.03858504874339510 + +CytCredmito_n0 = 0.182721863756137 +CytCredmito_a0 = 0.182721863756137 + + +ATPmito_n0 = 1.074997491836194 # ATP_x # !!!!!!!! +ADPmito_n0 = 1.5250025081638081 # ADP_x # !!!!!!!! + +ATPmito_a0 = 1.074997491836194 # ATP_x # 1.5mM CLARKE AND NICKLASS 1970 ratBrainMito.pdf +ADPmito_a0 = 1.5250025081638081 # ADP_x + +ATP_mx_n0 = 0.7343956789485272 # Matrix ATP bound to magnesium +ADP_mx_n0 = 0.8296195300562087 # Matrix ADP bound to magnesium +ATP_mx_a0 = 0.7343956789485272 # Matrix ATP bound to magnesium +ADP_mx_a0 = 0.8296195300562087 # Matrix ADP bound to magnesium + +Pimito_n0 = 16.099237382306928 # Pi_x #1.0 # mM https://doi.org/10.1016/j.mbs.2021.108646 +Pimito_a0 = 16.099237382306928 # Pi_x #1.0 # mM https://doi.org/10.1016/j.mbs.2021.108646 + +ATP_i_n0 = 2.3183097760668474 +ADP_i_n0 = 0.2912160581175691 +ATP_i_a0 = 2.3183097760668474 +ADP_i_a0 = 0.2912160581175691 + +AMP_i_n0 = 1e-5 #because diff ATP_n #0.0 +AMP_i_a0 = 1e-5 #because diff ATP_a #0.0 + +ATP_mi_n0 = 2.295947266871272 # IMS ATP bound to magnesium +ADP_mi_n0 = 0.28617845665402003 # IMS ADP bound to magnesium +ATP_mi_a0 = 2.295947266871272 # IMS ATP bound to magnesium +ADP_mi_a0 = 0.28617845665402003 # IMS ADP bound to magnesium + +Pi_i_n0 = 19.99966122867552 +Pi_i_a0 = 19.99966122867552 + +MitoMembrPotent_n0 = 149.170131272782 +MitoMembrPotent_a0 = 149.170131272782 + +Ctot_n0 = 2.7 +Ctot_a0 = 2.7 + +Qtot_n0 = 1.35 +Qtot_a0 = 1.35 + +C_H_ims_n0 = 3.98107170548711E-05 # Theurey2019 #1e-05 1e-04 # 1e3*10^(-7) #mM # pH=7.0 -> C = 10^(-7) M +C_H_ims_a0 = 3.98107170548711E-05 # Theurey2019#1e-05 #1e-04 # 1e3*10^(-7) #mM # pH=7.0 -> C = 10^(-7) M + +################# +# ### +# C_H_mitomatr_n = 1.82084728579186E-05 +# K_x_n = 54.8851390930353 +# Mg_x = 0.4139847911045070 +# NADH_x = 0.3566201040378600 +# QH2 = 0.03858504874339510 +# Cred = 0.18272186375613700 +# O2 = 0.03 +# ATP_x = 1.074997491836194 +# ADP_x = 1.5250025081638081 + +# ATP_mx = 0.7343956789485272 +# ADP_mx = 0.8296195300562087 +# Pi_x = 16.099237382306928 + +# ATP_i = 2.3183097760668474 +# ADP_i = 0.2912160581175691 +# AMP_i = 0.0 + +# ATP_mi = 2.295947266871272 +# ADP_mi = 0.28617845665402003 + +# Pi_i = 19.99966122867552 + +# dPsi = 149.17013127278200 + +# Ctot = 2.7 +# Qtot = 1.35 + +# H_i = 3.98107170548711E-05 + +# # ATP_e_n0 = 1.4 #1.400216 +# # ADP_e_n0 = 0.048 #0.047784 +# # ATP_e_a0 = 1.3 # == Init[23] # ATP_c, cytosolic ATP astrocyte +# # ADP_e_a0 = 0.045 # == Init[24] # ADP_c, cytosolic ADP astrocyte + +################# + +# tmp, replaced with tot-red +NADmito_n0 = 0.36937989596213994 # 0.0 #mito matrix #0.14 +NADmito_a0 = 0.36937989596213994 #0.0 #mito matrix #0.14 + +Qmito_n0 = 1.3114149512566051 #0.0 #0.004 #mM rat brain https://academicjournals.org/article/article1380896866_Abdallah%20et%20al.pdf PMID: 20385196 + +Qmito_a0 = 1.3114149512566051 #0.0 #0.004 #mM rat brain https://academicjournals.org/article/article1380896866_Abdallah%20et%20al.pdf PMID: 20385196 + + +#CytCoxmito_n0 = #0.0588 # ~80% Cooper PMID: 9620863 #ratio from PMID: 19029908, sum from JOHN B. CLARKE AND WILLIAM J. NICKLASS 1970 ratBrainMito.pdf #also CytCredox and CuCCoxidase redox are close: doi:10.1371/journal.pcbi.1000212 # 0.063 # CytCmito total = 0.07 mM JOHN B. CLARKE AND WILLIAM J. NICKLASS 1970 ratBrainMito.pdf and 10% cytc red from fig 5 febs.14151.pdf Heiske doi:10.1111/febs.14151 #0.02 #;0.21 #Zhang2018 #0.21 #0.315006*(33.3506/50.0) = 0.21011278207200001 #0.09# #0.136275*(33.3506/50.0)= 0.09089706030000001 inferred from IvanChang steady state #0.0186 + +#CytCredmito+CytCoxmito=30 in IvanChang(default,but commented) -> 0.03 +# ratio from Cytochrome c is rapidly reduced in the cytosol after mitochondrial outer membrane permeabilization Ripple 2010: 62% mito cyt C oxidized +# CytCredmito+CytCoxmito=50 not commented -> 0.136275 scaled to Jay +#CytCmito total = 0.07 mM JOHN B. CLARKE AND WILLIAM J. NICKLASS 1970 ratBrainMito.pdf + +#CytCoxmito_a0 = #0.0588 # 80% Cooper PMID: 9620863 #ratio from PMID: 19029908, sum from JOHN B. CLARKE AND WILLIAM J. NICKLASS 1970 ratBrainMito.pdf #also CytCredox and CuCCoxidase redox are close: doi:10.1371/journal.pcbi.1000212 #0.063 # CytCmito total = 0.07 mM JOHN B. CLARKE AND WILLIAM J. NICKLASS 1970 ratBrainMito.pdf and 10% cytc red from fig 5 febs.14151.pdf Heiske doi:10.1111/febs.14151 #0.02 #;0.21 #0.02 Zhang2018 # 0.21 #u140 #0.315006*(33.3506/50.0) = 0.21011278207200001 #0.09# #0.136275*(33.3506/50.0)= 0.09089706030000001 inferred from IvanChang steady state #0.0186 + + diff --git a/multiscale_run/data/metabolism/variables_idxs.jl b/multiscale_run/data/metabolism/variables_idxs.jl new file mode 100755 index 0000000..5a3a9c8 --- /dev/null +++ b/multiscale_run/data/metabolism/variables_idxs.jl @@ -0,0 +1,183 @@ +1 C_H_mitomatr_n +2 K_x_n +3 Mg_x_n +4 NADHmito_n +5 QH2mito_n +6 CytCredmito_n +7 O2_n +8 ATPmito_n +9 ADPmito_n +10 ATP_mx_n +11 ADP_mx_n +12 Pimito_n +13 ATP_i_n +14 ADP_i_n +15 AMP_i_n +16 ATP_mi_n +17 ADP_mi_n +18 Pi_i_n +19 MitoMembrPotent_n +20 Ctot_n +21 Qtot_n +22 C_H_ims_n +23 ATP_n +24 ADP_n +25 FUMmito_n +26 MALmito_n +27 OXAmito_n +28 SUCmito_n +29 SUCCOAmito_n +30 CoAmito_n +31 AKGmito_n +32 CaMito_n +33 ISOCITmito_n +34 CITmito_n +35 AcCoAmito_n +36 AcAc_n +37 AcAcCoA_n +38 PYRmito_n +39 bHB_n +40 bHB_ecs +41 bHB_a +42 bHB_b +43 ASPmito_n +44 ASP_n +45 GLUmito_n +46 MAL_n +47 OXA_n +48 AKG_n +49 GLU_n +50 NADH_n +51 C_H_mitomatr_a +52 K_x_a +53 Mg_x_a +54 NADHmito_a +55 QH2mito_a +56 CytCredmito_a +57 O2_a +58 ATPmito_a +59 ADPmito_a +60 ATP_mx_a +61 ADP_mx_a +62 Pimito_a +63 ATP_i_a +64 ADP_i_a +65 AMP_i_a +66 ATP_mi_a +67 ADP_mi_a +68 Pi_i_a +69 MitoMembrPotent_a +70 Ctot_a +71 Qtot_a +72 C_H_ims_a +73 ATP_a +74 ADP_a +75 FUMmito_a +76 MALmito_a +77 OXAmito_a +78 SUCmito_a +79 SUCCOAmito_a +80 CoAmito_a +81 AKGmito_a +82 CaMito_a +83 ISOCITmito_a +84 CITmito_a +85 AcCoAmito_a +86 AcAc_a +87 AcAcCoA_a +88 PYRmito_a +89 GLN_n +90 GLN_out +91 GLN_a +92 GLUT_a +93 Va +94 Na_a +95 K_a +96 K_out +97 GLUT_syn +98 VNeu +99 Na_n +100 h +101 n +102 Ca_n +103 pgate +104 nBK_a +105 mGluRboundRatio_a +106 IP3_a +107 hIP3Ca_a +108 Ca_a +109 Ca_r_a +110 sTRP_a +111 vV +112 EET_a +113 ddHb +114 O2cap +115 Glc_b +116 Glc_t_t +117 Glc_ecsBA +118 Glc_a +119 Glc_ecsAN +120 Glc_n +121 G6P_n +122 G6P_a +123 F6P_n +124 F6P_a +125 FBP_n +126 FBP_a +127 f26bp_a +128 GLY_a +129 AMP_n +130 AMP_a +131 G1P_a +132 GAP_n +133 GAP_a +134 DHAP_n +135 DHAP_a +136 BPG13_n +137 BPG13_a +138 NADH_a +139 Pi_n +140 Pi_a +141 PG3_n +142 PG3_a +143 PG2_n +144 PG2_a +145 PEP_n +146 PEP_a +147 Pyr_n +148 Pyr_a +149 Lac_b +150 Lac_ecs +151 Lac_a +152 Lac_n +153 NADPH_n +154 NADPH_a +155 GL6P_n +156 GL6P_a +157 GO6P_n +158 GO6P_a +159 RU5P_n +160 RU5P_a +161 R5P_n +162 R5P_a +163 X5P_n +164 X5P_a +165 S7P_n +166 S7P_a +167 E4P_n +168 E4P_a +169 GSH_n +170 GSH_a +171 GSSG_n +172 GSSG_a +173 Cr_n +174 PCr_n +175 Cr_a +176 PCr_a +177 cAMP_a +178 NE_neuromod +179 UDPgluco_a +180 UTP_a +181 GS_a +182 GPa_a +183 GPb_a diff --git a/multiscale_run/data/metabolismndam_reduced/julia_gen_18feb2021.jl b/multiscale_run/data/metabolismndam_reduced/julia_gen_18feb2021.jl deleted file mode 100644 index accf65b..0000000 --- a/multiscale_run/data/metabolismndam_reduced/julia_gen_18feb2021.jl +++ /dev/null @@ -1,290 +0,0 @@ -function metabolism(du,u,p,t) - - - # constants - - R = 8.31 # J/(K*mol) - T = 310.0 # Kelvin, temperature 310K is 37 C - F = 96.485 # 96485.0 C/mol # FARADAY = 96485.309 (coul) in Somjen2008 - - Cm = 1.0 # uF/cm2 Calvetti2018 capacitance - phi = 3.0 # 1/ms Calvetti2018 time constant - - # Conductance param from Calvetti2018 and Cressman2011 - gNa = 100.0 # mS/cm2 - gK = 40.0 # mS/cm2 - gNa0leak = 0.0175 # mS/cm2 - gK0leak = 0.05 # mS/cm2 - gCl = 0.05 # mS/cm2 - - beta = 1.33 # Calvetti2018; in Cressman2011 it was set to 7.0 - ksi_rest = 0.06 #0.15 #0.06 # 0.06 is for resting system # 2.5 # Calvetti2018; external stimuli, 2.5 should give 90 Hz # this can be decreased for smaller Hz - ksi_act = 2.5 # Calvetti2018; external stimuli, 2.5 should give 90 Hz # this can be decreased for smaller Hz - gamma = 0.0445 # Calvetti2018 mM*cm2/uC - - #rho=1.25 # Cressman2011 - #epsilon=1.333333333 # Cressman2011 - #kbath=4.0 # Cressman2011 - #glia=66.666666666 # Cressman2011 - rho=13.83 # mM/s # Calvetti2018 - epsilon=9.33 # 1/s # Calvetti2018 - kbath=6.3 # mM # Calvetti2018 - glia=20.75 # mM/s # Calvetti2018 - - s_metabo_atpase = 0.15 # Calvetti2018 tuned this param from OGI - H1_metabo_atpase = 0.071667 # mM/s # 4.3 #mM/min - sigma_atpase = 103.0 # assumed by Calvetti2018 - - - mu_pump_ephys = 0.1 # Calvetti2018 - mu_glia_ephys = 0.1 # Calvetti2018 - - # volume fractions and blood related parameters (table 1) Calvetti2018 - eto_n = 0.4 # volume fraction neuron - eto_a = 0.3 # volume fraction astrocyte - eto_ecs = 0.3 # volume fraction ecs - eto_b = 0.04 # volume fraction blood - - Hct = 0.45 # is the volume percentage (vol%) of red blood cells in blood. - Hb = 5.18 - KH = 0.0364 #36.4*10^(-3) mM - - C_Glc_a = 5.0 # mM arterial concentration glucose - C_Lac_a = 1.1 # mM arterial concentration lactate - C_O_a = 9.14 # mM arterial concentration oxygen - Fr_blood = 2/3 # "The numerical values used for the blood flow and the mixing ratio F are 0.9 l/min and 2/3, respectively" from Bayesian flux balance analysis applied to a skeletal muscle metabolic model 2007 Heino .. Calvetti .. - - # table 2 Calvetti2018 - TbGlc = 0.02 # mM/s #0.00002 #mM/ms # - TbLac = 0.17 # mM/s # 0.00017 #mM/ms# - lambda_b_O2 = 0.04 # mM^(1-k)/s # 0.00004 #mM^(1-k)/ms # - TnGlc = 83.33 # mM/s # 0.08333 #mM/ms# - TnLac = 66.67 # mM/s # 0.06667 #mM/ms# - lambda_n_O2 = 0.94 # 1/s # 0.00094 #1/ms # - TaGlc = 83.33 # mM/s # 0.08333 #mM/ms# - TaLac = 66.67 # mM/s # 0.06667 #mM/ms# - lambda_a_O2 = 0.68 # 1/s # 0.00068 #1/ms # - - tau = 1000.0 # Calvetti2018 #tau = 1.0 # if all other things are in ms, actually, it's more complicated, so even in ms we need it 1000 # Calvetti2018 - - KbGlc = 4.60 # mM - KbLac = 5.00 # mM - KnGlc = 5.00 # mM - KnLac = 0.4 # mM - KaGlc = 12500.0 # mM - KaLac = 0.4 # mM - - # oxidative phosphorylation - V_oxphos_n = 8.18 # mM/s # 0.00818 #mM/ms # - V_oxphos_a = 2.55 # mM/s # 0.00255 #mM/ms # - K_oxphos_n = 1.0 #mM - K_oxphos_a = 1.0 #mM - mu_oxphos_n = 0.01 - mu_oxphos_a = 0.01 - nu_oxphos_n = 0.10 - nu_oxphos_a = 0.10 - - # glycolysis - V_Glc_n = 0.26 # mM/s # 0.00026 #mM/ms # - V_Glc_a = 0.25 # mM/s # 0.00025 #mM/ms # - K_Glc_n = 4.6 # mM - K_Glc_a = 3.1 # mM - mu_Glc_n = 0.09 - mu_Glc_a = 0.09 - nu_Glc_n = 10.00 - nu_Glc_a = 10.00 - - V_LDH1_n = 1436.0 # mM/s - V_LDH1_a = 4160.0 # mM/s - K_LDH1_n = 2.15 # mM - K_LDH1_a = 6.24 # mM - nu_LDH1_n = 0.1 - nu_LDH1_a = 0.1 - - V_LDH2_n = 1579.83 # mM/s - V_LDH2_a = 3245.0 # mM/s - K_LDH2_n = 23.7 # mM - K_LDH2_a = 48.66 # mM - nu_LDH2_n = 10.00 - nu_LDH2_a = 10.00 - - # Krebs - V_TCA_n = 0.03 # mM/s # 0.00003 #mM/ms # - V_TCA_a = 0.01 # mM/s # 0.00001 #mM/ms # - K_TCA_n = 0.01 # mM - K_TCA_a = 0.01 # mM - mu_TCA_n = 0.01 - mu_TCA_a = 0.01 - nu_TCA_n = 10.00 - nu_TCA_a = 10.00 - - V_Cr_n = 16666.67 # mM/s # 16.66667 #mM/ms # - V_Cr_a = 16666.67 # mM/s # 16.66667 #mM/ms # - K_Cr_n = 495.00 # mM - K_Cr_a = 495.00 # mM - mu_Cr_n = 0.01 - mu_Cr_a = 0.01 - - V_PCr_n = 16666.67 # mM/s # 16.66667 #mM/ms # - V_PCr_a = 16666.67 # mM/s # 16.66667 #mM/ms # - K_PCr_n = 528.00 # mM - K_PCr_a = 528.00 # mM - mu_PCr_n = 100.00 - mu_PCr_a = 100.00 - - - #INa = p[1] # same as INaact !!! - Na_in = p[4] # !!!!!!!!!!!! #u[7] - Kin = p[5] # Kin from Ndam - IK = p[6] #current density, uA/cm2 in Calvetti #gK*(n^4)*(V-VK) + gKleak*(V-VK) # based on Calvetti2018 gKleak depends on ksi and glutamate activation - K_out = u[8] #p[7] #u8 before coupling with ndam - - V = p[3] #u[1] - m = u[2] - h = u[3] - n = u[4] - ksi = p[2] # u[36] # placeholder for callback activation related to glu - - - JGlc = TbGlc*( u[9]/(u[9] + KbGlc) - u[13]/(u[13] + KbGlc) ) - JLac = TbLac*( u[10]/(u[10] + KbLac) - u[14]/(u[14] + KbLac) ) - JO2 = lambda_b_O2*( (u[11] + 4*Hct*Hb*(u[11]^2.5)/((KH^2.5)+(u[11]^2.5)) )^(-1) - u[15])^0.1 # k=0.1 eq3 Calvetti2018 - #JO2 = lambda_b_O2*(clamp( (u[11] + 4*Hct*Hb*(u[11]^2.5)/((KH^2.5)+(u[11]^2.5)) ),1e-12,(u[11] + 4*Hct*Hb*(u[11]^2.5)/((KH^2.5)+(u[11]^2.5)) ))^(-1) - u[15])^0.1 # k=0.1 eq3 Calvetti2018 # clamped to avoid /0 - - - # ECS - - jGlc_n = TnGlc*( u[13]/(u[13] + KnGlc) - u[18]/(u[18] + KnGlc) ) - jLac_n = TnLac*( u[14]/(u[14] + KnLac) - u[20]/(u[20] + KnLac) ) - jGlc_a = TaGlc*( u[13]/(u[13] + KaGlc) - u[19]/(u[19] + KaGlc) ) - jLac_a = TaLac*( u[14]/(u[14] + KaLac) - u[21]/(u[21] + KaLac) ) - - jO2_n = lambda_n_O2*(u[15]- u[16]) - jO2_a = lambda_a_O2*(u[15]- u[17]) - - - # metabolism - - p_n_ratio = u[28]/u[30] #clamp(u[28],1e-12,u[28])/clamp(u[30],1e-12,u[30]) #u28 = ATP_n # u30 = ADP_n - p_a_ratio = u[29]/u[31] #clamp(u[29],1e-12,u[29])/clamp(u[31],1e-12,u[31]) - r_n_ratio = u[32]/u[34] #clamp(u[32],1e-12,u[32])/clamp(u[34],1e-12,u[34]) # u32 = NADH_n # u34 = NAD_n - r_a_ratio = u[33]/u[35] #clamp(u[33],1e-12,u[33])/clamp(u[35],1e-12,u[35]) - - - psiOxphos_n = V_oxphos_n * ((1/p_n_ratio) / ( mu_oxphos_n + (1/p_n_ratio) )) * (r_n_ratio / (nu_oxphos_n + r_n_ratio) ) * (u[16] / (u[16] + K_oxphos_n)) - psiOxphos_a = V_oxphos_a * ((1/p_a_ratio) / ( mu_oxphos_a + (1/p_a_ratio) )) * (r_a_ratio / (nu_oxphos_a + r_a_ratio) ) * (u[17] / (u[17] + K_oxphos_a)) - - - - ####################### - psiGlc_n = V_Glc_n * ((1/p_n_ratio) / ( mu_Glc_n + (1/p_n_ratio) )) * ( (1/r_n_ratio) / (nu_Glc_n + (1/r_n_ratio)) ) * (u[18] / (u[18] + K_Glc_n)) - psiGlc_a = V_Glc_a * ((1/p_a_ratio) / ( mu_Glc_a + (1/p_a_ratio) )) * ((1/r_a_ratio) / (nu_Glc_a + (1/r_a_ratio) ) ) * (u[19] / (u[19] + K_Glc_a)) # u19 = Glc_a - - - psiLDH1_n = V_LDH1_n * (r_n_ratio / (nu_LDH1_n + r_n_ratio) ) * (u[22] / (u[22] + K_LDH1_n)) - psiLDH1_a = V_LDH1_a * (r_a_ratio / (nu_LDH1_a + r_a_ratio) ) * (u[23] / (u[23] + K_LDH1_a)) - - psiLDH2_n = V_LDH2_n * ( (1/r_n_ratio) / (nu_LDH2_n + (1/r_n_ratio) ) ) * (u[20] / (u[20] + K_LDH2_n)) - psiLDH2_a = V_LDH2_a * ( (1/r_a_ratio) / (nu_LDH2_a + (1/r_a_ratio) ) ) * (u[21] / (u[21] + K_LDH2_a)) - - - psiTCA_n = V_TCA_n * ((1/p_n_ratio) / ( mu_TCA_n + (1/p_n_ratio) )) * ( (1/r_n_ratio) / (nu_TCA_n + (1/r_n_ratio)) ) * (u[22] / (u[22] + K_TCA_n)) - psiTCA_a = V_TCA_a * ((1/p_a_ratio) / ( mu_TCA_a + (1/p_a_ratio) )) * ((1/r_a_ratio) / (nu_TCA_a + (1/r_a_ratio) ) ) * (u[23] / (u[23] + K_TCA_a)) - - psiCr_n = V_Cr_n * (p_n_ratio/ ( mu_Cr_n + p_n_ratio )) * (u[26] / (u[26] + K_Cr_n)) - psiCr_a = V_Cr_a * (p_a_ratio / ( mu_Cr_a + p_a_ratio ))* (u[27] / (u[27] + K_Cr_a)) - - psiPCr_n = V_PCr_n * ((1/p_n_ratio) / ( mu_PCr_n + (1/p_n_ratio) )) * (u[24] / (u[24] + K_PCr_n)) - psiPCr_a = V_PCr_a * ((1/p_a_ratio) / ( mu_PCr_a + (1/p_a_ratio) )) * (u[25] / (u[25] + K_PCr_a)) - - - - - - - # ATPase - H2_metabo_atpase= 0.833*H1_metabo_atpase - - #JpumpNa = (p_n_ratio/(mu_pump_ephys + p_n_ratio)) * (rho/(1+exp((25.0 -u[7])/3))) * (1/(1+exp(5.5 - u[8]))) - JpumpNa = (p_n_ratio/(mu_pump_ephys + p_n_ratio)) * (rho/(1+exp((25.0 -Na_in)/3))) * (1/(1+exp(5.5 - u[8]))) - - JgliaK = (p_a_ratio/(mu_glia_ephys + p_a_ratio)) * (glia/(1+exp((18.0 - u[8])/2.5))) - JdiffK = epsilon*(u[8] - kbath) - - #Naout = 144.0 - beta*(u[7] - 11.5) # mM - Naout = 144.0 - beta*(Na_in - 11.5) # mM - - #VNa = 26.64*log(Naout/u[7]) #26.64*log(clamp(Naout,1e-12,Naout)/clamp(u[7],1e-12,u[7])) # u7 = Na0in - VNa = 26.64*log(Naout/Na_in) #26.64*log(clamp(Naout,1e-12,Naout)/clamp(u[7],1e-12,u[7])) # u7 = Na0in - - gNaleak = (1+ksi)*gNa0leak - - INaleak = gNaleak*(u[1]-VNa) - INaleak0 = gNa0leak*(u[1]-VNa) # check if this is correct, not given explicitly in Calvetti2018 - INaact = p[1] # INaleak - INaleak0 - - #psiNKA_n = H1_metabo_atpase + s_metabo_atpase*(eto_n*JpumpNa + 0.33*(gamma/sigma_atpase)* INaact ) # INaact because ksi>0 in a model - psiNKA_a = H2_metabo_atpase + s_metabo_atpase*(eto_ecs*JgliaK/2.0 + 2.33*(gamma/sigma_atpase)* INaact ) - - - - - du[1]=0 - du[2]=0 - du[3]=0 - du[4]=0 - du[5]=0 - du[6]=0 - du[7]=0 - du[8]=(1/tau)*(gamma*beta*IK-2*beta*JpumpNa-JgliaK-JdiffK) - - du[9] = (1/eto_b) * ( (u[12]/Fr_blood)*( C_Glc_a - u[9]) - JGlc ) # Glc_b - du[10] = (1/eto_b) * ( (u[12]/Fr_blood)*( C_Lac_a - u[10]) - JLac ) # Lac_b - du[11] = (1/eto_b) * ( (u[12]/Fr_blood)*( C_O_a - u[11]) - JO2 ) # O2_b - - du[12]=0 # placeholder for callback (q=A(t)*Q0, blood flow) - - du[13] = (1/eto_ecs) * ( JGlc - jGlc_n - jGlc_a ) # Glc_ecs - du[14] = (1/eto_ecs) * ( JLac - jLac_n - jLac_a ) # Lac_ecs - du[15] = (1/eto_ecs) * ( JO2 - jO2_n - jO2_a ) # O2_ecs - - du[16] = (1/eto_n) * ( jO2_n + (-1)*psiOxphos_n ) # O2_n - du[17] = (1/eto_a) * ( jO2_a + (-1)*psiOxphos_a ) # O2_a - - du[18] = (1/eto_n) * (jGlc_n + (-1)*psiGlc_n) # u[18] = Glc_n - du[19] = (1/eto_a) * (jGlc_a + (-1)*psiGlc_a) # u[19] = Glc_a - - du[20] = (1/eto_n) * (jLac_n + psiLDH1_n + (-1)*psiLDH2_n) # u[20] = Lac_n - du[21] = (1/eto_a) * (jLac_a + psiLDH1_a + (-1)*psiLDH2_a) # u[21] = Lac_a - - - du[22] = (1/eto_n) * ( 2*psiGlc_n + (-1)*psiLDH1_n + psiLDH2_n + (-1)*psiTCA_n ) # u22 = Pyr_n - du[23] = (1/eto_a) * ( 2*psiGlc_a + (-1)*psiLDH1_a + psiLDH2_a + (-1)*psiTCA_a ) # u23 = Pyr_a - - du[24] = (1/eto_n) * ( (-1)*psiPCr_n + psiCr_n ) # u24 = PCr_n - du[25] = (1/eto_a) * ( (-1)*psiPCr_a + psiCr_a ) # u25 = PCr_a - - du[26] = (1/eto_n) * ( (-1)*psiCr_n + psiPCr_n ) # u26 = Cr_n - du[27] = (1/eto_a) * ( (-1)*psiCr_a + psiPCr_a ) # u27 = Cr_a - - du[28] = (1/eto_n) * ( 2*psiGlc_n + psiTCA_n + 5*psiOxphos_n + psiPCr_n + (-1)*psiCr_n) #no psiNKA_n because it's already accounted in Ndam and ini ATP is from ndam + (-1)*psiNKA_n ) # ATP_n - du[29] = (1/eto_a) * ( 2*psiGlc_a + psiTCA_a + 5*psiOxphos_a + psiPCr_a + (-1)*psiCr_a + (-1)*psiNKA_a ) # ATP_a - - du[30] = (1/eto_n) * ( (-2)*psiGlc_n + (-1)*psiTCA_n + (-5)*psiOxphos_n + (-1)*psiPCr_n + psiCr_n) #no psiNKA_n because it's already accounted in Ndam and ini ADP is adjusted in py from ndam + psiNKA_n ) # ADP_n - du[31] = (1/eto_a) * ( (-2)*psiGlc_a + (-1)*psiTCA_a + (-5)*psiOxphos_a + (-1)*psiPCr_a + psiCr_a + psiNKA_a ) # ADP_a - - - - du[32] = (1/eto_n) * ( 2*psiGlc_n + (-1)*psiLDH1_n + psiLDH2_n + 5*psiTCA_n + (-2)*psiOxphos_n ) # u32 = NADH_n - du[33] = (1/eto_a) * ( 2*psiGlc_a + (-1)*psiLDH1_a + psiLDH2_a + 5*psiTCA_a + (-2)*psiOxphos_a ) # u33 = NADH_a - - - du[34] = (1/eto_n) * ( -2*psiGlc_n + psiLDH1_n + (-1)*psiLDH2_n -5*psiTCA_n + 2*psiOxphos_n ) # u34 = NAD_n - du[35] = (1/eto_a) * ( -2*psiGlc_a + psiLDH1_a + (-1)*psiLDH2_a -5*psiTCA_a + 2*psiOxphos_a ) # u35 = NAD_a - - du[36] = 0 # placeholder for callback ksi - du[37]=0 - - #return nothing - -end diff --git a/multiscale_run/data/metabolismndam_reduced/met4cns.jl b/multiscale_run/data/metabolismndam_reduced/met4cns.jl deleted file mode 100644 index a070b6b..0000000 --- a/multiscale_run/data/metabolismndam_reduced/met4cns.jl +++ /dev/null @@ -1,311 +0,0 @@ -function metabolism(du,u,p,t) - - """ - This function defines the metabolism model in a system of ordinary differential equations. It is called from main.py in multiscale_run software. It can also be used independently of main.py from pure Julia programming language code script/notebook. - - It is based on Calvetti 2018 paper https://doi.org/10.1016/j.jtbi.2018.02.029 - - For the details on Julia Differential Equations please see https://docs.sciml.ai/DiffEqDocs/stable/ (this webpage also provides the tutorial to help you run simulation with this function from pure Julia without multiscale_run if need be). - - - Args: - - Formally, the args are du,u,p,t. In fact, du is a placeholder to keep the solution of the system. It should be the same size as u, which is an initial values list. Next, p is a list of parameters and t is a time span. Please see the details on arguments in https://docs.sciml.ai/DiffEqDocs/stable/ In diffeqpy interface used in multiscale run we just define u,t,p as input args. - - - Returns: - - Formally, there is no "return" of this function, but the function itself is being used for metabolism dynamics simulation from main.py as shown below: - prob_metabo = de.ODEProblem(metabolism, vm, tspan_m, param) - In a way the function used with de.ODEProblem it defines an ODE system problem to be solved with - sol = de.solve( prob_metabo, de.Rosenbrock23(autodiff=False), reltol=1e-8, abstol=1e-8, saveat=1, maxiters=1e6, ) - - """ - - - ina_density,ik_density,mito_scale, notBigg_FinDyn_W2017, notBigg_Fout_W2017, u_notBigg_vV_b_b = @. p # p[] - - - # constants - - R = 8.31 # J/(K*mol) - T = 310.0 # Kelvin, temperature 310K is 37 C - F = 96.485 # 96485.0 C/mol - - Cm = 1.0 # uF/cm2 Calvetti2018 capacitance - phi = 3.0 # 1/ms Calvetti2018 time constant - - # Conductance param from Calvetti2018 and Cressman2011 - gNa = 100.0 # mS/cm2 - gK = 40.0 # mS/cm2 - gNa0leak = 0.0175 # mS/cm2 - gK0leak = 0.05 # mS/cm2 - gCl = 0.05 # mS/cm2 - - beta = 1.33 # Calvetti2018; in Cressman2011 it was set to 7.0 - ksi_rest = 0.06 #0.15 # 0.06 is for resting system # 2.5 # Calvetti2018; external stimuli, 2.5 should give 90 Hz # this can be decreased for smaller Hz - ksi_act = 2.5 # Calvetti2018; external stimuli, 2.5 should give 90 Hz # this can be decreased for smaller Hz - gamma = 0.0445 # Calvetti2018 mM*cm2/uC - - #rho=1.25 # Cressman2011 - #epsilon=1.333333333 # Cressman2011 - #kbath=4.0 # Cressman2011 - #glia=66.666666666 # Cressman2011 - rho=13.83 # mM/s # Calvetti2018 - epsilon=9.33 # 1/s # Calvetti2018 - kbath=6.3 # mM # Calvetti2018 - glia=20.75 # mM/s # Calvetti2018 - - s_metabo_atpase = 0.15 # Calvetti2018 tuned this param from OGI - H1_metabo_atpase = 0.071667 # mM/s # 4.3 #mM/min - sigma_atpase = 103.0 # assumed by Calvetti2018 - - - mu_pump_ephys = 0.1 # Calvetti2018 - mu_glia_ephys = 0.1 # Calvetti2018 - - # volume fractions and blood related parameters (table 1) Calvetti2018 - eto_n = 0.4 # volume fraction neuron - eto_a = 0.3 # volume fraction astrocyte - eto_ecs = 0.3 # volume fraction ecs - eto_b = 0.04 # volume fraction blood - - Hct = 0.45 # is the volume percentage (vol%) of red blood cells in blood. - Hb = 5.18 - KH = 0.0364 #36.4*10^(-3) mM - - C_Glc_a = 5.0 # mM arterial concentration glucose - C_Lac_a = 1.1 # mM arterial concentration lactate - C_O_a = 9.14 # mM arterial concentration oxygen - Fr_blood = 2/3 # from Bayesian flux balance analysis applied to a skeletal muscle metabolic model 2007 Heino .. Calvetti - - # table 2 Calvetti2018 - TbGlc = 0.02 # mM/s - TbLac = 0.17 # mM/s - lambda_b_O2 = 0.04 # mM^(1-k)/s - TnGlc = 83.33 # mM/s - TnLac = 66.67 # mM/s - lambda_n_O2 = 0.94 # 1/s - TaGlc = 83.33 # mM/s - TaLac = 66.67 # mM/s - lambda_a_O2 = 0.68 # 1/s - - tau = 1000.0 # Calvetti2018 - - KbGlc = 4.60 # mM - KbLac = 5.00 # mM - KnGlc = 5.00 # mM - KnLac = 0.4 # mM - KaGlc = 12500.0 # mM - KaLac = 0.4 # mM - - # oxidative phosphorylation - V_oxphos_n = 8.18 # mM/s - V_oxphos_a = 2.55 # mM/s - K_oxphos_n = 1.0 #mM - K_oxphos_a = 1.0 #mM - mu_oxphos_n = 0.01 - mu_oxphos_a = 0.01 - nu_oxphos_n = 0.10 - nu_oxphos_a = 0.10 - - # glycolysis - V_Glc_n = 0.26 # mM/s - V_Glc_a = 0.25 # mM/s - K_Glc_n = 4.6 # mM - K_Glc_a = 3.1 # mM - mu_Glc_n = 0.09 - mu_Glc_a = 0.09 - nu_Glc_n = 10.00 - nu_Glc_a = 10.00 - - V_LDH1_n = 1436.0 # mM/s - V_LDH1_a = 4160.0 # mM/s - K_LDH1_n = 2.15 # mM - K_LDH1_a = 6.24 # mM - nu_LDH1_n = 0.1 - nu_LDH1_a = 0.1 - - V_LDH2_n = 1579.83 # mM/s - V_LDH2_a = 3245.0 # mM/s - K_LDH2_n = 23.7 # mM - K_LDH2_a = 48.66 # mM - nu_LDH2_n = 10.00 - nu_LDH2_a = 10.00 - - # Krebs - V_TCA_n = 0.03 # mM/s - V_TCA_a = 0.01 # mM/s - K_TCA_n = 0.01 # mM - K_TCA_a = 0.01 # mM - mu_TCA_n = 0.01 - mu_TCA_a = 0.01 - nu_TCA_n = 10.00 - nu_TCA_a = 10.00 - - V_Cr_n = 16666.67 # mM/s - V_Cr_a = 16666.67 # mM/s - K_Cr_n = 495.00 # mM - K_Cr_a = 495.00 # mM - mu_Cr_n = 0.01 - mu_Cr_a = 0.01 - - V_PCr_n = 16666.67 # mM/s - V_PCr_a = 16666.67 # mM/s - K_PCr_n = 528.00 # mM - K_PCr_a = 528.00 # mM - mu_PCr_n = 100.00 - mu_PCr_a = 100.00 - - - #INa = p[1] # same as INaact !!! - Na_in = u[7] #p[4] - #Kin = p[5] # Kin from Ndam - IK = ik_density #p[6] #current density, uA/cm2 in Calvetti #gK*(n^4)*(V-VK) + gKleak*(V-VK) # based on Calvetti2018 gKleak depends on ksi and glutamate activation - K_out = u[8] #p[7] #u8 before coupling with ndam - - #V = p[3] #u[1] - m = u[2] - h = u[3] - n = u[4] - ksi = ksi_rest #p[2] # u[36] # placeholder for callback activation related to glu - u[12] = notBigg_FinDyn_W2017 - - JGlc = TbGlc*( u[9]/(u[9] + KbGlc) - u[13]/(u[13] + KbGlc) ) - JLac = TbLac*( u[10]/(u[10] + KbLac) - u[14]/(u[14] + KbLac) ) - JO2 = lambda_b_O2*( (u[11] + 4*Hct*Hb*(u[11]^2.5)/((KH^2.5)+(u[11]^2.5)) )^(-1) - u[15])^0.1 # k=0.1 eq3 Calvetti2018 - #JO2 = lambda_b_O2*(clamp( (u[11] + 4*Hct*Hb*(u[11]^2.5)/((KH^2.5)+(u[11]^2.5)) ),1e-12,(u[11] + 4*Hct*Hb*(u[11]^2.5)/((KH^2.5)+(u[11]^2.5)) ))^(-1) - u[15])^0.1 # k=0.1 eq3 Calvetti2018 # clamped to avoid /0 - - - # ECS - - jGlc_n = TnGlc*( u[13]/(u[13] + KnGlc) - u[18]/(u[18] + KnGlc) ) - jLac_n = TnLac*( u[14]/(u[14] + KnLac) - u[20]/(u[20] + KnLac) ) - jGlc_a = TaGlc*( u[13]/(u[13] + KaGlc) - u[19]/(u[19] + KaGlc) ) - jLac_a = TaLac*( u[14]/(u[14] + KaLac) - u[21]/(u[21] + KaLac) ) - - jO2_n = lambda_n_O2*(u[15]- u[16]) - jO2_a = lambda_a_O2*(u[15]- u[17]) - - - # metabolism - - p_n_ratio = u[28]/u[30] #clamp(u[28],1e-12,u[28])/clamp(u[30],1e-12,u[30]) #u28 = ATP_n # u30 = ADP_n - p_a_ratio = u[29]/u[31] #clamp(u[29],1e-12,u[29])/clamp(u[31],1e-12,u[31]) - r_n_ratio = u[32]/u[34] #clamp(u[32],1e-12,u[32])/clamp(u[34],1e-12,u[34]) # u32 = NADH_n # u34 = NAD_n - r_a_ratio = u[33]/u[35] #clamp(u[33],1e-12,u[33])/clamp(u[35],1e-12,u[35]) - - - psiOxphos_n = V_oxphos_n * ((1/p_n_ratio) / ( mu_oxphos_n + (1/p_n_ratio) )) * (r_n_ratio / (nu_oxphos_n + r_n_ratio) ) * (u[16] / (u[16] + K_oxphos_n)) - psiOxphos_a = V_oxphos_a * ((1/p_a_ratio) / ( mu_oxphos_a + (1/p_a_ratio) )) * (r_a_ratio / (nu_oxphos_a + r_a_ratio) ) * (u[17] / (u[17] + K_oxphos_a)) - - - - ####################### - psiGlc_n = V_Glc_n * ((1/p_n_ratio) / ( mu_Glc_n + (1/p_n_ratio) )) * ( (1/r_n_ratio) / (nu_Glc_n + (1/r_n_ratio)) ) * (u[18] / (u[18] + K_Glc_n)) - psiGlc_a = V_Glc_a * ((1/p_a_ratio) / ( mu_Glc_a + (1/p_a_ratio) )) * ((1/r_a_ratio) / (nu_Glc_a + (1/r_a_ratio) ) ) * (u[19] / (u[19] + K_Glc_a)) # u19 = Glc_a - - - psiLDH1_n = V_LDH1_n * (r_n_ratio / (nu_LDH1_n + r_n_ratio) ) * (u[22] / (u[22] + K_LDH1_n)) - psiLDH1_a = V_LDH1_a * (r_a_ratio / (nu_LDH1_a + r_a_ratio) ) * (u[23] / (u[23] + K_LDH1_a)) - - psiLDH2_n = V_LDH2_n * ( (1/r_n_ratio) / (nu_LDH2_n + (1/r_n_ratio) ) ) * (u[20] / (u[20] + K_LDH2_n)) - psiLDH2_a = V_LDH2_a * ( (1/r_a_ratio) / (nu_LDH2_a + (1/r_a_ratio) ) ) * (u[21] / (u[21] + K_LDH2_a)) - - - psiTCA_n = V_TCA_n * ((1/p_n_ratio) / ( mu_TCA_n + (1/p_n_ratio) )) * ( (1/r_n_ratio) / (nu_TCA_n + (1/r_n_ratio)) ) * (u[22] / (u[22] + K_TCA_n)) - psiTCA_a = V_TCA_a * ((1/p_a_ratio) / ( mu_TCA_a + (1/p_a_ratio) )) * ((1/r_a_ratio) / (nu_TCA_a + (1/r_a_ratio) ) ) * (u[23] / (u[23] + K_TCA_a)) - - psiCr_n = V_Cr_n * (p_n_ratio/ ( mu_Cr_n + p_n_ratio )) * (u[26] / (u[26] + K_Cr_n)) - psiCr_a = V_Cr_a * (p_a_ratio / ( mu_Cr_a + p_a_ratio ))* (u[27] / (u[27] + K_Cr_a)) - - psiPCr_n = V_PCr_n * ((1/p_n_ratio) / ( mu_PCr_n + (1/p_n_ratio) )) * (u[24] / (u[24] + K_PCr_n)) - psiPCr_a = V_PCr_a * ((1/p_a_ratio) / ( mu_PCr_a + (1/p_a_ratio) )) * (u[25] / (u[25] + K_PCr_a)) - - - # ATPase - H2_metabo_atpase= 0.833*H1_metabo_atpase - - #JpumpNa = (p_n_ratio/(mu_pump_ephys + p_n_ratio)) * (rho/(1+exp((25.0 -u[7])/3))) * (1/(1+exp(5.5 - u[8]))) - JpumpNa = (p_n_ratio/(mu_pump_ephys + p_n_ratio)) * (rho/(1+exp((25.0 -Na_in)/3))) * (1/(1+exp(5.5 - u[8]))) - - JgliaK = (p_a_ratio/(mu_glia_ephys + p_a_ratio)) * (glia/(1+exp((18.0 - u[8])/2.5))) - JdiffK = epsilon*(u[8] - kbath) - - #Naout = 144.0 - beta*(u[7] - 11.5) # mM - Naout = 144.0 - beta*(Na_in - 11.5) # mM - - #VNa = 26.64*log(Naout/u[7]) #26.64*log(clamp(Naout,1e-12,Naout)/clamp(u[7],1e-12,u[7])) # u7 = Na0in - VNa = 26.64*log(Naout/Na_in) #26.64*log(clamp(Naout,1e-12,Naout)/clamp(u[7],1e-12,u[7])) # u7 = Na0in - - gNaleak = (1+ksi)*gNa0leak - - INaleak = gNaleak*(u[1]-VNa) - INaleak0 = gNa0leak*(u[1]-VNa) # check if this is correct, not given explicitly in Calvetti2018 - INaact = ina_density #p[1] # INaleak - INaleak0 - - #psiNKA_n = H1_metabo_atpase + s_metabo_atpase*(eto_n*JpumpNa + 0.33*(gamma/sigma_atpase)* INaact ) # INaact because ksi>0 in a model - psiNKA_a = H2_metabo_atpase + s_metabo_atpase*(eto_ecs*JgliaK/2.0 + 2.33*(gamma/sigma_atpase)* INaact ) - - - - - du[1]=0 - du[2]=0 - du[3]=0 - du[4]=0 - du[5]=0 - du[6]=0 - du[7]=0 - du[8]=(1/tau)*(gamma*beta*IK-2*beta*JpumpNa-JgliaK-JdiffK) - - du[9] = (1/eto_b) * ( (u[12]/Fr_blood)*( C_Glc_a - u[9]) - JGlc ) # Glc_b - du[10] = (1/eto_b) * ( (u[12]/Fr_blood)*( C_Lac_a - u[10]) - JLac ) # Lac_b - du[11] = (1/eto_b) * ( (u[12]/Fr_blood)*( C_O_a - u[11]) - JO2 ) # O2_b - - du[12]=0 # placeholder for callback (q=A(t)*Q0, blood flow) - - du[13] = (1/eto_ecs) * ( JGlc - jGlc_n - jGlc_a ) # Glc_ecs - du[14] = (1/eto_ecs) * ( JLac - jLac_n - jLac_a ) # Lac_ecs - du[15] = (1/eto_ecs) * ( JO2 - jO2_n - jO2_a ) # O2_ecs - - du[16] = (1/eto_n) * ( jO2_n + (-1)*psiOxphos_n ) # O2_n - du[17] = (1/eto_a) * ( jO2_a + (-1)*psiOxphos_a ) # O2_a - - du[18] = (1/eto_n) * (jGlc_n + (-1)*psiGlc_n) # u[18] = Glc_n - du[19] = (1/eto_a) * (jGlc_a + (-1)*psiGlc_a) # u[19] = Glc_a - - du[20] = (1/eto_n) * (jLac_n + psiLDH1_n + (-1)*psiLDH2_n) # u[20] = Lac_n - du[21] = (1/eto_a) * (jLac_a + psiLDH1_a + (-1)*psiLDH2_a) # u[21] = Lac_a - - - du[22] = (1/eto_n) * ( 2*psiGlc_n + (-1)*psiLDH1_n + psiLDH2_n + (-1)*psiTCA_n ) # u22 = Pyr_n - du[23] = (1/eto_a) * ( 2*psiGlc_a + (-1)*psiLDH1_a + psiLDH2_a + (-1)*psiTCA_a ) # u23 = Pyr_a - - du[24] = (1/eto_n) * ( (-1)*psiPCr_n + psiCr_n ) # u24 = PCr_n - du[25] = (1/eto_a) * ( (-1)*psiPCr_a + psiCr_a ) # u25 = PCr_a - - du[26] = (1/eto_n) * ( (-1)*psiCr_n + psiPCr_n ) # u26 = Cr_n - du[27] = (1/eto_a) * ( (-1)*psiCr_a + psiPCr_a ) # u27 = Cr_a - - du[28] = (1/eto_n) * ( 2*psiGlc_n + psiTCA_n + 5*psiOxphos_n + psiPCr_n + (-1)*psiCr_n) #no psiNKA_n because it's already accounted in Ndam and ini ATP is from ndam + (-1)*psiNKA_n ) # ATP_n - du[29] = (1/eto_a) * ( 2*psiGlc_a + psiTCA_a + 5*psiOxphos_a + psiPCr_a + (-1)*psiCr_a + (-1)*psiNKA_a ) # ATP_a - - du[30] = (1/eto_n) * ( (-2)*psiGlc_n + (-1)*psiTCA_n + (-5)*psiOxphos_n + (-1)*psiPCr_n + psiCr_n) #no psiNKA_n because it's already accounted in Ndam and ini ADP is adjusted in py from ndam + psiNKA_n ) # ADP_n - du[31] = (1/eto_a) * ( (-2)*psiGlc_a + (-1)*psiTCA_a + (-5)*psiOxphos_a + (-1)*psiPCr_a + psiCr_a + psiNKA_a ) # ADP_a - - - - du[32] = (1/eto_n) * ( 2*psiGlc_n + (-1)*psiLDH1_n + psiLDH2_n + 5*psiTCA_n + (-2)*psiOxphos_n ) # u32 = NADH_n - du[33] = (1/eto_a) * ( 2*psiGlc_a + (-1)*psiLDH1_a + psiLDH2_a + 5*psiTCA_a + (-2)*psiOxphos_a ) # u33 = NADH_a - - - du[34] = (1/eto_n) * ( -2*psiGlc_n + psiLDH1_n + (-1)*psiLDH2_n -5*psiTCA_n + 2*psiOxphos_n ) # u34 = NAD_n - du[35] = (1/eto_a) * ( -2*psiGlc_a + psiLDH1_a + (-1)*psiLDH2_a -5*psiTCA_a + 2*psiOxphos_a ) # u35 = NAD_a - - du[36] = 0 # placeholder for callback ksi - du[37]=0 - - #return nothing - -end diff --git a/multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_noEphys_noSB.jl b/multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_noEphys_noSB.jl deleted file mode 100644 index 097ec58..0000000 --- a/multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_noEphys_noSB.jl +++ /dev/null @@ -1,825 +0,0 @@ -function metabolism!(du,u,p,t) - - ina_density,ik_density,mito_scale,glutamatergic_gaba_scaling,outs_r_to_met = @. p - -# Pi_n0 = 20.0; Pi_a0 = 20.0 -# vV0 = 0.0237 # ml global_par_Compartment_9 0.02396 - in pdf # 0.0237 # - in Winter2017 matlab file # 0.02 in Jolivet2015 -# ddHb0 = 0.05 #0.058 #0.0478 #0.058 #mM Jolivet2015 # 0.0478 #Winter2017 # 0.12 Aubert2007 doi 10.1073/pnas.0605864104 # 0.063 Auebrt 2002 doi:10.1006/nimg.2002.1224 and Buxton et al. (1998a,b) - -# PCr_n0 = 4.9460223423181864e+000; PCr_a0 = 4.9242059083825644e+000 - - Pi_n = Pi_n0; Pi_a = Pi_a0 - NADHmito_n = u[4];ATPmito_n = u[8];ADPmito_n = u[9];Pimito_n = u[12]; - ATP_n = u[23]; - FUMmito_n = u[25];MALmito_n = u[26];OXAmito_n = u[27];SUCmito_n = u[28];SUCCOAmito_n = u[29];CoAmito_n = u[30];AKGmito_n = u[31];CaMito_n = u[32];ISOCITmito_n = u[33];CITmito_n = u[34];AcCoAmito_n = u[35];AcAc_n = u[36];AcAcCoA_n = u[37];PYRmito_n = u[38];bHB_n = u[39];bHB_ecs = u[40];bHB_a = u[41];bHB_b = u[42];ASPmito_n = u[43];ASP_n = u[44];GLUmito_n = u[45];MAL_n = u[46];OXA_n = u[47];AKG_n = u[48];GLU_n = u[49];NADH_n = u[50];NADHmito_a = u[54];ATPmito_a = u[58];ADPmito_a = u[59];Pimito_a = u[62]; - ATP_a = u[73]; - FUMmito_a = u[75];MALmito_a = u[76];OXAmito_a = u[77];SUCmito_a = u[78];SUCCOAmito_a = u[79];CoAmito_a = u[80];AKGmito_a = u[81];CaMito_a = u[82];ISOCITmito_a = u[83];CITmito_a = u[84];AcCoAmito_a = u[85];AcAc_a = u[86];AcAcCoA_a = u[87];PYRmito_a = u[88];C_H_mitomatr_n = u[1];C_H_mitomatr_nM = 1e-3*u[1];K_x_nM= 1e-3*u[2];Mg_x_nM = 1e-3*u[3]; - NADHmito_nM = 1e-3*u[4]; QH2mito_nM= 1e-3*u[5]; CytCredmito_nM = 1e-3*u[6]; O2_nM = 1e-3*u[7]; O2_n = u[7]; ATPmito_nM = 1e-3*u[8];ADPmito_nM = 1e-3*u[9] - - PCr_n = u[174]; PCr_a = u[176]; Cr_n = Crtot - PCr_n; Cr_a = Crtot - PCr_a - cAMP_a = u[177]; NE_neuromod = u[178] - UDPgluco_a = u[179]; UTP_a = u[180]; GS_a = u[181]; GPa_a = u[182]; GPb_a = u[183] - - - ADP_n = ATP_n/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_n/ATP_n-1))) - ADP_a = ATP_a/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_a/ATP_a-1))) - - j_un = qAK*qAK+4*qAK*(ATDPtot_n/ATP_n-1) - j_ug = qAK*qAK+4*qAK*(ATDPtot_a/ATP_a-1) - - dAMPdATPn = -1+qAK/2-0.5*sqrt(j_un)+qAK*ATDPtot_n/(ATP_n*sqrt(j_un)) - dAMPdATPg = -1+qAK/2-0.5*sqrt(j_ug)+qAK*ATDPtot_a/(ATP_a*sqrt(j_ug)) - - - ATP_nM = 1e-3*ATP_n; ADP_nM = 1e-3*ADP_n - ATP_aM = 1e-3*ATP_a; ADP_aM = 1e-3*ADP_a - - ATP_mx_nM = 1e-3*u[10]; ADP_mx_nM = 1e-3*u[11] # Matrix ATDP bound to magnesium - Pimito_nM = 1e-3*u[12] # Matrix inorganic phosphate - - ATP_i_n = u[13] - ATP_i_nM = 1e-3*u[13]; ADP_i_nM = 1e-3*u[14]; ADP_i_n = u[14] # IMS ATDP - AMP_i_nM = 1e-3*u[15] # IMS AMP - - ATP_mi_nM = 1e-3*u[16]; ADP_mi_nM = 1e-3*u[17] # IMS ATP bound to magnesium - Pi_i_nM = 1e-3*u[18] # IMS inorganic phosphate - - MitoMembrPotent_n = u[19] # Mitochondrial membrane potential - - Ctot_nM = 1e-3*u[20] # total cyt-c in IMS - Qtot_nM = 1e-3*u[21] # total ubiquinol - - C_H_ims_nM = 1e-3*u[22] # IMS hydrogen concentration - - AMP_nM = 0 # cytosolic ATDMP, M - - # Balancing moeities - NAD_x_n = NADtot - NADHmito_nM; NADmito_n = 1000*NAD_x_n # mM ################ - Q_n = Qtot_nM - QH2mito_nM; Qmito_n = 1000*Q_n # mM ################ - Cox_n = Ctot_nM - CytCredmito_nM; - - # Other concentrations computed from the state variables - ATP_fx_n = ATPmito_nM - ATP_mx_nM - ADP_fx_n = ADPmito_nM - ADP_mx_nM - ATP_fi_n = ATP_i_nM - ATP_mi_nM - ADP_fi_n = ADP_i_nM - ADP_mi_nM - - # ADP/Mg/K binding in E space - ADP_me_n = ( (K_DD + ADP_nM + Mg_tot) - sqrt((K_DD + ADP_nM + Mg_tot)^2 - 4*(Mg_tot*ADP_nM)) )/2; - #ADP_fe_n = ADP_nM - ADP_me_n; - Mg_i_n = Mg_tot - ADP_me_n; # Mg_i_n = Mg_e; # Mg,K in IM space same as external/cytosolic - - # Calculating Membrane proton motive force and respiration fluxes - dG_H_n = etcF*MitoMembrPotent_n + 1*etcRT*log(C_H_ims_nM/C_H_mitomatr_nM); # Protomotive force - dG_C1op_n = dG_C1o - 1*etcRT*log(C_H_mitomatr_nM/1e-7); - dG_C3op_n = dG_C3o + 2*etcRT*log(C_H_mitomatr_nM/1e-7); - dG_C4op_n = dG_C4o - 2*etcRT*log(C_H_mitomatr_nM/1e-7); - dG_F1op_n = dG_F1o - 1*etcRT*log(C_H_mitomatr_nM/1e-7); - - #a - C_H_mitomatr_a = u[51]; C_H_mitomatr_aM = 1e-3*u[51] # Matrix hydrogen concentration - K_x_aM = 1e-3*u[52] # Matrix potassium concentration - Mg_x_aM = 1e-3*u[53] # Matrix magnesium concentration - - NADHmito_aM = 1e-3*u[54] # Reduced NADH in matrix - QH2mito_aM = 1e-3*u[55] # Reduced ubiquinol in matrix - CytCredmito_aM = 1e-3*u[56] # Reduced cyt-c in IMS - O2_aM = 1e-3*u[57] # O2 - O2_a = u[57] # O2_a - - ATPmito_aM = 1e-3*u[58] # Matrix ATP - ADPmito_aM = 1e-3*u[59] # Matrix ADP - - ATP_mx_aM = 1e-3*u[60] # Matrix ATP bound to magnesium - ADP_mx_aM = 1e-3*u[61] # Matrix ADP bound to magnesium - Pimito_aM = 1e-3*u[62] # Matrix inorganic phosphate - - ATP_i_a = u[63] - ATP_i_aM = 1e-3*u[63] # IMS ATP - ADP_i_aM = 1e-3*u[64]; ADP_i_a = u[64] # IMS ADP - AMP_i_aM = 1e-3*u[65] # IMS AMP - ATP_mi_aM = 1e-3*u[66] # IMS ATP bound to magnesium - ADP_mi_aM = 1e-3*u[67] # IMS ADP bound to magnesium - Pi_i_aM = 1e-3*u[68] # IMS inorganic phosphate - - MitoMembrPotent_a = u[69] # Mitochondrial membrane potential - - Ctot_aM = 1e-3*u[70] # total cyt-c in IMS - Qtot_aM = 1e-3*u[71] # total ubiquinol - C_H_ims_aM = 1e-3*u[72] # IMS hydrogen concentration - - AMP_aM = 0 # cytosolic AMP concentration (Molar), Nicholls and others - #AMP_e = 0; # cytosolic AMP concentration (Molar], Nicholls and others - - # Balancing moeities - NAD_x_a = NADtot - NADHmito_aM; - NADmito_a = 1000*NAD_x_a # mM ################ - Q_a = Qtot_aM - QH2mito_aM; - Qmito_a = 1000*Q_a # mM ################ - Cox_a = Ctot_aM - CytCredmito_aM; - - # Other concentrations computed from the state variables - ATP_fx_a = ATPmito_aM - ATP_mx_aM - ADP_fx_a = ADPmito_aM - ADP_mx_aM - ATP_fi_a = ATP_i_aM - ATP_mi_aM - ADP_fi_a = ADP_i_aM - ADP_mi_aM - - # ADP/Mg/K binding in E space - ADP_me_a = ( (K_DD_a + ADP_aM + Mg_tot) - sqrt((K_DD_a + ADP_aM + Mg_tot)^2 - 4*(Mg_tot*ADP_aM)) )/2; - #ADP_fe_a = ADP_aM - ADP_me_a; - Mg_i_a = Mg_tot - ADP_me_a; # Mg_i_a = Mg_e; # Mg,K in IM space same as external/cytosolic - - # Calculating Membrane proton motive force and respiration fluxes - dG_H_a = etcF*MitoMembrPotent_a + 1*etcRT*log(C_H_ims_aM/C_H_mitomatr_aM); # Protomotive force - dG_C1op_a = dG_C1o - 1*etcRT*log(C_H_mitomatr_aM/1e-7); - dG_C3op_a = dG_C3o + 2*etcRT*log(C_H_mitomatr_aM/1e-7); - dG_C4op_a = dG_C4o - 2*etcRT*log(C_H_mitomatr_aM/1e-7); - dG_F1op_a = dG_F1o - 1*etcRT*log(C_H_mitomatr_aM/1e-7); - - ############### - # GLT-GLN - GLN_n = u[89]; GLN_out = u[90]; GLN_a = u[91]; GLUT_a = u[92]; Va = u[93]; Na_a = u[94]; K_a = u[95]; K_out = u[96]; GLUT_syn = u[97] - - ############## - # cyto - VNeu = u[98]; Na_n = u[99]; h = u[100]; n = u[101]; Ca_n = u[102]; pgate = u[103]; nBK_a = u[104]; mGluRboundRatio_a = u[105]; IP3_a = u[106]; hIP3Ca_a = u[107]; Ca_a = u[108]; Ca_r_a = u[109]; sTRP_a = u[110] - vV = u[111]; EET_a = u[112]; ddHb = u[113]; O2cap = u[114]; Glc_b = u[115]; glc_D_ecsEndothelium = u[116]; Glc_ecsBA = u[117]; Glc_a = u[118]; Glc_ecsAN = u[119]; Glc_n = u[120]; G6P_n = u[121]; G6P_a = u[122] - F6P_n = u[123]; F6P_a = u[124]; FBP_n = u[125]; FBP_a = u[126]; f26bp_a = u[127]; GLY_a = u[128]; AMP_n = u[129]; AMP_a = u[130]; G1P_a = u[131]; GAP_n = u[132]; GAP_a = u[133]; DHAP_n = u[134]; DHAP_a = u[135]; BPG13_n = u[136]; BPG13_a = u[137]; NADH_a = u[138] - PG3_n = u[141]; PG3_a = u[142]; PG2_n = u[143]; PG2_a = u[144]; PEP_n = u[145]; PEP_a = u[146]; Pyr_n = u[147]; Pyr_a = u[148]; Lac_b = u[149]; Lac_ecs = u[150]; Lac_a = u[151]; Lac_n = u[152] - NADPH_n = u[153]; NADPH_a = u[154]; GL6P_n = u[155]; GL6P_a = u[156]; GO6P_n = u[157]; GO6P_a = u[158]; RU5P_n = u[159]; RU5P_a = u[160]; R5P_n = u[161]; R5P_a = u[162]; X5P_n = u[163]; X5P_a = u[164]; S7P_n = u[165]; S7P_a = u[166]; E4P_n = u[167]; E4P_a = u[168]; GSH_n = u[169]; GSH_a = u[170]; GSSG_n = u[171]; GSSG_a = u[172] - - NADP_n = 0.0303 - NADPH_n; NADP_a = 0.0303 - NADPH_a - - # NAD+ + NADH = 0.212 # Jolivet2015 - NAD_n = 0.212 - NADH_n; NAD_a = 0.212 - NADH_a - - ################ - # Rates n - J_DH_n = x_DH*(r_DH*NAD_x_n - NADHmito_nM)*((1+Pimito_nM/k_Pi1)/(1+Pimito_nM/k_Pi2)); - J_C1_n = x_C1*(exp(-(dG_C1op_n+4*dG_H_n)/etcRT)*NADHmito_nM*Q_n - NAD_x_n*QH2mito_nM); - J_C3_n = x_C3*((1+Pimito_nM/k_Pi3)/(1+Pimito_nM/k_Pi4))*(exp(-(dG_C3op_n+4*dG_H_n-2*etcF*MitoMembrPotent_n)/(2*etcRT))*Cox_n*QH2mito_nM^0.5 - CytCredmito_nM*Q_n^0.5); - J_C4_n = x_C4*(O2_nM/(O2_nM+k_O2))*(CytCredmito_nM/Ctot_nM)*(exp(-(dG_C4op_n+2*dG_H_n)/(2*etcRT))*CytCredmito_nM*(O2_nM^0.25) - Cox_n*exp(etcF*MitoMembrPotent_n/etcRT)); - J_F1_n = x_F1*(exp(-(dG_F1op_n-n_A*dG_H_n)/etcRT)*(K_DD/K_DT)*ADP_mx_nM*Pimito_nM - ATP_mx_nM); - - # ATP transferase Korzeniewski 1998, Theurey 2019 - J_ANT_n = x_ANT*( ADP_fi_n/(ADP_fi_n + ATP_fi_n*exp(-etcF*(0.35*MitoMembrPotent_n)/etcRT)) - ADP_fx_n/(ADP_fx_n + ATP_fx_n*exp(-etcF*(-0.65*MitoMembrPotent_n)/etcRT)) )*(ADP_fi_n/(ADP_fi_n+k_mADP)); - - # Calculating ionic fluxes - H2PIi_n = Pi_i_nM*C_H_ims_nM/(C_H_ims_nM + k_dHPi); - H2PIx_n = Pimito_nM*C_H_mitomatr_nM/(C_H_mitomatr_nM + k_dHPi); - - J_Pi1_n = x_Pi1*(C_H_mitomatr_nM*H2PIi_n - C_H_ims_nM*H2PIx_n)/(H2PIi_n+k_PiH); - J_Hle_n = x_Hle*MitoMembrPotent_n*(C_H_ims_nM*exp(etcF*MitoMembrPotent_n/etcRT) - C_H_mitomatr_nM)/(exp(etcF*MitoMembrPotent_n/etcRT) - 1); - J_KH_n = x_KH*( K_i*C_H_mitomatr_nM - K_x_nM*C_H_ims_nM ); - J_K_n = x_K*MitoMembrPotent_n*(K_i*exp(etcF*MitoMembrPotent_n/etcRT) - K_x_nM)/(exp(etcF*MitoMembrPotent_n/etcRT) - 1); - J_AKi_n = x_AK*( K_AK*ADP_i_nM*ADP_i_nM - AMP_i_nM*ATP_i_nM ); - J_AMP_n = gamma*x_A*(AMP_nM - AMP_i_nM); - - J_ADP_n = gamma*x_A*(ADP_nM - ADP_i_nM); - J_ATP_n = gamma*x_A*(ATP_nM - ATP_i_nM); - - J_Pi2_n = gamma*x_Pi2*(1e-3 * Pi_n - Pi_i_nM); - J_Ht_n = gamma*x_Ht*(1e-3 * C_H_cyt_n - C_H_ims_nM); - - J_MgATPx_n = x_MgA*(ATP_fx_n*Mg_x_nM - K_DT*ATP_mx_nM); - J_MgADPx_n = x_MgA*(ADP_fx_n*Mg_x_nM - K_DD*ADP_mx_nM); - J_MgATPi_n = x_MgA*(ATP_fi_n*Mg_i_n - K_DT*ATP_mi_nM); - J_MgADPi_n = x_MgA*(ADP_fi_n*Mg_i_n - K_DD*ADP_mi_nM); - - ####################### - # TCA n - psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) = VmaxPDHCmito_n* (PYRmito_n/(PYRmito_n+KmPyrMitoPDH_n)) * (NADmito_n/(NADmito_n + KmNADmitoPDH_na)) * (CoAmito_n/(CoAmito_n + KmCoAmitoPDH_n)) - psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) = VmaxCSmito_n*(OXAmito_n/(OXAmito_n + KmOxaMito_n*(1.0 + CITmito_n/KiCitMito_n))) * (AcCoAmito_n/(AcCoAmito_n + KmAcCoAmito_n*(1.0+CoAmito_n/KiCoA_n))) - psiACO_n(CITmito_n,ISOCITmito_n) = VmaxAco_n*(CITmito_n-ISOCITmito_n/KeqAco_na) / (1.0+CITmito_n/KmCitAco_n + ISOCITmito_n/KmIsoCitAco_n) - psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n) = VmaxIDH_n*(NADmito_n/KiNADmito_na)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH ) / (1.0 + NADmito_n/KiNADmito_na + (KmNADmito_na/KiNADmito_na)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) + NADHmito_n/KiNADHmito_na + (NADmito_n/KiNADmito_na)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) + ((KmNADmito_na*NADHmito_n)/(KiNADmito_na*KiNADHmito_na))*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) ) - psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) = (VmaxKGDH_n*(1 + ADPmito_n/KiADPmito_KGDH_n)*(AKGmito_n/Km1KGDHKGDH_n)*(CoAmito_n/Km_CoA_kgdhKGDH_n)*(NADmito_n/KmNADkgdhKGDH_na) ) / ( ( (CoAmito_n/Km_CoA_kgdhKGDH_n)*(NADmito_n/KmNADkgdhKGDH_na)*(AKGmito_n/Km1KGDHKGDH_n + (1 + ATPmito_n/KiATPmito_KGDH_n)/(1 + CaMito_n/KiCa2KGDH_n)) ) + ( (AKGmito_n/Km1KGDHKGDH_n)*(CoAmito_n/Km_CoA_kgdhKGDH_n + NADmito_n/KmNADkgdhKGDH_na)*(1 + NADHmito_n/KiNADHKGDHKGDH_na + SUCCOAmito_n/Ki_SucCoA_kgdhKGDH_n) ) ) - psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) = VmaxSuccoaATPscs_n*(1+AmaxPscs_n*((Pimito_n^npscs_n)/((Pimito_n^npscs_n)+(Km_pi_scs_na^npscs_n)))) * (SUCCOAmito_n*ADPmito_n*Pimito_n - SUCmito_n*CoAmito_n*ATPmito_n/Keqsuccoascs_na)/((1+SUCCOAmito_n/Km_succoa_scs_n)*(1+ADPmito_n/Km_ADPmito_scs_n)*(1+Pimito_n/Km_pi_scs_na)+(1+SUCmito_n/Km_succ_scs_n)*(1+CoAmito_n/Km_coa_scs_n)*(1+ATPmito_n/Km_atpmito_scs_n)) - psiFUM_n(FUMmito_n,MALmito_n) = Vmaxfum_n*(FUMmito_n - MALmito_n/Keqfummito_na)/(1.0+FUMmito_n/Km_fummito_n+MALmito_n/Km_malmito_n) - psiMDH_n(MALmito_n,NADmito_n,OXAmito_n,NADHmito_n) = VmaxMDHmito_n*(MALmito_n*NADmito_n-OXAmito_n*NADHmito_n/Keqmdhmito_na) / ((1.0+MALmito_n/Km_mal_mdh_n)*(1.0+NADmito_n/Km_nad_mdh_na)+(1.0+OXAmito_n/Km_oxa_mdh_n)*(1.0+NADHmito_n/Km_nadh_mdh_na)) - - # Ketones - SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) = (VmaxfSCOT_n*SUCCOAmito_n*AcAc_n/( Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*(SUCCOAmito_n/Ki_SucCoA_SCOT_n + Km_SucCoA_SCOT_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + AcAcCoA_n/Ki_AcAcCoA_SCOT_n + Km_AcAcCoA_SCOT_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) + SUCCOAmito_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + SUCCOAmito_n*AcAcCoA_n/(Ki_SucCoA_SCOT_n*Ki_AcAcCoA_SCOT_n) + Km_SucCoA_SCOT_n*AcAc_n*SUCmito_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*Ki_SUC_SCOT_n) + AcAcCoA_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) ) )) - (VmaxrSCOT_n*AcAcCoA_n*SUCmito_n/( Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n*(SUCCOAmito_n/Ki_SucCoA_SCOT_n + Km_SucCoA_SCOT_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + AcAcCoA_n/Ki_AcAcCoA_SCOT_n + Km_AcAcCoA_SCOT_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) + SUCCOAmito_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + SUCCOAmito_n*AcAcCoA_n/(Ki_SucCoA_SCOT_n*Ki_AcAcCoA_SCOT_n) + Km_SucCoA_SCOT_n*AcAc_n*SUCmito_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*Ki_SUC_SCOT_n) + AcAcCoA_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) ) )) - thiolase_n(CoAmito_n,AcAcCoA_n) = Vmax_thiolase_f_n*CoAmito_n*AcAcCoA_n / ( Ki_CoA_thiolase_f_n * Km_AcAcCoA_thiolase_f_n + Km_AcAcCoA_thiolase_f_n*CoAmito_n + Km_CoA_thiolase_f_n*AcAcCoA_n + CoAmito_n*AcAcCoA_n) - JbHBTrArtCap(t,bHB_b) = (2*(C_bHB_a - bHB_b)/eto_b)*(global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3))))))) - MCT1_bHB_b(bHB_b,bHB_ecs) = VmaxMCTbhb_b*(bHB_b/(bHB_b + KmMCT1_bHB_b) - bHB_ecs/(bHB_ecs + KmMCT1_bHB_b)) - MCT2_bHB_n(bHB_ecs,bHB_n) = VmaxMCTbhb_n*(bHB_ecs/(bHB_ecs + KmMCT2_bHB_n) - bHB_n/(bHB_n + KmMCT2_bHB_n)) - MCT1_bHB_a(bHB_ecs,bHB_a) = VmaxMCTbhb_a*(bHB_ecs/(bHB_ecs + KmMCT1_bHB_a) - bHB_a/(bHB_a + KmMCT1_bHB_a)) - bHBDH_n(NADmito_n,NADHmito_n,bHB_n,AcAc_n) = Vmax_bHBDH_f_n*NADmito_n*bHB_n/(Ki_NAD_B_HBD_f_n*Km_betaHB_BHBD_n + Km_betaHB_BHBD_n*NADmito_n + Km_NAD_B_HBD_n*bHB_n + NADmito_n*bHB_n ) - (Vmax_bHBDH_r_n*NADHmito_n*AcAc_n/(Ki_NADH_BHBD_r_n*Km_AcAc_BHBD_n + Km_AcAc_BHBD_n*NADHmito_n + Km_NADH_BHBD_n*AcAc_n + NADHmito_n*AcAc_n )) - - ####################### - # MAS - # AAT mito n (GOT mito n): psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n), AKGmito_n + ASPmito_n ⇒ OXAmito_n + GLUmito_n - psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) = VfAAT_n*(ASPmito_n*AKGmito_n - OXAmito_n*GLUmito_n/KeqAAT_n) / ( KmAKG_AAT_n*ASPmito_n + KmASP_AAT_n*(1.0 + AKGmito_n/KiAKG_AAT_n)*AKGmito_n + ASPmito_n*AKGmito_n + KmASP_AAT_n*AKGmito_n*GLUmito_n/KiGLU_AAT_n + ( KiASP_AAT_n*KmAKG_AAT_n/(KmOXA_AAT_n*KiGLU_AAT_n) )* ( KmGLU_AAT_n*ASPmito_n*OXAmito_n/KiASP_AAT_n + OXAmito_n*GLUmito_n + KmGLU_AAT_n*(1.0 + AKGmito_n/KiAKG_AAT_n)*OXAmito_n + KmOXA_AAT_n*GLUmito_n ) ) - # cMDH n: psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n), MAL_n + NAD_n ⇒ OXA_n + NADH_n - psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) = VmaxcMDH_n*(MAL_n*NAD_n-OXA_n*NADH_n/Keqcmdh_n)/ ((1+MAL_n/Kmmalcmdh_n)*(1+NAD_n/Kmnadcmdh_n) + (1+OXA_n/Kmoxacmdh_n)*(1+NADH_n/Kmnadhcmdh_n)-1) - # psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n), ASP_n + AKG_n ⇒ OXA_n + GLU_n - psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) = VfCAAT_n*(ASP_n*AKG_n - OXA_n*GLU_n/KeqCAAT_n) / ( KmAKG_CAAT_n*ASP_n + KmASP_CAAT_n*(1.0 + AKG_n/KiAKG_CAAT_n)*AKG_n + ASP_n*AKG_n + KmASP_CAAT_n*AKG_n*GLU_n/KiGLU_CAAT_n + ( KiASP_CAAT_n*KmAKG_CAAT_n/(KmOXA_CAAT_n*KiGLU_CAAT_n) )* ( KmGLU_CAAT_n*ASP_n*OXA_n/KiASP_CAAT_n + OXA_n*GLU_n + KmGLU_CAAT_n*(1.0 + AKG_n/KiAKG_CAAT_n)*OXA_n + KmOXA_CAAT_n*GLU_n ) ) - # AGC (citrin) n: psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n), ASPmito_n + GLU_n ⇒ GLUmito_n + ASP_n - psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) = Vmaxagc_n*(ASPmito_n*GLU_n - ASP_n*GLUmito_n/ ((exp(MitoMembrPotent_n)^(F/(R*T)))* (C_H_cyt_n/C_H_mito_n)) ) / ((ASPmito_n+Km_aspmito_agc_n)*(GLU_n+Km_glu_agc_n) + (ASP_n+Km_asp_agc_n)*(GLUmito_n+Km_glumito_agc_n)) - # MAKGC n: psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n), AKGmito_n + MAL_n ⇒ MALmito_n + AKG_n - psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n) = Vmaxmakgc_n*( MAL_n*AKGmito_n - MALmito_n*AKG_n) / ((MAL_n+Km_mal_mkgc_n)*(AKGmito_n+Km_akgmito_mkgc_n)+(MALmito_n+Km_malmito_mkgc_n)*(AKG_n+Km_akg_mkgc_n)) - - - ################ - # Rates a - J_DH_a = x_DH_a*(r_DH_a*NAD_x_a - NADHmito_aM)*((1+Pimito_aM/k_Pi1)/(1+Pimito_aM/k_Pi2)); - J_C1_a = x_C1*(exp(-(dG_C1op_a+4*dG_H_a)/etcRT)*NADHmito_aM*Q_a - NAD_x_a*QH2mito_aM); - J_C3_a = x_C3*((1+Pimito_aM/k_Pi3)/(1+Pimito_aM/k_Pi4))*(exp(-(dG_C3op_a+4*dG_H_a-2*etcF*MitoMembrPotent_a)/(2*etcRT))*Cox_a*QH2mito_aM^0.5 - CytCredmito_aM*Q_a^0.5); - J_C4_a = x_C4*(O2_aM/(O2_aM+k_O2))*(CytCredmito_aM/Ctot_aM)*(exp(-(dG_C4op_a+2*dG_H_a)/(2*etcRT))*CytCredmito_aM*(O2_aM^0.25) - Cox_a*exp(etcF*MitoMembrPotent_a/etcRT)); - J_F1_a = x_F1_a*(exp(-(dG_F1op_a-n_A*dG_H_a)/etcRT)*(K_DD_a/K_DT_a)*ADP_mx_aM*Pimito_aM - ATP_mx_aM); - - # ATP transferase Korzeniewski 1998, Theurey 2019 - J_ANT_a = x_ANT_a*( ADP_fi_a/(ADP_fi_a + ATP_fi_a*exp(-etcF*(0.35*MitoMembrPotent_a)/etcRT)) - ADP_fx_a/(ADP_fx_a + ATP_fx_a*exp(-etcF*(-0.65*MitoMembrPotent_a)/etcRT)) )*(ADP_fi_a/(ADP_fi_a+k_mADP_a)); - - # Calculating ionic fluxes - H2PIi_a = Pi_i_aM*C_H_ims_aM/(C_H_ims_aM + k_dHPi); - H2PIx_a = Pimito_aM*C_H_mitomatr_aM/(C_H_mitomatr_aM + k_dHPi); - J_Pi1_a = x_Pi1*(C_H_mitomatr_aM*H2PIi_a - C_H_ims_aM*H2PIx_a)/(H2PIi_a+k_PiH); - J_Hle_a = x_Hle*MitoMembrPotent_a*(C_H_ims_aM*exp(etcF*MitoMembrPotent_a/etcRT) - C_H_mitomatr_aM)/(exp(etcF*MitoMembrPotent_a/etcRT) - 1); - J_KH_a = x_KH*( K_i*C_H_mitomatr_aM - K_x_aM*C_H_ims_aM ); - J_K_a = x_K*MitoMembrPotent_a*(K_i*exp(etcF*MitoMembrPotent_a/etcRT) - K_x_aM)/(exp(etcF*MitoMembrPotent_a/etcRT) - 1); - J_AKi_a = x_AK*( K_AK*ADP_i_aM*ADP_i_aM - AMP_i_aM*ATP_i_aM ); - J_AMP_a = gamma*x_A*(AMP_aM - AMP_i_aM); - - J_ADP_a = gamma*x_A*(ADP_aM - ADP_i_aM); - J_ATP_a = gamma*x_A*(ATP_aM - ATP_i_aM); - - J_Pi2_a = gamma*x_Pi2*(1e-3 * Pi_a - Pi_i_aM); - J_Ht_a = gamma*x_Ht*(1e-3 * C_H_cyt_a - C_H_ims_aM); - - J_MgATPx_a = x_MgA*(ATP_fx_a*Mg_x_aM - K_DT_a*ATP_mx_aM); - J_MgADPx_a = x_MgA*(ADP_fx_a*Mg_x_aM - K_DD_a*ADP_mx_aM); - J_MgATPi_a = x_MgA*(ATP_fi_a*Mg_i_a - K_DT_a*ATP_mi_aM); - J_MgADPi_a = x_MgA*(ADP_fi_a*Mg_i_a - K_DD_a*ADP_mi_aM); - - ####################### - # TCA - psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) = VmaxPDHCmito_a* (PYRmito_a/(PYRmito_a+KmPyrMitoPDH_a)) * (NADmito_a/(NADmito_a + KmNADmitoPDH_na)) * (CoAmito_a/(CoAmito_a + KmCoAmitoPDH_a)) - psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) = VmaxCSmito_a*(OXAmito_a/(OXAmito_a + KmOxaMito_a*(1.0 + CITmito_a/KiCitMito_a))) * (AcCoAmito_a/(AcCoAmito_a + KmAcCoAmito_a*(1.0+CoAmito_a/KiCoA_a))) - psiACO_a(CITmito_a,ISOCITmito_a) = VmaxAco_a*(CITmito_a-ISOCITmito_a/KeqAco_na) / (1.0+CITmito_a/KmCitAco_a + ISOCITmito_a/KmIsoCitAco_a) - psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a) = VmaxIDH_a*(NADmito_a/KiNADmito_na)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH ) / (1.0 + NADmito_a/KiNADmito_na + (KmNADmito_na/KiNADmito_na)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) + NADHmito_a/KiNADHmito_na + (NADmito_a/KiNADmito_na)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) + ((KmNADmito_na*NADHmito_a)/(KiNADmito_na*KiNADHmito_na))*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) ) - psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) = (VmaxKGDH_a*(1 + ADPmito_a/KiADPmito_KGDH_a)*(AKGmito_a/Km1KGDHKGDH_a)*(CoAmito_a/Km_CoA_kgdhKGDH_a)*(NADmito_a/KmNADkgdhKGDH_na) ) / ( ( (CoAmito_a/Km_CoA_kgdhKGDH_a)*(NADmito_a/KmNADkgdhKGDH_na)*(AKGmito_a/Km1KGDHKGDH_a + (1 + ATPmito_a/KiATPmito_KGDH_a)/(1 + CaMito_a/KiCa2KGDH_a)) ) + ( (AKGmito_a/Km1KGDHKGDH_a)*(CoAmito_a/Km_CoA_kgdhKGDH_a + NADmito_a/KmNADkgdhKGDH_na)*(1 + NADHmito_a/KiNADHKGDHKGDH_na + SUCCOAmito_a/Ki_SucCoA_kgdhKGDH_a) ) ) - psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a) = VmaxSuccoaATPscs_a*(1+AmaxPscs_a*((Pimito_a^npscs_a)/((Pimito_a^npscs_a)+(Km_pi_scs_na^npscs_a)))) * (SUCCOAmito_a*ADPmito_a*Pimito_a - SUCmito_a*CoAmito_a*ATPmito_a/Keqsuccoascs_na)/((1+SUCCOAmito_a/Km_succoa_scs_a)*(1+ADPmito_a/Km_ADPmito_scs_a)*(1+Pimito_a/Km_pi_scs_na)+(1+SUCmito_a/Km_succ_scs_a)*(1+CoAmito_a/Km_coa_scs_a)*(1+ATPmito_a/Km_atpmito_scs_a)) - psiFUM_a(FUMmito_a,MALmito_a) = Vmaxfum_a*(FUMmito_a - MALmito_a/Keqfummito_na)/(1.0+FUMmito_a/Km_fummito_a+MALmito_a/Km_malmito_a) - psiMDH_a(MALmito_a,NADmito_a,OXAmito_a,NADHmito_a) = VmaxMDHmito_a*(MALmito_a*NADmito_a-OXAmito_a*NADHmito_a/Keqmdhmito_na) / ((1.0+MALmito_a/Km_mal_mdh_a)*(1.0+NADmito_a/Km_nad_mdh_na)+(1.0+OXAmito_a/Km_oxa_mdh_a)*(1.0+NADHmito_a/Km_nadh_mdh_na)) - - psiPYRCARB_a(ATPmito_a,ADPmito_a,PYRmito_a,OXAmito_a) = ( (ATPmito_a/ADPmito_a)/(muPYRCARB_a + (ATPmito_a/ADPmito_a)))*VmPYRCARB_a*(PYRmito_a*CO2_mito_a - OXAmito_a/KeqPYRCARB_a)/( KmPYR_PYRCARB_a*KmCO2_PYRCARB_a + KmPYR_PYRCARB_a*CO2_mito_a + KmCO2_PYRCARB_a*PYRmito_a + CO2_mito_a*PYRmito_a) # PYRmito_a + ATPmito_a ⇒ OXAmito_a + ADPmito_a - - ###################### - # GLT-GLN - psiSNAT_GLN_n(GLN_out,GLN_n) = TmaxSNAT_GLN_n*(GLN_out-GLN_n/coeff_gln_ratio_n_ecs)/(KmSNAT_GLN_n+GLN_n) - psiGLS_n(GLN_n,GLUmito_n) = VmGLS_n*( GLN_n - GLUmito_n/KeqGLS_n )/ (KmGLNGLS_n*(1.0 + GLUmito_n/KiGLUGLS_n) + GLN_n ) - - psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) = - ((1/(2*F*1e-3)) * ( -alpha_EAAT*exp(-beta_EAAT*(Va - ((R*T/(2*F*1e-3))*log( ((Na_syn_EAAT/Na_a)^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/GLUT_a) * (K_a/K_out ) )))) )) - - # simplif: no mito-cyto compart for glutamate in astro - psiGDH_simplif_a(NADmito_a,GLUT_a,NADHmito_a,AKGmito_a) = VmGDH_a*(NADmito_a*GLUT_a - NADHmito_a*AKGmito_a/KeqGDH_a)/ (KiNAD_GDH_a*KmGLU_GDH_a + KmGLU_GDH_a*NADmito_a + KiNAD_GDH_a*GLUT_a + GLUT_a*NADmito_a + GLUT_a*NADmito_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*NADHmito_a/KiNADH_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmNADH_GDH_a*AKGmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KmNADH_GDH_a*GLUT_a*NADHmito_a/KiNADH_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*AKGmito_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + GLUT_a*NADmito_a*AKGmito_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*GLUT_a*NADHmito_a*AKGmito_a/(KiGLU_GDH_a*KiAKG_GDH_a*KiNADH_GDH_a) + KiNAD_GDH_a*KmGLU_GDH_a*AKGmito_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KmNADH_GDH_a*KmGLU_GDH_a*AKGmito_a*NADmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) ) - - # psiGLNsynth_a(GLUT_a,ATP_a,ADP_a) = VmaxGLNsynth_a*(GLUT_a/( KmGLNsynth_a + GLUT_a))*( (ATP_a/ADP_a)/(muGLNsynth_a + ATP_a/ADP_a ) ) - psiGLNsynth_a(GLUT_a,ATP_a,ADP_a) = VmaxGLNsynth_a*(GLUT_a/( KmGLNsynth_a + GLUT_a))*( (1/(ATP_a/ADP_a))/(muGLNsynth_a + (1/(ATP_a/ADP_a)) ) ) - - psiSNAT_GLN_a(GLN_a,GLN_out) = TmaxSNAT_GLN_a*(GLN_a-GLN_out)/(KmSNAT_GLN_a+GLN_a) - - ###################### - # Cyto - # Winter2017, Jolivet2015 - FinDyn_W2017(t) = global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) # is global_par_F_in - Fout_W2017(vV,t) = global_par_F_0*((vV/vV0)^2 + (vV/vV0)^(-0.5)*global_par_tau_v/vV0* ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) )/(1+global_par_F_0*(vV/vV0)^(-0.5)*global_par_tau_v/vV0) - - JdHbin(O2cap,t) = 2*(C_O_a - O2cap) * ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) - JdHbout(vV,t,ddHb) = (ddHb/vV) * ( global_par_F_0*((vV/vV0)^2 +(vV/vV0)^(-0.5)*global_par_tau_v/vV0* ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) )/(1+global_par_F_0*(vV/vV0)^(-0.5)*global_par_tau_v/vV0) ) - - #JO2art2cap(O2cap,t) = 2*((C_O_a - O2cap)/eto_b) * ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) - JO2art2cap(O2cap,t) = (1/eto_b)*2*(C_O_a - O2cap) * ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) - JO2fromCap2a(O2cap,O2_a) = (PScapA*(KO2b*(HbOP/O2cap - 1.)^(-1/param_degree_nh) - O2_a )) - JO2fromCap2n(O2cap,O2_n) = (PScapNAratio*PScapA*(KO2b*(HbOP/O2cap - 1.)^(-1/param_degree_nh) - O2_n )) - - # Winter2017, Jolivet2015 - trGLC_art_cap(t,Glc_b) = (1/eto_b)*(2*(C_Glc_a-Glc_b))*(global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3))))))) - - # DiNuzzo2010, but denom corr to a common form formula given in main text pdf instead of supp pdf - JGlc_b(Glc_b,glc_D_ecsEndothelium) = TmaxGLCce*( Glc_b*(KeG + glc_D_ecsEndothelium) - glc_D_ecsEndothelium*(KeG + Glc_b) ) / ( KeG^2 + KeG*ReGoi*Glc_b + KeG*ReGio*glc_D_ecsEndothelium + ReGee*Glc_b*glc_D_ecsEndothelium ) - JGlc_e2ecsBA(glc_D_ecsEndothelium,Glc_ecsBA) = TmaxGLCeb*( glc_D_ecsEndothelium*(KeG2 + Glc_ecsBA) - Glc_ecsBA*(KeG2 + glc_D_ecsEndothelium) ) / ( KeG2^2 + KeG2*ReGoi2*glc_D_ecsEndothelium + KeG2*ReGio2*Glc_ecsBA + ReGee2*glc_D_ecsEndothelium*Glc_ecsBA ) - JGlc_ecsBA2a(Glc_ecsBA,Glc_a) = TmaxGLCba*( Glc_ecsBA*(KeG3 + Glc_a) - Glc_a*(KeG3 + Glc_ecsBA) ) / ( KeG3^2 + KeG3*ReGoi3*Glc_ecsBA + KeG3*ReGio3*Glc_a + ReGee3*Glc_ecsBA*Glc_a ) - JGlc_a2ecsAN(Glc_a,Glc_ecsAN) = TmaxGLCai*( Glc_a*(KeG4 + Glc_ecsAN) - Glc_ecsAN*(KeG4 + Glc_a) ) / ( KeG4^2 + KeG4*ReGoi4*Glc_a + KeG4*ReGio4*Glc_ecsAN + ReGee4*Glc_a*Glc_ecsAN ) - JGlc_ecsAN2n(Glc_ecsAN,Glc_n) = TmaxGLCin*( Glc_ecsAN*(KeG5 + Glc_n) - Glc_n*(KeG5 + Glc_ecsAN) ) / ( KeG5^2 + KeG5*ReGoi5*Glc_ecsAN + KeG5*ReGio5*Glc_n + ReGee5*Glc_ecsAN*Glc_n ) - JGlc_diffEcs(Glc_ecsBA,Glc_ecsAN) = kGLCdiff*(Glc_ecsBA - Glc_ecsAN) - - # Glycogen - # Glycogen synthase: UDPgluco + GLY ⇒ 2*GLY - #psiGS_a(GLY_a) = VmaxGS_a*( GLY_a0/GLY_a - 1) - psiGS_a(GS_a,UDPgluco_a) = kL2_GS_a*GS_a*UDPgluco_a / (kmL2_GS_a+UDPgluco_a) - - #psiGPa_a(GPa_a,GPb_a,AMP_a) = (GPa_a/(GPa_a+GPb_a))*VmaxGP_a*(1/(1 + (KmGP_AMP_a^hGPa)/(AMP_a^hGPa))) - #psiGPa_a(GPa_a,GPb_a,cAMP_a,GLY_a) = (GPa_a/(GPa_a+GPb_a))*VmaxGP_a*GLY_a*(1/(1 + (KmGP_AMP_a^hGPa)/(cAMP_a^hGPa))) - psiGPa_a(GPa_a,GLY_a) = k_L2_GS_a*GPa_a*GLY_a/(km_L2_GS_a+GLY_a) - - psiPGLM_a(G1P_a,G6P_a) = (Vmaxfpglm_a*G1P_a/KmG1PPGLM_a - ((Vmaxfpglm_a*KmG6PPGLM_a) /(KmG1PPGLM_a*KeqPGLM_a))*G6P_a/KmG6PPGLM_a) / (1.0 + G1P_a/KmG1PPGLM_a + G6P_a/KmG6PPGLM_a) - PDE_a(cAMP_a) = VmaxPDE_a*cAMP_a/(Kmcamppde_a + cAMP_a) - - # UDP-glucose pyrophosphorylase; G1P + UTP ⇒ udp-gluco +PPi # rates adapted from Hester and Raushel 1987 - psiUDPGP_a(UTP_a,G1P_a,PPi_a,UDPgluco_a) = (VmaxfUDPGP*UTP_a*G1P_a/(KutpUDPGP*Kg1pUDPGP) - VmaxrUDPGP*PPi_a*UDPgluco_a/(KpiUDPGP*KUDPglucoUDPGP_a)) / (1.0 + G1P_a/Kg1pUDPGP + UTP_a/KutpUDPGP + (G1P_a*UTP_a)/(Kg1pUDPGP*KutpUDPGP) + UDPgluco_a/KUDPglucoUDPGP_a + PPi_a/KpiUDPGP + (PPi_a*UDPgluco_a)/(KpiUDPGP*KUDPglucoUDPGP_a)) - - psiGSAJay(GS_a,UDPgluco_a,PKAa_a,PHKa_a) = ((kg8_GSAJay*PP1_a0*(st_GSAJay-GS_a))/((kmg8_GSAJay/(1.0 + s1_GSAJay*UDPgluco_a/kg2_GSAJay)) + (st_GSAJay-GS_a))) - ((kg7_GSAJay*(PHKa_a+PKAa_a)*GS_a) /(kmg7_GSAJay*(1+s1_GSAJay*UDPgluco_a/kg2_GSAJay)+GS_a)) - - # Phosphorylase kinase act 0 ⇒ PHKa - #psiPHKact(Ca_a,PKAa_a,PHKa_a) = (Ca_a/cai0_ca_ion)*(((kg3_PHKact*PKAa_a*(kt_PHKact-PHKa_a))/(kmg3_PHKact+kt_PHKact-PHKa_a)) - (((kg4_PHKact*PP1_a0*PHKa_a))/(kmg4_PHKact+PHKa_a))) - # PHK GPb->GPa # GPb + 2*ATP ⇒ GPa + 2*ADP - psiPHK(PHKa_a,GPa_a,GLY_a,G6P_a,Glc_a,Ca_a ) = (Ca_a/cai0_ca_ion)*(((kg5_PHK*PHKa_a*(pt_PHK-GPa_a))/(kmg5_PHK*(1.0 +s1_PHK*G6P_a/kg2_PHK) + (pt_PHK-GPa_a))) - ((kg6_PHK*PP1_a0*GPa_a)/(kmg6_PHK/(1+s2_PHK*Glc_a/kgi_PHK)+GPa_a)) - ((0.003198/(1+ GLY_a) + kmind_PHK)*PP1_a0*GPa_a)) - - - # combo of Jolivet2015 and DiNuzzo2010(glycogen) - psiHK_n(Glc_n,ATP_n,G6P_n) = (VmaxHK_n*Glc_n/(Glc_n + KmHK_n))*(ATP_n/(1+(ATP_n/KIATPhex_n)^nHhexn))*(1/(1 + G6P_n/KiHKG6P_n)) - psiHK_a(Glc_a,ATP_a,G6P_a) = (VmaxHK_a*Glc_a/(Glc_a + KmHK_a))*(ATP_a/(1+(ATP_a/KIATPhex_a)^nHhexa))*(1/(1 + G6P_a/KiHKG6P_a)) - - psiPGI_n(G6P_n,F6P_n) = (Vmax_fPGI_n*(G6P_n/Km_G6P_fPGI_n - 0.9*F6P_n/Km_F6P_rPGI_n) )/ (1.0+G6P_n/Km_G6P_fPGI_n+ F6P_n/Km_F6P_rPGI_n) - psiPGI_a(G6P_a,F6P_a) = (Vmax_fPGI_a*(G6P_a/Km_G6P_fPGI_a - 0.9*F6P_a/Km_F6P_rPGI_a) )/ (1.0+G6P_a/Km_G6P_fPGI_a+ F6P_a/Km_F6P_rPGI_a) - - psiPFK_n(ATP_n,F6P_n) = VmaxPFK_n*(ATP_n/(1+(ATP_n/KiPFK_ATP_na)^nPFKn))*(F6P_n/(F6P_n + KmPFKF6P_n)) - - psiPFK_a(ATP_a,F6P_a,f26bp_a) = VmaxPFK_a*(ATP_a/(1+(ATP_a/KiPFK_ATP_a)^nPFKa))*(F6P_a/(F6P_a + KmPFKF6P_a*(1 - KoPFK_f26bp_a*((f26bp_a^nPFKf26bp_a)/(KmF26BP_PFK_a^nPFKf26bp_a + f26bp_a^nPFKf26bp_a)))))*(f26bp_a/(KmF26BP_PFK_a + f26bp_a)) - - psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) = Vmax_PFKII_g*F6P_a*ATP_a*ADP_a / ((F6P_a + Kmf6pPFKII_g)*(ATP_a + KmatpPFKII_g)*(ADP_a + Km_act_adpPFKII_g) ) - (Vmax_PFKII_g*f26bp_a/(f26bp_a + Km_f26bp_f_26pase_g*(1+F6P_a/Ki_f6p_f_26_pase_g))) - - psiALD_n(FBP_n,GAP_n,DHAP_n) = Vmaxald_n*(FBP_n - GAP_n*DHAP_n/Keqald_n)/ ((1 + FBP_n/KmfbpAld_n) + (1 + GAP_n/KmgapAld_n)*(1 + DHAP_n/KmdhapAld_n) -1) - psiALD_a(FBP_a,GAP_a,DHAP_a) = Vmaxald_a*(FBP_a - GAP_a*DHAP_a/Keqald_a)/ ((1 + FBP_a/KmfbpAld_a) + (1 + GAP_a/KmgapAld_a)*(1 + DHAP_a/KmdhapAld_a) -1) - - psiTPI_n(DHAP_n,GAP_n) = Vmaxtpi_n*(DHAP_n-GAP_n/Keqtpi_n)/(1+DHAP_n/KmdhapTPI_n+GAP_n/KmgapTPI_n) - psiTPI_a(DHAP_a,GAP_a) = Vmaxtpi_a*(DHAP_a-GAP_a/Keqtpi_a)/(1+DHAP_a/KmdhapTPI_a+GAP_a/KmgapTPI_a) - - psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) = Vmaxgapdh_n*(NAD_n*GAP_n*Pi_n-BPG13_n*NADH_n/Keqgapdh_na) / ((1+NAD_n/KmnadGpdh_n)*(1+GAP_n/KmGapGapdh_n)*(1+Pi_n/KmpiGpdh_n) + (1+NADH_n/KmnadhGapdh_n)*(1+ BPG13_n/KmBPG13Gapdh_n) -1 ) - psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) = Vmaxgapdh_a*(NAD_a*GAP_a*Pi_a-BPG13_a*NADH_a/Keqgapdh_na) / ((1+NAD_a/KmnadGpdh_a)*(1+GAP_a/KmGapGapdh_a)*(1+Pi_a/KmpiGpdh_a) + (1+NADH_a/KmnadhGapdh_a)*(1+ BPG13_a/KmBPG13Gapdh_a) -1 ) - - psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) = Vmaxpgk_n*(BPG13_n*ADP_n - PG3_n*ATP_n/Keqpgk_na) / ((1+BPG13_n/Kmbpg13pgk_n)*(1+ADP_n/Kmadppgk_n) + (1+PG3_n/Kmpg3pgk_n)*(1+ATP_n/Kmatppgk_n)-1) - psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) = Vmaxpgk_a*(BPG13_a*ADP_a - PG3_a*ATP_a/Keqpgk_na) / ((1+BPG13_a/Kmbpg13pgk_a)*(1+ADP_a/Kmadppgk_a) + (1+PG3_a/Kmpg3pgk_a)*(1+ATP_a/Kmatppgk_a)-1) - - psiPGM_n(PG3_n,PG2_n) = Vmaxpgm_n*(PG3_n-PG2_n/Keqpgm_n) / ((1+PG3_n/Kmpg3pgm_n)+(1+PG2_n/Kmpg2pgm_n)-1) - psiPGM_a(PG3_a,PG2_a) = Vmaxpgm_a*(PG3_a-PG2_a/Keqpgm_a) / ((1+PG3_a/Kmpg3pgm_a)+(1+PG2_a/Kmpg2pgm_a)-1) - - psiENOL_n(PG2_n,PEP_n) = Vmaxenol_n*(PG2_n-PEP_n/Keqenol_n) / ((1+PG2_n/Kmpg2enol_n)+(1+PEP_n/Km_pep_enol_n)-1) - psiENOL_a(PG2_a,PEP_a) = Vmaxenol_a*(PG2_a-PEP_a/Keqenol_a) / ((1+PG2_a/Kmpg2enol_a)+(1+PEP_a/Km_pep_enol_a)-1) - - psiPK_n(PEP_n,ADP_n,ATP_n) = Vmaxpk_n*PEP_n*ADP_n/((PEP_n + Km_pep_pk_n)*(ADP_n + Km_adp_pk_n*(1+ATP_n/Ki_ATP_pk_n))) - psiPK_a(PEP_a,ADP_a,ATP_a) = Vmaxpk_a*PEP_a*ADP_a/((PEP_a + Km_pep_pk_a)*(ADP_a + Km_adp_pk_a*(1+ATP_a/Ki_ATP_pk_a))) - - JLacTr(t,Lac_b) = (2*(C_Lac_a - Lac_b)/eto_b)*(global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3))))))) - MCT1_LAC_b(Lac_b,Lac_ecs) = TbLac*( Lac_b/(Lac_b + KbLac) - Lac_ecs/(Lac_ecs + KbLac) ) - jLac_a(Lac_ecs,Lac_a) = TaLac*( Lac_ecs/(Lac_ecs + Km_Lac_a) - Lac_a/(Lac_a + Km_Lac_a) ) - jLac_n(Lac_ecs,Lac_n) = TnLac*( Lac_ecs/(Lac_ecs + Km_LacTr_n) - Lac_n/(Lac_n + Km_LacTr_n) ) - jLacDiff_e(Lac_ecs) = betaLacDiff*(Lac_ecs0 - Lac_ecs) - - vLACgc(Lac_b,Lac_a) = TMaxLACgc*( Lac_b/(Lac_b+KtLACgc) - Lac_a/(Lac_a+KtLACgc)) # jlv - - - psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) = VmfLDH_a*Pyr_a*NADH_a - KeLDH_a*VmfLDH_a*Lac_a*NAD_a - psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) = VmfLDH_n*Pyr_n*NADH_n - KeLDH_n*VmfLDH_n*Lac_n*NAD_n - - ############# - # PPP - ############# - # r01 G6PDH: G6P + NADP ⇒ NADPH + GL6P - psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) = VmaxG6PDH_n * (1/(K_G6P_G6PDH_n * K_NADP_G6PDH_n)) * ( (G6P_n*NADP_n - GL6P_n*NADPH_n/KeqG6PDH_n) / ( (1 + G6P_n/K_G6P_G6PDH_n)*(1 + NADP_n/K_NADP_G6PDH_n) + (1 + GL6P_n/K_GL6P_G6PDH_n)*(1 + NADPH_n/K_NADPH_G6PDH_n) - 1 ) ) - psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) = VmaxG6PDH_a * (1/(K_G6P_G6PDH_a * K_NADP_G6PDH_a)) * ( (G6P_a*NADP_a - GL6P_a*NADPH_a/KeqG6PDH_a ) / ( (1 + G6P_a/K_G6P_G6PDH_a) * ( 1 + NADP_a/K_NADP_G6PDH_a ) + (1 + GL6P_a/K_GL6P_G6PDH_a) * (1 + NADPH_a/K_NADPH_G6PDH_a) - 1 ) ) - - # r02 6PGL: GL6P ⇒ GO6P - psi6PGL_n(GL6P_n,GO6P_n) = Vmax6PGL_n*(1/K_GL6P_6PGL_n)*((GL6P_n - GO6P_n/Keq6PGL_n) / ( (1 + GL6P_n/K_GL6P_6PGL_n) + (1 + GO6P_n/K_GO6P_6PGL_n) - 1 )) - psi6PGL_a(GL6P_a,GO6P_a) = Vmax6PGL_a*(1/K_GL6P_6PGL_a)*((GL6P_a - GO6P_a/Keq6PGL_a) / ( (1 + GL6P_a/K_GL6P_6PGL_a) + (1 + GO6P_a/K_GO6P_6PGL_a) - 1 )) - - # r03 6PGDH: NADP_n + GO6P_n ⇒ RU5P_n + NADPH_n - psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) = Vmax6PGDH_n * (1 / (K_GO6P_6PGDH_n * K_NADP_6PGDH_n)) * (GO6P_n*NADP_n - RU5P_n*NADPH_n/Keq6PGDH_n ) / ( (1 + GO6P_n/K_GO6P_6PGDH_n)*(1 + NADP_n/K_NADP_6PGDH_n) + (1 + RU5P_n/K_RU5P_6PGDH_n)*(1 + NADPH_n/K_NADPH_6PGDH_n) - 1 ) - psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) = Vmax6PGDH_a * (1 / (K_GO6P_6PGDH_a * K_NADP_6PGDH_a)) * (GO6P_a*NADP_a - RU5P_a*NADPH_a/Keq6PGDH_a ) / ( (1 + GO6P_a/K_GO6P_6PGDH_a)*(1 + NADP_a/K_NADP_6PGDH_a) + (1 + RU5P_a/K_RU5P_6PGDH_a)*(1 + NADPH_a/K_NADPH_6PGDH_a) - 1 ) - - # r04 RU5P_n ⇒ R5P_n - psiRPI_n(RU5P_n,R5P_n) = VmaxRPI_n * (1/K_RU5P_RPI_n) * (RU5P_n - R5P_n/KeqRPI_n) / ( (1 + RU5P_n/K_RU5P_RPI_n) + (1 + R5P_n/K_R5P_RPI_n) - 1) - psiRPI_a(RU5P_a,R5P_a) = VmaxRPI_a * (1/K_RU5P_RPI_a) * (RU5P_a - R5P_a/KeqRPI_a) / ( (1 + RU5P_a/K_RU5P_RPI_a) + (1 + R5P_a/K_R5P_RPI_a) - 1) - - # r05 RU5P_n ⇒ X5P_n - psiRPEppp_n(RU5P_n,X5P_n) = VmaxRPE_n * (1/K_RU5P_RPE_n) * (RU5P_n - X5P_n/KeqRPE_n) / ((1 + RU5P_n/K_RU5P_RPE_n) + (1 + X5P_n/K_X5P_RPE_n) - 1) - psiRPEppp_a(RU5P_a,X5P_a) = VmaxRPE_a * (1/K_RU5P_RPE_a) * (RU5P_a - X5P_a/KeqRPE_a) / ((1 + RU5P_a/K_RU5P_RPE_a) + (1 + X5P_a/K_X5P_RPE_a) - 1) - - # r06 R5P_n + X5P_n ⇒ S7P_n + GAP_n - psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) = VmaxTKL1_n * (1/(K_X5P_TKL1_n*K_R5P_TKL1_n)) * (X5P_n*R5P_n - GAP_n*S7P_n/KeqTKL1_n) / ( (1 + X5P_n/K_X5P_TKL1_n)*(1 + R5P_n/K_R5P_TKL1_n) + (1 + GAP_n/K_GAP_TKL1_n)*(1 + S7P_n/K_S7P_TKL1_n) - 1 ) - psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) = VmaxTKL1_a * (1/(K_X5P_TKL1_a*K_R5P_TKL1_a)) * (X5P_a*R5P_a - GAP_a*S7P_a/KeqTKL1_a) / ( (1 + X5P_a/K_X5P_TKL1_a)*(1 + R5P_a/K_R5P_TKL1_a) + (1 + GAP_a/K_GAP_TKL1_a)*(1 + S7P_a/K_S7P_TKL1_a) - 1 ) - - # r07 F6P_n + GAP_n ⇒ X5P_n + E4P_n - psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) = VmaxTKL2_n * (1/(K_F6P_TKL2_n*K_GAP_TKL2_n)) * (F6P_n*GAP_n - X5P_n*E4P_n/KeqTKL2_n) / ( (1 + F6P_n/K_F6P_TKL2_n)*(1 + GAP_n/K_GAP_TKL2_n) + (1 + X5P_n/K_X5P_TKL2_n)*(1 + E4P_n/K_E4P_TKL2_n) - 1) - psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) = VmaxTKL2_a * (1/(K_F6P_TKL2_a*K_GAP_TKL2_a)) * (F6P_a*GAP_a - X5P_a*E4P_a/KeqTKL2_a) / ( (1 + F6P_a/K_F6P_TKL2_a)*(1 + GAP_a/K_GAP_TKL2_a) + (1 + X5P_a/K_X5P_TKL2_a)*(1 + E4P_a/K_E4P_TKL2_a) - 1) - - # r08 S7P_n + GAP_n ⇒ E4P_n + F6P_n - psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) = VmaxTAL_n*(1/(K_GAP_TAL_n*K_S7P_TAL_n)) * (GAP_n*S7P_n - F6P_n*E4P_n/KeqTAL_n) / ( (1 + GAP_n/K_GAP_TAL_n)*(1 + S7P_n/K_S7P_TAL_n) + (1 + F6P_n/K_F6P_TAL_n)*(1 + E4P_n/K_E4P_TAL_n) - 1) - psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) = VmaxTAL_a*(1/(K_GAP_TAL_a*K_S7P_TAL_a)) * (GAP_a*S7P_a - F6P_a*E4P_a/KeqTAL_a) / ( (1 + GAP_a/K_GAP_TAL_a)*(1 + S7P_a/K_S7P_TAL_a) + (1 + F6P_a/K_F6P_TAL_a)*(1 + E4P_a/K_E4P_TAL_a) - 1) - - psiNADPHox_n(NADPH_n) = k1NADPHox_n*NADPH_n - psiNADPHox_a(NADPH_a) = k1NADPHox_a*NADPH_a - - ########### - # GSH - ########### - psiGSSGR_n(GSSG_n,NADPH_n) = (Vmf_GSSGR_n*GSSG_n*NADPH_n) / ( ( KmGSSGRGSSG_n + GSSG_n )*( KmGSSGRNADPH_n + NADPH_n ) ) # GSSG_n + NADPH_n ⇒ 2GSH_n + NADP_n - psiGSSGR_a(GSSG_a,NADPH_a) = (Vmf_GSSGR_a*GSSG_a*NADPH_a ) / ( ( KmGSSGRGSSG_a + GSSG_a )*( KmGSSGRNADPH_a + NADPH_a ) ) # GSSG_a + NADPH_a ⇒ 2GSH_a + NADP_a - psiGPX_n(GSH_n) = V_GPX_n * GSH_n / (GSH_n + KmGPXGSH_n) - psiGPX_a(GSH_a) = V_GPX_a * GSH_a / (GSH_a + KmGPXGSH_a) - - glutathioneSyntase_n(GSH_n) = VmaxGSHsyn_n*GSH_n/(GSH_n + KmGSHsyn_n) - glutathioneSyntase_a(GSH_a) = VmaxGSHsyn_a*GSH_a/(GSH_a + KmGSHsyn_a) - - - psiAC_a(ATP_a,cAMP_a) = ((VmaxfAC_a*ATP_a/(KmACATP_a*(1+cAMP_a/KicAMPAC_a)) - VmaxrAC_a*cAMP_a/(KmpiAC_a*KmcAMPAC_a))/(1 + ATP_a/(KmACATP_a*(1+cAMP_a/KicAMPAC_a) )+ cAMP_a/KmcAMPAC_a )) # Pi_a instead of PPi_a as approx - - - psiCrKinase_n(PCr_n,ATP_n,ADP_n) = kCKnps*PCr_n*ADP_n - KeqCKnpms*kCKnps*(Crtot - PCr_n)*ATP_n # kCKnps*PCr_n*ADP_n - kCKnms*(Crtot - PCr_n)*ATP_n - psiCrKinase_a(PCr_a,ATP_a,ADP_a) = kCKgps*PCr_a*ADP_a - KeqCKgpms*kCKgps*(Crtot - PCr_a)*ATP_a # kCKgps*PCr_a*ADP_a - kCKgms*(Crtot - PCr_a)*ATP_a - - ############ - # PyrTr - psiPYRtrcyt2mito_n(Pyr_n,PYRmito_n,C_H_mitomatr_n) = Vmax_PYRtrcyt2mito_nH*(Pyr_n*C_H_cyt_n - PYRmito_n*C_H_mitomatr_n)/((1.0+Pyr_n/KmPyrCytTr_n)*(1.0+PYRmito_n/KmPyrMitoTr_n)) - psiPYRtrcyt2mito_a(Pyr_a,PYRmito_a,C_H_mitomatr_a) = Vmax_PYRtrcyt2mito_aH*(Pyr_a*C_H_cyt_a - PYRmito_a*C_H_mitomatr_a)/((1.0+Pyr_a/KmPyrCytTr_a)*(1.0+PYRmito_a/KmPyrMitoTr_a)) - - - - ######### - # ephys - V = VNeu - rTRPVsinf = vV - Glutamate_syn = GLUT_syn # = Glutamate_syn #u[12] == u[144] ################# - - -# alpham = -0.1*(V+33)/(exp(-0.1*(V+33))-1) #-0.32*(V - V_T - 13.0)/(exp(-(V - V_T -13.0)/4.0) - 1.0) #0.1*(V+30.0)/(1.0-exp(-0.1*(V+30.0))) -# betam = 4*exp(-(V+58)/12) #0.28*(V - V_T - 40.0)/( exp((V - V_T - 40.0)/5.0) -1.0) #4.0*exp(-(V+55.0)/18.0) - -# alphah = 0.07*exp(-(V+50)/10) #0.128*exp(-(V - V_T - 17.0)/18.0) #0.07*exp(-(V+44.0)/20.0) -# betah = 1/(exp(-0.1*(V+20))+1) #4.0/(1.0 + exp(-(V - V_T - 40.0)/5.0)) #1.0/(1.0+exp(-0.1*(V+14.0))) - -# alphan = -0.01*(V+34)/(exp(-0.1*(V+34))-1) #-0.032*(V - V_T - 15.0)/(exp(-(V - V_T - 15.0)/5.0) -1.0) #0.01*(V+34.0)/(1.0-exp(-0.1*(V+34.0))) -# betan = 0.125*exp(-(V+44)/25) #0.5*exp(- (V - V_T - 10.0)/40.0 ) #0.125*exp(-(V+44.0)/80.0) - -# minf = alpham/(alpham+betam); ninf = alphan/(alphan+betan); hinf = alphah/(alphah+betah); taun = 1/(alphan+betan)*1e-03; tauh = 1/(alphah+betah)*1e-03; -# p_inf = 1.0/(1.0 + exp(-(V + 35.0)/10.0)); tau_p = tau_max/ ( 3.3*exp((V+35.0)/20.0) + exp(-(V+35.0)/20.0) ) - - K_n = K_n_Rest + (Na_n_Rest - Na_n) - EK = RTF*log(K_out/K_n) - EL = gKpas*EK/(gKpas+gNan) + gNan/(gKpas+gNan)*RTF*log(Na_out/Na_n); - IL = gL*(V-EL); - - #INa = gNa*minf^3*h*(V-RTF*log(Na_out/Na_n)); ##################### - - #IK = gK*n^4*(V-EK); ############################ - mCa = 1/(1+exp(-(V+20)/9)); - ICa = gCa*mCa^2*(V-ECa); - ImAHP = gmAHP*Ca_n/(Ca_n+KD)*(V-EK); - IM = g_M * pgate * (V - EK) # not Jlv, enzymes/enzymes_preBigg/gen_mix.ipynb - - dIPump = F*kPumpn*ATP_n*(Na_n-Na_n0)/(1+ATP_n/KmPump); - dIPump_a = F*kPumpg*ATP_a*(Na_a-Na_a0)/(1+ATP_a/KmPump) - - # Isyne = -synInput*(V-Ee); - # Isyni = 0 # -InhibitoryConductance(t+TIME,t1,tstim)*(V-Ei); - - vnstim = SmVn/F*ina_density # SmVn/F*(2/3*Isyne-INa); #################### - - vgstim = SmVg/F*glia*ina_density #SmVg/F*2/3*glia*synInput; #################### - - vLeakNan = SmVn*gNan/F*(RTF*log(Na_out/Na_n)-V); - vLeakNag = SmVg*gNag/F*(RTF*log(Na_out/Na_a)-V); - vPumpn = SmVn*kPumpn*ATP_n*Na_n/(1+ATP_n/KmPump); # #JpumpNa = ((ATP_n/ADP_n)/(mu_pump_ephys + (ATP_n/ADP_n))) * ImaxNKApump * (( 1/(1 + Kout_alpha/K_out))^2) * (( 1/(1 + Na_in_alpha/Na_n))^3) # doi:10.1152/jn.00460.2014 - vPumpg = SmVg*kPumpg*ATP_a*Na_a/(1+ATP_a/KmPump); - JgliaK = ((ATP_a/ADP_a)/(mu_glia_ephys + (ATP_a/ADP_a))) * (glia_c/(1+exp((Na_n2_baseNKA - K_out)/2.5))) - JdiffK = epsilon*(K_out - kbath) - - nBKinf = 0.5*( 1 + tanh( (Va + EETshift*EET_a - (-0.5*v5BK*tanh((Ca_a - Ca3BK)/Ca4BK ) + v6BK) )/v4BK ) ) - IBK = gBK*nBK_a*(Va - EBK) - - #INaK_a = -0.5*(ImaxNaKa*( K_out/(K_out + INaKaKThr) )*( (Na_a^1.5)/(Na_a^1.5 + INaKaNaThr^1.5) ) ) - JNaK_a = (ImaxNaKa*( K_out/(K_out + INaKaKThr) )*( (Na_a^1.5)/(Na_a^1.5 + INaKaNaThr^1.5) ) ) - - IKirAS = gKirS*(K_out^0.5)*(Va - VKirS*log(K_out/K_a)) - IKirAV = gKirV*(K_out^0.5)*(Va - VKirAV*log(K_out/K_a)) - IleakA = gleakA*(Va - VleakA) - - Ileak_CaER_a = Pleak_CaER_a*(1. - Ca_a/Ca_r_a) - ICa_pump_a = VCa_pump_a*((Ca_a^2)/(Ca_a^2 + KpCa_pump_a^2 )) - IIP3_a = ImaxIP3_a*( ( ( IP3_a/(IP3_a + KIIP3_a) )*( Ca_a/(Ca_a + KCaactIP3_a) )*hIP3Ca_a )^3 )*(1. - Ca_a/Ca_r_a) - ITRP_a = gTRP*(Va - VTRP)*sTRP_a - sinfTRPV = (1/(1 + exp( -(((rTRPVsinf^(1/3)-r0TRPVsinf^(1/3))/r0TRPVsinf^(1/3)) - e2TRPVsinf^(1/3))/kTRPVsinf )))*( (1/(1+ Ca_a/gammaCaaTRPVsinf + Ca_perivasc/gammaCapTRPVsinf ))*( Ca_a/gammaCaaTRPVsinf + Ca_perivasc/gammaCapTRPVsinf + tanh((Va - v1TRPsinf_a)/v2TRPsinf_a ) ) ) - - # Jolivet2015 NADH shuttles cyto-mito - vShuttlen(NADH_n,NADHmito_n) = TnNADH_jlv*(NADH_n/(0.212-NADH_n))/(MnCyto_jlv+(NADH_n/(0.212-NADH_n)))*((1000*NADtot-NADHmito_n)/NADHmito_n)/(MnMito_jlv+((1000*NADtot-NADHmito_n)/NADHmito_n)) - vShuttleg(NADH_a,NADHmito_a) = TgNADH_jlv*(NADH_a/(0.212-NADH_a))/(MgCyto_jlv+(NADH_a/(0.212-NADH_a)))*((1000*NADtot-NADHmito_a)/NADHmito_a )/(MgMito_jlv+((1000*NADtot-NADHmito_a)/NADHmito_a )) - - # Calvetti - vMitooutn(O2_n,ATP_i_n,ADP_i_n,NADHmito_n,NADmito_n) = V_oxphos_n * ((1/(ATP_i_n/ADP_i_n)) / ( mu_oxphos_n + (1/(ATP_i_n/ADP_i_n)) )) * ((NADHmito_n/NADmito_n) / (nu_oxphos_n + (NADHmito_n/NADmito_n)) ) * (O2_n / (O2_n + K_oxphos_n)) - vMitooutg(O2_a,ATP_i_a,ADP_i_a,NADHmito_a,NADmito_a) = V_oxphos_a * ((1/(ATP_i_a/ADP_i_a)) / ( mu_oxphos_a + (1/(ATP_i_a/ADP_i_a)) )) * ((NADHmito_a/NADmito_a) / (nu_oxphos_a + (NADHmito_a/NADmito_a)) ) * (O2_a / (O2_a + K_oxphos_a)) - - vMitoinn(PYRmito_n,NADHmito_n) = VMaxMitoinn*PYRmito_n/(PYRmito_n+KmMito)*(1000*NADtot-NADHmito_n)/(1000*NADtot-NADHmito_n+KmNADn_jlv); - vMitoing(PYRmito_a,NADHmito_a) = VMaxMitoing*PYRmito_a/(PYRmito_a+KmMito_a)*(1000*NADtot-NADHmito_a)/(1000*NADtot-NADHmito_a+KmNADg_jlv); - - - du[1] = 0 #0.5*T2Jcorrection*(1000*x_buff*C_H_mitomatr_nM*( +1*J_DH_n - (4+1)*J_C1_n - (4-2)*J_C3_n - (2+2)*J_C4_n + (n_A-1)*J_F1_n + 2*J_Pi1_n + J_Hle_n - J_KH_n )/W_x) # C_H_mitomatr_nM - du[2] = 0.5*T2Jcorrection*(1000*(J_KH_n + J_K_n)/W_x) # K_x_nM - du[3] = 0.5*T2Jcorrection*(1000*(-J_MgATPx_n - J_MgADPx_n)/W_x) # Mg_x_nM - - du[4] = 6.96*(vMitoinn(PYRmito_n,NADHmito_n) + vShuttlen(NADH_n,NADHmito_n) - vMitooutn(O2_n,ATP_i_n,ADP_i_n,NADHmito_n,NADmito_n)) #0.5*T2Jcorrection*(1000*(+J_DH_n - J_C1_n)/W_x) # # NADHmito_nM = 1e-3*u[27] - - du[5] = 0.5*T2Jcorrection*(1000*(+J_C1_n - J_C3_n)/W_x) # QH2mito_nM # Reduced ubiquinol in matrix - du[6] = 0.5*T2Jcorrection*(1000*(+2*J_C3_n - 2*J_C4_n)/W_i) # CytCredmito_nM - - du[7] = JO2fromCap2n(O2cap,O2_n) - 0.6*vMitooutn(O2_n,ATP_i_n,ADP_i_n,NADHmito_n,NADmito_n) #- 0.5*T2Jcorrection*1000*J_C4_n/W_x #- 0.6*vMitooutn(O2_n,ADPmito_n,NADHmito_n) #- 0.4*1000*J_C4_n # 1000*J_C4_n because J_C4_n in M/s #- 0.6*vMitooutn(O2_n,ADP_n,NADHmito_n) # O2_n # O2 stays constant in Theurey2019 - - du[8] = 0.5*T2Jcorrection*(1000*(+J_F1_n - J_ANT_n)/W_x) # ATPmito_nM - du[9] = 0.5*T2Jcorrection*(1000*(-J_F1_n + J_ANT_n)/W_x) # ADPmito_nM - - du[10] = 0.5*T2Jcorrection*(1000*(J_MgATPx_n)/W_x) # ATP_mx_nM - du[11] = 0.5*T2Jcorrection*(1000*(J_MgADPx_n)/W_x) # ADP_mx_nM - - du[12] = 0.5*T2Jcorrection*(1000*(-J_F1_n + J_Pi1_n )/W_x) # Pimito_nM - - du[13] = 0.5*T2Jcorrection*(1000*(+J_ATP_n + J_ANT_n + J_AKi_n )/W_i) # ATP_i_nM - du[14] = 0.5*T2Jcorrection*(1000*(+J_ADP_n - J_ANT_n - 2*J_AKi_n )/W_i) # ADP_i_nM - du[15] = 0.5*T2Jcorrection*(1000*(+J_AMP_n + J_AKi_n)/W_i) # AMP_i_nM - - du[16] = 0.5*T2Jcorrection*(1000*(J_MgATPi_n)/W_i) # ATP_mi_nM - du[17] = 0.5*T2Jcorrection*(1000*(J_MgADPi_n)/W_i) # ADP_mi_nM - du[18] = 0.5*T2Jcorrection*(1000*(-J_Pi1_n + J_Pi2_n )/W_i) # Pi_i_nM - - du[19] = 0.5*T2Jcorrection*( 4*J_C1_n + 2*J_C3_n + 4*J_C4_n - n_A*J_F1_n - J_ANT_n - J_Hle_n - J_K_n )/CIM #MOD MitoMembrPotent_n - - du[20] = 0 # Cytochrome-c loss with half time t12cyto (used in Huber 2011) - du[21] = 0 # Cleavage of complex I/II total (used in Huber 2011) - - du[22] = 0 #0.5*T2Jcorrection*(1000*(- J_DH_n +(4+1)*J_C1_n + (4-2)*J_C3_n + (2+2)*J_C4_n - (n_A-1)*J_F1_n - 2*J_Pi1_n - J_Hle_n + J_KH_n + J_Ht_n)/W_i) # C_H_ims_nM - - du[23] = (psiCrKinase_n(PCr_n,ATP_n,ADP_n) + 0.5*(1/6.96)*1000*(-J_ATP_n) - psiHK_n(Glc_n,ATP_n,G6P_n) - psiPFK_n(ATP_n,F6P_n) + psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) + psiPK_n(PEP_n,ADP_n,ATP_n) - 0.15*vPumpn - vATPasesn )/(1-dAMPdATPn) - - du[24] = 0 # see above calc from ATP as in Jlv #0.5*T2Jcorrection*(1000*(-J_ADP_n + J_ATPK_n)/W_c) # - psiCrKinase_n(PCr_n,ATP_n,ADP_n) + 1000*(-J_ADP_n)/W_c + psiHK_n(Glc_n,ATP_n,G6P_n) + psiPFK_n(ATP_n,F6P_n) - psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) - psiPK_n(PEP_n,ADP_n,Pyr_n,ATP_n) + psiADK_n(ATP_n,AMP_n,ADP_n) + vATPasesn + vPumpn # ADP_n - - du[25] = T2Jcorrection*(0.5*1000*J_DH_n/W_x - psiFUM_n(FUMmito_n,MALmito_n)) # FUMmito_n - - du[26] = T2Jcorrection*(psiFUM_n(FUMmito_n,MALmito_n) - psiMDH_n(MALmito_n,NADmito_n,OXAmito_n,NADHmito_n) ) + 6.96*psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n) # MALmito_n - - du[27] = T2Jcorrection*(psiMDH_n(MALmito_n,NADmito_n,OXAmito_n,NADHmito_n) - psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) ) + psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) # OXAmito_n - - du[28] = T2Jcorrection*(0.5*psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) - 0.5*1000*J_DH_n/W_x ) + 0.5*T2Jcorrection*SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) # SUCmito_n - du[29] = 0.5*T2Jcorrection*(psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) - psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) ) - 0.5*T2Jcorrection*SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) # SUCCOAmito_n - - # CoAmito_n - du[30] = T2Jcorrection*(psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) - psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) - 0.5*psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) + 0.5*psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) - 0.5*thiolase_n(CoAmito_n,AcAcCoA_n)) # CoAmito_n - - du[31] = 0.5*T2Jcorrection*(psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n) - psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n)) - psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) - psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n) # AKGmito_n - - du[32] = 0 # CaMito_n - du[33] = 0.5*T2Jcorrection*(psiACO_n(CITmito_n,ISOCITmito_n) - psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n)) # ISOCITmito_n - du[34] = T2Jcorrection*(psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) - 0.5*psiACO_n(CITmito_n,ISOCITmito_n)) # CITmito_n - - du[35] = T2Jcorrection*(psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) - psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) ) + T2Jcorrection*thiolase_n(CoAmito_n,AcAcCoA_n) # AcCoAmito_n - - du[36] = 0.5*T2Jcorrection*(bHBDH_n(NADmito_n,NADHmito_n,bHB_n,AcAc_n) - SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n)) # AcAc_n - du[37] = 0.5*T2Jcorrection*(SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) - thiolase_n(CoAmito_n,AcAcCoA_n)) # AcAcCoA_n - - # PYRmito_n - du[38] = 6.96*psiPYRtrcyt2mito_n(Pyr_n,PYRmito_n,C_H_mitomatr_n) - T2Jcorrection*psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) # PYRmito_n - - du[39] = 0.44*MCT2_bHB_n(bHB_ecs,bHB_n) - bHBDH_n(NADmito_n,NADHmito_n,bHB_n,AcAc_n) # bHB_n - du[40] = 0.0275*MCT1_bHB_b(bHB_b,bHB_ecs) - MCT2_bHB_n(bHB_ecs,bHB_n) - MCT1_bHB_a(bHB_ecs,bHB_a) # bHB_ecs - du[41] = 0 # bHB_a fixed - du[42] = JbHBTrArtCap(t,bHB_b) - MCT1_bHB_b(bHB_b,bHB_ecs) # bHB_b - - - - du[43] = 0 #0.5*T2Jcorrection*(- psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) - psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) ) # ASPmito_n - du[44] = 0 #0.5*T2Jcorrection*(- psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) + 0.14375*psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n)) # ASP_n # 0.14375 is volumes scaling mito/cyto - - du[45] = 0.5*T2Jcorrection*(psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) + 6.96*psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) + psiGLS_n(GLN_n,GLUmito_n)) # GLUmito_n - - du[46] = 0 #0.5*T2Jcorrection*(- psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) - psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n)) # MAL_n - du[47] = 0 #0.5*T2Jcorrection*( psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) + psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n)) # OXA_n - du[48] = 0 #0.5*T2Jcorrection*(- psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) + 0.14375*psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n)) # AKG_n # 0.14375 is volumes scaling mito/cyto - - # GLU_n - du[49] = psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) - psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) # -synRelease # set in CB for syn release # GLU_n - - #NADH_n - du[50] = psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) - psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) - vShuttlen(NADH_n,NADHmito_n) #psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) - 0.1*psiLDH_syn_n(NADH_n,Pyr_n,NAD_n,Lac_n) - 0.9*psiLDH_cyto_n(NADH_n,Pyr_n,NAD_n,Lac_n) - vShuttlen(NADH_n,NADHmito_n) #+ psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) # NADH_n - - ########## - # a - du[51] = 0 #0.5*T2Jcorrection*(1000*x_buff*C_H_mitomatr_aM*( +1*J_DH_a - (4+1)*J_C1_a - (4-2)*J_C3_a - (2+2)*J_C4_a + (n_A-1)*J_F1_a + 2*J_Pi1_a + J_Hle_a - J_KH_a )/W_x) # C_H_mitomatr_aM - du[52] = 0.5*T2Jcorrection*(1000*(J_KH_a + J_K_a)/W_x) # K_x_aM - du[53] = 0.5*T2Jcorrection*(1000*(-J_MgATPx_a - J_MgADPx_a)/W_x) # Mg_x_aM - - # NADHmito_a - du[54] = 6.96*(vMitoing(PYRmito_a,NADHmito_a) + vShuttleg(NADH_a,NADHmito_a) - vMitooutg(O2_a,ATP_i_a,ADP_i_a,NADHmito_a,NADmito_a)) #0.5*T2Jcorrection*(1000*(+J_DH_a - J_C1_a)/W_x) # NADH NADHmito_aM = 1e-3*u[27] - - du[55] = 0.5*T2Jcorrection*(1000*(+J_C1_a - J_C3_a)/W_x) # QH2mito_aM # Reduced ubiquinol in matrix - - du[56] = 0.5*T2Jcorrection*(1000*(+2*J_C3_a - 2*J_C4_a)/W_i) # CytCredmito_aM - - du[57] = JO2fromCap2a(O2cap,O2_a) - 0.6*vMitooutg(O2_a,ATP_i_a,ADP_i_a,NADHmito_a,NADmito_a) #JO2fromCap2a(O2cap,O2_a) - 0.5*T2Jcorrection*1000*J_C4_a/W_x # - 0.6*vMitooutg(O2_a,ADP_a,NADHmito_a) #- 0.3*1000*J_C4_a # 1000*J_C4_a because J_C4_a in M/s #- 0.6*vMitooutg(O2_a,ADP_a,NADHmito_a) # O2_a # O2 stays constant in Theurey2019 - - du[58] = 0.5*T2Jcorrection*(1000*(+J_F1_a - J_ANT_a)/W_x) # ATPmito_aM - du[59] = 0.5*T2Jcorrection*(1000*(-J_F1_a + J_ANT_a)/W_x) # ADPmito_aM - - du[60] = 0.5*T2Jcorrection*(1000*(J_MgATPx_a)/W_x) # ATP_mx_aM - du[61] = 0.5*T2Jcorrection*(1000*(J_MgADPx_a)/W_x) # ADP_mx_aM - - du[62] = 0.5*T2Jcorrection*(1000*(-J_F1_a + J_Pi1_a )/W_x) # Pimito_aM - - du[63] = 0.5*T2Jcorrection*(1000*(+J_ATP_a + J_ANT_a + J_AKi_a )/W_i) # ATP_i_aM - du[64] = 0.5*T2Jcorrection*(1000*(+J_ADP_a - J_ANT_a - 2*J_AKi_a )/W_i) # ADP_i_aM - du[65] = 0.5*T2Jcorrection*(1000*(+J_AMP_a + J_AKi_a)/W_i) # AMP_i_aM - - du[66] = 0.5*T2Jcorrection*(1000*(J_MgATPi_a)/W_i) # ATP_mi_aM - du[67] = 0.5*T2Jcorrection*(1000*(J_MgADPi_a)/W_i) # ADP_mi_aM - du[68] = 0.5*T2Jcorrection*(1000*(-J_Pi1_a + J_Pi2_a )/W_i) # Pi_i_aM - - du[69] = 0.5*T2Jcorrection*(( 4*J_C1_a + 2*J_C3_a + 4*J_C4_a - n_A*J_F1_a - J_ANT_a - J_Hle_a - J_K_a )/CIM) #MOD MitoMembrPotent_a - - du[70] = 0 # Cytochrome-c loss with half time t12cyto (used in Huber 2011) - du[71] = 0 # Cleavage of complex I/II total (used in Huber 2011) - - du[72] = 0 # 0.5*T2Jcorrection*(1000*(- J_DH_a +(4+1)*J_C1_a + (4-2)*J_C3_a + (2+2)*J_C4_a - (n_A-1)*J_F1_a - 2*J_Pi1_a - J_Hle_a + J_KH_a + J_Ht_a)/W_i) # C_H_ims_aM - - du[73] = (-(Ca_a/cai0_ca_ion)*(1 + xNEmod*(u[178]/(KdNEmod + u[178])))*psiAC_a(ATP_a,cAMP_a) + psiCrKinase_a(PCr_a,ATP_a,ADP_a) + 0.5*(1/6.96)*1000*(-J_ATP_a) - psiHK_a(Glc_a,ATP_a,G6P_a) - psiPFK_a(ATP_a,F6P_a,f26bp_a) - psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) + psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) + psiPK_a(PEP_a,ADP_a,ATP_a) -0.15*(7/4)*vPumpg - vATPasesg)/(1-dAMPdATPg) - - du[74] = 0 # see above calc from ATP as in Jlv # 0.5*T2Jcorrection*(1000*(-J_ADP_a + J_ATPK_a)/W_c) # -psiCrKinase_a(PCr_a,ATP_a,ADP_a) + 1000*(-J_ADP_a)/W_c + psiHK_a(Glc_a,ATP_a,G6P_a) + psiPFK_a(ATP_a,F6P_a,f26bp_a) + psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) - psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) -psiPK_a(PEP_a,ADP_a,ATP_a) + psiADK_a(ATP_a,AMP_a,ADP_a) + vATPasesg + vPumpg # ADP_a - - du[75] = 0.5*T2Jcorrection*(1000*J_DH_a/W_x - psiFUM_a(FUMmito_a,MALmito_a)) # FUMmito_a - du[76] = 0.5*T2Jcorrection*(psiFUM_a(FUMmito_a,MALmito_a) - psiMDH_a(MALmito_a,NADmito_a,OXAmito_a,NADHmito_a)) # MALmito_a - du[77] = 0.5*T2Jcorrection*(psiMDH_a(MALmito_a,NADmito_a,OXAmito_a,NADHmito_a) - psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) + psiPYRCARB_a(ATPmito_a,ADPmito_a,PYRmito_a,OXAmito_a) ) # OXAmito_a - - du[78] = 0.5*T2Jcorrection*(psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a) - 1000*J_DH_a/W_x) # SUCmito_a - - du[79] = 0.5*T2Jcorrection*(psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) - psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a)) # SUCCOAmito_a - - # CoAmito_a - du[80] = 0.5*T2Jcorrection*(psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) - psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) - psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) + psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a)) # CoAmito_a - - du[81] = 0.5*T2Jcorrection*(psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a) - psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) + psiGDH_simplif_a(NADmito_a,GLUT_a,NADHmito_a,AKGmito_a)) # AKGmito_a - du[82] = 0 # CaMito_a - du[83] = 0.5*T2Jcorrection*(psiACO_a(CITmito_a,ISOCITmito_a) - psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a)) # ISOCITmito_a - du[84] = 0.5*T2Jcorrection*(psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) - psiACO_a(CITmito_a,ISOCITmito_a)) # CITmito_a - du[85] = 0.5*T2Jcorrection*(psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) - psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a)) # AcCoAmito_a - - du[86] = 0 # AcAc_a - du[87] = 0 # AcAcCoA_a - - # PYRmito_a - du[88] = 6.96*psiPYRtrcyt2mito_a(Pyr_a,PYRmito_a,C_H_mitomatr_a) - T2Jcorrection*(psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) + psiPYRCARB_a(ATPmito_a,ADPmito_a,PYRmito_a,OXAmito_a)) # PYRmito_a - - du[89] = T2Jcorrection*(psiSNAT_GLN_n(GLN_out,GLN_n) - psiGLS_n(GLN_n,GLUmito_n)) # GLN_n - du[90] = T2Jcorrection*(- psiSNAT_GLN_n(GLN_out,GLN_n) + psiSNAT_GLN_a(GLN_a,GLN_out)) # GLN_out - du[91] = T2Jcorrection*(- psiSNAT_GLN_a(GLN_a,GLN_out) + psiGLNsynth_a(GLUT_a,ATP_a,ADP_a)) # GLN_a - - du[92] = T2Jcorrection*(0.0266*psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) - psiGLNsynth_a(GLUT_a,ATP_a,ADP_a) - psiGDH_simplif_a(NADmito_a,GLUT_a,NADHmito_a,AKGmito_a)) # GLUT_a # Vol_syn/Vol_astEAAT - - ########## - # ephys - ########## - - du[93] = 0 # (1/4e-4)*( -dIPump_a -IBK - IKirAS - IKirAV - IleakA - ITRP_a ) # Va = -90 - du[94] = 0 # vLeakNag-3*vPumpg +vgstim # Na_a - du[95] = 0 # JNaK_a + ( - IleakA - IBK - IKirAS - IKirAV)/(4e-4*843.0*1000.) - RateDecayK_a*(K_a - K_a0) # W2013 # K_a - - #du[96] = SmVn/F*(IK + IM)*(eto_n/eto_ecs) - 2*vPumpn*(eto_n/eto_ecs) - 2*(eto_a/eto_ecs)*vPumpg - JdiffK -( ( - IleakA - IBK - IKirAS - IKirAV)/(4e-4*843.0*1000.)) # K_out - du[96] = 0 # SmVn/F*ik_density*(eto_n/eto_ecs) - 2*vPumpn*(eto_n/eto_ecs) - 2*(eto_a/eto_ecs)*vPumpg - JdiffK -( ( - IleakA - IBK - IKirAS - IKirAV)/(4e-4*843.0*1000.)) # K_out - - - du[97] = 0 # - psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) + synGlutRelease(V) # GLUT_syn == Glutamate_syn set in CB # see u[12] in cyto - - #du[98] = 1/Cm*(-IL-INa-IK-ICa-ImAHP-dIPump+Isyne+Isyni - IM + Iinj) # VNeu - du[98] = 0 # 1/Cm*(-IL-ina_density-ik_density-ICa-ImAHP-dIPump) # VNeu - - du[99] = 0 # vLeakNan-3*vPumpn + vnstim # Na_n - - du[100] = 0 #phi*(hinf-h)/tauh # h - du[101] = 0 #phi*(ninf-n)/taun # n - du[102] = 0 #-SmVn/F*ICa-(Ca_n-Ca_n0)/tauCa # Ca_n 2+ - du[103] = 0 #phi*(p_inf - pgate)/tau_p # pgate - du[104] = 0 #psiBK*cosh( (Va - (-0.5*v5BK*tanh((Ca_a - Ca3BK)/Ca4BK ) + v6BK) ) / ( 2*v4BK ) ) * ( nBKinf - nBK_a) # nBK_a # approx use https://www.cell.com/biophysj/pdfExtended/S0006-3495(13)01032-1 Witthoft 2013 with Ca_n istead of Ca_a - du[105] = 0 # set in CB # mGluRboundRatio_a - - du[106] = 0 # rhIP3a*((mGluRboundRatio_a + deltaGlutSyn) / (KGlutSyn + mGluRboundRatio_a + deltaGlutSyn)) - kdegIP3a*IP3_a # IP3_a - du[107] = 0 # konhIP3Ca_a*( khIP3Ca_aINH - ( Ca_a + khIP3Ca_aINH)*hIP3Ca_a ) # hIP3Ca_a - du[108] = 0 # beta_Ca_a*( IIP3_a - ICa_pump_a + Ileak_CaER_a ) - 0.5*ITRP_a/(4e-4*843.0*1000.) # #S12 # Ca_a - du[109] = 0 # Ca_r_a Ca ER a - du[110] = 0 # (Ca_perivasc/tauTRPCa_perivasc)*( sinfTRPV - sTRP_a ) # sTRP_a - - ############### - # metab cyto - ############### - - du[111] = FinDyn_W2017(t) - Fout_W2017(vV,t) #vV - du[112] = 0 # VprodEET_a*(Ca_a - CaMinEET_a) - kdeg_EET_a*EET_a # EET_a - du[113] = JdHbin(O2cap,t) - JdHbout(vV,t,ddHb) # ddHb - du[114] = JO2art2cap(O2cap,t) - (eto_n/eto_b)*JO2fromCap2n(O2cap,O2_n) - (eto_a/eto_b)*JO2fromCap2a(O2cap,O2_a) # O2cap - - du[115] = trGLC_art_cap(t,Glc_b) - JGlc_b(Glc_b,glc_D_ecsEndothelium) # volArt == volCap == 0.0055 # Glc_b - du[116] = 0.32*JGlc_b(Glc_b,glc_D_ecsEndothelium) - JGlc_e2ecsBA(glc_D_ecsEndothelium,Glc_ecsBA) # glc_D_ecsEndothelium == Glc_t_t - du[117] = 1.13*JGlc_e2ecsBA(glc_D_ecsEndothelium,Glc_ecsBA) - JGlc_ecsBA2a(Glc_ecsBA,Glc_a) - JGlc_diffEcs(Glc_ecsBA,Glc_ecsAN) # Glc_ecsBA - du[118] = 0.06*JGlc_ecsBA2a(Glc_ecsBA,Glc_a) - psiHK_a(Glc_a,ATP_a,G6P_a) - JGlc_a2ecsAN(Glc_a,Glc_ecsAN) # Glc_a - - du[119] = 1.35*JGlc_a2ecsAN(Glc_a,Glc_ecsAN) - JGlc_ecsAN2n(Glc_ecsAN,Glc_n) + 0.08*JGlc_diffEcs(Glc_ecsBA,Glc_ecsAN) # Glc_ecsAN - - du[120] = 0.41*JGlc_ecsAN2n(Glc_ecsAN,Glc_n) - psiHK_n(Glc_n,ATP_n,G6P_n) # Glc_n - - du[121] = psiHK_n(Glc_n,ATP_n,G6P_n) - psiPGI_n(G6P_n,F6P_n) - psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) # G6P_n - du[122] = psiHK_a(Glc_a,ATP_a,G6P_a) - psiPGI_a(G6P_a,F6P_a) - psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) + psiPGLM_a(G1P_a,G6P_a) # G6P_a - - du[123] = psiPGI_n(G6P_n,F6P_n) - psiPFK_n(ATP_n,F6P_n) - psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) + psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) # F6P_n - du[124] = psiPGI_a(G6P_a,F6P_a) - psiPFK_a(ATP_a,F6P_a,f26bp_a) - psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) - psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) + psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) # F6P_a - - du[125] = psiPFK_n(ATP_n,F6P_n) - psiALD_n(FBP_n,GAP_n,DHAP_n) # FBP_n - du[126] = psiPFK_a(ATP_a,F6P_a,f26bp_a) - psiALD_a(FBP_a,GAP_a,DHAP_a) # FBP_a - - du[127] = psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) # f26bp_a - - du[128] = psiGS_a(GS_a,UDPgluco_a) - 0.1*psiGPa_a(GPa_a,GLY_a) # GLY_a - - du[129] = 0 # accounted for it in /(1-dAMPdATPn) and ADp calc as in Jlv # - psiADK_n(ATP_n,AMP_n,ADP_n) # AMP_n - du[130] = 0 # accounted for it in /(1-dAMPdATPn) and ADp calc as in Jlv # PDE_a(cAMP_a) - psiADK_a(ATP_a,AMP_a,ADP_a) # AMP_a - - du[131] = psiGPa_a(GPa_a,GLY_a) - psiPGLM_a(G1P_a,G6P_a) - psiUDPGP_a(UTP_a,G1P_a,PPi_a0,UDPgluco_a) # G1P_a - - du[132] = psiALD_n(FBP_n,GAP_n,DHAP_n) - psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) + psiTPI_n(DHAP_n,GAP_n) - psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) - psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) + psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) # GAP_n - du[133] = psiALD_a(FBP_a,GAP_a,DHAP_a) - psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) + psiTPI_a(DHAP_a,GAP_a) - psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) - psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) + psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) #GAP_a - - # - du[134] = psiALD_n(FBP_n,GAP_n,DHAP_n) - psiTPI_n(DHAP_n,GAP_n) # DHAP_n - du[135] = psiALD_a(FBP_a,GAP_a,DHAP_a) - psiTPI_a(DHAP_a,GAP_a) # DHAP_a - - du[136] = psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) - psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) # BPG13_n - du[137] = psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) - psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) # BPG13_a - - # NADH_a - du[138] = psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) - psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) - vShuttleg(NADH_a,NADHmito_a) # NADH_a - - du[139] = 0 # Pi_n - du[140] = 0 # Pi_a - - du[141] = psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) - psiPGM_n(PG3_n,PG2_n) # PG3_n - du[142] = psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) - psiPGM_a(PG3_a,PG2_a) # PG3_a - - # - du[143] = psiPGM_n(PG3_n,PG2_n) - psiENOL_n(PG2_n,PEP_n) # PG2_n - du[144] = psiPGM_a(PG3_a,PG2_a) - psiENOL_a(PG2_a,PEP_a) # PG2_a - - du[145] = psiENOL_n(PG2_n,PEP_n) - psiPK_n(PEP_n,ADP_n,ATP_n) # PEP_n - du[146] = psiENOL_a(PG2_a,PEP_a) - psiPK_a(PEP_a,ADP_a,ATP_a) # PEP_a - - du[147] = psiPK_n(PEP_n,ADP_n,ATP_n) - psiPYRtrcyt2mito_n(Pyr_n,PYRmito_n,C_H_mitomatr_n) - psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) #Pyr_n - du[148] = psiPK_a(PEP_a,ADP_a,ATP_a) - psiPYRtrcyt2mito_a(Pyr_a,PYRmito_a,C_H_mitomatr_a) - psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) #Pyr_a - - du[149] = JLacTr(t,Lac_b) - MCT1_LAC_b(Lac_b,Lac_ecs) - vLACgc(Lac_b,Lac_a) # Lac_b - du[150] = 0.0275*MCT1_LAC_b(Lac_b,Lac_ecs) - jLac_a(Lac_ecs,Lac_a) - jLac_n(Lac_ecs,Lac_n) + jLacDiff_e(Lac_ecs) # Lac_ecs # lac diff www.pnas.org􏱵cgi􏱵doi􏱵10.1073􏱵pnas.0605864104 # 0.275 because common ecs (no sep into BA and AN, no endoth for lac model) - du[151] = 0.8*jLac_a(Lac_ecs,Lac_a) + 0.022*vLACgc(Lac_b,Lac_a) + psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) # Lac_a #0.8 = 0.2/0.25 volumes scaling common ecs n endoth - du[152] = 0.44*jLac_n(Lac_ecs,Lac_n) + psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) # Lac_n #0.44 = 0.2/0.45 volumes scaling common ecs n endoth # assume syn vol 10% -> 0.1*0.45 = 0.045 -> from/to 0.045/0.45 = 0.1 - - - du[153] = psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) + psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) - psiNADPHox_n(NADPH_n) - psiGSSGR_n(GSSG_n,NADPH_n) # NADPH_n - du[154] = psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) + psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) - psiNADPHox_a(NADPH_a) - psiGSSGR_a(GSSG_a,NADPH_a) # NADPH_a - - du[155] = psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) - psi6PGL_n(GL6P_n,GO6P_n) # GL6P_n - du[156] = psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) - psi6PGL_a(GL6P_a,GO6P_a) # GL6P_a - - du[157] = psi6PGL_n(GL6P_n,GO6P_n) - psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) # GO6P_n - du[158] = psi6PGL_a(GL6P_a,GO6P_a) - psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) # GO6P_a - - du[159] = psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) - psiRPEppp_n(RU5P_n,X5P_n) - psiRPI_n(RU5P_n,R5P_n) # RU5P_n - du[160] = psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) - psiRPEppp_a(RU5P_a,X5P_a) - psiRPI_a(RU5P_a,R5P_a) # RU5P_a - - du[161] = psiRPI_n(RU5P_n,R5P_n) - psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) # R5P_n - du[162] = psiRPI_a(RU5P_a,R5P_a) - psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) # R5P_a - - du[163] = psiRPEppp_n(RU5P_n,X5P_n) - psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) + psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) # X5P_n - du[164] = psiRPEppp_a(RU5P_a,X5P_a) - psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) + psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) # X5P_a - - du[165] = psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) - psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) # S7P_n - du[166] = psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) - psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) # S7P_a - - du[167] = psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) + psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) # E4P_n - du[168] = psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) + psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) # E4P_a - - du[169] = 2*(psiGSSGR_n(GSSG_n,NADPH_n) - psiGPX_n(GSH_n)) #+ glutathioneSyntase_n(GSH_n) # GSH_n - du[170] = 2*( psiGSSGR_a(GSSG_a,NADPH_a) - psiGPX_a(GSH_a)) #+ glutathioneSyntase_a(GSH_a) # GSH_a - du[171] = - psiGSSGR_n(GSSG_n,NADPH_n) + psiGPX_n(GSH_n) # GSSG_n - du[172] = - psiGSSGR_a(GSSG_a,NADPH_a) + psiGPX_a(GSH_a) # GSSG_a - - du[173] = 0 # calc above Cr_n = Crtot - PCr_n psiCrKinase_n(PCr_n,ATP_n,ADP_n) # Cr_n - du[174] = - psiCrKinase_n(PCr_n,ATP_n,ADP_n) # PCr_n - - du[175] = 0 # calc above Cr_a = Crtot - PCr_a # psiCrKinase_a(PCr_a,ATP_a,ADP_a) # Cr_a - du[176] = - psiCrKinase_a(PCr_a,ATP_a,ADP_a) # PCr_a - - du[177] = (Ca_a/cai0_ca_ion)*(1 + xNEmod*(u[178]/(KdNEmod + u[178])))*psiAC_a(ATP_a,cAMP_a) - PDE_a(cAMP_a) # cAMP_a - - du[178] = 0 # NE_neuromod defined in CB - - du[179] = 0 # psiUDPGP_a(UTP_a,G1P_a,PPi_a0,UDPgluco_a) - psiGS_a(GS_a,UDPgluco_a) - 1e-6*u[179]*(u[179] + 0.109) # UDPgluco_a - du[180] = 0 #0.000117-psiUDPGP_a(UTP_a,G1P_a,PPi_a0,UDPgluco_a) # UTP_a - - du[181] = 0 #psiGSAJay(GS_a,UDPgluco_a,PKAa_a0,PHKa_a0) # GS_a - du[182] = psiPHK(PHKa_a0,GPa_a,GLY_a,G1P_a,UDPgluco_a,Ca_a) # GPa_a - du[183] = -psiPHK(PHKa_a0,GPa_a,GLY_a,G1P_a,UDPgluco_a,Ca_a) # GPb_a - - -end - diff --git a/multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_withEphysCurrNdam_noSB.jl b/multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_withEphysCurrNdam_noSB.jl deleted file mode 100644 index 596e70f..0000000 --- a/multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_withEphysCurrNdam_noSB.jl +++ /dev/null @@ -1,824 +0,0 @@ -function metabolism!(du,u,p,t) - - ina_density,ik_density,mito_scale = @. p - -# Pi_n0 = 20.0; Pi_a0 = 20.0 -# vV0 = 0.0237 # ml global_par_Compartment_9 0.02396 - in pdf # 0.0237 # - in Winter2017 matlab file # 0.02 in Jolivet2015 -# ddHb0 = 0.05 #0.058 #0.0478 #0.058 #mM Jolivet2015 # 0.0478 #Winter2017 # 0.12 Aubert2007 doi 10.1073/pnas.0605864104 # 0.063 Auebrt 2002 doi:10.1006/nimg.2002.1224 and Buxton et al. (1998a,b) -# PCr_n0 = 4.9460223423181864e+000; PCr_a0 = 4.9242059083825644e+000 - - Pi_n = Pi_n0; Pi_a = Pi_a0 - NADHmito_n = u[4];ATPmito_n = u[8];ADPmito_n = u[9];Pimito_n = u[12]; - ATP_n = u[23]; - FUMmito_n = u[25];MALmito_n = u[26];OXAmito_n = u[27];SUCmito_n = u[28];SUCCOAmito_n = u[29];CoAmito_n = u[30];AKGmito_n = u[31];CaMito_n = u[32];ISOCITmito_n = u[33];CITmito_n = u[34];AcCoAmito_n = u[35];AcAc_n = u[36];AcAcCoA_n = u[37];PYRmito_n = u[38];bHB_n = u[39];bHB_ecs = u[40];bHB_a = u[41];bHB_b = u[42];ASPmito_n = u[43];ASP_n = u[44];GLUmito_n = u[45];MAL_n = u[46];OXA_n = u[47];AKG_n = u[48];GLU_n = u[49];NADH_n = u[50];NADHmito_a = u[54];ATPmito_a = u[58];ADPmito_a = u[59];Pimito_a = u[62]; - ATP_a = u[73]; - FUMmito_a = u[75];MALmito_a = u[76];OXAmito_a = u[77];SUCmito_a = u[78];SUCCOAmito_a = u[79];CoAmito_a = u[80];AKGmito_a = u[81];CaMito_a = u[82];ISOCITmito_a = u[83];CITmito_a = u[84];AcCoAmito_a = u[85];AcAc_a = u[86];AcAcCoA_a = u[87];PYRmito_a = u[88];C_H_mitomatr_n = u[1];C_H_mitomatr_nM = 1e-3*u[1];K_x_nM= 1e-3*u[2];Mg_x_nM = 1e-3*u[3]; - NADHmito_nM = 1e-3*u[4]; QH2mito_nM= 1e-3*u[5]; CytCredmito_nM = 1e-3*u[6]; O2_nM = 1e-3*u[7]; O2_n = u[7]; ATPmito_nM = 1e-3*u[8];ADPmito_nM = 1e-3*u[9] - - PCr_n = u[174]; PCr_a = u[176]; Cr_n = Crtot - PCr_n; Cr_a = Crtot - PCr_a - cAMP_a = u[177]; NE_neuromod = u[178] - UDPgluco_a = u[179]; UTP_a = u[180]; GS_a = u[181]; GPa_a = u[182]; GPb_a = u[183] - - - ADP_n = ATP_n/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_n/ATP_n-1))) - ADP_a = ATP_a/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_a/ATP_a-1))) - - j_un = qAK*qAK+4*qAK*(ATDPtot_n/ATP_n-1) - j_ug = qAK*qAK+4*qAK*(ATDPtot_a/ATP_a-1) - - dAMPdATPn = -1+qAK/2-0.5*sqrt(j_un)+qAK*ATDPtot_n/(ATP_n*sqrt(j_un)) - dAMPdATPg = -1+qAK/2-0.5*sqrt(j_ug)+qAK*ATDPtot_a/(ATP_a*sqrt(j_ug)) - - - ATP_nM = 1e-3*ATP_n; ADP_nM = 1e-3*ADP_n - ATP_aM = 1e-3*ATP_a; ADP_aM = 1e-3*ADP_a - - ATP_mx_nM = 1e-3*u[10]; ADP_mx_nM = 1e-3*u[11] # Matrix ATDP bound to magnesium - Pimito_nM = 1e-3*u[12] # Matrix inorganic phosphate - - ATP_i_n = u[13] - ATP_i_nM = 1e-3*u[13]; ADP_i_nM = 1e-3*u[14]; ADP_i_n = u[14] # IMS ATDP - AMP_i_nM = 1e-3*u[15] # IMS AMP - - ATP_mi_nM = 1e-3*u[16]; ADP_mi_nM = 1e-3*u[17] # IMS ATP bound to magnesium - Pi_i_nM = 1e-3*u[18] # IMS inorganic phosphate - - MitoMembrPotent_n = u[19] # Mitochondrial membrane potential - - Ctot_nM = 1e-3*u[20] # total cyt-c in IMS - Qtot_nM = 1e-3*u[21] # total ubiquinol - - C_H_ims_nM = 1e-3*u[22] # IMS hydrogen concentration - - AMP_nM = 0 # cytosolic ATDMP, M - - # Balancing moeities - NAD_x_n = NADtot - NADHmito_nM; NADmito_n = 1000*NAD_x_n # mM ################ - Q_n = Qtot_nM - QH2mito_nM; Qmito_n = 1000*Q_n # mM ################ - Cox_n = Ctot_nM - CytCredmito_nM; - - # Other concentrations computed from the state variables - ATP_fx_n = ATPmito_nM - ATP_mx_nM - ADP_fx_n = ADPmito_nM - ADP_mx_nM - ATP_fi_n = ATP_i_nM - ATP_mi_nM - ADP_fi_n = ADP_i_nM - ADP_mi_nM - - # ADP/Mg/K binding in E space - ADP_me_n = ( (K_DD + ADP_nM + Mg_tot) - sqrt((K_DD + ADP_nM + Mg_tot)^2 - 4*(Mg_tot*ADP_nM)) )/2; - #ADP_fe_n = ADP_nM - ADP_me_n; - Mg_i_n = Mg_tot - ADP_me_n; # Mg_i_n = Mg_e; # Mg,K in IM space same as external/cytosolic - - # Calculating Membrane proton motive force and respiration fluxes - dG_H_n = etcF*MitoMembrPotent_n + 1*etcRT*log(C_H_ims_nM/C_H_mitomatr_nM); # Protomotive force - dG_C1op_n = dG_C1o - 1*etcRT*log(C_H_mitomatr_nM/1e-7); - dG_C3op_n = dG_C3o + 2*etcRT*log(C_H_mitomatr_nM/1e-7); - dG_C4op_n = dG_C4o - 2*etcRT*log(C_H_mitomatr_nM/1e-7); - dG_F1op_n = dG_F1o - 1*etcRT*log(C_H_mitomatr_nM/1e-7); - - #a - C_H_mitomatr_a = u[51]; C_H_mitomatr_aM = 1e-3*u[51] # Matrix hydrogen concentration - K_x_aM = 1e-3*u[52] # Matrix potassium concentration - Mg_x_aM = 1e-3*u[53] # Matrix magnesium concentration - - NADHmito_aM = 1e-3*u[54] # Reduced NADH in matrix - QH2mito_aM = 1e-3*u[55] # Reduced ubiquinol in matrix - CytCredmito_aM = 1e-3*u[56] # Reduced cyt-c in IMS - O2_aM = 1e-3*u[57] # O2 - O2_a = u[57] # O2_a - - ATPmito_aM = 1e-3*u[58] # Matrix ATP - ADPmito_aM = 1e-3*u[59] # Matrix ADP - - ATP_mx_aM = 1e-3*u[60] # Matrix ATP bound to magnesium - ADP_mx_aM = 1e-3*u[61] # Matrix ADP bound to magnesium - Pimito_aM = 1e-3*u[62] # Matrix inorganic phosphate - - ATP_i_a = u[63] - ATP_i_aM = 1e-3*u[63] # IMS ATP - ADP_i_aM = 1e-3*u[64]; ADP_i_a = u[64] # IMS ADP - AMP_i_aM = 1e-3*u[65] # IMS AMP - ATP_mi_aM = 1e-3*u[66] # IMS ATP bound to magnesium - ADP_mi_aM = 1e-3*u[67] # IMS ADP bound to magnesium - Pi_i_aM = 1e-3*u[68] # IMS inorganic phosphate - - MitoMembrPotent_a = u[69] # Mitochondrial membrane potential - - Ctot_aM = 1e-3*u[70] # total cyt-c in IMS - Qtot_aM = 1e-3*u[71] # total ubiquinol - C_H_ims_aM = 1e-3*u[72] # IMS hydrogen concentration - - AMP_aM = 0 # cytosolic AMP concentration (Molar), Nicholls and others - #AMP_e = 0; # cytosolic AMP concentration (Molar], Nicholls and others - - # Balancing moeities - NAD_x_a = NADtot - NADHmito_aM; - NADmito_a = 1000*NAD_x_a # mM ################ - Q_a = Qtot_aM - QH2mito_aM; - Qmito_a = 1000*Q_a # mM ################ - Cox_a = Ctot_aM - CytCredmito_aM; - - # Other concentrations computed from the state variables - ATP_fx_a = ATPmito_aM - ATP_mx_aM - ADP_fx_a = ADPmito_aM - ADP_mx_aM - ATP_fi_a = ATP_i_aM - ATP_mi_aM - ADP_fi_a = ADP_i_aM - ADP_mi_aM - - # ADP/Mg/K binding in E space - ADP_me_a = ( (K_DD_a + ADP_aM + Mg_tot) - sqrt((K_DD_a + ADP_aM + Mg_tot)^2 - 4*(Mg_tot*ADP_aM)) )/2; - #ADP_fe_a = ADP_aM - ADP_me_a; - Mg_i_a = Mg_tot - ADP_me_a; # Mg_i_a = Mg_e; # Mg,K in IM space same as external/cytosolic - - # Calculating Membrane proton motive force and respiration fluxes - dG_H_a = etcF*MitoMembrPotent_a + 1*etcRT*log(C_H_ims_aM/C_H_mitomatr_aM); # Protomotive force - dG_C1op_a = dG_C1o - 1*etcRT*log(C_H_mitomatr_aM/1e-7); - dG_C3op_a = dG_C3o + 2*etcRT*log(C_H_mitomatr_aM/1e-7); - dG_C4op_a = dG_C4o - 2*etcRT*log(C_H_mitomatr_aM/1e-7); - dG_F1op_a = dG_F1o - 1*etcRT*log(C_H_mitomatr_aM/1e-7); - - ############### - # GLT-GLN - GLN_n = u[89]; GLN_out = u[90]; GLN_a = u[91]; GLUT_a = u[92]; Va = u[93]; Na_a = u[94]; K_a = u[95]; K_out = u[96]; GLUT_syn = u[97] - - ############## - # cyto - VNeu = u[98]; Na_n = u[99]; h = u[100]; n = u[101]; Ca_n = u[102]; pgate = u[103]; nBK_a = u[104]; mGluRboundRatio_a = u[105]; IP3_a = u[106]; hIP3Ca_a = u[107]; Ca_a = u[108]; Ca_r_a = u[109]; sTRP_a = u[110] - vV = u[111]; EET_a = u[112]; ddHb = u[113]; O2cap = u[114]; Glc_b = u[115]; glc_D_ecsEndothelium = u[116]; Glc_ecsBA = u[117]; Glc_a = u[118]; Glc_ecsAN = u[119]; Glc_n = u[120]; G6P_n = u[121]; G6P_a = u[122] - F6P_n = u[123]; F6P_a = u[124]; FBP_n = u[125]; FBP_a = u[126]; f26bp_a = u[127]; GLY_a = u[128]; AMP_n = u[129]; AMP_a = u[130]; G1P_a = u[131]; GAP_n = u[132]; GAP_a = u[133]; DHAP_n = u[134]; DHAP_a = u[135]; BPG13_n = u[136]; BPG13_a = u[137]; NADH_a = u[138] - PG3_n = u[141]; PG3_a = u[142]; PG2_n = u[143]; PG2_a = u[144]; PEP_n = u[145]; PEP_a = u[146]; Pyr_n = u[147]; Pyr_a = u[148]; Lac_b = u[149]; Lac_ecs = u[150]; Lac_a = u[151]; Lac_n = u[152] - NADPH_n = u[153]; NADPH_a = u[154]; GL6P_n = u[155]; GL6P_a = u[156]; GO6P_n = u[157]; GO6P_a = u[158]; RU5P_n = u[159]; RU5P_a = u[160]; R5P_n = u[161]; R5P_a = u[162]; X5P_n = u[163]; X5P_a = u[164]; S7P_n = u[165]; S7P_a = u[166]; E4P_n = u[167]; E4P_a = u[168]; GSH_n = u[169]; GSH_a = u[170]; GSSG_n = u[171]; GSSG_a = u[172] - - NADP_n = 0.0303 - NADPH_n; NADP_a = 0.0303 - NADPH_a - - # NAD+ + NADH = 0.212 # Jolivet2015 - NAD_n = 0.212 - NADH_n; NAD_a = 0.212 - NADH_a - - ################ - # Rates n - J_DH_n = x_DH*(r_DH*NAD_x_n - NADHmito_nM)*((1+Pimito_nM/k_Pi1)/(1+Pimito_nM/k_Pi2)); - J_C1_n = x_C1*(exp(-(dG_C1op_n+4*dG_H_n)/etcRT)*NADHmito_nM*Q_n - NAD_x_n*QH2mito_nM); - J_C3_n = x_C3*((1+Pimito_nM/k_Pi3)/(1+Pimito_nM/k_Pi4))*(exp(-(dG_C3op_n+4*dG_H_n-2*etcF*MitoMembrPotent_n)/(2*etcRT))*Cox_n*QH2mito_nM^0.5 - CytCredmito_nM*Q_n^0.5); - J_C4_n = x_C4*(O2_nM/(O2_nM+k_O2))*(CytCredmito_nM/Ctot_nM)*(exp(-(dG_C4op_n+2*dG_H_n)/(2*etcRT))*CytCredmito_nM*(O2_nM^0.25) - Cox_n*exp(etcF*MitoMembrPotent_n/etcRT)); - J_F1_n = x_F1*(exp(-(dG_F1op_n-n_A*dG_H_n)/etcRT)*(K_DD/K_DT)*ADP_mx_nM*Pimito_nM - ATP_mx_nM); - - # ATP transferase Korzeniewski 1998, Theurey 2019 - J_ANT_n = x_ANT*( ADP_fi_n/(ADP_fi_n + ATP_fi_n*exp(-etcF*(0.35*MitoMembrPotent_n)/etcRT)) - ADP_fx_n/(ADP_fx_n + ATP_fx_n*exp(-etcF*(-0.65*MitoMembrPotent_n)/etcRT)) )*(ADP_fi_n/(ADP_fi_n+k_mADP)); - - # Calculating ionic fluxes - H2PIi_n = Pi_i_nM*C_H_ims_nM/(C_H_ims_nM + k_dHPi); - H2PIx_n = Pimito_nM*C_H_mitomatr_nM/(C_H_mitomatr_nM + k_dHPi); - - J_Pi1_n = x_Pi1*(C_H_mitomatr_nM*H2PIi_n - C_H_ims_nM*H2PIx_n)/(H2PIi_n+k_PiH); - J_Hle_n = x_Hle*MitoMembrPotent_n*(C_H_ims_nM*exp(etcF*MitoMembrPotent_n/etcRT) - C_H_mitomatr_nM)/(exp(etcF*MitoMembrPotent_n/etcRT) - 1); - J_KH_n = x_KH*( K_i*C_H_mitomatr_nM - K_x_nM*C_H_ims_nM ); - J_K_n = x_K*MitoMembrPotent_n*(K_i*exp(etcF*MitoMembrPotent_n/etcRT) - K_x_nM)/(exp(etcF*MitoMembrPotent_n/etcRT) - 1); - J_AKi_n = x_AK*( K_AK*ADP_i_nM*ADP_i_nM - AMP_i_nM*ATP_i_nM ); - J_AMP_n = gamma*x_A*(AMP_nM - AMP_i_nM); - - J_ADP_n = gamma*x_A*(ADP_nM - ADP_i_nM); - J_ATP_n = gamma*x_A*(ATP_nM - ATP_i_nM); - - J_Pi2_n = gamma*x_Pi2*(1e-3 * Pi_n - Pi_i_nM); - J_Ht_n = gamma*x_Ht*(1e-3 * C_H_cyt_n - C_H_ims_nM); - - J_MgATPx_n = x_MgA*(ATP_fx_n*Mg_x_nM - K_DT*ATP_mx_nM); - J_MgADPx_n = x_MgA*(ADP_fx_n*Mg_x_nM - K_DD*ADP_mx_nM); - J_MgATPi_n = x_MgA*(ATP_fi_n*Mg_i_n - K_DT*ATP_mi_nM); - J_MgADPi_n = x_MgA*(ADP_fi_n*Mg_i_n - K_DD*ADP_mi_nM); - - ####################### - # TCA n - psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) = VmaxPDHCmito_n* (PYRmito_n/(PYRmito_n+KmPyrMitoPDH_n)) * (NADmito_n/(NADmito_n + KmNADmitoPDH_na)) * (CoAmito_n/(CoAmito_n + KmCoAmitoPDH_n)) - psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) = VmaxCSmito_n*(OXAmito_n/(OXAmito_n + KmOxaMito_n*(1.0 + CITmito_n/KiCitMito_n))) * (AcCoAmito_n/(AcCoAmito_n + KmAcCoAmito_n*(1.0+CoAmito_n/KiCoA_n))) - psiACO_n(CITmito_n,ISOCITmito_n) = VmaxAco_n*(CITmito_n-ISOCITmito_n/KeqAco_na) / (1.0+CITmito_n/KmCitAco_n + ISOCITmito_n/KmIsoCitAco_n) - psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n) = VmaxIDH_n*(NADmito_n/KiNADmito_na)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH ) / (1.0 + NADmito_n/KiNADmito_na + (KmNADmito_na/KiNADmito_na)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) + NADHmito_n/KiNADHmito_na + (NADmito_n/KiNADmito_na)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) + ((KmNADmito_na*NADHmito_n)/(KiNADmito_na*KiNADHmito_na))*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) ) - psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) = (VmaxKGDH_n*(1 + ADPmito_n/KiADPmito_KGDH_n)*(AKGmito_n/Km1KGDHKGDH_n)*(CoAmito_n/Km_CoA_kgdhKGDH_n)*(NADmito_n/KmNADkgdhKGDH_na) ) / ( ( (CoAmito_n/Km_CoA_kgdhKGDH_n)*(NADmito_n/KmNADkgdhKGDH_na)*(AKGmito_n/Km1KGDHKGDH_n + (1 + ATPmito_n/KiATPmito_KGDH_n)/(1 + CaMito_n/KiCa2KGDH_n)) ) + ( (AKGmito_n/Km1KGDHKGDH_n)*(CoAmito_n/Km_CoA_kgdhKGDH_n + NADmito_n/KmNADkgdhKGDH_na)*(1 + NADHmito_n/KiNADHKGDHKGDH_na + SUCCOAmito_n/Ki_SucCoA_kgdhKGDH_n) ) ) - psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) = VmaxSuccoaATPscs_n*(1+AmaxPscs_n*((Pimito_n^npscs_n)/((Pimito_n^npscs_n)+(Km_pi_scs_na^npscs_n)))) * (SUCCOAmito_n*ADPmito_n*Pimito_n - SUCmito_n*CoAmito_n*ATPmito_n/Keqsuccoascs_na)/((1+SUCCOAmito_n/Km_succoa_scs_n)*(1+ADPmito_n/Km_ADPmito_scs_n)*(1+Pimito_n/Km_pi_scs_na)+(1+SUCmito_n/Km_succ_scs_n)*(1+CoAmito_n/Km_coa_scs_n)*(1+ATPmito_n/Km_atpmito_scs_n)) - psiFUM_n(FUMmito_n,MALmito_n) = Vmaxfum_n*(FUMmito_n - MALmito_n/Keqfummito_na)/(1.0+FUMmito_n/Km_fummito_n+MALmito_n/Km_malmito_n) - psiMDH_n(MALmito_n,NADmito_n,OXAmito_n,NADHmito_n) = VmaxMDHmito_n*(MALmito_n*NADmito_n-OXAmito_n*NADHmito_n/Keqmdhmito_na) / ((1.0+MALmito_n/Km_mal_mdh_n)*(1.0+NADmito_n/Km_nad_mdh_na)+(1.0+OXAmito_n/Km_oxa_mdh_n)*(1.0+NADHmito_n/Km_nadh_mdh_na)) - - # Ketones - SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) = (VmaxfSCOT_n*SUCCOAmito_n*AcAc_n/( Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*(SUCCOAmito_n/Ki_SucCoA_SCOT_n + Km_SucCoA_SCOT_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + AcAcCoA_n/Ki_AcAcCoA_SCOT_n + Km_AcAcCoA_SCOT_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) + SUCCOAmito_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + SUCCOAmito_n*AcAcCoA_n/(Ki_SucCoA_SCOT_n*Ki_AcAcCoA_SCOT_n) + Km_SucCoA_SCOT_n*AcAc_n*SUCmito_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*Ki_SUC_SCOT_n) + AcAcCoA_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) ) )) - (VmaxrSCOT_n*AcAcCoA_n*SUCmito_n/( Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n*(SUCCOAmito_n/Ki_SucCoA_SCOT_n + Km_SucCoA_SCOT_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + AcAcCoA_n/Ki_AcAcCoA_SCOT_n + Km_AcAcCoA_SCOT_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) + SUCCOAmito_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + SUCCOAmito_n*AcAcCoA_n/(Ki_SucCoA_SCOT_n*Ki_AcAcCoA_SCOT_n) + Km_SucCoA_SCOT_n*AcAc_n*SUCmito_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*Ki_SUC_SCOT_n) + AcAcCoA_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) ) )) - thiolase_n(CoAmito_n,AcAcCoA_n) = Vmax_thiolase_f_n*CoAmito_n*AcAcCoA_n / ( Ki_CoA_thiolase_f_n * Km_AcAcCoA_thiolase_f_n + Km_AcAcCoA_thiolase_f_n*CoAmito_n + Km_CoA_thiolase_f_n*AcAcCoA_n + CoAmito_n*AcAcCoA_n) - JbHBTrArtCap(t,bHB_b) = (2*(C_bHB_a - bHB_b)/eto_b)*(global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3))))))) - MCT1_bHB_b(bHB_b,bHB_ecs) = VmaxMCTbhb_b*(bHB_b/(bHB_b + KmMCT1_bHB_b) - bHB_ecs/(bHB_ecs + KmMCT1_bHB_b)) - MCT2_bHB_n(bHB_ecs,bHB_n) = VmaxMCTbhb_n*(bHB_ecs/(bHB_ecs + KmMCT2_bHB_n) - bHB_n/(bHB_n + KmMCT2_bHB_n)) - MCT1_bHB_a(bHB_ecs,bHB_a) = VmaxMCTbhb_a*(bHB_ecs/(bHB_ecs + KmMCT1_bHB_a) - bHB_a/(bHB_a + KmMCT1_bHB_a)) - bHBDH_n(NADmito_n,NADHmito_n,bHB_n,AcAc_n) = Vmax_bHBDH_f_n*NADmito_n*bHB_n/(Ki_NAD_B_HBD_f_n*Km_betaHB_BHBD_n + Km_betaHB_BHBD_n*NADmito_n + Km_NAD_B_HBD_n*bHB_n + NADmito_n*bHB_n ) - (Vmax_bHBDH_r_n*NADHmito_n*AcAc_n/(Ki_NADH_BHBD_r_n*Km_AcAc_BHBD_n + Km_AcAc_BHBD_n*NADHmito_n + Km_NADH_BHBD_n*AcAc_n + NADHmito_n*AcAc_n )) - - ####################### - # MAS - # AAT mito n (GOT mito n): psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n), AKGmito_n + ASPmito_n ⇒ OXAmito_n + GLUmito_n - psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) = VfAAT_n*(ASPmito_n*AKGmito_n - OXAmito_n*GLUmito_n/KeqAAT_n) / ( KmAKG_AAT_n*ASPmito_n + KmASP_AAT_n*(1.0 + AKGmito_n/KiAKG_AAT_n)*AKGmito_n + ASPmito_n*AKGmito_n + KmASP_AAT_n*AKGmito_n*GLUmito_n/KiGLU_AAT_n + ( KiASP_AAT_n*KmAKG_AAT_n/(KmOXA_AAT_n*KiGLU_AAT_n) )* ( KmGLU_AAT_n*ASPmito_n*OXAmito_n/KiASP_AAT_n + OXAmito_n*GLUmito_n + KmGLU_AAT_n*(1.0 + AKGmito_n/KiAKG_AAT_n)*OXAmito_n + KmOXA_AAT_n*GLUmito_n ) ) - # cMDH n: psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n), MAL_n + NAD_n ⇒ OXA_n + NADH_n - psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) = VmaxcMDH_n*(MAL_n*NAD_n-OXA_n*NADH_n/Keqcmdh_n)/ ((1+MAL_n/Kmmalcmdh_n)*(1+NAD_n/Kmnadcmdh_n) + (1+OXA_n/Kmoxacmdh_n)*(1+NADH_n/Kmnadhcmdh_n)-1) - # psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n), ASP_n + AKG_n ⇒ OXA_n + GLU_n - psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) = VfCAAT_n*(ASP_n*AKG_n - OXA_n*GLU_n/KeqCAAT_n) / ( KmAKG_CAAT_n*ASP_n + KmASP_CAAT_n*(1.0 + AKG_n/KiAKG_CAAT_n)*AKG_n + ASP_n*AKG_n + KmASP_CAAT_n*AKG_n*GLU_n/KiGLU_CAAT_n + ( KiASP_CAAT_n*KmAKG_CAAT_n/(KmOXA_CAAT_n*KiGLU_CAAT_n) )* ( KmGLU_CAAT_n*ASP_n*OXA_n/KiASP_CAAT_n + OXA_n*GLU_n + KmGLU_CAAT_n*(1.0 + AKG_n/KiAKG_CAAT_n)*OXA_n + KmOXA_CAAT_n*GLU_n ) ) - # AGC (citrin) n: psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n), ASPmito_n + GLU_n ⇒ GLUmito_n + ASP_n - psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) = Vmaxagc_n*(ASPmito_n*GLU_n - ASP_n*GLUmito_n/ ((exp(MitoMembrPotent_n)^(F/(R*T)))* (C_H_cyt_n/C_H_mito_n)) ) / ((ASPmito_n+Km_aspmito_agc_n)*(GLU_n+Km_glu_agc_n) + (ASP_n+Km_asp_agc_n)*(GLUmito_n+Km_glumito_agc_n)) - # MAKGC n: psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n), AKGmito_n + MAL_n ⇒ MALmito_n + AKG_n - psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n) = Vmaxmakgc_n*( MAL_n*AKGmito_n - MALmito_n*AKG_n) / ((MAL_n+Km_mal_mkgc_n)*(AKGmito_n+Km_akgmito_mkgc_n)+(MALmito_n+Km_malmito_mkgc_n)*(AKG_n+Km_akg_mkgc_n)) - - - ################ - # Rates a - J_DH_a = x_DH_a*(r_DH_a*NAD_x_a - NADHmito_aM)*((1+Pimito_aM/k_Pi1)/(1+Pimito_aM/k_Pi2)); - J_C1_a = x_C1*(exp(-(dG_C1op_a+4*dG_H_a)/etcRT)*NADHmito_aM*Q_a - NAD_x_a*QH2mito_aM); - J_C3_a = x_C3*((1+Pimito_aM/k_Pi3)/(1+Pimito_aM/k_Pi4))*(exp(-(dG_C3op_a+4*dG_H_a-2*etcF*MitoMembrPotent_a)/(2*etcRT))*Cox_a*QH2mito_aM^0.5 - CytCredmito_aM*Q_a^0.5); - J_C4_a = x_C4*(O2_aM/(O2_aM+k_O2))*(CytCredmito_aM/Ctot_aM)*(exp(-(dG_C4op_a+2*dG_H_a)/(2*etcRT))*CytCredmito_aM*(O2_aM^0.25) - Cox_a*exp(etcF*MitoMembrPotent_a/etcRT)); - J_F1_a = x_F1_a*(exp(-(dG_F1op_a-n_A*dG_H_a)/etcRT)*(K_DD_a/K_DT_a)*ADP_mx_aM*Pimito_aM - ATP_mx_aM); - - # ATP transferase Korzeniewski 1998, Theurey 2019 - J_ANT_a = x_ANT_a*( ADP_fi_a/(ADP_fi_a + ATP_fi_a*exp(-etcF*(0.35*MitoMembrPotent_a)/etcRT)) - ADP_fx_a/(ADP_fx_a + ATP_fx_a*exp(-etcF*(-0.65*MitoMembrPotent_a)/etcRT)) )*(ADP_fi_a/(ADP_fi_a+k_mADP_a)); - - # Calculating ionic fluxes - H2PIi_a = Pi_i_aM*C_H_ims_aM/(C_H_ims_aM + k_dHPi); - H2PIx_a = Pimito_aM*C_H_mitomatr_aM/(C_H_mitomatr_aM + k_dHPi); - J_Pi1_a = x_Pi1*(C_H_mitomatr_aM*H2PIi_a - C_H_ims_aM*H2PIx_a)/(H2PIi_a+k_PiH); - J_Hle_a = x_Hle*MitoMembrPotent_a*(C_H_ims_aM*exp(etcF*MitoMembrPotent_a/etcRT) - C_H_mitomatr_aM)/(exp(etcF*MitoMembrPotent_a/etcRT) - 1); - J_KH_a = x_KH*( K_i*C_H_mitomatr_aM - K_x_aM*C_H_ims_aM ); - J_K_a = x_K*MitoMembrPotent_a*(K_i*exp(etcF*MitoMembrPotent_a/etcRT) - K_x_aM)/(exp(etcF*MitoMembrPotent_a/etcRT) - 1); - J_AKi_a = x_AK*( K_AK*ADP_i_aM*ADP_i_aM - AMP_i_aM*ATP_i_aM ); - J_AMP_a = gamma*x_A*(AMP_aM - AMP_i_aM); - - J_ADP_a = gamma*x_A*(ADP_aM - ADP_i_aM); - J_ATP_a = gamma*x_A*(ATP_aM - ATP_i_aM); - - J_Pi2_a = gamma*x_Pi2*(1e-3 * Pi_a - Pi_i_aM); - J_Ht_a = gamma*x_Ht*(1e-3 * C_H_cyt_a - C_H_ims_aM); - - J_MgATPx_a = x_MgA*(ATP_fx_a*Mg_x_aM - K_DT_a*ATP_mx_aM); - J_MgADPx_a = x_MgA*(ADP_fx_a*Mg_x_aM - K_DD_a*ADP_mx_aM); - J_MgATPi_a = x_MgA*(ATP_fi_a*Mg_i_a - K_DT_a*ATP_mi_aM); - J_MgADPi_a = x_MgA*(ADP_fi_a*Mg_i_a - K_DD_a*ADP_mi_aM); - - ####################### - # TCA - psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) = VmaxPDHCmito_a* (PYRmito_a/(PYRmito_a+KmPyrMitoPDH_a)) * (NADmito_a/(NADmito_a + KmNADmitoPDH_na)) * (CoAmito_a/(CoAmito_a + KmCoAmitoPDH_a)) - psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) = VmaxCSmito_a*(OXAmito_a/(OXAmito_a + KmOxaMito_a*(1.0 + CITmito_a/KiCitMito_a))) * (AcCoAmito_a/(AcCoAmito_a + KmAcCoAmito_a*(1.0+CoAmito_a/KiCoA_a))) - psiACO_a(CITmito_a,ISOCITmito_a) = VmaxAco_a*(CITmito_a-ISOCITmito_a/KeqAco_na) / (1.0+CITmito_a/KmCitAco_a + ISOCITmito_a/KmIsoCitAco_a) - psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a) = VmaxIDH_a*(NADmito_a/KiNADmito_na)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH ) / (1.0 + NADmito_a/KiNADmito_na + (KmNADmito_na/KiNADmito_na)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) + NADHmito_a/KiNADHmito_na + (NADmito_a/KiNADmito_na)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) + ((KmNADmito_na*NADHmito_a)/(KiNADmito_na*KiNADHmito_na))*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) ) - psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) = (VmaxKGDH_a*(1 + ADPmito_a/KiADPmito_KGDH_a)*(AKGmito_a/Km1KGDHKGDH_a)*(CoAmito_a/Km_CoA_kgdhKGDH_a)*(NADmito_a/KmNADkgdhKGDH_na) ) / ( ( (CoAmito_a/Km_CoA_kgdhKGDH_a)*(NADmito_a/KmNADkgdhKGDH_na)*(AKGmito_a/Km1KGDHKGDH_a + (1 + ATPmito_a/KiATPmito_KGDH_a)/(1 + CaMito_a/KiCa2KGDH_a)) ) + ( (AKGmito_a/Km1KGDHKGDH_a)*(CoAmito_a/Km_CoA_kgdhKGDH_a + NADmito_a/KmNADkgdhKGDH_na)*(1 + NADHmito_a/KiNADHKGDHKGDH_na + SUCCOAmito_a/Ki_SucCoA_kgdhKGDH_a) ) ) - psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a) = VmaxSuccoaATPscs_a*(1+AmaxPscs_a*((Pimito_a^npscs_a)/((Pimito_a^npscs_a)+(Km_pi_scs_na^npscs_a)))) * (SUCCOAmito_a*ADPmito_a*Pimito_a - SUCmito_a*CoAmito_a*ATPmito_a/Keqsuccoascs_na)/((1+SUCCOAmito_a/Km_succoa_scs_a)*(1+ADPmito_a/Km_ADPmito_scs_a)*(1+Pimito_a/Km_pi_scs_na)+(1+SUCmito_a/Km_succ_scs_a)*(1+CoAmito_a/Km_coa_scs_a)*(1+ATPmito_a/Km_atpmito_scs_a)) - psiFUM_a(FUMmito_a,MALmito_a) = Vmaxfum_a*(FUMmito_a - MALmito_a/Keqfummito_na)/(1.0+FUMmito_a/Km_fummito_a+MALmito_a/Km_malmito_a) - psiMDH_a(MALmito_a,NADmito_a,OXAmito_a,NADHmito_a) = VmaxMDHmito_a*(MALmito_a*NADmito_a-OXAmito_a*NADHmito_a/Keqmdhmito_na) / ((1.0+MALmito_a/Km_mal_mdh_a)*(1.0+NADmito_a/Km_nad_mdh_na)+(1.0+OXAmito_a/Km_oxa_mdh_a)*(1.0+NADHmito_a/Km_nadh_mdh_na)) - - psiPYRCARB_a(ATPmito_a,ADPmito_a,PYRmito_a,OXAmito_a) = ( (ATPmito_a/ADPmito_a)/(muPYRCARB_a + (ATPmito_a/ADPmito_a)))*VmPYRCARB_a*(PYRmito_a*CO2_mito_a - OXAmito_a/KeqPYRCARB_a)/( KmPYR_PYRCARB_a*KmCO2_PYRCARB_a + KmPYR_PYRCARB_a*CO2_mito_a + KmCO2_PYRCARB_a*PYRmito_a + CO2_mito_a*PYRmito_a) # PYRmito_a + ATPmito_a ⇒ OXAmito_a + ADPmito_a - - ###################### - # GLT-GLN - psiSNAT_GLN_n(GLN_out,GLN_n) = TmaxSNAT_GLN_n*(GLN_out-GLN_n/coeff_gln_ratio_n_ecs)/(KmSNAT_GLN_n+GLN_n) - psiGLS_n(GLN_n,GLUmito_n) = VmGLS_n*( GLN_n - GLUmito_n/KeqGLS_n )/ (KmGLNGLS_n*(1.0 + GLUmito_n/KiGLUGLS_n) + GLN_n ) - - psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) = - ((1/(2*F*1e-3)) * ( -alpha_EAAT*exp(-beta_EAAT*(Va - ((R*T/(2*F*1e-3))*log( ((Na_syn_EAAT/Na_a)^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/GLUT_a) * (K_a/K_out ) )))) )) - - # simplif: no mito-cyto compart for glutamate in astro - psiGDH_simplif_a(NADmito_a,GLUT_a,NADHmito_a,AKGmito_a) = VmGDH_a*(NADmito_a*GLUT_a - NADHmito_a*AKGmito_a/KeqGDH_a)/ (KiNAD_GDH_a*KmGLU_GDH_a + KmGLU_GDH_a*NADmito_a + KiNAD_GDH_a*GLUT_a + GLUT_a*NADmito_a + GLUT_a*NADmito_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*NADHmito_a/KiNADH_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmNADH_GDH_a*AKGmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KmNADH_GDH_a*GLUT_a*NADHmito_a/KiNADH_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*AKGmito_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + GLUT_a*NADmito_a*AKGmito_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*GLUT_a*NADHmito_a*AKGmito_a/(KiGLU_GDH_a*KiAKG_GDH_a*KiNADH_GDH_a) + KiNAD_GDH_a*KmGLU_GDH_a*AKGmito_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KmNADH_GDH_a*KmGLU_GDH_a*AKGmito_a*NADmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) ) - - # psiGLNsynth_a(GLUT_a,ATP_a,ADP_a) = VmaxGLNsynth_a*(GLUT_a/( KmGLNsynth_a + GLUT_a))*( (ATP_a/ADP_a)/(muGLNsynth_a + ATP_a/ADP_a ) ) - psiGLNsynth_a(GLUT_a,ATP_a,ADP_a) = VmaxGLNsynth_a*(GLUT_a/( KmGLNsynth_a + GLUT_a))*( (1/(ATP_a/ADP_a))/(muGLNsynth_a + (1/(ATP_a/ADP_a)) ) ) - - psiSNAT_GLN_a(GLN_a,GLN_out) = TmaxSNAT_GLN_a*(GLN_a-GLN_out)/(KmSNAT_GLN_a+GLN_a) - - ###################### - # Cyto - # Winter2017, Jolivet2015 - FinDyn_W2017(t) = global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) # is global_par_F_in - Fout_W2017(vV,t) = global_par_F_0*((vV/vV0)^2 + (vV/vV0)^(-0.5)*global_par_tau_v/vV0* ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) )/(1+global_par_F_0*(vV/vV0)^(-0.5)*global_par_tau_v/vV0) - - JdHbin(O2cap,t) = 2*(C_O_a - O2cap) * ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) - JdHbout(vV,t,ddHb) = (ddHb/vV) * ( global_par_F_0*((vV/vV0)^2 +(vV/vV0)^(-0.5)*global_par_tau_v/vV0* ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) )/(1+global_par_F_0*(vV/vV0)^(-0.5)*global_par_tau_v/vV0) ) - - #JO2art2cap(O2cap,t) = 2*((C_O_a - O2cap)/eto_b) * ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) - JO2art2cap(O2cap,t) = (1/eto_b)*2*(C_O_a - O2cap) * ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) - JO2fromCap2a(O2cap,O2_a) = (PScapA*(KO2b*(HbOP/O2cap - 1.)^(-1/param_degree_nh) - O2_a )) - JO2fromCap2n(O2cap,O2_n) = (PScapNAratio*PScapA*(KO2b*(HbOP/O2cap - 1.)^(-1/param_degree_nh) - O2_n )) - - # Winter2017, Jolivet2015 - trGLC_art_cap(t,Glc_b) = (1/eto_b)*(2*(C_Glc_a-Glc_b))*(global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3))))))) - - # DiNuzzo2010, but denom corr to a common form formula given in main text pdf instead of supp pdf - JGlc_b(Glc_b,glc_D_ecsEndothelium) = TmaxGLCce*( Glc_b*(KeG + glc_D_ecsEndothelium) - glc_D_ecsEndothelium*(KeG + Glc_b) ) / ( KeG^2 + KeG*ReGoi*Glc_b + KeG*ReGio*glc_D_ecsEndothelium + ReGee*Glc_b*glc_D_ecsEndothelium ) - JGlc_e2ecsBA(glc_D_ecsEndothelium,Glc_ecsBA) = TmaxGLCeb*( glc_D_ecsEndothelium*(KeG2 + Glc_ecsBA) - Glc_ecsBA*(KeG2 + glc_D_ecsEndothelium) ) / ( KeG2^2 + KeG2*ReGoi2*glc_D_ecsEndothelium + KeG2*ReGio2*Glc_ecsBA + ReGee2*glc_D_ecsEndothelium*Glc_ecsBA ) - JGlc_ecsBA2a(Glc_ecsBA,Glc_a) = TmaxGLCba*( Glc_ecsBA*(KeG3 + Glc_a) - Glc_a*(KeG3 + Glc_ecsBA) ) / ( KeG3^2 + KeG3*ReGoi3*Glc_ecsBA + KeG3*ReGio3*Glc_a + ReGee3*Glc_ecsBA*Glc_a ) - JGlc_a2ecsAN(Glc_a,Glc_ecsAN) = TmaxGLCai*( Glc_a*(KeG4 + Glc_ecsAN) - Glc_ecsAN*(KeG4 + Glc_a) ) / ( KeG4^2 + KeG4*ReGoi4*Glc_a + KeG4*ReGio4*Glc_ecsAN + ReGee4*Glc_a*Glc_ecsAN ) - JGlc_ecsAN2n(Glc_ecsAN,Glc_n) = TmaxGLCin*( Glc_ecsAN*(KeG5 + Glc_n) - Glc_n*(KeG5 + Glc_ecsAN) ) / ( KeG5^2 + KeG5*ReGoi5*Glc_ecsAN + KeG5*ReGio5*Glc_n + ReGee5*Glc_ecsAN*Glc_n ) - JGlc_diffEcs(Glc_ecsBA,Glc_ecsAN) = kGLCdiff*(Glc_ecsBA - Glc_ecsAN) - - # Glycogen - # Glycogen synthase: UDPgluco + GLY ⇒ 2*GLY - #psiGS_a(GLY_a) = VmaxGS_a*( GLY_a0/GLY_a - 1) - psiGS_a(GS_a,UDPgluco_a) = kL2_GS_a*GS_a*UDPgluco_a / (kmL2_GS_a+UDPgluco_a) - - #psiGPa_a(GPa_a,GPb_a,AMP_a) = (GPa_a/(GPa_a+GPb_a))*VmaxGP_a*(1/(1 + (KmGP_AMP_a^hGPa)/(AMP_a^hGPa))) - #psiGPa_a(GPa_a,GPb_a,cAMP_a,GLY_a) = (GPa_a/(GPa_a+GPb_a))*VmaxGP_a*GLY_a*(1/(1 + (KmGP_AMP_a^hGPa)/(cAMP_a^hGPa))) - psiGPa_a(GPa_a,GLY_a) = k_L2_GS_a*GPa_a*GLY_a/(km_L2_GS_a+GLY_a) - - psiPGLM_a(G1P_a,G6P_a) = (Vmaxfpglm_a*G1P_a/KmG1PPGLM_a - ((Vmaxfpglm_a*KmG6PPGLM_a) /(KmG1PPGLM_a*KeqPGLM_a))*G6P_a/KmG6PPGLM_a) / (1.0 + G1P_a/KmG1PPGLM_a + G6P_a/KmG6PPGLM_a) - PDE_a(cAMP_a) = VmaxPDE_a*cAMP_a/(Kmcamppde_a + cAMP_a) - - # UDP-glucose pyrophosphorylase; G1P + UTP ⇒ udp-gluco +PPi # rates adapted from Hester and Raushel 1987 - psiUDPGP_a(UTP_a,G1P_a,PPi_a,UDPgluco_a) = (VmaxfUDPGP*UTP_a*G1P_a/(KutpUDPGP*Kg1pUDPGP) - VmaxrUDPGP*PPi_a*UDPgluco_a/(KpiUDPGP*KUDPglucoUDPGP_a)) / (1.0 + G1P_a/Kg1pUDPGP + UTP_a/KutpUDPGP + (G1P_a*UTP_a)/(Kg1pUDPGP*KutpUDPGP) + UDPgluco_a/KUDPglucoUDPGP_a + PPi_a/KpiUDPGP + (PPi_a*UDPgluco_a)/(KpiUDPGP*KUDPglucoUDPGP_a)) - - psiGSAJay(GS_a,UDPgluco_a,PKAa_a,PHKa_a) = ((kg8_GSAJay*PP1_a0*(st_GSAJay-GS_a))/((kmg8_GSAJay/(1.0 + s1_GSAJay*UDPgluco_a/kg2_GSAJay)) + (st_GSAJay-GS_a))) - ((kg7_GSAJay*(PHKa_a+PKAa_a)*GS_a) /(kmg7_GSAJay*(1+s1_GSAJay*UDPgluco_a/kg2_GSAJay)+GS_a)) - - # Phosphorylase kinase act 0 ⇒ PHKa - #psiPHKact(Ca_a,PKAa_a,PHKa_a) = (Ca_a/cai0_ca_ion)*(((kg3_PHKact*PKAa_a*(kt_PHKact-PHKa_a))/(kmg3_PHKact+kt_PHKact-PHKa_a)) - (((kg4_PHKact*PP1_a0*PHKa_a))/(kmg4_PHKact+PHKa_a))) - # PHK GPb->GPa # GPb + 2*ATP ⇒ GPa + 2*ADP - psiPHK(PHKa_a,GPa_a,GLY_a,G6P_a,Glc_a,Ca_a ) = (Ca_a/cai0_ca_ion)*(((kg5_PHK*PHKa_a*(pt_PHK-GPa_a))/(kmg5_PHK*(1.0 +s1_PHK*G6P_a/kg2_PHK) + (pt_PHK-GPa_a))) - ((kg6_PHK*PP1_a0*GPa_a)/(kmg6_PHK/(1+s2_PHK*Glc_a/kgi_PHK)+GPa_a)) - ((0.003198/(1+ GLY_a) + kmind_PHK)*PP1_a0*GPa_a)) - - - # combo of Jolivet2015 and DiNuzzo2010(glycogen) - psiHK_n(Glc_n,ATP_n,G6P_n) = (VmaxHK_n*Glc_n/(Glc_n + KmHK_n))*(ATP_n/(1+(ATP_n/KIATPhex_n)^nHhexn))*(1/(1 + G6P_n/KiHKG6P_n)) - psiHK_a(Glc_a,ATP_a,G6P_a) = (VmaxHK_a*Glc_a/(Glc_a + KmHK_a))*(ATP_a/(1+(ATP_a/KIATPhex_a)^nHhexa))*(1/(1 + G6P_a/KiHKG6P_a)) - - psiPGI_n(G6P_n,F6P_n) = (Vmax_fPGI_n*(G6P_n/Km_G6P_fPGI_n - 0.9*F6P_n/Km_F6P_rPGI_n) )/ (1.0+G6P_n/Km_G6P_fPGI_n+ F6P_n/Km_F6P_rPGI_n) - psiPGI_a(G6P_a,F6P_a) = (Vmax_fPGI_a*(G6P_a/Km_G6P_fPGI_a - 0.9*F6P_a/Km_F6P_rPGI_a) )/ (1.0+G6P_a/Km_G6P_fPGI_a+ F6P_a/Km_F6P_rPGI_a) - - psiPFK_n(ATP_n,F6P_n) = VmaxPFK_n*(ATP_n/(1+(ATP_n/KiPFK_ATP_na)^nPFKn))*(F6P_n/(F6P_n + KmPFKF6P_n)) - - psiPFK_a(ATP_a,F6P_a,f26bp_a) = VmaxPFK_a*(ATP_a/(1+(ATP_a/KiPFK_ATP_a)^nPFKa))*(F6P_a/(F6P_a + KmPFKF6P_a*(1 - KoPFK_f26bp_a*((f26bp_a^nPFKf26bp_a)/(KmF26BP_PFK_a^nPFKf26bp_a + f26bp_a^nPFKf26bp_a)))))*(f26bp_a/(KmF26BP_PFK_a + f26bp_a)) - - psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) = Vmax_PFKII_g*F6P_a*ATP_a*ADP_a / ((F6P_a + Kmf6pPFKII_g)*(ATP_a + KmatpPFKII_g)*(ADP_a + Km_act_adpPFKII_g) ) - (Vmax_PFKII_g*f26bp_a/(f26bp_a + Km_f26bp_f_26pase_g*(1+F6P_a/Ki_f6p_f_26_pase_g))) - - psiALD_n(FBP_n,GAP_n,DHAP_n) = Vmaxald_n*(FBP_n - GAP_n*DHAP_n/Keqald_n)/ ((1 + FBP_n/KmfbpAld_n) + (1 + GAP_n/KmgapAld_n)*(1 + DHAP_n/KmdhapAld_n) -1) - psiALD_a(FBP_a,GAP_a,DHAP_a) = Vmaxald_a*(FBP_a - GAP_a*DHAP_a/Keqald_a)/ ((1 + FBP_a/KmfbpAld_a) + (1 + GAP_a/KmgapAld_a)*(1 + DHAP_a/KmdhapAld_a) -1) - - psiTPI_n(DHAP_n,GAP_n) = Vmaxtpi_n*(DHAP_n-GAP_n/Keqtpi_n)/(1+DHAP_n/KmdhapTPI_n+GAP_n/KmgapTPI_n) - psiTPI_a(DHAP_a,GAP_a) = Vmaxtpi_a*(DHAP_a-GAP_a/Keqtpi_a)/(1+DHAP_a/KmdhapTPI_a+GAP_a/KmgapTPI_a) - - psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) = Vmaxgapdh_n*(NAD_n*GAP_n*Pi_n-BPG13_n*NADH_n/Keqgapdh_na) / ((1+NAD_n/KmnadGpdh_n)*(1+GAP_n/KmGapGapdh_n)*(1+Pi_n/KmpiGpdh_n) + (1+NADH_n/KmnadhGapdh_n)*(1+ BPG13_n/KmBPG13Gapdh_n) -1 ) - psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) = Vmaxgapdh_a*(NAD_a*GAP_a*Pi_a-BPG13_a*NADH_a/Keqgapdh_na) / ((1+NAD_a/KmnadGpdh_a)*(1+GAP_a/KmGapGapdh_a)*(1+Pi_a/KmpiGpdh_a) + (1+NADH_a/KmnadhGapdh_a)*(1+ BPG13_a/KmBPG13Gapdh_a) -1 ) - - psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) = Vmaxpgk_n*(BPG13_n*ADP_n - PG3_n*ATP_n/Keqpgk_na) / ((1+BPG13_n/Kmbpg13pgk_n)*(1+ADP_n/Kmadppgk_n) + (1+PG3_n/Kmpg3pgk_n)*(1+ATP_n/Kmatppgk_n)-1) - psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) = Vmaxpgk_a*(BPG13_a*ADP_a - PG3_a*ATP_a/Keqpgk_na) / ((1+BPG13_a/Kmbpg13pgk_a)*(1+ADP_a/Kmadppgk_a) + (1+PG3_a/Kmpg3pgk_a)*(1+ATP_a/Kmatppgk_a)-1) - - psiPGM_n(PG3_n,PG2_n) = Vmaxpgm_n*(PG3_n-PG2_n/Keqpgm_n) / ((1+PG3_n/Kmpg3pgm_n)+(1+PG2_n/Kmpg2pgm_n)-1) - psiPGM_a(PG3_a,PG2_a) = Vmaxpgm_a*(PG3_a-PG2_a/Keqpgm_a) / ((1+PG3_a/Kmpg3pgm_a)+(1+PG2_a/Kmpg2pgm_a)-1) - - psiENOL_n(PG2_n,PEP_n) = Vmaxenol_n*(PG2_n-PEP_n/Keqenol_n) / ((1+PG2_n/Kmpg2enol_n)+(1+PEP_n/Km_pep_enol_n)-1) - psiENOL_a(PG2_a,PEP_a) = Vmaxenol_a*(PG2_a-PEP_a/Keqenol_a) / ((1+PG2_a/Kmpg2enol_a)+(1+PEP_a/Km_pep_enol_a)-1) - - psiPK_n(PEP_n,ADP_n,ATP_n) = Vmaxpk_n*PEP_n*ADP_n/((PEP_n + Km_pep_pk_n)*(ADP_n + Km_adp_pk_n*(1+ATP_n/Ki_ATP_pk_n))) - psiPK_a(PEP_a,ADP_a,ATP_a) = Vmaxpk_a*PEP_a*ADP_a/((PEP_a + Km_pep_pk_a)*(ADP_a + Km_adp_pk_a*(1+ATP_a/Ki_ATP_pk_a))) - - JLacTr(t,Lac_b) = (2*(C_Lac_a - Lac_b)/eto_b)*(global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3))))))) - MCT1_LAC_b(Lac_b,Lac_ecs) = TbLac*( Lac_b/(Lac_b + KbLac) - Lac_ecs/(Lac_ecs + KbLac) ) - jLac_a(Lac_ecs,Lac_a) = TaLac*( Lac_ecs/(Lac_ecs + Km_Lac_a) - Lac_a/(Lac_a + Km_Lac_a) ) - jLac_n(Lac_ecs,Lac_n) = TnLac*( Lac_ecs/(Lac_ecs + Km_LacTr_n) - Lac_n/(Lac_n + Km_LacTr_n) ) - jLacDiff_e(Lac_ecs) = betaLacDiff*(Lac_ecs0 - Lac_ecs) - - vLACgc(Lac_b,Lac_a) = TMaxLACgc*( Lac_b/(Lac_b+KtLACgc) - Lac_a/(Lac_a+KtLACgc)) # jlv - - - psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) = VmfLDH_a*Pyr_a*NADH_a - KeLDH_a*VmfLDH_a*Lac_a*NAD_a - psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) = VmfLDH_n*Pyr_n*NADH_n - KeLDH_n*VmfLDH_n*Lac_n*NAD_n - - ############# - # PPP - ############# - # r01 G6PDH: G6P + NADP ⇒ NADPH + GL6P - psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) = VmaxG6PDH_n * (1/(K_G6P_G6PDH_n * K_NADP_G6PDH_n)) * ( (G6P_n*NADP_n - GL6P_n*NADPH_n/KeqG6PDH_n) / ( (1 + G6P_n/K_G6P_G6PDH_n)*(1 + NADP_n/K_NADP_G6PDH_n) + (1 + GL6P_n/K_GL6P_G6PDH_n)*(1 + NADPH_n/K_NADPH_G6PDH_n) - 1 ) ) - psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) = VmaxG6PDH_a * (1/(K_G6P_G6PDH_a * K_NADP_G6PDH_a)) * ( (G6P_a*NADP_a - GL6P_a*NADPH_a/KeqG6PDH_a ) / ( (1 + G6P_a/K_G6P_G6PDH_a) * ( 1 + NADP_a/K_NADP_G6PDH_a ) + (1 + GL6P_a/K_GL6P_G6PDH_a) * (1 + NADPH_a/K_NADPH_G6PDH_a) - 1 ) ) - - # r02 6PGL: GL6P ⇒ GO6P - psi6PGL_n(GL6P_n,GO6P_n) = Vmax6PGL_n*(1/K_GL6P_6PGL_n)*((GL6P_n - GO6P_n/Keq6PGL_n) / ( (1 + GL6P_n/K_GL6P_6PGL_n) + (1 + GO6P_n/K_GO6P_6PGL_n) - 1 )) - psi6PGL_a(GL6P_a,GO6P_a) = Vmax6PGL_a*(1/K_GL6P_6PGL_a)*((GL6P_a - GO6P_a/Keq6PGL_a) / ( (1 + GL6P_a/K_GL6P_6PGL_a) + (1 + GO6P_a/K_GO6P_6PGL_a) - 1 )) - - # r03 6PGDH: NADP_n + GO6P_n ⇒ RU5P_n + NADPH_n - psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) = Vmax6PGDH_n * (1 / (K_GO6P_6PGDH_n * K_NADP_6PGDH_n)) * (GO6P_n*NADP_n - RU5P_n*NADPH_n/Keq6PGDH_n ) / ( (1 + GO6P_n/K_GO6P_6PGDH_n)*(1 + NADP_n/K_NADP_6PGDH_n) + (1 + RU5P_n/K_RU5P_6PGDH_n)*(1 + NADPH_n/K_NADPH_6PGDH_n) - 1 ) - psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) = Vmax6PGDH_a * (1 / (K_GO6P_6PGDH_a * K_NADP_6PGDH_a)) * (GO6P_a*NADP_a - RU5P_a*NADPH_a/Keq6PGDH_a ) / ( (1 + GO6P_a/K_GO6P_6PGDH_a)*(1 + NADP_a/K_NADP_6PGDH_a) + (1 + RU5P_a/K_RU5P_6PGDH_a)*(1 + NADPH_a/K_NADPH_6PGDH_a) - 1 ) - - # r04 RU5P_n ⇒ R5P_n - psiRPI_n(RU5P_n,R5P_n) = VmaxRPI_n * (1/K_RU5P_RPI_n) * (RU5P_n - R5P_n/KeqRPI_n) / ( (1 + RU5P_n/K_RU5P_RPI_n) + (1 + R5P_n/K_R5P_RPI_n) - 1) - psiRPI_a(RU5P_a,R5P_a) = VmaxRPI_a * (1/K_RU5P_RPI_a) * (RU5P_a - R5P_a/KeqRPI_a) / ( (1 + RU5P_a/K_RU5P_RPI_a) + (1 + R5P_a/K_R5P_RPI_a) - 1) - - # r05 RU5P_n ⇒ X5P_n - psiRPEppp_n(RU5P_n,X5P_n) = VmaxRPE_n * (1/K_RU5P_RPE_n) * (RU5P_n - X5P_n/KeqRPE_n) / ((1 + RU5P_n/K_RU5P_RPE_n) + (1 + X5P_n/K_X5P_RPE_n) - 1) - psiRPEppp_a(RU5P_a,X5P_a) = VmaxRPE_a * (1/K_RU5P_RPE_a) * (RU5P_a - X5P_a/KeqRPE_a) / ((1 + RU5P_a/K_RU5P_RPE_a) + (1 + X5P_a/K_X5P_RPE_a) - 1) - - # r06 R5P_n + X5P_n ⇒ S7P_n + GAP_n - psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) = VmaxTKL1_n * (1/(K_X5P_TKL1_n*K_R5P_TKL1_n)) * (X5P_n*R5P_n - GAP_n*S7P_n/KeqTKL1_n) / ( (1 + X5P_n/K_X5P_TKL1_n)*(1 + R5P_n/K_R5P_TKL1_n) + (1 + GAP_n/K_GAP_TKL1_n)*(1 + S7P_n/K_S7P_TKL1_n) - 1 ) - psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) = VmaxTKL1_a * (1/(K_X5P_TKL1_a*K_R5P_TKL1_a)) * (X5P_a*R5P_a - GAP_a*S7P_a/KeqTKL1_a) / ( (1 + X5P_a/K_X5P_TKL1_a)*(1 + R5P_a/K_R5P_TKL1_a) + (1 + GAP_a/K_GAP_TKL1_a)*(1 + S7P_a/K_S7P_TKL1_a) - 1 ) - - # r07 F6P_n + GAP_n ⇒ X5P_n + E4P_n - psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) = VmaxTKL2_n * (1/(K_F6P_TKL2_n*K_GAP_TKL2_n)) * (F6P_n*GAP_n - X5P_n*E4P_n/KeqTKL2_n) / ( (1 + F6P_n/K_F6P_TKL2_n)*(1 + GAP_n/K_GAP_TKL2_n) + (1 + X5P_n/K_X5P_TKL2_n)*(1 + E4P_n/K_E4P_TKL2_n) - 1) - psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) = VmaxTKL2_a * (1/(K_F6P_TKL2_a*K_GAP_TKL2_a)) * (F6P_a*GAP_a - X5P_a*E4P_a/KeqTKL2_a) / ( (1 + F6P_a/K_F6P_TKL2_a)*(1 + GAP_a/K_GAP_TKL2_a) + (1 + X5P_a/K_X5P_TKL2_a)*(1 + E4P_a/K_E4P_TKL2_a) - 1) - - # r08 S7P_n + GAP_n ⇒ E4P_n + F6P_n - psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) = VmaxTAL_n*(1/(K_GAP_TAL_n*K_S7P_TAL_n)) * (GAP_n*S7P_n - F6P_n*E4P_n/KeqTAL_n) / ( (1 + GAP_n/K_GAP_TAL_n)*(1 + S7P_n/K_S7P_TAL_n) + (1 + F6P_n/K_F6P_TAL_n)*(1 + E4P_n/K_E4P_TAL_n) - 1) - psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) = VmaxTAL_a*(1/(K_GAP_TAL_a*K_S7P_TAL_a)) * (GAP_a*S7P_a - F6P_a*E4P_a/KeqTAL_a) / ( (1 + GAP_a/K_GAP_TAL_a)*(1 + S7P_a/K_S7P_TAL_a) + (1 + F6P_a/K_F6P_TAL_a)*(1 + E4P_a/K_E4P_TAL_a) - 1) - - psiNADPHox_n(NADPH_n) = k1NADPHox_n*NADPH_n - psiNADPHox_a(NADPH_a) = k1NADPHox_a*NADPH_a - - ########### - # GSH - ########### - psiGSSGR_n(GSSG_n,NADPH_n) = (Vmf_GSSGR_n*GSSG_n*NADPH_n) / ( ( KmGSSGRGSSG_n + GSSG_n )*( KmGSSGRNADPH_n + NADPH_n ) ) # GSSG_n + NADPH_n ⇒ 2GSH_n + NADP_n - psiGSSGR_a(GSSG_a,NADPH_a) = (Vmf_GSSGR_a*GSSG_a*NADPH_a ) / ( ( KmGSSGRGSSG_a + GSSG_a )*( KmGSSGRNADPH_a + NADPH_a ) ) # GSSG_a + NADPH_a ⇒ 2GSH_a + NADP_a - psiGPX_n(GSH_n) = V_GPX_n * GSH_n / (GSH_n + KmGPXGSH_n) - psiGPX_a(GSH_a) = V_GPX_a * GSH_a / (GSH_a + KmGPXGSH_a) - - glutathioneSyntase_n(GSH_n) = VmaxGSHsyn_n*GSH_n/(GSH_n + KmGSHsyn_n) - glutathioneSyntase_a(GSH_a) = VmaxGSHsyn_a*GSH_a/(GSH_a + KmGSHsyn_a) - - - psiAC_a(ATP_a,cAMP_a) = ((VmaxfAC_a*ATP_a/(KmACATP_a*(1+cAMP_a/KicAMPAC_a)) - VmaxrAC_a*cAMP_a/(KmpiAC_a*KmcAMPAC_a))/(1 + ATP_a/(KmACATP_a*(1+cAMP_a/KicAMPAC_a) )+ cAMP_a/KmcAMPAC_a )) # Pi_a instead of PPi_a as approx - - - psiCrKinase_n(PCr_n,ATP_n,ADP_n) = kCKnps*PCr_n*ADP_n - KeqCKnpms*kCKnps*(Crtot - PCr_n)*ATP_n # kCKnps*PCr_n*ADP_n - kCKnms*(Crtot - PCr_n)*ATP_n - psiCrKinase_a(PCr_a,ATP_a,ADP_a) = kCKgps*PCr_a*ADP_a - KeqCKgpms*kCKgps*(Crtot - PCr_a)*ATP_a # kCKgps*PCr_a*ADP_a - kCKgms*(Crtot - PCr_a)*ATP_a - - ############ - # PyrTr - psiPYRtrcyt2mito_n(Pyr_n,PYRmito_n,C_H_mitomatr_n) = Vmax_PYRtrcyt2mito_nH*(Pyr_n*C_H_cyt_n - PYRmito_n*C_H_mitomatr_n)/((1.0+Pyr_n/KmPyrCytTr_n)*(1.0+PYRmito_n/KmPyrMitoTr_n)) - psiPYRtrcyt2mito_a(Pyr_a,PYRmito_a,C_H_mitomatr_a) = Vmax_PYRtrcyt2mito_aH*(Pyr_a*C_H_cyt_a - PYRmito_a*C_H_mitomatr_a)/((1.0+Pyr_a/KmPyrCytTr_a)*(1.0+PYRmito_a/KmPyrMitoTr_a)) - - - - ######### - # ephys - V = VNeu - rTRPVsinf = vV - Glutamate_syn = GLUT_syn # = Glutamate_syn #u[12] == u[144] ################# - - - alpham = -0.1*(V+33)/(exp(-0.1*(V+33))-1) #-0.32*(V - V_T - 13.0)/(exp(-(V - V_T -13.0)/4.0) - 1.0) #0.1*(V+30.0)/(1.0-exp(-0.1*(V+30.0))) - betam = 4*exp(-(V+58)/12) #0.28*(V - V_T - 40.0)/( exp((V - V_T - 40.0)/5.0) -1.0) #4.0*exp(-(V+55.0)/18.0) - - alphah = 0.07*exp(-(V+50)/10) #0.128*exp(-(V - V_T - 17.0)/18.0) #0.07*exp(-(V+44.0)/20.0) - betah = 1/(exp(-0.1*(V+20))+1) #4.0/(1.0 + exp(-(V - V_T - 40.0)/5.0)) #1.0/(1.0+exp(-0.1*(V+14.0))) - - alphan = -0.01*(V+34)/(exp(-0.1*(V+34))-1) #-0.032*(V - V_T - 15.0)/(exp(-(V - V_T - 15.0)/5.0) -1.0) #0.01*(V+34.0)/(1.0-exp(-0.1*(V+34.0))) - betan = 0.125*exp(-(V+44)/25) #0.5*exp(- (V - V_T - 10.0)/40.0 ) #0.125*exp(-(V+44.0)/80.0) - - minf = alpham/(alpham+betam); ninf = alphan/(alphan+betan); hinf = alphah/(alphah+betah); taun = 1/(alphan+betan)*1e-03; tauh = 1/(alphah+betah)*1e-03; - p_inf = 1.0/(1.0 + exp(-(V + 35.0)/10.0)); tau_p = tau_max/ ( 3.3*exp((V+35.0)/20.0) + exp(-(V+35.0)/20.0) ) - - K_n = K_n_Rest + (Na_n_Rest - Na_n) - EK = RTF*log(K_out/K_n) - EL = gKpas*EK/(gKpas+gNan) + gNan/(gKpas+gNan)*RTF*log(Na_out/Na_n); - IL = gL*(V-EL); - - INa = ina_density #gNa*minf^3*h*(V-RTF*log(Na_out/Na_n)); ##################### - IK = ik_density #gK*n^4*(V-EK); ############################ - - mCa = 1/(1+exp(-(V+20)/9)); - ICa = gCa*mCa^2*(V-ECa); - ImAHP = gmAHP*Ca_n/(Ca_n+KD)*(V-EK); - IM = g_M * pgate * (V - EK) # not Jlv, enzymes/enzymes_preBigg/gen_mix.ipynb - - dIPump = F*kPumpn*ATP_n*(Na_n-Na_n0)/(1+ATP_n/KmPump); - dIPump_a = F*kPumpg*ATP_a*(Na_a-Na_a0)/(1+ATP_a/KmPump) - - # Isyne = -synInput*(V-Ee); - # Isyni = 0 # -InhibitoryConductance(t+TIME,t1,tstim)*(V-Ei); - - vnstim = SmVn/F*ina_density # SmVn/F*(2/3*Isyne-INa); #################### - - vgstim = SmVg/F*glia*ina_density #SmVg/F*2/3*glia*synInput; #################### - - vLeakNan = SmVn*gNan/F*(RTF*log(Na_out/Na_n)-V); - vLeakNag = SmVg*gNag/F*(RTF*log(Na_out/Na_a)-V); - vPumpn = SmVn*kPumpn*ATP_n*Na_n/(1+ATP_n/KmPump); # #JpumpNa = ((ATP_n/ADP_n)/(mu_pump_ephys + (ATP_n/ADP_n))) * ImaxNKApump * (( 1/(1 + Kout_alpha/K_out))^2) * (( 1/(1 + Na_in_alpha/Na_n))^3) # doi:10.1152/jn.00460.2014 - vPumpg = SmVg*kPumpg*ATP_a*Na_a/(1+ATP_a/KmPump); - JgliaK = ((ATP_a/ADP_a)/(mu_glia_ephys + (ATP_a/ADP_a))) * (glia_c/(1+exp((Na_n2_baseNKA - K_out)/2.5))) - JdiffK = epsilon*(K_out - kbath) - - nBKinf = 0.5*( 1 + tanh( (Va + EETshift*EET_a - (-0.5*v5BK*tanh((Ca_a - Ca3BK)/Ca4BK ) + v6BK) )/v4BK ) ) - IBK = gBK*nBK_a*(Va - EBK) - - #INaK_a = -0.5*(ImaxNaKa*( K_out/(K_out + INaKaKThr) )*( (Na_a^1.5)/(Na_a^1.5 + INaKaNaThr^1.5) ) ) - JNaK_a = (ImaxNaKa*( K_out/(K_out + INaKaKThr) )*( (Na_a^1.5)/(Na_a^1.5 + INaKaNaThr^1.5) ) ) - - IKirAS = gKirS*(K_out^0.5)*(Va - VKirS*log(K_out/K_a)) - IKirAV = gKirV*(K_out^0.5)*(Va - VKirAV*log(K_out/K_a)) - IleakA = gleakA*(Va - VleakA) - - Ileak_CaER_a = Pleak_CaER_a*(1. - Ca_a/Ca_r_a) - ICa_pump_a = VCa_pump_a*((Ca_a^2)/(Ca_a^2 + KpCa_pump_a^2 )) - IIP3_a = ImaxIP3_a*( ( ( IP3_a/(IP3_a + KIIP3_a) )*( Ca_a/(Ca_a + KCaactIP3_a) )*hIP3Ca_a )^3 )*(1. - Ca_a/Ca_r_a) - ITRP_a = gTRP*(Va - VTRP)*sTRP_a - sinfTRPV = (1/(1 + exp( -(((rTRPVsinf^(1/3)-r0TRPVsinf^(1/3))/r0TRPVsinf^(1/3)) - e2TRPVsinf^(1/3))/kTRPVsinf )))*( (1/(1+ Ca_a/gammaCaaTRPVsinf + Ca_perivasc/gammaCapTRPVsinf ))*( Ca_a/gammaCaaTRPVsinf + Ca_perivasc/gammaCapTRPVsinf + tanh((Va - v1TRPsinf_a)/v2TRPsinf_a ) ) ) - - # Jolivet2015 NADH shuttles cyto-mito - vShuttlen(NADH_n,NADHmito_n) = TnNADH_jlv*(NADH_n/(0.212-NADH_n))/(MnCyto_jlv+(NADH_n/(0.212-NADH_n)))*((1000*NADtot-NADHmito_n)/NADHmito_n)/(MnMito_jlv+((1000*NADtot-NADHmito_n)/NADHmito_n)) - vShuttleg(NADH_a,NADHmito_a) = TgNADH_jlv*(NADH_a/(0.212-NADH_a))/(MgCyto_jlv+(NADH_a/(0.212-NADH_a)))*((1000*NADtot-NADHmito_a)/NADHmito_a )/(MgMito_jlv+((1000*NADtot-NADHmito_a)/NADHmito_a )) - - # Calvetti - vMitooutn(O2_n,ATP_i_n,ADP_i_n,NADHmito_n,NADmito_n) = V_oxphos_n * ((1/(ATP_i_n/ADP_i_n)) / ( mu_oxphos_n + (1/(ATP_i_n/ADP_i_n)) )) * ((NADHmito_n/NADmito_n) / (nu_oxphos_n + (NADHmito_n/NADmito_n)) ) * (O2_n / (O2_n + K_oxphos_n)) - vMitooutg(O2_a,ATP_i_a,ADP_i_a,NADHmito_a,NADmito_a) = V_oxphos_a * ((1/(ATP_i_a/ADP_i_a)) / ( mu_oxphos_a + (1/(ATP_i_a/ADP_i_a)) )) * ((NADHmito_a/NADmito_a) / (nu_oxphos_a + (NADHmito_a/NADmito_a)) ) * (O2_a / (O2_a + K_oxphos_a)) - - vMitoinn(PYRmito_n,NADHmito_n) = VMaxMitoinn*PYRmito_n/(PYRmito_n+KmMito)*(1000*NADtot-NADHmito_n)/(1000*NADtot-NADHmito_n+KmNADn_jlv); - vMitoing(PYRmito_a,NADHmito_a) = VMaxMitoing*PYRmito_a/(PYRmito_a+KmMito_a)*(1000*NADtot-NADHmito_a)/(1000*NADtot-NADHmito_a+KmNADg_jlv); - - - du[1] = 0 #0.5*T2Jcorrection*(1000*x_buff*C_H_mitomatr_nM*( +1*J_DH_n - (4+1)*J_C1_n - (4-2)*J_C3_n - (2+2)*J_C4_n + (n_A-1)*J_F1_n + 2*J_Pi1_n + J_Hle_n - J_KH_n )/W_x) # C_H_mitomatr_nM - du[2] = 0.5*T2Jcorrection*(1000*(J_KH_n + J_K_n)/W_x) # K_x_nM - du[3] = 0.5*T2Jcorrection*(1000*(-J_MgATPx_n - J_MgADPx_n)/W_x) # Mg_x_nM - - du[4] = 6.96*(vMitoinn(PYRmito_n,NADHmito_n) + vShuttlen(NADH_n,NADHmito_n) - vMitooutn(O2_n,ATP_i_n,ADP_i_n,NADHmito_n,NADmito_n)) #0.5*T2Jcorrection*(1000*(+J_DH_n - J_C1_n)/W_x) # # NADHmito_nM = 1e-3*u[27] - - du[5] = 0.5*T2Jcorrection*(1000*(+J_C1_n - J_C3_n)/W_x) # QH2mito_nM # Reduced ubiquinol in matrix - du[6] = 0.5*T2Jcorrection*(1000*(+2*J_C3_n - 2*J_C4_n)/W_i) # CytCredmito_nM - - du[7] = JO2fromCap2n(O2cap,O2_n) - 0.6*vMitooutn(O2_n,ATP_i_n,ADP_i_n,NADHmito_n,NADmito_n) #- 0.5*T2Jcorrection*1000*J_C4_n/W_x #- 0.6*vMitooutn(O2_n,ADPmito_n,NADHmito_n) #- 0.4*1000*J_C4_n # 1000*J_C4_n because J_C4_n in M/s #- 0.6*vMitooutn(O2_n,ADP_n,NADHmito_n) # O2_n # O2 stays constant in Theurey2019 - - du[8] = 0.5*T2Jcorrection*(1000*(+J_F1_n - J_ANT_n)/W_x) # ATPmito_nM - du[9] = 0.5*T2Jcorrection*(1000*(-J_F1_n + J_ANT_n)/W_x) # ADPmito_nM - - du[10] = 0.5*T2Jcorrection*(1000*(J_MgATPx_n)/W_x) # ATP_mx_nM - du[11] = 0.5*T2Jcorrection*(1000*(J_MgADPx_n)/W_x) # ADP_mx_nM - - du[12] = 0.5*T2Jcorrection*(1000*(-J_F1_n + J_Pi1_n )/W_x) # Pimito_nM - - du[13] = 0.5*T2Jcorrection*(1000*(+J_ATP_n + J_ANT_n + J_AKi_n )/W_i) # ATP_i_nM - du[14] = 0.5*T2Jcorrection*(1000*(+J_ADP_n - J_ANT_n - 2*J_AKi_n )/W_i) # ADP_i_nM - du[15] = 0.5*T2Jcorrection*(1000*(+J_AMP_n + J_AKi_n)/W_i) # AMP_i_nM - - du[16] = 0.5*T2Jcorrection*(1000*(J_MgATPi_n)/W_i) # ATP_mi_nM - du[17] = 0.5*T2Jcorrection*(1000*(J_MgADPi_n)/W_i) # ADP_mi_nM - du[18] = 0.5*T2Jcorrection*(1000*(-J_Pi1_n + J_Pi2_n )/W_i) # Pi_i_nM - - du[19] = 0.5*T2Jcorrection*( 4*J_C1_n + 2*J_C3_n + 4*J_C4_n - n_A*J_F1_n - J_ANT_n - J_Hle_n - J_K_n )/CIM #MOD MitoMembrPotent_n - - du[20] = 0 # Cytochrome-c loss with half time t12cyto (used in Huber 2011) - du[21] = 0 # Cleavage of complex I/II total (used in Huber 2011) - - du[22] = 0 #0.5*T2Jcorrection*(1000*(- J_DH_n +(4+1)*J_C1_n + (4-2)*J_C3_n + (2+2)*J_C4_n - (n_A-1)*J_F1_n - 2*J_Pi1_n - J_Hle_n + J_KH_n + J_Ht_n)/W_i) # C_H_ims_nM - - du[23] = (psiCrKinase_n(PCr_n,ATP_n,ADP_n) + 0.5*(1/6.96)*1000*(-J_ATP_n) - psiHK_n(Glc_n,ATP_n,G6P_n) - psiPFK_n(ATP_n,F6P_n) + psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) + psiPK_n(PEP_n,ADP_n,ATP_n) - 0.15*vPumpn - vATPasesn )/(1-dAMPdATPn) - - du[24] = 0 # see above calc from ATP as in Jlv #0.5*T2Jcorrection*(1000*(-J_ADP_n + J_ATPK_n)/W_c) # - psiCrKinase_n(PCr_n,ATP_n,ADP_n) + 1000*(-J_ADP_n)/W_c + psiHK_n(Glc_n,ATP_n,G6P_n) + psiPFK_n(ATP_n,F6P_n) - psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) - psiPK_n(PEP_n,ADP_n,Pyr_n,ATP_n) + psiADK_n(ATP_n,AMP_n,ADP_n) + vATPasesn + vPumpn # ADP_n - - du[25] = T2Jcorrection*(0.5*1000*J_DH_n/W_x - psiFUM_n(FUMmito_n,MALmito_n)) # FUMmito_n - - du[26] = T2Jcorrection*(psiFUM_n(FUMmito_n,MALmito_n) - psiMDH_n(MALmito_n,NADmito_n,OXAmito_n,NADHmito_n) ) + 6.96*psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n) # MALmito_n - - du[27] = T2Jcorrection*(psiMDH_n(MALmito_n,NADmito_n,OXAmito_n,NADHmito_n) - psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) ) + psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) # OXAmito_n - - du[28] = T2Jcorrection*(0.5*psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) - 0.5*1000*J_DH_n/W_x ) + 0.5*T2Jcorrection*SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) # SUCmito_n - du[29] = 0.5*T2Jcorrection*(psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) - psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) ) - 0.5*T2Jcorrection*SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) # SUCCOAmito_n - - # CoAmito_n - du[30] = T2Jcorrection*(psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) - psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) - 0.5*psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) + 0.5*psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) - 0.5*thiolase_n(CoAmito_n,AcAcCoA_n)) # CoAmito_n - - du[31] = 0.5*T2Jcorrection*(psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n) - psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n)) - psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) - psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n) # AKGmito_n - - du[32] = 0 # CaMito_n - du[33] = 0.5*T2Jcorrection*(psiACO_n(CITmito_n,ISOCITmito_n) - psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n)) # ISOCITmito_n - du[34] = T2Jcorrection*(psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) - 0.5*psiACO_n(CITmito_n,ISOCITmito_n)) # CITmito_n - - du[35] = T2Jcorrection*(psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) - psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) ) + T2Jcorrection*thiolase_n(CoAmito_n,AcAcCoA_n) # AcCoAmito_n - - du[36] = 0.5*T2Jcorrection*(bHBDH_n(NADmito_n,NADHmito_n,bHB_n,AcAc_n) - SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n)) # AcAc_n - du[37] = 0.5*T2Jcorrection*(SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) - thiolase_n(CoAmito_n,AcAcCoA_n)) # AcAcCoA_n - - # PYRmito_n - du[38] = 6.96*psiPYRtrcyt2mito_n(Pyr_n,PYRmito_n,C_H_mitomatr_n) - T2Jcorrection*psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) # PYRmito_n - - du[39] = 0.44*MCT2_bHB_n(bHB_ecs,bHB_n) - bHBDH_n(NADmito_n,NADHmito_n,bHB_n,AcAc_n) # bHB_n - du[40] = 0.0275*MCT1_bHB_b(bHB_b,bHB_ecs) - MCT2_bHB_n(bHB_ecs,bHB_n) - MCT1_bHB_a(bHB_ecs,bHB_a) # bHB_ecs - du[41] = 0 # bHB_a fixed - du[42] = JbHBTrArtCap(t,bHB_b) - MCT1_bHB_b(bHB_b,bHB_ecs) # bHB_b - - - - du[43] = 0 #0.5*T2Jcorrection*(- psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) - psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) ) # ASPmito_n - du[44] = 0 #0.5*T2Jcorrection*(- psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) + 0.14375*psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n)) # ASP_n # 0.14375 is volumes scaling mito/cyto - - du[45] = 0.5*T2Jcorrection*(psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) + 6.96*psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) + psiGLS_n(GLN_n,GLUmito_n)) # GLUmito_n - - du[46] = 0 #0.5*T2Jcorrection*(- psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) - psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n)) # MAL_n - du[47] = 0 #0.5*T2Jcorrection*( psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) + psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n)) # OXA_n - du[48] = 0 #0.5*T2Jcorrection*(- psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) + 0.14375*psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n)) # AKG_n # 0.14375 is volumes scaling mito/cyto - - # GLU_n - du[49] = psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) - psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) # -synRelease # set in CB for syn release # GLU_n - - #NADH_n - du[50] = psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) - psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) - vShuttlen(NADH_n,NADHmito_n) #psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) - 0.1*psiLDH_syn_n(NADH_n,Pyr_n,NAD_n,Lac_n) - 0.9*psiLDH_cyto_n(NADH_n,Pyr_n,NAD_n,Lac_n) - vShuttlen(NADH_n,NADHmito_n) #+ psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) # NADH_n - - ########## - # a - du[51] = 0 #0.5*T2Jcorrection*(1000*x_buff*C_H_mitomatr_aM*( +1*J_DH_a - (4+1)*J_C1_a - (4-2)*J_C3_a - (2+2)*J_C4_a + (n_A-1)*J_F1_a + 2*J_Pi1_a + J_Hle_a - J_KH_a )/W_x) # C_H_mitomatr_aM - du[52] = 0.5*T2Jcorrection*(1000*(J_KH_a + J_K_a)/W_x) # K_x_aM - du[53] = 0.5*T2Jcorrection*(1000*(-J_MgATPx_a - J_MgADPx_a)/W_x) # Mg_x_aM - - # NADHmito_a - du[54] = 6.96*(vMitoing(PYRmito_a,NADHmito_a) + vShuttleg(NADH_a,NADHmito_a) - vMitooutg(O2_a,ATP_i_a,ADP_i_a,NADHmito_a,NADmito_a)) #0.5*T2Jcorrection*(1000*(+J_DH_a - J_C1_a)/W_x) # NADH NADHmito_aM = 1e-3*u[27] - - du[55] = 0.5*T2Jcorrection*(1000*(+J_C1_a - J_C3_a)/W_x) # QH2mito_aM # Reduced ubiquinol in matrix - - du[56] = 0.5*T2Jcorrection*(1000*(+2*J_C3_a - 2*J_C4_a)/W_i) # CytCredmito_aM - - du[57] = JO2fromCap2a(O2cap,O2_a) - 0.6*vMitooutg(O2_a,ATP_i_a,ADP_i_a,NADHmito_a,NADmito_a) #JO2fromCap2a(O2cap,O2_a) - 0.5*T2Jcorrection*1000*J_C4_a/W_x # - 0.6*vMitooutg(O2_a,ADP_a,NADHmito_a) #- 0.3*1000*J_C4_a # 1000*J_C4_a because J_C4_a in M/s #- 0.6*vMitooutg(O2_a,ADP_a,NADHmito_a) # O2_a # O2 stays constant in Theurey2019 - - du[58] = 0.5*T2Jcorrection*(1000*(+J_F1_a - J_ANT_a)/W_x) # ATPmito_aM - du[59] = 0.5*T2Jcorrection*(1000*(-J_F1_a + J_ANT_a)/W_x) # ADPmito_aM - - du[60] = 0.5*T2Jcorrection*(1000*(J_MgATPx_a)/W_x) # ATP_mx_aM - du[61] = 0.5*T2Jcorrection*(1000*(J_MgADPx_a)/W_x) # ADP_mx_aM - - du[62] = 0.5*T2Jcorrection*(1000*(-J_F1_a + J_Pi1_a )/W_x) # Pimito_aM - - du[63] = 0.5*T2Jcorrection*(1000*(+J_ATP_a + J_ANT_a + J_AKi_a )/W_i) # ATP_i_aM - du[64] = 0.5*T2Jcorrection*(1000*(+J_ADP_a - J_ANT_a - 2*J_AKi_a )/W_i) # ADP_i_aM - du[65] = 0.5*T2Jcorrection*(1000*(+J_AMP_a + J_AKi_a)/W_i) # AMP_i_aM - - du[66] = 0.5*T2Jcorrection*(1000*(J_MgATPi_a)/W_i) # ATP_mi_aM - du[67] = 0.5*T2Jcorrection*(1000*(J_MgADPi_a)/W_i) # ADP_mi_aM - du[68] = 0.5*T2Jcorrection*(1000*(-J_Pi1_a + J_Pi2_a )/W_i) # Pi_i_aM - - du[69] = 0.5*T2Jcorrection*(( 4*J_C1_a + 2*J_C3_a + 4*J_C4_a - n_A*J_F1_a - J_ANT_a - J_Hle_a - J_K_a )/CIM) #MOD MitoMembrPotent_a - - du[70] = 0 # Cytochrome-c loss with half time t12cyto (used in Huber 2011) - du[71] = 0 # Cleavage of complex I/II total (used in Huber 2011) - - du[72] = 0 # 0.5*T2Jcorrection*(1000*(- J_DH_a +(4+1)*J_C1_a + (4-2)*J_C3_a + (2+2)*J_C4_a - (n_A-1)*J_F1_a - 2*J_Pi1_a - J_Hle_a + J_KH_a + J_Ht_a)/W_i) # C_H_ims_aM - - du[73] = (-(Ca_a/cai0_ca_ion)*(1 + xNEmod*(u[178]/(KdNEmod + u[178])))*psiAC_a(ATP_a,cAMP_a) + psiCrKinase_a(PCr_a,ATP_a,ADP_a) + 0.5*(1/6.96)*1000*(-J_ATP_a) - psiHK_a(Glc_a,ATP_a,G6P_a) - psiPFK_a(ATP_a,F6P_a,f26bp_a) - psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) + psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) + psiPK_a(PEP_a,ADP_a,ATP_a) -0.15*(7/4)*vPumpg - vATPasesg)/(1-dAMPdATPg) - - du[74] = 0 # see above calc from ATP as in Jlv # 0.5*T2Jcorrection*(1000*(-J_ADP_a + J_ATPK_a)/W_c) # -psiCrKinase_a(PCr_a,ATP_a,ADP_a) + 1000*(-J_ADP_a)/W_c + psiHK_a(Glc_a,ATP_a,G6P_a) + psiPFK_a(ATP_a,F6P_a,f26bp_a) + psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) - psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) -psiPK_a(PEP_a,ADP_a,ATP_a) + psiADK_a(ATP_a,AMP_a,ADP_a) + vATPasesg + vPumpg # ADP_a - - du[75] = 0.5*T2Jcorrection*(1000*J_DH_a/W_x - psiFUM_a(FUMmito_a,MALmito_a)) # FUMmito_a - du[76] = 0.5*T2Jcorrection*(psiFUM_a(FUMmito_a,MALmito_a) - psiMDH_a(MALmito_a,NADmito_a,OXAmito_a,NADHmito_a)) # MALmito_a - du[77] = 0.5*T2Jcorrection*(psiMDH_a(MALmito_a,NADmito_a,OXAmito_a,NADHmito_a) - psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) + psiPYRCARB_a(ATPmito_a,ADPmito_a,PYRmito_a,OXAmito_a) ) # OXAmito_a - - du[78] = 0.5*T2Jcorrection*(psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a) - 1000*J_DH_a/W_x) # SUCmito_a - - du[79] = 0.5*T2Jcorrection*(psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) - psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a)) # SUCCOAmito_a - - # CoAmito_a - du[80] = 0.5*T2Jcorrection*(psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) - psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) - psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) + psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a)) # CoAmito_a - - du[81] = 0.5*T2Jcorrection*(psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a) - psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) + psiGDH_simplif_a(NADmito_a,GLUT_a,NADHmito_a,AKGmito_a)) # AKGmito_a - du[82] = 0 # CaMito_a - du[83] = 0.5*T2Jcorrection*(psiACO_a(CITmito_a,ISOCITmito_a) - psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a)) # ISOCITmito_a - du[84] = 0.5*T2Jcorrection*(psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) - psiACO_a(CITmito_a,ISOCITmito_a)) # CITmito_a - du[85] = 0.5*T2Jcorrection*(psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) - psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a)) # AcCoAmito_a - - du[86] = 0 # AcAc_a - du[87] = 0 # AcAcCoA_a - - # PYRmito_a - du[88] = 6.96*psiPYRtrcyt2mito_a(Pyr_a,PYRmito_a,C_H_mitomatr_a) - T2Jcorrection*(psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) + psiPYRCARB_a(ATPmito_a,ADPmito_a,PYRmito_a,OXAmito_a)) # PYRmito_a - - du[89] = T2Jcorrection*(psiSNAT_GLN_n(GLN_out,GLN_n) - psiGLS_n(GLN_n,GLUmito_n)) # GLN_n - du[90] = T2Jcorrection*(- psiSNAT_GLN_n(GLN_out,GLN_n) + psiSNAT_GLN_a(GLN_a,GLN_out)) # GLN_out - du[91] = T2Jcorrection*(- psiSNAT_GLN_a(GLN_a,GLN_out) + psiGLNsynth_a(GLUT_a,ATP_a,ADP_a)) # GLN_a - - du[92] = T2Jcorrection*(0.0266*psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) - psiGLNsynth_a(GLUT_a,ATP_a,ADP_a) - psiGDH_simplif_a(NADmito_a,GLUT_a,NADHmito_a,AKGmito_a)) # GLUT_a # Vol_syn/Vol_astEAAT - - ########## - # ephys - ########## - - du[93] = (1/4e-4)*( -dIPump_a -IBK - IKirAS - IKirAV - IleakA - ITRP_a ) # Va = -90 - du[94] = vLeakNag-3*vPumpg +vgstim # Na_a - du[95] = JNaK_a + ( - IleakA - IBK - IKirAS - IKirAV)/(4e-4*843.0*1000.) - RateDecayK_a*(K_a - K_a0) # W2013 # K_a - - #du[96] = SmVn/F*(IK + IM)*(eto_n/eto_ecs) - 2*vPumpn*(eto_n/eto_ecs) - 2*(eto_a/eto_ecs)*vPumpg - JdiffK -( ( - IleakA - IBK - IKirAS - IKirAV)/(4e-4*843.0*1000.)) # K_out - du[96] = SmVn/F*ik_density*(eto_n/eto_ecs) - 2*vPumpn*(eto_n/eto_ecs) - 2*(eto_a/eto_ecs)*vPumpg - JdiffK -( ( - IleakA - IBK - IKirAS - IKirAV)/(4e-4*843.0*1000.)) # K_out - - - du[97] = 0 # - psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) + synGlutRelease(V) # GLUT_syn == Glutamate_syn set in CB # see u[12] in cyto - - #du[98] = 1/Cm*(-IL-INa-IK-ICa-ImAHP-dIPump+Isyne+Isyni - IM + Iinj) # VNeu - du[98] = 1/Cm*(-IL-ina_density-ik_density-ICa-ImAHP-dIPump) # VNeu - - du[99] = 0 # vLeakNan-3*vPumpn + vnstim # Na_n - - du[100] = phi*(hinf-h)/tauh # h - du[101] = phi*(ninf-n)/taun # n - du[102] = -SmVn/F*ICa-(Ca_n-Ca_n0)/tauCa # Ca_n 2+ - du[103] = phi*(p_inf - pgate)/tau_p # pgate - du[104] = psiBK*cosh( (Va - (-0.5*v5BK*tanh((Ca_a - Ca3BK)/Ca4BK ) + v6BK) ) / ( 2*v4BK ) ) * ( nBKinf - nBK_a) # nBK_a # approx use https://www.cell.com/biophysj/pdfExtended/S0006-3495(13)01032-1 Witthoft 2013 with Ca_n istead of Ca_a - du[105] = 0 # set in CB # mGluRboundRatio_a - - du[106] = rhIP3a*((mGluRboundRatio_a + deltaGlutSyn) / (KGlutSyn + mGluRboundRatio_a + deltaGlutSyn)) - kdegIP3a*IP3_a # IP3_a - du[107] = konhIP3Ca_a*( khIP3Ca_aINH - ( Ca_a + khIP3Ca_aINH)*hIP3Ca_a ) # hIP3Ca_a - du[108] = beta_Ca_a*( IIP3_a - ICa_pump_a + Ileak_CaER_a ) - 0.5*ITRP_a/(4e-4*843.0*1000.) # #S12 # Ca_a - du[109] = 0 # Ca_r_a Ca ER a - du[110] = (Ca_perivasc/tauTRPCa_perivasc)*( sinfTRPV - sTRP_a ) # sTRP_a - - ############### - # metab cyto - ############### - - du[111] = FinDyn_W2017(t) - Fout_W2017(vV,t) #vV - du[112] = VprodEET_a*(Ca_a - CaMinEET_a) - kdeg_EET_a*EET_a # EET_a - du[113] = JdHbin(O2cap,t) - JdHbout(vV,t,ddHb) # ddHb - du[114] = JO2art2cap(O2cap,t) - (eto_n/eto_b)*JO2fromCap2n(O2cap,O2_n) - (eto_a/eto_b)*JO2fromCap2a(O2cap,O2_a) # O2cap - - du[115] = trGLC_art_cap(t,Glc_b) - JGlc_b(Glc_b,glc_D_ecsEndothelium) # volArt == volCap == 0.0055 # Glc_b - du[116] = 0.32*JGlc_b(Glc_b,glc_D_ecsEndothelium) - JGlc_e2ecsBA(glc_D_ecsEndothelium,Glc_ecsBA) # glc_D_ecsEndothelium == Glc_t_t - du[117] = 1.13*JGlc_e2ecsBA(glc_D_ecsEndothelium,Glc_ecsBA) - JGlc_ecsBA2a(Glc_ecsBA,Glc_a) - JGlc_diffEcs(Glc_ecsBA,Glc_ecsAN) # Glc_ecsBA - du[118] = 0.06*JGlc_ecsBA2a(Glc_ecsBA,Glc_a) - psiHK_a(Glc_a,ATP_a,G6P_a) - JGlc_a2ecsAN(Glc_a,Glc_ecsAN) # Glc_a - - du[119] = 1.35*JGlc_a2ecsAN(Glc_a,Glc_ecsAN) - JGlc_ecsAN2n(Glc_ecsAN,Glc_n) + 0.08*JGlc_diffEcs(Glc_ecsBA,Glc_ecsAN) # Glc_ecsAN - - du[120] = 0.41*JGlc_ecsAN2n(Glc_ecsAN,Glc_n) - psiHK_n(Glc_n,ATP_n,G6P_n) # Glc_n - - du[121] = psiHK_n(Glc_n,ATP_n,G6P_n) - psiPGI_n(G6P_n,F6P_n) - psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) # G6P_n - du[122] = psiHK_a(Glc_a,ATP_a,G6P_a) - psiPGI_a(G6P_a,F6P_a) - psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) + psiPGLM_a(G1P_a,G6P_a) # G6P_a - - du[123] = psiPGI_n(G6P_n,F6P_n) - psiPFK_n(ATP_n,F6P_n) - psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) + psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) # F6P_n - du[124] = psiPGI_a(G6P_a,F6P_a) - psiPFK_a(ATP_a,F6P_a,f26bp_a) - psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) - psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) + psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) # F6P_a - - du[125] = psiPFK_n(ATP_n,F6P_n) - psiALD_n(FBP_n,GAP_n,DHAP_n) # FBP_n - du[126] = psiPFK_a(ATP_a,F6P_a,f26bp_a) - psiALD_a(FBP_a,GAP_a,DHAP_a) # FBP_a - - du[127] = psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) # f26bp_a - - du[128] = psiGS_a(GS_a,UDPgluco_a) - 0.1*psiGPa_a(GPa_a,GLY_a) # GLY_a - - du[129] = 0 # accounted for it in /(1-dAMPdATPn) and ADp calc as in Jlv # - psiADK_n(ATP_n,AMP_n,ADP_n) # AMP_n - du[130] = 0 # accounted for it in /(1-dAMPdATPn) and ADp calc as in Jlv # PDE_a(cAMP_a) - psiADK_a(ATP_a,AMP_a,ADP_a) # AMP_a - - du[131] = psiGPa_a(GPa_a,GLY_a) - psiPGLM_a(G1P_a,G6P_a) - psiUDPGP_a(UTP_a,G1P_a,PPi_a0,UDPgluco_a) # G1P_a - - du[132] = psiALD_n(FBP_n,GAP_n,DHAP_n) - psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) + psiTPI_n(DHAP_n,GAP_n) - psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) - psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) + psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) # GAP_n - du[133] = psiALD_a(FBP_a,GAP_a,DHAP_a) - psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) + psiTPI_a(DHAP_a,GAP_a) - psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) - psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) + psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) #GAP_a - - # - du[134] = psiALD_n(FBP_n,GAP_n,DHAP_n) - psiTPI_n(DHAP_n,GAP_n) # DHAP_n - du[135] = psiALD_a(FBP_a,GAP_a,DHAP_a) - psiTPI_a(DHAP_a,GAP_a) # DHAP_a - - du[136] = psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) - psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) # BPG13_n - du[137] = psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) - psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) # BPG13_a - - # NADH_a - du[138] = psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) - psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) - vShuttleg(NADH_a,NADHmito_a) # NADH_a - - du[139] = 0 # Pi_n - du[140] = 0 # Pi_a - - du[141] = psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) - psiPGM_n(PG3_n,PG2_n) # PG3_n - du[142] = psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) - psiPGM_a(PG3_a,PG2_a) # PG3_a - - # - du[143] = psiPGM_n(PG3_n,PG2_n) - psiENOL_n(PG2_n,PEP_n) # PG2_n - du[144] = psiPGM_a(PG3_a,PG2_a) - psiENOL_a(PG2_a,PEP_a) # PG2_a - - du[145] = psiENOL_n(PG2_n,PEP_n) - psiPK_n(PEP_n,ADP_n,ATP_n) # PEP_n - du[146] = psiENOL_a(PG2_a,PEP_a) - psiPK_a(PEP_a,ADP_a,ATP_a) # PEP_a - - du[147] = psiPK_n(PEP_n,ADP_n,ATP_n) - psiPYRtrcyt2mito_n(Pyr_n,PYRmito_n,C_H_mitomatr_n) - psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) #Pyr_n - du[148] = psiPK_a(PEP_a,ADP_a,ATP_a) - psiPYRtrcyt2mito_a(Pyr_a,PYRmito_a,C_H_mitomatr_a) - psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) #Pyr_a - - du[149] = JLacTr(t,Lac_b) - MCT1_LAC_b(Lac_b,Lac_ecs) - vLACgc(Lac_b,Lac_a) # Lac_b - du[150] = 0.0275*MCT1_LAC_b(Lac_b,Lac_ecs) - jLac_a(Lac_ecs,Lac_a) - jLac_n(Lac_ecs,Lac_n) + jLacDiff_e(Lac_ecs) # Lac_ecs # lac diff www.pnas.org􏱵cgi􏱵doi􏱵10.1073􏱵pnas.0605864104 # 0.275 because common ecs (no sep into BA and AN, no endoth for lac model) - du[151] = 0.8*jLac_a(Lac_ecs,Lac_a) + 0.022*vLACgc(Lac_b,Lac_a) + psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) # Lac_a #0.8 = 0.2/0.25 volumes scaling common ecs n endoth - du[152] = 0.44*jLac_n(Lac_ecs,Lac_n) + psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) # Lac_n #0.44 = 0.2/0.45 volumes scaling common ecs n endoth # assume syn vol 10% -> 0.1*0.45 = 0.045 -> from/to 0.045/0.45 = 0.1 - - - du[153] = psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) + psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) - psiNADPHox_n(NADPH_n) - psiGSSGR_n(GSSG_n,NADPH_n) # NADPH_n - du[154] = psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) + psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) - psiNADPHox_a(NADPH_a) - psiGSSGR_a(GSSG_a,NADPH_a) # NADPH_a - - du[155] = psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) - psi6PGL_n(GL6P_n,GO6P_n) # GL6P_n - du[156] = psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) - psi6PGL_a(GL6P_a,GO6P_a) # GL6P_a - - du[157] = psi6PGL_n(GL6P_n,GO6P_n) - psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) # GO6P_n - du[158] = psi6PGL_a(GL6P_a,GO6P_a) - psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) # GO6P_a - - du[159] = psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) - psiRPEppp_n(RU5P_n,X5P_n) - psiRPI_n(RU5P_n,R5P_n) # RU5P_n - du[160] = psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) - psiRPEppp_a(RU5P_a,X5P_a) - psiRPI_a(RU5P_a,R5P_a) # RU5P_a - - du[161] = psiRPI_n(RU5P_n,R5P_n) - psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) # R5P_n - du[162] = psiRPI_a(RU5P_a,R5P_a) - psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) # R5P_a - - du[163] = psiRPEppp_n(RU5P_n,X5P_n) - psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) + psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) # X5P_n - du[164] = psiRPEppp_a(RU5P_a,X5P_a) - psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) + psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) # X5P_a - - du[165] = psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) - psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) # S7P_n - du[166] = psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) - psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) # S7P_a - - du[167] = psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) + psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) # E4P_n - du[168] = psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) + psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) # E4P_a - - du[169] = 2*(psiGSSGR_n(GSSG_n,NADPH_n) - psiGPX_n(GSH_n)) #+ glutathioneSyntase_n(GSH_n) # GSH_n - du[170] = 2*( psiGSSGR_a(GSSG_a,NADPH_a) - psiGPX_a(GSH_a)) #+ glutathioneSyntase_a(GSH_a) # GSH_a - du[171] = - psiGSSGR_n(GSSG_n,NADPH_n) + psiGPX_n(GSH_n) # GSSG_n - du[172] = - psiGSSGR_a(GSSG_a,NADPH_a) + psiGPX_a(GSH_a) # GSSG_a - - du[173] = 0 # calc above Cr_n = Crtot - PCr_n psiCrKinase_n(PCr_n,ATP_n,ADP_n) # Cr_n - du[174] = - psiCrKinase_n(PCr_n,ATP_n,ADP_n) # PCr_n - - du[175] = 0 # calc above Cr_a = Crtot - PCr_a # psiCrKinase_a(PCr_a,ATP_a,ADP_a) # Cr_a - du[176] = - psiCrKinase_a(PCr_a,ATP_a,ADP_a) # PCr_a - - du[177] = (Ca_a/cai0_ca_ion)*(1 + xNEmod*(u[178]/(KdNEmod + u[178])))*psiAC_a(ATP_a,cAMP_a) - PDE_a(cAMP_a) # cAMP_a - - du[178] = 0 # NE_neuromod defined in CB - - du[179] = 0 # psiUDPGP_a(UTP_a,G1P_a,PPi_a0,UDPgluco_a) - psiGS_a(GS_a,UDPgluco_a) - 1e-6*u[179]*(u[179] + 0.109) # UDPgluco_a - du[180] = 0 #0.000117-psiUDPGP_a(UTP_a,G1P_a,PPi_a0,UDPgluco_a) # UTP_a - - du[181] = 0 #psiGSAJay(GS_a,UDPgluco_a,PKAa_a0,PHKa_a0) # GS_a - du[182] = psiPHK(PHKa_a0,GPa_a,GLY_a,G1P_a,UDPgluco_a,Ca_a) # GPa_a - du[183] = -psiPHK(PHKa_a0,GPa_a,GLY_a,G1P_a,UDPgluco_a,Ca_a) # GPb_a - - -end - diff --git a/multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_withEphysNoCurrNdam_noSB.jl b/multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_withEphysNoCurrNdam_noSB.jl deleted file mode 100644 index 010b856..0000000 --- a/multiscale_run/data/metabolismndam_reduced/metabolism_model_21nov22_withEphysNoCurrNdam_noSB.jl +++ /dev/null @@ -1,876 +0,0 @@ -function metabolism!(du,u,p,t) - - ina_density,ik_density,mito_scale,glutamatergic_gaba_scaling,outs_r_to_met = @. p - synInput = 0. - Iinj = 0. - - Pi_n = Pi_n0; Pi_a = Pi_a0 - NADHmito_n = u[4];ATPmito_n = u[8];ADPmito_n = u[9];Pimito_n = u[12]; - ATP_n = u[23]; - FUMmito_n = u[25];MALmito_n = u[26];OXAmito_n = u[27];SUCmito_n = u[28];SUCCOAmito_n = u[29];CoAmito_n = u[30];AKGmito_n = u[31];CaMito_n = u[32];ISOCITmito_n = u[33];CITmito_n = u[34];AcCoAmito_n = u[35];AcAc_n = u[36];AcAcCoA_n = u[37];PYRmito_n = u[38];bHB_n = u[39];bHB_ecs = u[40];bHB_a = u[41];bHB_b = u[42];ASPmito_n = u[43];ASP_n = u[44];GLUmito_n = u[45];MAL_n = u[46];OXA_n = u[47];AKG_n = u[48];GLU_n = u[49];NADH_n = u[50];NADHmito_a = u[54];ATPmito_a = u[58];ADPmito_a = u[59];Pimito_a = u[62]; - ATP_a = u[73]; - FUMmito_a = u[75];MALmito_a = u[76];OXAmito_a = u[77];SUCmito_a = u[78];SUCCOAmito_a = u[79];CoAmito_a = u[80];AKGmito_a = u[81];CaMito_a = u[82];ISOCITmito_a = u[83];CITmito_a = u[84];AcCoAmito_a = u[85];AcAc_a = u[86];AcAcCoA_a = u[87];PYRmito_a = u[88];C_H_mitomatr_n = u[1];C_H_mitomatr_nM = 1e-3*u[1];K_x_nM= 1e-3*u[2];Mg_x_nM = 1e-3*u[3]; - NADHmito_nM = 1e-3*u[4]; QH2mito_nM= 1e-3*u[5]; CytCredmito_nM = 1e-3*u[6]; O2_nM = 1e-3*u[7]; O2_n = u[7]; ATPmito_nM = 1e-3*u[8];ADPmito_nM = 1e-3*u[9] - - PCr_n = u[174]; PCr_a = u[176]; Cr_n = Crtot - PCr_n; Cr_a = Crtot - PCr_a - cAMP_a = u[177]; NE_neuromod = u[178] - UDPgluco_a = u[179]; UTP_a = u[180]; GS_a = u[181]; GPa_a = u[182]; GPb_a = u[183]; - #PKAa_a = u[184]; PKAb_a = u[185]; PHKa_a = u[186]; R2CcAMP2_a = u[187]; R2CcAMP4_a = u[188]; PP1_a = u[189]; PP1_GPa_a = u[190] - - - ADP_n = ATP_n/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_n/ATP_n-1))) - ADP_a = ATP_a/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_a/ATP_a-1))) - - j_un = qAK*qAK+4*qAK*(ATDPtot_n/ATP_n-1) - j_ug = qAK*qAK+4*qAK*(ATDPtot_a/ATP_a-1) - - dAMPdATPn = -1+qAK/2-0.5*sqrt(j_un)+qAK*ATDPtot_n/(ATP_n*sqrt(j_un)) - dAMPdATPg = -1+qAK/2-0.5*sqrt(j_ug)+qAK*ATDPtot_a/(ATP_a*sqrt(j_ug)) - - - ATP_nM = 1e-3*ATP_n; ADP_nM = 1e-3*ADP_n - ATP_aM = 1e-3*ATP_a; ADP_aM = 1e-3*ADP_a - - ATP_mx_nM = 1e-3*u[10]; ADP_mx_nM = 1e-3*u[11] # Matrix ATDP bound to magnesium - Pimito_nM = 1e-3*u[12] # Matrix inorganic phosphate - - ATP_i_n = u[13] - ATP_i_nM = 1e-3*u[13]; ADP_i_nM = 1e-3*u[14]; ADP_i_n = u[14] # IMS ATDP - AMP_i_nM = 1e-3*u[15] # IMS AMP - - ATP_mi_nM = 1e-3*u[16]; ADP_mi_nM = 1e-3*u[17] # IMS ATP bound to magnesium - Pi_i_nM = 1e-3*u[18] # IMS inorganic phosphate - - MitoMembrPotent_n = u[19] # Mitochondrial membrane potential - - Ctot_nM = 1e-3*u[20] # total cyt-c in IMS - Qtot_nM = 1e-3*u[21] # total ubiquinol - - C_H_ims_nM = 1e-3*u[22] # IMS hydrogen concentration - - AMP_nM = 0 # cytosolic ATDMP, M - - # Balancing moeities - NAD_x_n = NADtot - NADHmito_nM; NADmito_n = 1000*NAD_x_n # mM ################ - Q_n = Qtot_nM - QH2mito_nM; Qmito_n = 1000*Q_n # mM ################ - Cox_n = Ctot_nM - CytCredmito_nM; - - # Other concentrations computed from the state variables - ATP_fx_n = ATPmito_nM - ATP_mx_nM - ADP_fx_n = ADPmito_nM - ADP_mx_nM - ATP_fi_n = ATP_i_nM - ATP_mi_nM - ADP_fi_n = ADP_i_nM - ADP_mi_nM - - # ADP/Mg/K binding in E space - ADP_me_n = ( (K_DD + ADP_nM + Mg_tot) - sqrt((K_DD + ADP_nM + Mg_tot)^2 - 4*(Mg_tot*ADP_nM)) )/2; - #ADP_fe_n = ADP_nM - ADP_me_n; - Mg_i_n = Mg_tot - ADP_me_n; # Mg_i_n = Mg_e; # Mg,K in IM space same as external/cytosolic - - # Calculating Membrane proton motive force and respiration fluxes - dG_H_n = etcF*MitoMembrPotent_n + 1*etcRT*log(C_H_ims_nM/C_H_mitomatr_nM); # Protomotive force - dG_C1op_n = dG_C1o - 1*etcRT*log(C_H_mitomatr_nM/1e-7); - dG_C3op_n = dG_C3o + 2*etcRT*log(C_H_mitomatr_nM/1e-7); - dG_C4op_n = dG_C4o - 2*etcRT*log(C_H_mitomatr_nM/1e-7); - dG_F1op_n = dG_F1o - 1*etcRT*log(C_H_mitomatr_nM/1e-7); - - #a - C_H_mitomatr_a = u[51]; C_H_mitomatr_aM = 1e-3*u[51] # Matrix hydrogen concentration - K_x_aM = 1e-3*u[52] # Matrix potassium concentration - Mg_x_aM = 1e-3*u[53] # Matrix magnesium concentration - - NADHmito_aM = 1e-3*u[54] # Reduced NADH in matrix - QH2mito_aM = 1e-3*u[55] # Reduced ubiquinol in matrix - CytCredmito_aM = 1e-3*u[56] # Reduced cyt-c in IMS - O2_aM = 1e-3*u[57] # O2 - O2_a = u[57] # O2_a - - ATPmito_aM = 1e-3*u[58] # Matrix ATP - ADPmito_aM = 1e-3*u[59] # Matrix ADP - - ATP_mx_aM = 1e-3*u[60] # Matrix ATP bound to magnesium - ADP_mx_aM = 1e-3*u[61] # Matrix ADP bound to magnesium - Pimito_aM = 1e-3*u[62] # Matrix inorganic phosphate - - ATP_i_a = u[63] - ATP_i_aM = 1e-3*u[63] # IMS ATP - ADP_i_aM = 1e-3*u[64]; ADP_i_a = u[64] # IMS ADP - AMP_i_aM = 1e-3*u[65] # IMS AMP - ATP_mi_aM = 1e-3*u[66] # IMS ATP bound to magnesium - ADP_mi_aM = 1e-3*u[67] # IMS ADP bound to magnesium - Pi_i_aM = 1e-3*u[68] # IMS inorganic phosphate - - MitoMembrPotent_a = u[69] # Mitochondrial membrane potential - - Ctot_aM = 1e-3*u[70] # total cyt-c in IMS - Qtot_aM = 1e-3*u[71] # total ubiquinol - C_H_ims_aM = 1e-3*u[72] # IMS hydrogen concentration - - AMP_aM = 0 # cytosolic AMP concentration (Molar), Nicholls and others - #AMP_e = 0; # cytosolic AMP concentration (Molar], Nicholls and others - - # Balancing moeities - NAD_x_a = NADtot - NADHmito_aM; - NADmito_a = 1000*NAD_x_a # mM ################ - Q_a = Qtot_aM - QH2mito_aM; - Qmito_a = 1000*Q_a # mM ################ - Cox_a = Ctot_aM - CytCredmito_aM; - - # Other concentrations computed from the state variables - ATP_fx_a = ATPmito_aM - ATP_mx_aM - ADP_fx_a = ADPmito_aM - ADP_mx_aM - ATP_fi_a = ATP_i_aM - ATP_mi_aM - ADP_fi_a = ADP_i_aM - ADP_mi_aM - - # ADP/Mg/K binding in E space - ADP_me_a = ( (K_DD_a + ADP_aM + Mg_tot) - sqrt((K_DD_a + ADP_aM + Mg_tot)^2 - 4*(Mg_tot*ADP_aM)) )/2; - #ADP_fe_a = ADP_aM - ADP_me_a; - Mg_i_a = Mg_tot - ADP_me_a; # Mg_i_a = Mg_e; # Mg,K in IM space same as external/cytosolic - - # Calculating Membrane proton motive force and respiration fluxes - dG_H_a = etcF*MitoMembrPotent_a + 1*etcRT*log(C_H_ims_aM/C_H_mitomatr_aM); # Protomotive force - dG_C1op_a = dG_C1o - 1*etcRT*log(C_H_mitomatr_aM/1e-7); - dG_C3op_a = dG_C3o + 2*etcRT*log(C_H_mitomatr_aM/1e-7); - dG_C4op_a = dG_C4o - 2*etcRT*log(C_H_mitomatr_aM/1e-7); - dG_F1op_a = dG_F1o - 1*etcRT*log(C_H_mitomatr_aM/1e-7); - - ############### - # GLT-GLN - GLN_n = u[89]; GLN_out = u[90]; GLN_a = u[91]; GLUT_a = u[92]; Va = u[93]; Na_a = u[94]; K_a = u[95]; K_out = u[96]; GLUT_syn = u[97] - - ############## - # cyto - VNeu = u[98]; Na_n = u[99]; h = u[100]; n = u[101]; Ca_n = u[102]; pgate = u[103]; nBK_a = u[104]; mGluRboundRatio_a = u[105]; IP3_a = u[106]; hIP3Ca_a = u[107]; Ca_a = u[108]; Ca_r_a = u[109]; sTRP_a = u[110] - vV = u[111]; EET_a = u[112]; ddHb = u[113]; O2cap = u[114]; Glc_b = u[115]; glc_D_ecsEndothelium = u[116]; Glc_ecsBA = u[117]; Glc_a = u[118]; Glc_ecsAN = u[119]; Glc_n = u[120]; G6P_n = u[121]; G6P_a = u[122] - F6P_n = u[123]; F6P_a = u[124]; FBP_n = u[125]; FBP_a = u[126]; f26bp_a = u[127]; GLY_a = u[128]; AMP_n = u[129]; AMP_a = u[130]; G1P_a = u[131]; GAP_n = u[132]; GAP_a = u[133]; DHAP_n = u[134]; DHAP_a = u[135]; BPG13_n = u[136]; BPG13_a = u[137]; NADH_a = u[138] - PG3_n = u[141]; PG3_a = u[142]; PG2_n = u[143]; PG2_a = u[144]; PEP_n = u[145]; PEP_a = u[146]; Pyr_n = u[147]; Pyr_a = u[148]; Lac_b = u[149]; Lac_ecs = u[150]; Lac_a = u[151]; Lac_n = u[152] - NADPH_n = u[153]; NADPH_a = u[154]; GL6P_n = u[155]; GL6P_a = u[156]; GO6P_n = u[157]; GO6P_a = u[158]; RU5P_n = u[159]; RU5P_a = u[160]; R5P_n = u[161]; R5P_a = u[162]; X5P_n = u[163]; X5P_a = u[164]; S7P_n = u[165]; S7P_a = u[166]; E4P_n = u[167]; E4P_a = u[168]; GSH_n = u[169]; GSH_a = u[170]; GSSG_n = u[171]; GSSG_a = u[172] - - NADP_n = 0.0303 - NADPH_n; NADP_a = 0.0303 - NADPH_a - - # NAD+ + NADH = 0.212 # Jolivet2015 - NAD_n = 0.212 - NADH_n; NAD_a = 0.212 - NADH_a - - ################ - # Rates n - J_DH_n = x_DH*(r_DH*NAD_x_n - NADHmito_nM)*((1+Pimito_nM/k_Pi1)/(1+Pimito_nM/k_Pi2)); - J_C1_n = x_C1*(exp(-(dG_C1op_n+4*dG_H_n)/etcRT)*NADHmito_nM*Q_n - NAD_x_n*QH2mito_nM); - J_C3_n = x_C3*((1+Pimito_nM/k_Pi3)/(1+Pimito_nM/k_Pi4))*(exp(-(dG_C3op_n+4*dG_H_n-2*etcF*MitoMembrPotent_n)/(2*etcRT))*Cox_n*QH2mito_nM^0.5 - CytCredmito_nM*Q_n^0.5); - J_C4_n = x_C4*(O2_nM/(O2_nM+k_O2))*(CytCredmito_nM/Ctot_nM)*(exp(-(dG_C4op_n+2*dG_H_n)/(2*etcRT))*CytCredmito_nM*(O2_nM^0.25) - Cox_n*exp(etcF*MitoMembrPotent_n/etcRT)); - J_F1_n = x_F1*(exp(-(dG_F1op_n-n_A*dG_H_n)/etcRT)*(K_DD/K_DT)*ADP_mx_nM*Pimito_nM - ATP_mx_nM); - - # ATP transferase Korzeniewski 1998, Theurey 2019 - J_ANT_n = x_ANT*( ADP_fi_n/(ADP_fi_n + ATP_fi_n*exp(-etcF*(0.35*MitoMembrPotent_n)/etcRT)) - ADP_fx_n/(ADP_fx_n + ATP_fx_n*exp(-etcF*(-0.65*MitoMembrPotent_n)/etcRT)) )*(ADP_fi_n/(ADP_fi_n+k_mADP)); - - # Calculating ionic fluxes - H2PIi_n = Pi_i_nM*C_H_ims_nM/(C_H_ims_nM + k_dHPi); - H2PIx_n = Pimito_nM*C_H_mitomatr_nM/(C_H_mitomatr_nM + k_dHPi); - - J_Pi1_n = x_Pi1*(C_H_mitomatr_nM*H2PIi_n - C_H_ims_nM*H2PIx_n)/(H2PIi_n+k_PiH); - J_Hle_n = x_Hle*MitoMembrPotent_n*(C_H_ims_nM*exp(etcF*MitoMembrPotent_n/etcRT) - C_H_mitomatr_nM)/(exp(etcF*MitoMembrPotent_n/etcRT) - 1); - J_KH_n = x_KH*( K_i*C_H_mitomatr_nM - K_x_nM*C_H_ims_nM ); - J_K_n = x_K*MitoMembrPotent_n*(K_i*exp(etcF*MitoMembrPotent_n/etcRT) - K_x_nM)/(exp(etcF*MitoMembrPotent_n/etcRT) - 1); - J_AKi_n = x_AK*( K_AK*ADP_i_nM*ADP_i_nM - AMP_i_nM*ATP_i_nM ); - J_AMP_n = gamma*x_A*(AMP_nM - AMP_i_nM); - - J_ADP_n = gamma*x_A*(ADP_nM - ADP_i_nM); - J_ATP_n = gamma*x_A*(ATP_nM - ATP_i_nM); - - J_Pi2_n = gamma*x_Pi2*(1e-3 * Pi_n - Pi_i_nM); - J_Ht_n = gamma*x_Ht*(1e-3 * C_H_cyt_n - C_H_ims_nM); - - J_MgATPx_n = x_MgA*(ATP_fx_n*Mg_x_nM - K_DT*ATP_mx_nM); - J_MgADPx_n = x_MgA*(ADP_fx_n*Mg_x_nM - K_DD*ADP_mx_nM); - J_MgATPi_n = x_MgA*(ATP_fi_n*Mg_i_n - K_DT*ATP_mi_nM); - J_MgADPi_n = x_MgA*(ADP_fi_n*Mg_i_n - K_DD*ADP_mi_nM); - - # J_ATPK_n = x_ATPK * (K_ADTP_cons*ATP_nM - K_ADTP_dyn*ADP_nM); - - ####################### - # TCA n - psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) = VmaxPDHCmito_n* (PYRmito_n/(PYRmito_n+KmPyrMitoPDH_n)) * (NADmito_n/(NADmito_n + KmNADmitoPDH_na)) * (CoAmito_n/(CoAmito_n + KmCoAmitoPDH_n)) - psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) = VmaxCSmito_n*(OXAmito_n/(OXAmito_n + KmOxaMito_n*(1.0 + CITmito_n/KiCitMito_n))) * (AcCoAmito_n/(AcCoAmito_n + KmAcCoAmito_n*(1.0+CoAmito_n/KiCoA_n))) - psiACO_n(CITmito_n,ISOCITmito_n) = VmaxAco_n*(CITmito_n-ISOCITmito_n/KeqAco_na) / (1.0+CITmito_n/KmCitAco_n + ISOCITmito_n/KmIsoCitAco_n) - psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n) = VmaxIDH_n*(NADmito_n/KiNADmito_na)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH ) / (1.0 + NADmito_n/KiNADmito_na + (KmNADmito_na/KiNADmito_na)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) + NADHmito_n/KiNADHmito_na + (NADmito_n/KiNADmito_na)*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) + ((KmNADmito_na*NADHmito_n)/(KiNADmito_na*KiNADHmito_na))*((ISOCITmito_n/KmIsoCitIDHm_n)^nIDH) ) - psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) = (VmaxKGDH_n*(1 + ADPmito_n/KiADPmito_KGDH_n)*(AKGmito_n/Km1KGDHKGDH_n)*(CoAmito_n/Km_CoA_kgdhKGDH_n)*(NADmito_n/KmNADkgdhKGDH_na) ) / ( ( (CoAmito_n/Km_CoA_kgdhKGDH_n)*(NADmito_n/KmNADkgdhKGDH_na)*(AKGmito_n/Km1KGDHKGDH_n + (1 + ATPmito_n/KiATPmito_KGDH_n)/(1 + CaMito_n/KiCa2KGDH_n)) ) + ( (AKGmito_n/Km1KGDHKGDH_n)*(CoAmito_n/Km_CoA_kgdhKGDH_n + NADmito_n/KmNADkgdhKGDH_na)*(1 + NADHmito_n/KiNADHKGDHKGDH_na + SUCCOAmito_n/Ki_SucCoA_kgdhKGDH_n) ) ) - psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) = VmaxSuccoaATPscs_n*(1+AmaxPscs_n*((Pimito_n^npscs_n)/((Pimito_n^npscs_n)+(Km_pi_scs_na^npscs_n)))) * (SUCCOAmito_n*ADPmito_n*Pimito_n - SUCmito_n*CoAmito_n*ATPmito_n/Keqsuccoascs_na)/((1+SUCCOAmito_n/Km_succoa_scs_n)*(1+ADPmito_n/Km_ADPmito_scs_n)*(1+Pimito_n/Km_pi_scs_na)+(1+SUCmito_n/Km_succ_scs_n)*(1+CoAmito_n/Km_coa_scs_n)*(1+ATPmito_n/Km_atpmito_scs_n)) - psiFUM_n(FUMmito_n,MALmito_n) = Vmaxfum_n*(FUMmito_n - MALmito_n/Keqfummito_na)/(1.0+FUMmito_n/Km_fummito_n+MALmito_n/Km_malmito_n) - psiMDH_n(MALmito_n,NADmito_n,OXAmito_n,NADHmito_n) = VmaxMDHmito_n*(MALmito_n*NADmito_n-OXAmito_n*NADHmito_n/Keqmdhmito_na) / ((1.0+MALmito_n/Km_mal_mdh_n)*(1.0+NADmito_n/Km_nad_mdh_na)+(1.0+OXAmito_n/Km_oxa_mdh_n)*(1.0+NADHmito_n/Km_nadh_mdh_na)) - - # Ketones - SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) = (VmaxfSCOT_n*SUCCOAmito_n*AcAc_n/( Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*(SUCCOAmito_n/Ki_SucCoA_SCOT_n + Km_SucCoA_SCOT_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + AcAcCoA_n/Ki_AcAcCoA_SCOT_n + Km_AcAcCoA_SCOT_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) + SUCCOAmito_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + SUCCOAmito_n*AcAcCoA_n/(Ki_SucCoA_SCOT_n*Ki_AcAcCoA_SCOT_n) + Km_SucCoA_SCOT_n*AcAc_n*SUCmito_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*Ki_SUC_SCOT_n) + AcAcCoA_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) ) )) - (VmaxrSCOT_n*AcAcCoA_n*SUCmito_n/( Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n*(SUCCOAmito_n/Ki_SucCoA_SCOT_n + Km_SucCoA_SCOT_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + AcAcCoA_n/Ki_AcAcCoA_SCOT_n + Km_AcAcCoA_SCOT_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) + SUCCOAmito_n*AcAc_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n) + SUCCOAmito_n*AcAcCoA_n/(Ki_SucCoA_SCOT_n*Ki_AcAcCoA_SCOT_n) + Km_SucCoA_SCOT_n*AcAc_n*SUCmito_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*Ki_SUC_SCOT_n) + AcAcCoA_n*SUCmito_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n) ) )) - thiolase_n(CoAmito_n,AcAcCoA_n) = Vmax_thiolase_f_n*CoAmito_n*AcAcCoA_n / ( Ki_CoA_thiolase_f_n * Km_AcAcCoA_thiolase_f_n + Km_AcAcCoA_thiolase_f_n*CoAmito_n + Km_CoA_thiolase_f_n*AcAcCoA_n + CoAmito_n*AcAcCoA_n) - JbHBTrArtCap(t,bHB_b) = (2*(C_bHB_a - bHB_b)/eto_b)*(global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3))))))) - MCT1_bHB_b(bHB_b,bHB_ecs) = VmaxMCTbhb_b*(bHB_b/(bHB_b + KmMCT1_bHB_b) - bHB_ecs/(bHB_ecs + KmMCT1_bHB_b)) - MCT2_bHB_n(bHB_ecs,bHB_n) = VmaxMCTbhb_n*(bHB_ecs/(bHB_ecs + KmMCT2_bHB_n) - bHB_n/(bHB_n + KmMCT2_bHB_n)) - MCT1_bHB_a(bHB_ecs,bHB_a) = VmaxMCTbhb_a*(bHB_ecs/(bHB_ecs + KmMCT1_bHB_a) - bHB_a/(bHB_a + KmMCT1_bHB_a)) - bHBDH_n(NADmito_n,NADHmito_n,bHB_n,AcAc_n) = Vmax_bHBDH_f_n*NADmito_n*bHB_n/(Ki_NAD_B_HBD_f_n*Km_betaHB_BHBD_n + Km_betaHB_BHBD_n*NADmito_n + Km_NAD_B_HBD_n*bHB_n + NADmito_n*bHB_n ) - (Vmax_bHBDH_r_n*NADHmito_n*AcAc_n/(Ki_NADH_BHBD_r_n*Km_AcAc_BHBD_n + Km_AcAc_BHBD_n*NADHmito_n + Km_NADH_BHBD_n*AcAc_n + NADHmito_n*AcAc_n )) - - ####################### - # MAS - # AAT mito n (GOT mito n): psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n), AKGmito_n + ASPmito_n ⇒ OXAmito_n + GLUmito_n - psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) = VfAAT_n*(ASPmito_n*AKGmito_n - OXAmito_n*GLUmito_n/KeqAAT_n) / ( KmAKG_AAT_n*ASPmito_n + KmASP_AAT_n*(1.0 + AKGmito_n/KiAKG_AAT_n)*AKGmito_n + ASPmito_n*AKGmito_n + KmASP_AAT_n*AKGmito_n*GLUmito_n/KiGLU_AAT_n + ( KiASP_AAT_n*KmAKG_AAT_n/(KmOXA_AAT_n*KiGLU_AAT_n) )* ( KmGLU_AAT_n*ASPmito_n*OXAmito_n/KiASP_AAT_n + OXAmito_n*GLUmito_n + KmGLU_AAT_n*(1.0 + AKGmito_n/KiAKG_AAT_n)*OXAmito_n + KmOXA_AAT_n*GLUmito_n ) ) - # cMDH n: psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n), MAL_n + NAD_n ⇒ OXA_n + NADH_n - psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) = VmaxcMDH_n*(MAL_n*NAD_n-OXA_n*NADH_n/Keqcmdh_n)/ ((1+MAL_n/Kmmalcmdh_n)*(1+NAD_n/Kmnadcmdh_n) + (1+OXA_n/Kmoxacmdh_n)*(1+NADH_n/Kmnadhcmdh_n)-1) - # psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n), ASP_n + AKG_n ⇒ OXA_n + GLU_n - psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) = VfCAAT_n*(ASP_n*AKG_n - OXA_n*GLU_n/KeqCAAT_n) / ( KmAKG_CAAT_n*ASP_n + KmASP_CAAT_n*(1.0 + AKG_n/KiAKG_CAAT_n)*AKG_n + ASP_n*AKG_n + KmASP_CAAT_n*AKG_n*GLU_n/KiGLU_CAAT_n + ( KiASP_CAAT_n*KmAKG_CAAT_n/(KmOXA_CAAT_n*KiGLU_CAAT_n) )* ( KmGLU_CAAT_n*ASP_n*OXA_n/KiASP_CAAT_n + OXA_n*GLU_n + KmGLU_CAAT_n*(1.0 + AKG_n/KiAKG_CAAT_n)*OXA_n + KmOXA_CAAT_n*GLU_n ) ) - # AGC (citrin) n: psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n), ASPmito_n + GLU_n ⇒ GLUmito_n + ASP_n - psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) = Vmaxagc_n*(ASPmito_n*GLU_n - ASP_n*GLUmito_n/ ((exp(MitoMembrPotent_n)^(F/(R*T)))* (C_H_cyt_n/C_H_mito_n)) ) / ((ASPmito_n+Km_aspmito_agc_n)*(GLU_n+Km_glu_agc_n) + (ASP_n+Km_asp_agc_n)*(GLUmito_n+Km_glumito_agc_n)) - # MAKGC n: psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n), AKGmito_n + MAL_n ⇒ MALmito_n + AKG_n - psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n) = Vmaxmakgc_n*( MAL_n*AKGmito_n - MALmito_n*AKG_n) / ((MAL_n+Km_mal_mkgc_n)*(AKGmito_n+Km_akgmito_mkgc_n)+(MALmito_n+Km_malmito_mkgc_n)*(AKG_n+Km_akg_mkgc_n)) - - - ################ - # Rates a - J_DH_a = x_DH_a*(r_DH_a*NAD_x_a - NADHmito_aM)*((1+Pimito_aM/k_Pi1)/(1+Pimito_aM/k_Pi2)); - J_C1_a = x_C1*(exp(-(dG_C1op_a+4*dG_H_a)/etcRT)*NADHmito_aM*Q_a - NAD_x_a*QH2mito_aM); - J_C3_a = x_C3*((1+Pimito_aM/k_Pi3)/(1+Pimito_aM/k_Pi4))*(exp(-(dG_C3op_a+4*dG_H_a-2*etcF*MitoMembrPotent_a)/(2*etcRT))*Cox_a*QH2mito_aM^0.5 - CytCredmito_aM*Q_a^0.5); - J_C4_a = x_C4*(O2_aM/(O2_aM+k_O2))*(CytCredmito_aM/Ctot_aM)*(exp(-(dG_C4op_a+2*dG_H_a)/(2*etcRT))*CytCredmito_aM*(O2_aM^0.25) - Cox_a*exp(etcF*MitoMembrPotent_a/etcRT)); - J_F1_a = x_F1_a*(exp(-(dG_F1op_a-n_A*dG_H_a)/etcRT)*(K_DD_a/K_DT_a)*ADP_mx_aM*Pimito_aM - ATP_mx_aM); - - # ATP transferase Korzeniewski 1998, Theurey 2019 - J_ANT_a = x_ANT_a*( ADP_fi_a/(ADP_fi_a + ATP_fi_a*exp(-etcF*(0.35*MitoMembrPotent_a)/etcRT)) - ADP_fx_a/(ADP_fx_a + ATP_fx_a*exp(-etcF*(-0.65*MitoMembrPotent_a)/etcRT)) )*(ADP_fi_a/(ADP_fi_a+k_mADP_a)); - - # Calculating ionic fluxes - H2PIi_a = Pi_i_aM*C_H_ims_aM/(C_H_ims_aM + k_dHPi); - H2PIx_a = Pimito_aM*C_H_mitomatr_aM/(C_H_mitomatr_aM + k_dHPi); - J_Pi1_a = x_Pi1*(C_H_mitomatr_aM*H2PIi_a - C_H_ims_aM*H2PIx_a)/(H2PIi_a+k_PiH); - J_Hle_a = x_Hle*MitoMembrPotent_a*(C_H_ims_aM*exp(etcF*MitoMembrPotent_a/etcRT) - C_H_mitomatr_aM)/(exp(etcF*MitoMembrPotent_a/etcRT) - 1); - J_KH_a = x_KH*( K_i*C_H_mitomatr_aM - K_x_aM*C_H_ims_aM ); - J_K_a = x_K*MitoMembrPotent_a*(K_i*exp(etcF*MitoMembrPotent_a/etcRT) - K_x_aM)/(exp(etcF*MitoMembrPotent_a/etcRT) - 1); - J_AKi_a = x_AK*( K_AK*ADP_i_aM*ADP_i_aM - AMP_i_aM*ATP_i_aM ); - J_AMP_a = gamma*x_A*(AMP_aM - AMP_i_aM); - - J_ADP_a = gamma*x_A*(ADP_aM - ADP_i_aM); - J_ATP_a = gamma*x_A*(ATP_aM - ATP_i_aM); - - J_Pi2_a = gamma*x_Pi2*(1e-3 * Pi_a - Pi_i_aM); - J_Ht_a = gamma*x_Ht*(1e-3 * C_H_cyt_a - C_H_ims_aM); - - J_MgATPx_a = x_MgA*(ATP_fx_a*Mg_x_aM - K_DT_a*ATP_mx_aM); - J_MgADPx_a = x_MgA*(ADP_fx_a*Mg_x_aM - K_DD_a*ADP_mx_aM); - J_MgATPi_a = x_MgA*(ATP_fi_a*Mg_i_a - K_DT_a*ATP_mi_aM); - J_MgADPi_a = x_MgA*(ADP_fi_a*Mg_i_a - K_DD_a*ADP_mi_aM); - - # J_ATPK_a = x_ATPK * (K_ADTP_cons*ATP_aM - K_ADTP_dyn*ADP_aM); - - ####################### - # TCA - psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) = VmaxPDHCmito_a* (PYRmito_a/(PYRmito_a+KmPyrMitoPDH_a)) * (NADmito_a/(NADmito_a + KmNADmitoPDH_na)) * (CoAmito_a/(CoAmito_a + KmCoAmitoPDH_a)) - psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) = VmaxCSmito_a*(OXAmito_a/(OXAmito_a + KmOxaMito_a*(1.0 + CITmito_a/KiCitMito_a))) * (AcCoAmito_a/(AcCoAmito_a + KmAcCoAmito_a*(1.0+CoAmito_a/KiCoA_a))) - psiACO_a(CITmito_a,ISOCITmito_a) = VmaxAco_a*(CITmito_a-ISOCITmito_a/KeqAco_na) / (1.0+CITmito_a/KmCitAco_a + ISOCITmito_a/KmIsoCitAco_a) - psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a) = VmaxIDH_a*(NADmito_a/KiNADmito_na)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH ) / (1.0 + NADmito_a/KiNADmito_na + (KmNADmito_na/KiNADmito_na)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) + NADHmito_a/KiNADHmito_na + (NADmito_a/KiNADmito_na)*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) + ((KmNADmito_na*NADHmito_a)/(KiNADmito_na*KiNADHmito_na))*((ISOCITmito_a/KmIsoCitIDHm_a)^nIDH) ) - psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) = (VmaxKGDH_a*(1 + ADPmito_a/KiADPmito_KGDH_a)*(AKGmito_a/Km1KGDHKGDH_a)*(CoAmito_a/Km_CoA_kgdhKGDH_a)*(NADmito_a/KmNADkgdhKGDH_na) ) / ( ( (CoAmito_a/Km_CoA_kgdhKGDH_a)*(NADmito_a/KmNADkgdhKGDH_na)*(AKGmito_a/Km1KGDHKGDH_a + (1 + ATPmito_a/KiATPmito_KGDH_a)/(1 + CaMito_a/KiCa2KGDH_a)) ) + ( (AKGmito_a/Km1KGDHKGDH_a)*(CoAmito_a/Km_CoA_kgdhKGDH_a + NADmito_a/KmNADkgdhKGDH_na)*(1 + NADHmito_a/KiNADHKGDHKGDH_na + SUCCOAmito_a/Ki_SucCoA_kgdhKGDH_a) ) ) - psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a) = VmaxSuccoaATPscs_a*(1+AmaxPscs_a*((Pimito_a^npscs_a)/((Pimito_a^npscs_a)+(Km_pi_scs_na^npscs_a)))) * (SUCCOAmito_a*ADPmito_a*Pimito_a - SUCmito_a*CoAmito_a*ATPmito_a/Keqsuccoascs_na)/((1+SUCCOAmito_a/Km_succoa_scs_a)*(1+ADPmito_a/Km_ADPmito_scs_a)*(1+Pimito_a/Km_pi_scs_na)+(1+SUCmito_a/Km_succ_scs_a)*(1+CoAmito_a/Km_coa_scs_a)*(1+ATPmito_a/Km_atpmito_scs_a)) - psiFUM_a(FUMmito_a,MALmito_a) = Vmaxfum_a*(FUMmito_a - MALmito_a/Keqfummito_na)/(1.0+FUMmito_a/Km_fummito_a+MALmito_a/Km_malmito_a) - psiMDH_a(MALmito_a,NADmito_a,OXAmito_a,NADHmito_a) = VmaxMDHmito_a*(MALmito_a*NADmito_a-OXAmito_a*NADHmito_a/Keqmdhmito_na) / ((1.0+MALmito_a/Km_mal_mdh_a)*(1.0+NADmito_a/Km_nad_mdh_na)+(1.0+OXAmito_a/Km_oxa_mdh_a)*(1.0+NADHmito_a/Km_nadh_mdh_na)) - - psiPYRCARB_a(ATPmito_a,ADPmito_a,PYRmito_a,OXAmito_a) = ( (ATPmito_a/ADPmito_a)/(muPYRCARB_a + (ATPmito_a/ADPmito_a)))*VmPYRCARB_a*(PYRmito_a*CO2_mito_a - OXAmito_a/KeqPYRCARB_a)/( KmPYR_PYRCARB_a*KmCO2_PYRCARB_a + KmPYR_PYRCARB_a*CO2_mito_a + KmCO2_PYRCARB_a*PYRmito_a + CO2_mito_a*PYRmito_a) # PYRmito_a + ATPmito_a ⇒ OXAmito_a + ADPmito_a - - ###################### - # GLT-GLN - psiSNAT_GLN_n(GLN_out,GLN_n) = TmaxSNAT_GLN_n*(GLN_out-GLN_n/coeff_gln_ratio_n_ecs)/(KmSNAT_GLN_n+GLN_n) - psiGLS_n(GLN_n,GLUmito_n) = VmGLS_n*( GLN_n - GLUmito_n/KeqGLS_n )/ (KmGLNGLS_n*(1.0 + GLUmito_n/KiGLUGLS_n) + GLN_n ) - #psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) = - ((1/(2*F*1e-3))* SA_ast_EAAT * ( -alpha_EAAT*exp(-beta_EAAT*(Va - ((R*T/(2*F*1e-3))*log( ((Na_syn_EAAT/Na_a)^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/GLUT_a) * (K_a/K_out ) )))) )) - psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) = - ((1/(2*F*1e-3)) * ( -alpha_EAAT*exp(-beta_EAAT*(Va - ((R*T/(2*F*1e-3))*log( ((Na_syn_EAAT/Na_a)^3) * (H_syn_EAAT/H_ast_EAAT) * (GLUT_syn/GLUT_a) * (K_a/K_out ) )))) )) - - #psiGDH_simplif_a(NADmito_a,GLUmito_a,NADHmito_a,AKGmito_a) = VmGDH_a*(NADmito_a*GLUmito_a - NADHmito_a*AKGmito_a/KeqGDH_a)/ (KiNAD_GDH_a*KmGLU_GDH_a + KmGLU_GDH_a*NADmito_a + KiNAD_GDH_a*GLUmito_a + GLUmito_a*NADmito_a + GLUmito_a*NADmito_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*NADHmito_a/KiNADH_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmNADH_GDH_a*AKGmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KmNADH_GDH_a*GLUmito_a*NADHmito_a/KiNADH_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*AKGmito_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + GLUmito_a*NADmito_a*AKGmito_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*GLUmito_a*NADHmito_a*AKGmito_a/(KiGLU_GDH_a*KiAKG_GDH_a*KiNADH_GDH_a) + KiNAD_GDH_a*KmGLU_GDH_a*AKGmito_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KmNADH_GDH_a*KmGLU_GDH_a*AKGmito_a*NADmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) ) - # simplif: no mito-cyto compart for glutamate in astro - psiGDH_simplif_a(NADmito_a,GLUT_a,NADHmito_a,AKGmito_a) = VmGDH_a*(NADmito_a*GLUT_a - NADHmito_a*AKGmito_a/KeqGDH_a)/ (KiNAD_GDH_a*KmGLU_GDH_a + KmGLU_GDH_a*NADmito_a + KiNAD_GDH_a*GLUT_a + GLUT_a*NADmito_a + GLUT_a*NADmito_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*NADHmito_a/KiNADH_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmNADH_GDH_a*AKGmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KmNADH_GDH_a*GLUT_a*NADHmito_a/KiNADH_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*AKGmito_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + GLUT_a*NADmito_a*AKGmito_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a/KiAKG_GDH_a + KiNAD_GDH_a*KmGLU_GDH_a*GLUT_a*NADHmito_a*AKGmito_a/(KiGLU_GDH_a*KiAKG_GDH_a*KiNADH_GDH_a) + KiNAD_GDH_a*KmGLU_GDH_a*AKGmito_a*NADHmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) + KmNADH_GDH_a*KmGLU_GDH_a*AKGmito_a*NADmito_a/(KiAKG_GDH_a*KiNADH_GDH_a) ) - - # psiGLNsynth_a(GLUT_a,ATP_a,ADP_a) = VmaxGLNsynth_a*(GLUT_a/( KmGLNsynth_a + GLUT_a))*( (ATP_a/ADP_a)/(muGLNsynth_a + ATP_a/ADP_a ) ) - psiGLNsynth_a(GLUT_a,ATP_a,ADP_a) = VmaxGLNsynth_a*(GLUT_a/( KmGLNsynth_a + GLUT_a))*( (1/(ATP_a/ADP_a))/(muGLNsynth_a + (1/(ATP_a/ADP_a)) ) ) - - psiSNAT_GLN_a(GLN_a,GLN_out) = TmaxSNAT_GLN_a*(GLN_a-GLN_out)/(KmSNAT_GLN_a+GLN_a) - #synGlutRelease(V) = glut_vesicle_deltaConc*exp(-((V+v_thr)/coeff_synGlutRelease)^2) / (coeff_synGlutRelease * 1.772 ) - - #du[28] = 1000*(+J_DH_a - J_C1_a)/W_x #+ psiMDH_a(MALmito_a,NADmito_a,OXAmito_a,NADHmito_a) + psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) + psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a) + psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) + psiGDH_simplif_a(NADmito_a,GLUT_a,NADHmito_a,AKGmito_a) # NADHmito_a - - ###################### - # Cyto - # Winter2017, Jolivet2015 - FinDyn_W2017(t) = global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) # is global_par_F_in - Fout_W2017(vV,t) = global_par_F_0*((vV/vV0)^2 + (vV/vV0)^(-0.5)*global_par_tau_v/vV0* ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) )/(1+global_par_F_0*(vV/vV0)^(-0.5)*global_par_tau_v/vV0) - - JdHbin(O2cap,t) = 2*(C_O_a - O2cap) * ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) - JdHbout(vV,t,ddHb) = (ddHb/vV) * ( global_par_F_0*((vV/vV0)^2 +(vV/vV0)^(-0.5)*global_par_tau_v/vV0* ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) )/(1+global_par_F_0*(vV/vV0)^(-0.5)*global_par_tau_v/vV0) ) - - #JO2art2cap(O2cap,t) = 2*((C_O_a - O2cap)/eto_b) * ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) - JO2art2cap(O2cap,t) = (1/eto_b)*2*(C_O_a - O2cap) * ( global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3)))))) ) - JO2fromCap2a(O2cap,O2_a) = (PScapA*(KO2b*(HbOP/O2cap - 1.)^(-1/param_degree_nh) - O2_a )) - JO2fromCap2n(O2cap,O2_n) = (PScapNAratio*PScapA*(KO2b*(HbOP/O2cap - 1.)^(-1/param_degree_nh) - O2_n )) - - # Winter2017, Jolivet2015 - trGLC_art_cap(t,Glc_b) = (1/eto_b)*(2*(C_Glc_a-Glc_b))*(global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3))))))) - - # DiNuzzo2010, but denom corr to a common form formula given in main text pdf instead of supp pdf - JGlc_b(Glc_b,glc_D_ecsEndothelium) = TmaxGLCce*( Glc_b*(KeG + glc_D_ecsEndothelium) - glc_D_ecsEndothelium*(KeG + Glc_b) ) / ( KeG^2 + KeG*ReGoi*Glc_b + KeG*ReGio*glc_D_ecsEndothelium + ReGee*Glc_b*glc_D_ecsEndothelium ) - JGlc_e2ecsBA(glc_D_ecsEndothelium,Glc_ecsBA) = TmaxGLCeb*( glc_D_ecsEndothelium*(KeG2 + Glc_ecsBA) - Glc_ecsBA*(KeG2 + glc_D_ecsEndothelium) ) / ( KeG2^2 + KeG2*ReGoi2*glc_D_ecsEndothelium + KeG2*ReGio2*Glc_ecsBA + ReGee2*glc_D_ecsEndothelium*Glc_ecsBA ) - JGlc_ecsBA2a(Glc_ecsBA,Glc_a) = TmaxGLCba*( Glc_ecsBA*(KeG3 + Glc_a) - Glc_a*(KeG3 + Glc_ecsBA) ) / ( KeG3^2 + KeG3*ReGoi3*Glc_ecsBA + KeG3*ReGio3*Glc_a + ReGee3*Glc_ecsBA*Glc_a ) - JGlc_a2ecsAN(Glc_a,Glc_ecsAN) = TmaxGLCai*( Glc_a*(KeG4 + Glc_ecsAN) - Glc_ecsAN*(KeG4 + Glc_a) ) / ( KeG4^2 + KeG4*ReGoi4*Glc_a + KeG4*ReGio4*Glc_ecsAN + ReGee4*Glc_a*Glc_ecsAN ) - JGlc_ecsAN2n(Glc_ecsAN,Glc_n) = TmaxGLCin*( Glc_ecsAN*(KeG5 + Glc_n) - Glc_n*(KeG5 + Glc_ecsAN) ) / ( KeG5^2 + KeG5*ReGoi5*Glc_ecsAN + KeG5*ReGio5*Glc_n + ReGee5*Glc_ecsAN*Glc_n ) - JGlc_diffEcs(Glc_ecsBA,Glc_ecsAN) = kGLCdiff*(Glc_ecsBA - Glc_ecsAN) - - # Glycogen - # Glycogen synthase: UDPgluco + GLY ⇒ 2*GLY - #psiGS_a(GLY_a) = VmaxGS_a*( GLY_a0/GLY_a - 1) - psiGS_a(GS_a,UDPgluco_a) = kL2_GS_a*GS_a*UDPgluco_a / (kmL2_GS_a+UDPgluco_a) - - #psiGPa_a(GPa_a,GPb_a,AMP_a) = (GPa_a/(GPa_a+GPb_a))*VmaxGP_a*(1/(1 + (KmGP_AMP_a^hGPa)/(AMP_a^hGPa))) - #psiGPa_a(GPa_a,GPb_a,cAMP_a,GLY_a) = (GPa_a/(GPa_a+GPb_a))*VmaxGP_a*GLY_a*(1/(1 + (KmGP_AMP_a^hGPa)/(cAMP_a^hGPa))) - psiGPa_a(GPa_a,GLY_a) = k_L2_GS_a*GPa_a*GLY_a/(km_L2_GS_a+GLY_a) - - psiPGLM_a(G1P_a,G6P_a) = (Vmaxfpglm_a*G1P_a/KmG1PPGLM_a - ((Vmaxfpglm_a*KmG6PPGLM_a) /(KmG1PPGLM_a*KeqPGLM_a))*G6P_a/KmG6PPGLM_a) / (1.0 + G1P_a/KmG1PPGLM_a + G6P_a/KmG6PPGLM_a) - PDE_a(cAMP_a) = VmaxPDE_a*cAMP_a/(Kmcamppde_a + cAMP_a) - - # UDP-glucose pyrophosphorylase; G1P + UTP ⇒ udp-gluco +PPi # rates adapted from Hester and Raushel 1987 - psiUDPGP_a(UTP_a,G1P_a,PPi_a,UDPgluco_a) = (VmaxfUDPGP*UTP_a*G1P_a/(KutpUDPGP*Kg1pUDPGP) - VmaxrUDPGP*PPi_a*UDPgluco_a/(KpiUDPGP*KUDPglucoUDPGP_a)) / (1.0 + G1P_a/Kg1pUDPGP + UTP_a/KutpUDPGP + (G1P_a*UTP_a)/(Kg1pUDPGP*KutpUDPGP) + UDPgluco_a/KUDPglucoUDPGP_a + PPi_a/KpiUDPGP + (PPi_a*UDPgluco_a)/(KpiUDPGP*KUDPglucoUDPGP_a)) - - psiGSAJay(GS_a,UDPgluco_a,PKAa_a,PHKa_a) = ((kg8_GSAJay*PP1_a0*(st_GSAJay-GS_a))/((kmg8_GSAJay/(1.0 + s1_GSAJay*UDPgluco_a/kg2_GSAJay)) + (st_GSAJay-GS_a))) - ((kg7_GSAJay*(PHKa_a+PKAa_a)*GS_a) /(kmg7_GSAJay*(1+s1_GSAJay*UDPgluco_a/kg2_GSAJay)+GS_a)) - - # Phosphorylase kinase act 0 ⇒ PHKa - #psiPHKact(Ca_a,PKAa_a,PHKa_a) = (Ca_a/cai0_ca_ion)*(((kg3_PHKact*PKAa_a*(kt_PHKact-PHKa_a))/(kmg3_PHKact+kt_PHKact-PHKa_a)) - (((kg4_PHKact*PP1_a0*PHKa_a))/(kmg4_PHKact+PHKa_a))) - # PHK GPb->GPa # GPb + 2*ATP ⇒ GPa + 2*ADP - psiPHK(PHKa_a,GPa_a,GLY_a,G6P_a,Glc_a,Ca_a ) = (Ca_a/cai0_ca_ion)*(((kg5_PHK*PHKa_a*(pt_PHK-GPa_a))/(kmg5_PHK*(1.0 +s1_PHK*G6P_a/kg2_PHK) + (pt_PHK-GPa_a))) - ((kg6_PHK*PP1_a0*GPa_a)/(kmg6_PHK/(1+s2_PHK*Glc_a/kgi_PHK)+GPa_a)) - ((0.003198/(1+ GLY_a) + kmind_PHK)*PP1_a0*GPa_a)) - - # Protein kinase A (=cAMP-dependent protein kinase); VPKA(), PKAb + 4*cAMP -> R2CcAMP4 + 2*PKAa by Jay, Xu-Gomez # or it was PKAb + ATP ⇒ PKAa + ADP - # psiPKA1(cAMP_a,PKAa_a,PKAb_a,R2CcAMP2_a) = kgc1_PKA12*PKAb_a*(cAMP_a^2) - k_gc1_PKA12*R2CcAMP2_a*PKAa_a - # psiPKA2(cAMP_a,PKAa_a,R2CcAMP2_a,R2CcAMP4_a) = kgc2_PKA12*R2CcAMP2_a*(cAMP_a^2) - k_gc2_PKA12*R2CcAMP4_a*PKAa_a - - - - - - - # combo of Jolivet2015 and DiNuzzo2010(glycogen) - psiHK_n(Glc_n,ATP_n,G6P_n) = (VmaxHK_n*Glc_n/(Glc_n + KmHK_n))*(ATP_n/(1+(ATP_n/KIATPhex_n)^nHhexn))*(1/(1 + G6P_n/KiHKG6P_n)) - psiHK_a(Glc_a,ATP_a,G6P_a) = (VmaxHK_a*Glc_a/(Glc_a + KmHK_a))*(ATP_a/(1+(ATP_a/KIATPhex_a)^nHhexa))*(1/(1 + G6P_a/KiHKG6P_a)) - - # psiPGI_n(G6P_n,F6P_n) = (Vmax_fPGI_n*G6P_n/Km_G6P_fPGI_n - Vmax_rPGI_n*F6P_n/Km_F6P_rPGI_n )/ (1.0+G6P_n/Km_G6P_fPGI_n+ F6P_n/Km_F6P_rPGI_n) - # psiPGI_a(G6P_a,F6P_a) = (Vmax_fPGI_a*G6P_a/Km_G6P_fPGI_a - Vmax_rPGI_a*F6P_a/Km_F6P_rPGI_a )/ (1.0+G6P_a/Km_G6P_fPGI_a+ F6P_a/Km_F6P_rPGI_a) - - psiPGI_n(G6P_n,F6P_n) = (Vmax_fPGI_n*(G6P_n/Km_G6P_fPGI_n - 0.9*F6P_n/Km_F6P_rPGI_n) )/ (1.0+G6P_n/Km_G6P_fPGI_n+ F6P_n/Km_F6P_rPGI_n) - psiPGI_a(G6P_a,F6P_a) = (Vmax_fPGI_a*(G6P_a/Km_G6P_fPGI_a - 0.9*F6P_a/Km_F6P_rPGI_a) )/ (1.0+G6P_a/Km_G6P_fPGI_a+ F6P_a/Km_F6P_rPGI_a) - - psiPFK_n(ATP_n,F6P_n) = VmaxPFK_n*(ATP_n/(1+(ATP_n/KiPFK_ATP_na)^nPFKn))*(F6P_n/(F6P_n + KmPFKF6P_n)) -# psiPFK_a(ATP_a,F6P_a,f26bp_a) = VmaxPFK_a*(ATP_a/(1+(ATP_a/KiPFK_ATP_na)^nPFKa))*(F6P_a/(F6P_a + KmPFKF6P_a*(1 - KoPFK_f26bp_a*((f26bp_a^nPFKf26bp_a)/(KmF26BP_PFK_a^nPFKf26bp_a + f26bp_a^nPFKf26bp_a)))))*(f26bp_a/(KmF26BP_PFK_a + f26bp_a)) - psiPFK_a(ATP_a,F6P_a,f26bp_a) = VmaxPFK_a*(ATP_a/(1+(ATP_a/KiPFK_ATP_a)^nPFKa))*(F6P_a/(F6P_a + KmPFKF6P_a*(1 - KoPFK_f26bp_a*((f26bp_a^nPFKf26bp_a)/(KmF26BP_PFK_a^nPFKf26bp_a + f26bp_a^nPFKf26bp_a)))))*(f26bp_a/(KmF26BP_PFK_a + f26bp_a)) - - #psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) = Vmax_PFKII_g*F6P_a*ATP_a*ADP_a / ((F6P_a + Kmf6pPFKII_g)*(ATP_a + KmatpPFKII_g)*(ADP_a + Km_act_adpPFKII_g) ) - (Vmax_f26pase_g*f26bp_a/(f26bp_a + Km_f26bp_f_26pase_g*(1+F6P_a/Ki_f6p_f_26_pase_g))) - psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) = Vmax_PFKII_g*F6P_a*ATP_a*ADP_a / ((F6P_a + Kmf6pPFKII_g)*(ATP_a + KmatpPFKII_g)*(ADP_a + Km_act_adpPFKII_g) ) - (Vmax_PFKII_g*f26bp_a/(f26bp_a + Km_f26bp_f_26pase_g*(1+F6P_a/Ki_f6p_f_26_pase_g))) - - psiALD_n(FBP_n,GAP_n,DHAP_n) = Vmaxald_n*(FBP_n - GAP_n*DHAP_n/Keqald_n)/ ((1 + FBP_n/KmfbpAld_n) + (1 + GAP_n/KmgapAld_n)*(1 + DHAP_n/KmdhapAld_n) -1) - psiALD_a(FBP_a,GAP_a,DHAP_a) = Vmaxald_a*(FBP_a - GAP_a*DHAP_a/Keqald_a)/ ((1 + FBP_a/KmfbpAld_a) + (1 + GAP_a/KmgapAld_a)*(1 + DHAP_a/KmdhapAld_a) -1) - - psiTPI_n(DHAP_n,GAP_n) = Vmaxtpi_n*(DHAP_n-GAP_n/Keqtpi_n)/(1+DHAP_n/KmdhapTPI_n+GAP_n/KmgapTPI_n) - psiTPI_a(DHAP_a,GAP_a) = Vmaxtpi_a*(DHAP_a-GAP_a/Keqtpi_a)/(1+DHAP_a/KmdhapTPI_a+GAP_a/KmgapTPI_a) - - psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) = Vmaxgapdh_n*(NAD_n*GAP_n*Pi_n-BPG13_n*NADH_n/Keqgapdh_na) / ((1+NAD_n/KmnadGpdh_n)*(1+GAP_n/KmGapGapdh_n)*(1+Pi_n/KmpiGpdh_n) + (1+NADH_n/KmnadhGapdh_n)*(1+ BPG13_n/KmBPG13Gapdh_n) -1 ) - psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) = Vmaxgapdh_a*(NAD_a*GAP_a*Pi_a-BPG13_a*NADH_a/Keqgapdh_na) / ((1+NAD_a/KmnadGpdh_a)*(1+GAP_a/KmGapGapdh_a)*(1+Pi_a/KmpiGpdh_a) + (1+NADH_a/KmnadhGapdh_a)*(1+ BPG13_a/KmBPG13Gapdh_a) -1 ) - - psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) = Vmaxpgk_n*(BPG13_n*ADP_n - PG3_n*ATP_n/Keqpgk_na) / ((1+BPG13_n/Kmbpg13pgk_n)*(1+ADP_n/Kmadppgk_n) + (1+PG3_n/Kmpg3pgk_n)*(1+ATP_n/Kmatppgk_n)-1) - psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) = Vmaxpgk_a*(BPG13_a*ADP_a - PG3_a*ATP_a/Keqpgk_na) / ((1+BPG13_a/Kmbpg13pgk_a)*(1+ADP_a/Kmadppgk_a) + (1+PG3_a/Kmpg3pgk_a)*(1+ATP_a/Kmatppgk_a)-1) - - psiPGM_n(PG3_n,PG2_n) = Vmaxpgm_n*(PG3_n-PG2_n/Keqpgm_n) / ((1+PG3_n/Kmpg3pgm_n)+(1+PG2_n/Kmpg2pgm_n)-1) - psiPGM_a(PG3_a,PG2_a) = Vmaxpgm_a*(PG3_a-PG2_a/Keqpgm_a) / ((1+PG3_a/Kmpg3pgm_a)+(1+PG2_a/Kmpg2pgm_a)-1) - - psiENOL_n(PG2_n,PEP_n) = Vmaxenol_n*(PG2_n-PEP_n/Keqenol_n) / ((1+PG2_n/Kmpg2enol_n)+(1+PEP_n/Km_pep_enol_n)-1) - psiENOL_a(PG2_a,PEP_a) = Vmaxenol_a*(PG2_a-PEP_a/Keqenol_a) / ((1+PG2_a/Kmpg2enol_a)+(1+PEP_a/Km_pep_enol_a)-1) - - psiPK_n(PEP_n,ADP_n,ATP_n) = Vmaxpk_n*PEP_n*ADP_n/((PEP_n + Km_pep_pk_n)*(ADP_n + Km_adp_pk_n*(1+ATP_n/Ki_ATP_pk_n))) - psiPK_a(PEP_a,ADP_a,ATP_a) = Vmaxpk_a*PEP_a*ADP_a/((PEP_a + Km_pep_pk_a)*(ADP_a + Km_adp_pk_a*(1+ATP_a/Ki_ATP_pk_a))) - - JLacTr(t,Lac_b) = (2*(C_Lac_a - Lac_b)/eto_b)*(global_par_F_0 * (1+global_par_delta_F*(1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1-3))))-1/(1+exp((-4.59186)*(t-(global_par_t_0+global_par_t_1+global_par_t_fin+3))))))) - MCT1_LAC_b(Lac_b,Lac_ecs) = TbLac*( Lac_b/(Lac_b + KbLac) - Lac_ecs/(Lac_ecs + KbLac) ) - jLac_a(Lac_ecs,Lac_a) = TaLac*( Lac_ecs/(Lac_ecs + Km_Lac_a) - Lac_a/(Lac_a + Km_Lac_a) ) - jLac_n(Lac_ecs,Lac_n) = TnLac*( Lac_ecs/(Lac_ecs + Km_LacTr_n) - Lac_n/(Lac_n + Km_LacTr_n) ) - jLacDiff_e(Lac_ecs) = betaLacDiff*(Lac_ecs0 - Lac_ecs) - - vLACgc(Lac_b,Lac_a) = TMaxLACgc*( Lac_b/(Lac_b+KtLACgc) - Lac_a/(Lac_a+KtLACgc)) # jlv - -# psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) = VmfLDH_a*Pyr_a*NADH_a - VmrLDH_a*Lac_a*NAD_a -# psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) = VmfLDH_n*Pyr_n*NADH_n - VmrLDH_n*Lac_n*NAD_n - psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) = VmfLDH_a*Pyr_a*NADH_a - KeLDH_a*VmfLDH_a*Lac_a*NAD_a - psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) = VmfLDH_n*Pyr_n*NADH_n - KeLDH_n*VmfLDH_n*Lac_n*NAD_n - -# psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) = VmfLDH1_a*( (NADH_a/NAD_a) / (nu_LDH1f_a + (NADH_a/NAD_a)) )*(Pyr_a/(Pyr_a + KmLDH1pyr_a) ) - (VmrLDH1_phase1_a*( (NAD_a/NADH_a) / (nu_LDH1r_a + NAD_a/NADH_a) )*(Lac_a/(Lac_a + KmLDH1lac_phase1_a)) + VmrLDH1_phase2_a*( (NAD_a/NADH_a) / (nu_LDH1r_a + NAD_a/NADH_a) )*(Lac_a/(Lac_a + KmLDH1lac_phase2_a))) - -# #psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) = (VmfLDH5_n*( (NADH_n/NAD_n) / (nu_LDH5f_n + (NADH_n/NAD_n)) )*(Pyr_n/(Pyr_n + KmLDH5pyr_n) ) - (VmrLDH5_phase1_n*( (NAD_n/NADH_n) / (nu_LDH5r_n + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH5lac_phase1_n)) + VmrLDH5_phase2_n*( (NAD_n/NADH_n) / (nu_LDH5r_n + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH5lac_phase2_n)))) + (VmfLDH1_a*( (NADH_n/NAD_n) / (nu_LDH1f_a + (NADH_n/NAD_n)) )*(Pyr_n/(Pyr_n + KmLDH1pyr_a) ) - (VmrLDH1_phase1_a*( (NAD_n/NADH_n) / (nu_LDH1r_a + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH1lac_phase1_a)) + VmrLDH1_phase2_a*( (NAD_n/NADH_n) / (nu_LDH1r_a + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH1lac_phase2_a)))) -# #psiLDH_cyto_n(NADH_n,Pyr_n,NAD_n,Lac_n) = (VmfLDH1_a*( (NADH_n/NAD_n) / (nu_LDH1f_a + (NADH_n/NAD_n)) )*(Pyr_n/(Pyr_n + KmLDH1pyr_a) ) - (VmrLDH1_phase1_a*( (NAD_n/NADH_n) / (nu_LDH1r_a + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH1lac_phase1_a)) + VmrLDH1_phase2_a*( (NAD_n/NADH_n) / (nu_LDH1r_a + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH1lac_phase2_a)))) -# #psiLDH_syn_n(NADH_n,Pyr_n,NAD_n,Lac_n) = (VmfLDH5_n*( (NADH_n/NAD_n) / (nu_LDH5f_n + (NADH_n/NAD_n)) )*(Pyr_n/(Pyr_n + KmLDH5pyr_n) ) - (VmrLDH5_phase1_n*( (NAD_n/NADH_n) / (nu_LDH5r_n + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH5lac_phase1_n)) + VmrLDH5_phase2_n*( (NAD_n/NADH_n) / (nu_LDH5r_n + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH5lac_phase2_n)))) - -# psiLDH_cyto_n(NADH_n,Pyr_n,NAD_n,Lac_n) = (VmfLDH1_n*( (NADH_n/NAD_n) / (nu_LDH1f_n + (NADH_n/NAD_n)) )*(Pyr_n/(Pyr_n + KmLDH1pyr_n) ) - (VmrLDH1_phase1_n*( (NAD_n/NADH_n) / (nu_LDH1r_n + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH1lac_phase1_n)) + VmrLDH1_phase2_n*( (NAD_n/NADH_n) / (nu_LDH1r_n + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH1lac_phase2_n)))) -# psiLDH_syn_n(NADH_n,Pyr_n,NAD_n,Lac_n) = (VmfLDH5_n*( (NADH_n/NAD_n) / (nu_LDH5f_n + (NADH_n/NAD_n)) )*(Pyr_n/(Pyr_n + KmLDH5pyr_n) ) - (VmrLDH5_phase1_n*( (NAD_n/NADH_n) / (nu_LDH5r_n + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH5lac_phase1_n)) + VmrLDH5_phase2_n*( (NAD_n/NADH_n) / (nu_LDH5r_n + NAD_n/NADH_n) )*(Lac_n/(Lac_n + KmLDH5lac_phase2_n)))) - - ############# - # PPP - ############# - # r01 G6PDH: G6P + NADP ⇒ NADPH + GL6P - psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) = VmaxG6PDH_n * (1/(K_G6P_G6PDH_n * K_NADP_G6PDH_n)) * ( (G6P_n*NADP_n - GL6P_n*NADPH_n/KeqG6PDH_n) / ( (1 + G6P_n/K_G6P_G6PDH_n)*(1 + NADP_n/K_NADP_G6PDH_n) + (1 + GL6P_n/K_GL6P_G6PDH_n)*(1 + NADPH_n/K_NADPH_G6PDH_n) - 1 ) ) - psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) = VmaxG6PDH_a * (1/(K_G6P_G6PDH_a * K_NADP_G6PDH_a)) * ( (G6P_a*NADP_a - GL6P_a*NADPH_a/KeqG6PDH_a ) / ( (1 + G6P_a/K_G6P_G6PDH_a) * ( 1 + NADP_a/K_NADP_G6PDH_a ) + (1 + GL6P_a/K_GL6P_G6PDH_a) * (1 + NADPH_a/K_NADPH_G6PDH_a) - 1 ) ) - - # r02 6PGL: GL6P ⇒ GO6P - psi6PGL_n(GL6P_n,GO6P_n) = Vmax6PGL_n*(1/K_GL6P_6PGL_n)*((GL6P_n - GO6P_n/Keq6PGL_n) / ( (1 + GL6P_n/K_GL6P_6PGL_n) + (1 + GO6P_n/K_GO6P_6PGL_n) - 1 )) - psi6PGL_a(GL6P_a,GO6P_a) = Vmax6PGL_a*(1/K_GL6P_6PGL_a)*((GL6P_a - GO6P_a/Keq6PGL_a) / ( (1 + GL6P_a/K_GL6P_6PGL_a) + (1 + GO6P_a/K_GO6P_6PGL_a) - 1 )) - - # r03 6PGDH: NADP_n + GO6P_n ⇒ RU5P_n + NADPH_n - psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) = Vmax6PGDH_n * (1 / (K_GO6P_6PGDH_n * K_NADP_6PGDH_n)) * (GO6P_n*NADP_n - RU5P_n*NADPH_n/Keq6PGDH_n ) / ( (1 + GO6P_n/K_GO6P_6PGDH_n)*(1 + NADP_n/K_NADP_6PGDH_n) + (1 + RU5P_n/K_RU5P_6PGDH_n)*(1 + NADPH_n/K_NADPH_6PGDH_n) - 1 ) - psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) = Vmax6PGDH_a * (1 / (K_GO6P_6PGDH_a * K_NADP_6PGDH_a)) * (GO6P_a*NADP_a - RU5P_a*NADPH_a/Keq6PGDH_a ) / ( (1 + GO6P_a/K_GO6P_6PGDH_a)*(1 + NADP_a/K_NADP_6PGDH_a) + (1 + RU5P_a/K_RU5P_6PGDH_a)*(1 + NADPH_a/K_NADPH_6PGDH_a) - 1 ) - - # r04 RU5P_n ⇒ R5P_n - psiRPI_n(RU5P_n,R5P_n) = VmaxRPI_n * (1/K_RU5P_RPI_n) * (RU5P_n - R5P_n/KeqRPI_n) / ( (1 + RU5P_n/K_RU5P_RPI_n) + (1 + R5P_n/K_R5P_RPI_n) - 1) - psiRPI_a(RU5P_a,R5P_a) = VmaxRPI_a * (1/K_RU5P_RPI_a) * (RU5P_a - R5P_a/KeqRPI_a) / ( (1 + RU5P_a/K_RU5P_RPI_a) + (1 + R5P_a/K_R5P_RPI_a) - 1) - - # r05 RU5P_n ⇒ X5P_n - psiRPEppp_n(RU5P_n,X5P_n) = VmaxRPE_n * (1/K_RU5P_RPE_n) * (RU5P_n - X5P_n/KeqRPE_n) / ((1 + RU5P_n/K_RU5P_RPE_n) + (1 + X5P_n/K_X5P_RPE_n) - 1) - psiRPEppp_a(RU5P_a,X5P_a) = VmaxRPE_a * (1/K_RU5P_RPE_a) * (RU5P_a - X5P_a/KeqRPE_a) / ((1 + RU5P_a/K_RU5P_RPE_a) + (1 + X5P_a/K_X5P_RPE_a) - 1) - - # r06 R5P_n + X5P_n ⇒ S7P_n + GAP_n - psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) = VmaxTKL1_n * (1/(K_X5P_TKL1_n*K_R5P_TKL1_n)) * (X5P_n*R5P_n - GAP_n*S7P_n/KeqTKL1_n) / ( (1 + X5P_n/K_X5P_TKL1_n)*(1 + R5P_n/K_R5P_TKL1_n) + (1 + GAP_n/K_GAP_TKL1_n)*(1 + S7P_n/K_S7P_TKL1_n) - 1 ) - psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) = VmaxTKL1_a * (1/(K_X5P_TKL1_a*K_R5P_TKL1_a)) * (X5P_a*R5P_a - GAP_a*S7P_a/KeqTKL1_a) / ( (1 + X5P_a/K_X5P_TKL1_a)*(1 + R5P_a/K_R5P_TKL1_a) + (1 + GAP_a/K_GAP_TKL1_a)*(1 + S7P_a/K_S7P_TKL1_a) - 1 ) - - # r07 F6P_n + GAP_n ⇒ X5P_n + E4P_n - psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) = VmaxTKL2_n * (1/(K_F6P_TKL2_n*K_GAP_TKL2_n)) * (F6P_n*GAP_n - X5P_n*E4P_n/KeqTKL2_n) / ( (1 + F6P_n/K_F6P_TKL2_n)*(1 + GAP_n/K_GAP_TKL2_n) + (1 + X5P_n/K_X5P_TKL2_n)*(1 + E4P_n/K_E4P_TKL2_n) - 1) - psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) = VmaxTKL2_a * (1/(K_F6P_TKL2_a*K_GAP_TKL2_a)) * (F6P_a*GAP_a - X5P_a*E4P_a/KeqTKL2_a) / ( (1 + F6P_a/K_F6P_TKL2_a)*(1 + GAP_a/K_GAP_TKL2_a) + (1 + X5P_a/K_X5P_TKL2_a)*(1 + E4P_a/K_E4P_TKL2_a) - 1) - - # r08 S7P_n + GAP_n ⇒ E4P_n + F6P_n - psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) = VmaxTAL_n*(1/(K_GAP_TAL_n*K_S7P_TAL_n)) * (GAP_n*S7P_n - F6P_n*E4P_n/KeqTAL_n) / ( (1 + GAP_n/K_GAP_TAL_n)*(1 + S7P_n/K_S7P_TAL_n) + (1 + F6P_n/K_F6P_TAL_n)*(1 + E4P_n/K_E4P_TAL_n) - 1) - psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) = VmaxTAL_a*(1/(K_GAP_TAL_a*K_S7P_TAL_a)) * (GAP_a*S7P_a - F6P_a*E4P_a/KeqTAL_a) / ( (1 + GAP_a/K_GAP_TAL_a)*(1 + S7P_a/K_S7P_TAL_a) + (1 + F6P_a/K_F6P_TAL_a)*(1 + E4P_a/K_E4P_TAL_a) - 1) - - psiNADPHox_n(NADPH_n) = k1NADPHox_n*NADPH_n - psiNADPHox_a(NADPH_a) = k1NADPHox_a*NADPH_a - - ########### - # GSH - ########### - psiGSSGR_n(GSSG_n,NADPH_n) = (Vmf_GSSGR_n*GSSG_n*NADPH_n) / ( ( KmGSSGRGSSG_n + GSSG_n )*( KmGSSGRNADPH_n + NADPH_n ) ) # GSSG_n + NADPH_n ⇒ 2GSH_n + NADP_n - psiGSSGR_a(GSSG_a,NADPH_a) = (Vmf_GSSGR_a*GSSG_a*NADPH_a ) / ( ( KmGSSGRGSSG_a + GSSG_a )*( KmGSSGRNADPH_a + NADPH_a ) ) # GSSG_a + NADPH_a ⇒ 2GSH_a + NADP_a - psiGPX_n(GSH_n) = V_GPX_n * GSH_n / (GSH_n + KmGPXGSH_n) - psiGPX_a(GSH_a) = V_GPX_a * GSH_a / (GSH_a + KmGPXGSH_a) - - glutathioneSyntase_n(GSH_n) = VmaxGSHsyn_n*GSH_n/(GSH_n + KmGSHsyn_n) - glutathioneSyntase_a(GSH_a) = VmaxGSHsyn_a*GSH_a/(GSH_a + KmGSHsyn_a) - - ############ - # ATDMP -# psiADK_n(ATP_n,AMP_n,ADP_n) = ((Vmaxfadk_n*(ATP_n*AMP_n)/(KmATPADK_n*KmAMPADK_n) - (((Vmaxfadk_n*(KmADPADK_n^2)) / (KmATPADK_n*KmAMPADK_n*KeqADK_n))*(((ADP_n)^2)/(KmADPADK_n^2)))) / (1 + ATP_n/KmATPADK_n + AMP_n/KmAMPADK_n + (ATP_n*AMP_n)/(KmATPADK_n*KmAMPADK_n) + (2*ADP_n)/KmADPADK_n + ((ADP_n)^2)/(KmADPADK_n^2))) -# psiADK_a(ATP_a,AMP_a,ADP_a) = ((Vmaxfadk_a*(ATP_a*AMP_a)/(KmATPADK_a*KmAMPADK_a) - (((Vmaxfadk_a*(KmADPADK_a^2)) / (KmATPADK_a*KmAMPADK_a*KeqADK_a))*(((ADP_a)^2)/(KmADPADK_a^2)))) / (1 + ATP_a/KmATPADK_a + AMP_a/KmAMPADK_a + (ATP_a*AMP_a)/(KmATPADK_a*KmAMPADK_a) + (2*ADP_a)/KmADPADK_a + ((ADP_a)^2)/(KmADPADK_a^2))) - # psiAC_a(ATP_a,cAMP_a,PPi_a) = ((VmaxfAC_a*ATP_a/(KmACATP_a*(1+cAMP_a/KicAMPAC_a)) - VmaxrAC_a*cAMP_a*PPi_a/(KmpiAC_a*KmcAMPAC_a))/(1 + ATP_a/(KmACATP_a*(1+cAMP_a/KicAMPAC_a) )+ cAMP_a/KmcAMPAC_a + (cAMP_a*PPi_a)/(KmcAMPAC_a*KmpiAC_a) + PPi_a/KmpiAC_a)) - # psiAC_a(ATP_a,cAMP_a,Pi_a) = ((VmaxfAC_a*ATP_a/(KmACATP_a*(1+cAMP_a/KicAMPAC_a)) - VmaxrAC_a*cAMP_a*Pi_a/(KmpiAC_a*KmcAMPAC_a))/(1 + ATP_a/(KmACATP_a*(1+cAMP_a/KicAMPAC_a) )+ cAMP_a/KmcAMPAC_a + (cAMP_a*Pi_a)/(KmcAMPAC_a*KmpiAC_a) + Pi_a/KmpiAC_a)) # Pi_a instead of PPi_a as approx - psiAC_a(ATP_a,cAMP_a) = ((VmaxfAC_a*ATP_a/(KmACATP_a*(1+cAMP_a/KicAMPAC_a)) - VmaxrAC_a*cAMP_a/(KmpiAC_a*KmcAMPAC_a))/(1 + ATP_a/(KmACATP_a*(1+cAMP_a/KicAMPAC_a) )+ cAMP_a/KmcAMPAC_a )) # Pi_a instead of PPi_a as approx - - - # Calv - # psiCrKinase_n(Cr_n,ATP_n,ADP_n,PCr_n) = V_Cr_n * (Cr_n / (Cr_n + Km_Cr_n)) * ( (ATP_n/ADP_n)/ ( mu_Cr_n + ATP_n/ADP_n )) - ( V_PCr_n * (PCr_n / (PCr_n + Km_PCr_n)) * ( ADP_n/ATP_n ) / ( mu_PCr_n + ADP_n/ATP_n ) ) - # psiCrKinase_a(Cr_a,ATP_a,ADP_a,PCr_a) = V_Cr_a * (Cr_a / (Cr_a + Km_Cr_a)) * ( (ATP_a/ADP_a) / ( mu_Cr_a + ATP_a/ADP_a )) - (V_PCr_a * (PCr_a / (PCr_a + Km_PCr_a)) * ( ADP_a/ATP_a ) / ( mu_PCr_a + ADP_a/ATP_a )) - #Jlv - psiCrKinase_n(PCr_n,ATP_n,ADP_n) = kCKnps*PCr_n*ADP_n - KeqCKnpms*kCKnps*(Crtot - PCr_n)*ATP_n # kCKnps*PCr_n*ADP_n - kCKnms*(Crtot - PCr_n)*ATP_n - psiCrKinase_a(PCr_a,ATP_a,ADP_a) = kCKgps*PCr_a*ADP_a - KeqCKgpms*kCKgps*(Crtot - PCr_a)*ATP_a # kCKgps*PCr_a*ADP_a - kCKgms*(Crtot - PCr_a)*ATP_a - - ############ - # PyrTr - psiPYRtrcyt2mito_n(Pyr_n,PYRmito_n,C_H_mitomatr_n) = Vmax_PYRtrcyt2mito_nH*(Pyr_n*C_H_cyt_n - PYRmito_n*C_H_mitomatr_n)/((1.0+Pyr_n/KmPyrCytTr_n)*(1.0+PYRmito_n/KmPyrMitoTr_n)) - psiPYRtrcyt2mito_a(Pyr_a,PYRmito_a,C_H_mitomatr_a) = Vmax_PYRtrcyt2mito_aH*(Pyr_a*C_H_cyt_a - PYRmito_a*C_H_mitomatr_a)/((1.0+Pyr_a/KmPyrCytTr_a)*(1.0+PYRmito_a/KmPyrMitoTr_a)) - - ######### - # ephys - V = VNeu - rTRPVsinf = vV - Glutamate_syn = GLUT_syn # = Glutamate_syn #u[12] == u[144] ################# - - alpham = -0.1*(V+33)/(exp(-0.1*(V+33))-1) #-0.32*(V - V_T - 13.0)/(exp(-(V - V_T -13.0)/4.0) - 1.0) #0.1*(V+30.0)/(1.0-exp(-0.1*(V+30.0))) - betam = 4*exp(-(V+58)/12) #0.28*(V - V_T - 40.0)/( exp((V - V_T - 40.0)/5.0) -1.0) #4.0*exp(-(V+55.0)/18.0) - - alphah = 0.07*exp(-(V+50)/10) #0.128*exp(-(V - V_T - 17.0)/18.0) #0.07*exp(-(V+44.0)/20.0) - betah = 1/(exp(-0.1*(V+20))+1) #4.0/(1.0 + exp(-(V - V_T - 40.0)/5.0)) #1.0/(1.0+exp(-0.1*(V+14.0))) - - alphan = -0.01*(V+34)/(exp(-0.1*(V+34))-1) #-0.032*(V - V_T - 15.0)/(exp(-(V - V_T - 15.0)/5.0) -1.0) #0.01*(V+34.0)/(1.0-exp(-0.1*(V+34.0))) - betan = 0.125*exp(-(V+44)/25) #0.5*exp(- (V - V_T - 10.0)/40.0 ) #0.125*exp(-(V+44.0)/80.0) - - minf = alpham/(alpham+betam); ninf = alphan/(alphan+betan); hinf = alphah/(alphah+betah); taun = 1/(alphan+betan)*1e-03; tauh = 1/(alphah+betah)*1e-03; - p_inf = 1.0/(1.0 + exp(-(V + 35.0)/10.0)); tau_p = tau_max/ ( 3.3*exp((V+35.0)/20.0) + exp(-(V+35.0)/20.0) ) - - K_n = K_n_Rest + (Na_n_Rest - Na_n) - EK = RTF*log(K_out/K_n) - EL = gKpas*EK/(gKpas+gNan) + gNan/(gKpas+gNan)*RTF*log(Na_out/Na_n); - IL = gL*(V-EL); - INa = gNa*minf^3*h*(V-RTF*log(Na_out/Na_n)); - IK = gK*n^4*(V-EK); - mCa = 1/(1+exp(-(V+20)/9)); - ICa = gCa*mCa^2*(V-ECa); - ImAHP = gmAHP*Ca_n/(Ca_n+KD)*(V-EK); - IM = g_M * pgate * (V - EK) # not Jlv, enzymes/enzymes_preBigg/gen_mix.ipynb - - dIPump = F*kPumpn*ATP_n*(Na_n-Na_n0)/(1+ATP_n/KmPump); - dIPump_a = F*kPumpg*ATP_a*(Na_a-Na_a0)/(1+ATP_a/KmPump) - - Isyne = -synInput*(V-Ee); - Isyni = 0 # -InhibitoryConductance(t+TIME,t1,tstim)*(V-Ei); - - vnstim = SmVn/F*(2/3*Isyne-INa); - vgstim = SmVg/F*2/3*glia*synInput; - vLeakNan = SmVn*gNan/F*(RTF*log(Na_out/Na_n)-V); - vLeakNag = SmVg*gNag/F*(RTF*log(Na_out/Na_a)-V); - vPumpn = SmVn*kPumpn*ATP_n*Na_n/(1+ATP_n/KmPump); # #JpumpNa = ((ATP_n/ADP_n)/(mu_pump_ephys + (ATP_n/ADP_n))) * ImaxNKApump * (( 1/(1 + Kout_alpha/K_out))^2) * (( 1/(1 + Na_in_alpha/Na_n))^3) # doi:10.1152/jn.00460.2014 - vPumpg = SmVg*kPumpg*ATP_a*Na_a/(1+ATP_a/KmPump); - JgliaK = ((ATP_a/ADP_a)/(mu_glia_ephys + (ATP_a/ADP_a))) * (glia_c/(1+exp((Na_n2_baseNKA - K_out)/2.5))) - JdiffK = epsilon*(K_out - kbath) - - nBKinf = 0.5*( 1 + tanh( (Va + EETshift*EET_a - (-0.5*v5BK*tanh((Ca_a - Ca3BK)/Ca4BK ) + v6BK) )/v4BK ) ) - IBK = gBK*nBK_a*(Va - EBK) - - #INaK_a = -0.5*(ImaxNaKa*( K_out/(K_out + INaKaKThr) )*( (Na_a^1.5)/(Na_a^1.5 + INaKaNaThr^1.5) ) ) - JNaK_a = (ImaxNaKa*( K_out/(K_out + INaKaKThr) )*( (Na_a^1.5)/(Na_a^1.5 + INaKaNaThr^1.5) ) ) - - IKirAS = gKirS*(K_out^0.5)*(Va - VKirS*log(K_out/K_a)) - IKirAV = gKirV*(K_out^0.5)*(Va - VKirAV*log(K_out/K_a)) - IleakA = gleakA*(Va - VleakA) - - Ileak_CaER_a = Pleak_CaER_a*(1. - Ca_a/Ca_r_a) - ICa_pump_a = VCa_pump_a*((Ca_a^2)/(Ca_a^2 + KpCa_pump_a^2 )) - IIP3_a = ImaxIP3_a*( ( ( IP3_a/(IP3_a + KIIP3_a) )*( Ca_a/(Ca_a + KCaactIP3_a) )*hIP3Ca_a )^3 )*(1. - Ca_a/Ca_r_a) - ITRP_a = gTRP*(Va - VTRP)*sTRP_a - sinfTRPV = (1/(1 + exp( -(((rTRPVsinf^(1/3)-r0TRPVsinf^(1/3))/r0TRPVsinf^(1/3)) - e2TRPVsinf^(1/3))/kTRPVsinf )))*( (1/(1+ Ca_a/gammaCaaTRPVsinf + Ca_perivasc/gammaCapTRPVsinf ))*( Ca_a/gammaCaaTRPVsinf + Ca_perivasc/gammaCapTRPVsinf + tanh((Va - v1TRPsinf_a)/v2TRPsinf_a ) ) ) - - # Jolivet2015 NADH shuttles cyto-mito - vShuttlen(NADH_n,NADHmito_n) = TnNADH_jlv*(NADH_n/(0.212-NADH_n))/(MnCyto_jlv+(NADH_n/(0.212-NADH_n)))*((1000*NADtot-NADHmito_n)/NADHmito_n)/(MnMito_jlv+((1000*NADtot-NADHmito_n)/NADHmito_n)) - vShuttleg(NADH_a,NADHmito_a) = TgNADH_jlv*(NADH_a/(0.212-NADH_a))/(MgCyto_jlv+(NADH_a/(0.212-NADH_a)))*((1000*NADtot-NADHmito_a)/NADHmito_a )/(MgMito_jlv+((1000*NADtot-NADHmito_a)/NADHmito_a )) - - # Jolivet2015 mito -# vMitooutn(O2_n,ADPmito_n,NADHmito_n) = VrespMitoout_n*O2_n/(O2_n+KO2MitoResp)*ADPmito_n/(ADPmito_n+KRespADP_n)*NADHmito_n/(NADHmito_n + KRespNADH_n) -# vMitooutg(O2_a,ADPmito_a,NADHmito_a) = VrespMitoout_a*O2_a/(O2_a+KO2MitoResp)*ADPmito_a/(ADPmito_a+KRespADP_a)*NADHmito_a/(NADHmito_a + KRespNADH_a) - - # vMitooutn(O2_n,ADP_i_n,NADHmito_n) = VrespMitoout_n*O2_n/(O2_n+KO2MitoResp)*ADP_i_n/(ADP_i_n+KRespADP_n)*NADHmito_n/(NADHmito_n + KRespNADH_n) - # vMitooutg(O2_a,ADP_i_a,NADHmito_a) = VrespMitoout_a*O2_a/(O2_a+KO2MitoResp)*ADP_i_a/(ADP_i_a+KRespADP_a)*NADHmito_a/(NADHmito_a + KRespNADH_a) - - - - # Calvetti - vMitooutn(O2_n,ATP_i_n,ADP_i_n,NADHmito_n,NADmito_n) = V_oxphos_n * ((1/(ATP_i_n/ADP_i_n)) / ( mu_oxphos_n + (1/(ATP_i_n/ADP_i_n)) )) * ((NADHmito_n/NADmito_n) / (nu_oxphos_n + (NADHmito_n/NADmito_n)) ) * (O2_n / (O2_n + K_oxphos_n)) - vMitooutg(O2_a,ATP_i_a,ADP_i_a,NADHmito_a,NADmito_a) = V_oxphos_a * ((1/(ATP_i_a/ADP_i_a)) / ( mu_oxphos_a + (1/(ATP_i_a/ADP_i_a)) )) * ((NADHmito_a/NADmito_a) / (nu_oxphos_a + (NADHmito_a/NADmito_a)) ) * (O2_a / (O2_a + K_oxphos_a)) - - -# vMitoinn(Pyr_n,NADHmito_n) = VMaxMitoinn*Pyr_n/(Pyr_n+KmMito)*(0.212-NADHmito_n)/(0.212-NADHmito_n+KmNADn_jlv); -# vMitoing(Pyr_a,NADHmito_a) = VMaxMitoing*Pyr_a/(Pyr_a+KmMito)*(0.212-NADHmito_a)/(0.212-NADHmito_a+KmNADg_jlv); - - vMitoinn(PYRmito_n,NADHmito_n) = VMaxMitoinn*PYRmito_n/(PYRmito_n+KmMito)*(1000*NADtot-NADHmito_n)/(1000*NADtot-NADHmito_n+KmNADn_jlv); - vMitoing(PYRmito_a,NADHmito_a) = VMaxMitoing*PYRmito_a/(PYRmito_a+KmMito_a)*(1000*NADtot-NADHmito_a)/(1000*NADtot-NADHmito_a+KmNADg_jlv); - - du[1] = 0 #0.5*T2Jcorrection*(1000*x_buff*C_H_mitomatr_nM*( +1*J_DH_n - (4+1)*J_C1_n - (4-2)*J_C3_n - (2+2)*J_C4_n + (n_A-1)*J_F1_n + 2*J_Pi1_n + J_Hle_n - J_KH_n )/W_x) # C_H_mitomatr_nM - du[2] = 0.5*T2Jcorrection*(1000*(J_KH_n + J_K_n)/W_x) # K_x_nM - du[3] = 0.5*T2Jcorrection*(1000*(-J_MgATPx_n - J_MgADPx_n)/W_x) # Mg_x_nM - -# du[4] = 6.96*(vMitoinn(PYRmito_n,NADHmito_n) + vShuttlen(NADH_n,NADHmito_n) - vMitooutn(O2_n,ADPmito_n,NADHmito_n)) #0.5*T2Jcorrection*(1000*(+J_DH_n - J_C1_n)/W_x) # # NADHmito_nM = 1e-3*u[27] - # du[4] = 6.96*(vMitoinn(PYRmito_n,NADHmito_n) + vShuttlen(NADH_n,NADHmito_n) - vMitooutn(O2_n,ADP_i_n,NADHmito_n)) #0.5*T2Jcorrection*(1000*(+J_DH_n - J_C1_n)/W_x) # # NADHmito_nM = 1e-3*u[27] - du[4] = 6.96*(vMitoinn(PYRmito_n,NADHmito_n) + vShuttlen(NADH_n,NADHmito_n) - vMitooutn(O2_n,ATP_i_n,ADP_i_n,NADHmito_n,NADmito_n)) #0.5*T2Jcorrection*(1000*(+J_DH_n - J_C1_n)/W_x) # # NADHmito_nM = 1e-3*u[27] - - - du[5] = 0.5*T2Jcorrection*(1000*(+J_C1_n - J_C3_n)/W_x) # QH2mito_nM # Reduced ubiquinol in matrix - du[6] = 0.5*T2Jcorrection*(1000*(+2*J_C3_n - 2*J_C4_n)/W_i) # CytCredmito_nM - - # du[7] = JO2fromCap2n(O2cap,O2_n) - 0.6*vMitooutn(O2_n,ADPmito_n,NADHmito_n) #- 0.5*T2Jcorrection*1000*J_C4_n/W_x #- 0.6*vMitooutn(O2_n,ADPmito_n,NADHmito_n) #- 0.4*1000*J_C4_n # 1000*J_C4_n because J_C4_n in M/s #- 0.6*vMitooutn(O2_n,ADP_n,NADHmito_n) # O2_n # O2 stays constant in Theurey2019 - # du[7] = JO2fromCap2n(O2cap,O2_n) - 0.6*vMitooutn(O2_n,ADP_i_n,NADHmito_n) #- 0.5*T2Jcorrection*1000*J_C4_n/W_x #- 0.6*vMitooutn(O2_n,ADPmito_n,NADHmito_n) #- 0.4*1000*J_C4_n # 1000*J_C4_n because J_C4_n in M/s #- 0.6*vMitooutn(O2_n,ADP_n,NADHmito_n) # O2_n # O2 stays constant in Theurey2019 - du[7] = JO2fromCap2n(O2cap,O2_n) - 0.6*vMitooutn(O2_n,ATP_i_n,ADP_i_n,NADHmito_n,NADmito_n) #- 0.5*T2Jcorrection*1000*J_C4_n/W_x #- 0.6*vMitooutn(O2_n,ADPmito_n,NADHmito_n) #- 0.4*1000*J_C4_n # 1000*J_C4_n because J_C4_n in M/s #- 0.6*vMitooutn(O2_n,ADP_n,NADHmito_n) # O2_n # O2 stays constant in Theurey2019 - - - du[8] = 0.5*T2Jcorrection*(1000*(+J_F1_n - J_ANT_n)/W_x) # ATPmito_nM - du[9] = 0.5*T2Jcorrection*(1000*(-J_F1_n + J_ANT_n)/W_x) # ADPmito_nM - - du[10] = 0.5*T2Jcorrection*(1000*(J_MgATPx_n)/W_x) # ATP_mx_nM - du[11] = 0.5*T2Jcorrection*(1000*(J_MgADPx_n)/W_x) # ADP_mx_nM - - du[12] = 0.5*T2Jcorrection*(1000*(-J_F1_n + J_Pi1_n )/W_x) # Pimito_nM - - du[13] = 0.5*T2Jcorrection*(1000*(+J_ATP_n + J_ANT_n + J_AKi_n )/W_i) # ATP_i_nM - du[14] = 0.5*T2Jcorrection*(1000*(+J_ADP_n - J_ANT_n - 2*J_AKi_n )/W_i) # ADP_i_nM - du[15] = 0.5*T2Jcorrection*(1000*(+J_AMP_n + J_AKi_n)/W_i) # AMP_i_nM - - du[16] = 0.5*T2Jcorrection*(1000*(J_MgATPi_n)/W_i) # ATP_mi_nM - du[17] = 0.5*T2Jcorrection*(1000*(J_MgADPi_n)/W_i) # ADP_mi_nM - du[18] = 0.5*T2Jcorrection*(1000*(-J_Pi1_n + J_Pi2_n )/W_i) # Pi_i_nM - - du[19] = 0.5*T2Jcorrection*( 4*J_C1_n + 2*J_C3_n + 4*J_C4_n - n_A*J_F1_n - J_ANT_n - J_Hle_n - J_K_n )/CIM #MOD MitoMembrPotent_n - - du[20] = 0 # Cytochrome-c loss with half time t12cyto (used in Huber 2011) - du[21] = 0 # Cleavage of complex I/II total (used in Huber 2011) - - du[22] = 0 #0.5*T2Jcorrection*(1000*(- J_DH_n +(4+1)*J_C1_n + (4-2)*J_C3_n + (2+2)*J_C4_n - (n_A-1)*J_F1_n - 2*J_Pi1_n - J_Hle_n + J_KH_n + J_Ht_n)/W_i) # C_H_ims_nM - - du[23] = (psiCrKinase_n(PCr_n,ATP_n,ADP_n) + 0.5*(1/6.96)*1000*(-J_ATP_n) - psiHK_n(Glc_n,ATP_n,G6P_n) - psiPFK_n(ATP_n,F6P_n) + psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) + psiPK_n(PEP_n,ADP_n,ATP_n) - 0.15*vPumpn - vATPasesn )/(1-dAMPdATPn) - - du[24] = 0 # see above calc from ATP as in Jlv #0.5*T2Jcorrection*(1000*(-J_ADP_n + J_ATPK_n)/W_c) # - psiCrKinase_n(PCr_n,ATP_n,ADP_n) + 1000*(-J_ADP_n)/W_c + psiHK_n(Glc_n,ATP_n,G6P_n) + psiPFK_n(ATP_n,F6P_n) - psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) - psiPK_n(PEP_n,ADP_n,Pyr_n,ATP_n) + psiADK_n(ATP_n,AMP_n,ADP_n) + vATPasesn + vPumpn # ADP_n - - du[25] = T2Jcorrection*(0.5*1000*J_DH_n/W_x - psiFUM_n(FUMmito_n,MALmito_n)) # FUMmito_n - - du[26] = T2Jcorrection*(psiFUM_n(FUMmito_n,MALmito_n) - psiMDH_n(MALmito_n,NADmito_n,OXAmito_n,NADHmito_n) ) + 6.96*psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n) # MALmito_n - - du[27] = T2Jcorrection*(psiMDH_n(MALmito_n,NADmito_n,OXAmito_n,NADHmito_n) - psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) ) + psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) # OXAmito_n - - du[28] = T2Jcorrection*(0.5*psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) - 0.5*1000*J_DH_n/W_x ) + 0.5*T2Jcorrection*SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) # SUCmito_n - du[29] = 0.5*T2Jcorrection*(psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) - psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) ) - 0.5*T2Jcorrection*SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) # SUCCOAmito_n - - # CoAmito_n - du[30] = T2Jcorrection*(psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) - psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) - 0.5*psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n) + 0.5*psiSCS_n(Pimito_n,SUCCOAmito_n,ADPmito_n,SUCmito_n,CoAmito_n,ATPmito_n) - 0.5*thiolase_n(CoAmito_n,AcAcCoA_n)) # CoAmito_n - - du[31] = 0.5*T2Jcorrection*(psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n) - psiKGDH_n(ADPmito_n,ATPmito_n,CaMito_n,AKGmito_n,NADHmito_n,NADmito_n,CoAmito_n,SUCCOAmito_n)) - psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) - psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n) # AKGmito_n - - du[32] = 0 # CaMito_n - du[33] = 0.5*T2Jcorrection*(psiACO_n(CITmito_n,ISOCITmito_n) - psiIDH_n(ISOCITmito_n,NADmito_n,NADHmito_n)) # ISOCITmito_n - du[34] = T2Jcorrection*(psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) - 0.5*psiACO_n(CITmito_n,ISOCITmito_n)) # CITmito_n - - #du[35] = T2Jcorrection*(psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) - psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) ) + 0.5*T2Jcorrection*thiolase_n(CoAmito_n,AcAcCoA_n) # AcCoAmito_n - du[35] = T2Jcorrection*(psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) - psiCS_n(OXAmito_n,CITmito_n,AcCoAmito_n,CoAmito_n) ) + T2Jcorrection*thiolase_n(CoAmito_n,AcAcCoA_n) # AcCoAmito_n - - du[36] = 0.5*T2Jcorrection*(bHBDH_n(NADmito_n,NADHmito_n,bHB_n,AcAc_n) - SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n)) # AcAc_n - du[37] = 0.5*T2Jcorrection*(SCOT_n(SUCCOAmito_n,AcAc_n,AcAcCoA_n,SUCmito_n) - thiolase_n(CoAmito_n,AcAcCoA_n)) # AcAcCoA_n - - # PYRmito_n - du[38] = 6.96*psiPYRtrcyt2mito_n(Pyr_n,PYRmito_n,C_H_mitomatr_n) - T2Jcorrection*psiPDH_n(PYRmito_n,NADmito_n,CoAmito_n) # PYRmito_n - - du[39] = 0.44*MCT2_bHB_n(bHB_ecs,bHB_n) - bHBDH_n(NADmito_n,NADHmito_n,bHB_n,AcAc_n) # bHB_n - du[40] = 0.0275*MCT1_bHB_b(bHB_b,bHB_ecs) - MCT2_bHB_n(bHB_ecs,bHB_n) - MCT1_bHB_a(bHB_ecs,bHB_a) # bHB_ecs - du[41] = 0 # bHB_a fixed - du[42] = JbHBTrArtCap(t,bHB_b) - MCT1_bHB_b(bHB_b,bHB_ecs) # bHB_b - - - - du[43] = 0 #0.5*T2Jcorrection*(- psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) - psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) ) # ASPmito_n - du[44] = 0 #0.5*T2Jcorrection*(- psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) + 0.14375*psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n)) # ASP_n # 0.14375 is volumes scaling mito/cyto - - du[45] = 0.5*T2Jcorrection*(psiAAT_n(ASPmito_n,AKGmito_n,OXAmito_n,GLUmito_n) + 6.96*psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) + psiGLS_n(GLN_n,GLUmito_n)) # GLUmito_n - - du[46] = 0 #0.5*T2Jcorrection*(- psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) - psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n)) # MAL_n - du[47] = 0 #0.5*T2Jcorrection*( psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) + psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n)) # OXA_n - du[48] = 0 #0.5*T2Jcorrection*(- psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) + 0.14375*psiMAKGC_n(MAL_n,AKGmito_n,MALmito_n,AKG_n)) # AKG_n # 0.14375 is volumes scaling mito/cyto - - # GLU_n - du[49] = psiCAAT_n(ASP_n,AKG_n,OXA_n,GLU_n) - psiAGC_n(ASPmito_n,GLU_n,ASP_n,GLUmito_n,MitoMembrPotent_n) # -synRelease # set in CB for syn release # GLU_n - - #NADH_n - du[50] = psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) - psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) - vShuttlen(NADH_n,NADHmito_n) #psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) - 0.1*psiLDH_syn_n(NADH_n,Pyr_n,NAD_n,Lac_n) - 0.9*psiLDH_cyto_n(NADH_n,Pyr_n,NAD_n,Lac_n) - vShuttlen(NADH_n,NADHmito_n) #+ psicMDH_n(MAL_n,NAD_n,OXA_n,NADH_n) # NADH_n - - ########## - # a - du[51] = 0 #0.5*T2Jcorrection*(1000*x_buff*C_H_mitomatr_aM*( +1*J_DH_a - (4+1)*J_C1_a - (4-2)*J_C3_a - (2+2)*J_C4_a + (n_A-1)*J_F1_a + 2*J_Pi1_a + J_Hle_a - J_KH_a )/W_x) # C_H_mitomatr_aM - du[52] = 0.5*T2Jcorrection*(1000*(J_KH_a + J_K_a)/W_x) # K_x_aM - du[53] = 0.5*T2Jcorrection*(1000*(-J_MgATPx_a - J_MgADPx_a)/W_x) # Mg_x_aM - - # NADHmito_a -# du[54] = 6.96*(vMitoing(PYRmito_a,NADHmito_a) + vShuttleg(NADH_a,NADHmito_a) - vMitooutg(O2_a,ADPmito_a,NADHmito_a)) #0.5*T2Jcorrection*(1000*(+J_DH_a - J_C1_a)/W_x) # NADH NADHmito_aM = 1e-3*u[27] - # du[54] = 6.96*(vMitoing(PYRmito_a,NADHmito_a) + vShuttleg(NADH_a,NADHmito_a) - vMitooutg(O2_a,ADP_i_a,NADHmito_a)) #0.5*T2Jcorrection*(1000*(+J_DH_a - J_C1_a)/W_x) # NADH NADHmito_aM = 1e-3*u[27] - du[54] = 6.96*(vMitoing(PYRmito_a,NADHmito_a) + vShuttleg(NADH_a,NADHmito_a) - vMitooutg(O2_a,ATP_i_a,ADP_i_a,NADHmito_a,NADmito_a)) #0.5*T2Jcorrection*(1000*(+J_DH_a - J_C1_a)/W_x) # NADH NADHmito_aM = 1e-3*u[27] - - du[55] = 0.5*T2Jcorrection*(1000*(+J_C1_a - J_C3_a)/W_x) # QH2mito_aM # Reduced ubiquinol in matrix - - du[56] = 0.5*T2Jcorrection*(1000*(+2*J_C3_a - 2*J_C4_a)/W_i) # CytCredmito_aM - - # du[57] = JO2fromCap2a(O2cap,O2_a) - 0.6*vMitooutg(O2_a,ADPmito_a,NADHmito_a) #JO2fromCap2a(O2cap,O2_a) - 0.5*T2Jcorrection*1000*J_C4_a/W_x # - 0.6*vMitooutg(O2_a,ADP_a,NADHmito_a) #- 0.3*1000*J_C4_a # 1000*J_C4_a because J_C4_a in M/s #- 0.6*vMitooutg(O2_a,ADP_a,NADHmito_a) # O2_a # O2 stays constant in Theurey2019 - # du[57] = JO2fromCap2a(O2cap,O2_a) - 0.6*vMitooutg(O2_a,ADP_i_a,NADHmito_a) #JO2fromCap2a(O2cap,O2_a) - 0.5*T2Jcorrection*1000*J_C4_a/W_x # - 0.6*vMitooutg(O2_a,ADP_a,NADHmito_a) #- 0.3*1000*J_C4_a # 1000*J_C4_a because J_C4_a in M/s #- 0.6*vMitooutg(O2_a,ADP_a,NADHmito_a) # O2_a # O2 stays constant in Theurey2019 - du[57] = JO2fromCap2a(O2cap,O2_a) - 0.6*vMitooutg(O2_a,ATP_i_a,ADP_i_a,NADHmito_a,NADmito_a) #JO2fromCap2a(O2cap,O2_a) - 0.5*T2Jcorrection*1000*J_C4_a/W_x # - 0.6*vMitooutg(O2_a,ADP_a,NADHmito_a) #- 0.3*1000*J_C4_a # 1000*J_C4_a because J_C4_a in M/s #- 0.6*vMitooutg(O2_a,ADP_a,NADHmito_a) # O2_a # O2 stays constant in Theurey2019 - - - - du[58] = 0.5*T2Jcorrection*(1000*(+J_F1_a - J_ANT_a)/W_x) # ATPmito_aM - du[59] = 0.5*T2Jcorrection*(1000*(-J_F1_a + J_ANT_a)/W_x) # ADPmito_aM - - du[60] = 0.5*T2Jcorrection*(1000*(J_MgATPx_a)/W_x) # ATP_mx_aM - du[61] = 0.5*T2Jcorrection*(1000*(J_MgADPx_a)/W_x) # ADP_mx_aM - - du[62] = 0.5*T2Jcorrection*(1000*(-J_F1_a + J_Pi1_a )/W_x) # Pimito_aM - - du[63] = 0.5*T2Jcorrection*(1000*(+J_ATP_a + J_ANT_a + J_AKi_a )/W_i) # ATP_i_aM - du[64] = 0.5*T2Jcorrection*(1000*(+J_ADP_a - J_ANT_a - 2*J_AKi_a )/W_i) # ADP_i_aM - du[65] = 0.5*T2Jcorrection*(1000*(+J_AMP_a + J_AKi_a)/W_i) # AMP_i_aM - - du[66] = 0.5*T2Jcorrection*(1000*(J_MgATPi_a)/W_i) # ATP_mi_aM - du[67] = 0.5*T2Jcorrection*(1000*(J_MgADPi_a)/W_i) # ADP_mi_aM - du[68] = 0.5*T2Jcorrection*(1000*(-J_Pi1_a + J_Pi2_a )/W_i) # Pi_i_aM - - du[69] = 0.5*T2Jcorrection*(( 4*J_C1_a + 2*J_C3_a + 4*J_C4_a - n_A*J_F1_a - J_ANT_a - J_Hle_a - J_K_a )/CIM) #MOD MitoMembrPotent_a - - du[70] = 0 # Cytochrome-c loss with half time t12cyto (used in Huber 2011) - du[71] = 0 # Cleavage of complex I/II total (used in Huber 2011) - - du[72] = 0 # 0.5*T2Jcorrection*(1000*(- J_DH_a +(4+1)*J_C1_a + (4-2)*J_C3_a + (2+2)*J_C4_a - (n_A-1)*J_F1_a - 2*J_Pi1_a - J_Hle_a + J_KH_a + J_Ht_a)/W_i) # C_H_ims_aM - - #du[73] = ( psiCrKinase_a(PCr_a,ATP_a,ADP_a) + 0.5*(1/6.96)*1000*(-J_ATP_a) - psiHK_a(Glc_a,ATP_a,G6P_a) - psiPFK_a(ATP_a,F6P_a,f26bp_a) - psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) + psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) + psiPK_a(PEP_a,ADP_a,ATP_a) -0.15*(7/4)*vPumpg - vATPasesg)/(1-dAMPdATPg) - du[73] = (-(Ca_a/cai0_ca_ion)*(1 + xNEmod*(u[178]/(KdNEmod + u[178])))*psiAC_a(ATP_a,cAMP_a) + psiCrKinase_a(PCr_a,ATP_a,ADP_a) + 0.5*(1/6.96)*1000*(-J_ATP_a) - psiHK_a(Glc_a,ATP_a,G6P_a) - psiPFK_a(ATP_a,F6P_a,f26bp_a) - psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) + psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) + psiPK_a(PEP_a,ADP_a,ATP_a) -0.15*(7/4)*vPumpg - vATPasesg)/(1-dAMPdATPg) - - du[74] = 0 # see above calc from ATP as in Jlv # 0.5*T2Jcorrection*(1000*(-J_ADP_a + J_ATPK_a)/W_c) # -psiCrKinase_a(PCr_a,ATP_a,ADP_a) + 1000*(-J_ADP_a)/W_c + psiHK_a(Glc_a,ATP_a,G6P_a) + psiPFK_a(ATP_a,F6P_a,f26bp_a) + psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) - psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) -psiPK_a(PEP_a,ADP_a,ATP_a) + psiADK_a(ATP_a,AMP_a,ADP_a) + vATPasesg + vPumpg # ADP_a - - du[75] = 0.5*T2Jcorrection*(1000*J_DH_a/W_x - psiFUM_a(FUMmito_a,MALmito_a)) # FUMmito_a - du[76] = 0.5*T2Jcorrection*(psiFUM_a(FUMmito_a,MALmito_a) - psiMDH_a(MALmito_a,NADmito_a,OXAmito_a,NADHmito_a)) # MALmito_a - du[77] = 0.5*T2Jcorrection*(psiMDH_a(MALmito_a,NADmito_a,OXAmito_a,NADHmito_a) - psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) + psiPYRCARB_a(ATPmito_a,ADPmito_a,PYRmito_a,OXAmito_a) ) # OXAmito_a - - du[78] = 0.5*T2Jcorrection*(psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a) - 1000*J_DH_a/W_x) # SUCmito_a - - du[79] = 0.5*T2Jcorrection*(psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) - psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a)) # SUCCOAmito_a - - # CoAmito_a - du[80] = 0.5*T2Jcorrection*(psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) - psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) - psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) + psiSCS_a(Pimito_a,SUCCOAmito_a,ADPmito_a,SUCmito_a,CoAmito_a,ATPmito_a)) # CoAmito_a - - du[81] = 0.5*T2Jcorrection*(psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a) - psiKGDH_a(ADPmito_a,ATPmito_a,CaMito_a,AKGmito_a,NADHmito_a,NADmito_a,CoAmito_a,SUCCOAmito_a) + psiGDH_simplif_a(NADmito_a,GLUT_a,NADHmito_a,AKGmito_a)) # AKGmito_a - du[82] = 0 # CaMito_a - du[83] = 0.5*T2Jcorrection*(psiACO_a(CITmito_a,ISOCITmito_a) - psiIDH_a(ISOCITmito_a,NADmito_a,NADHmito_a)) # ISOCITmito_a - du[84] = 0.5*T2Jcorrection*(psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a) - psiACO_a(CITmito_a,ISOCITmito_a)) # CITmito_a - du[85] = 0.5*T2Jcorrection*(psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) - psiCS_a(OXAmito_a,CITmito_a,AcCoAmito_a,CoAmito_a)) # AcCoAmito_a - - du[86] = 0 # AcAc_a - du[87] = 0 # AcAcCoA_a - - # PYRmito_a - du[88] = 6.96*psiPYRtrcyt2mito_a(Pyr_a,PYRmito_a,C_H_mitomatr_a) - T2Jcorrection*(psiPDH_a(PYRmito_a,NADmito_a,CoAmito_a) + psiPYRCARB_a(ATPmito_a,ADPmito_a,PYRmito_a,OXAmito_a)) # PYRmito_a - - du[89] = T2Jcorrection*(psiSNAT_GLN_n(GLN_out,GLN_n) - psiGLS_n(GLN_n,GLUmito_n)) # GLN_n - du[90] = T2Jcorrection*(- psiSNAT_GLN_n(GLN_out,GLN_n) + psiSNAT_GLN_a(GLN_a,GLN_out)) # GLN_out - du[91] = T2Jcorrection*(- psiSNAT_GLN_a(GLN_a,GLN_out) + psiGLNsynth_a(GLUT_a,ATP_a,ADP_a)) # GLN_a - - du[92] = T2Jcorrection*(0.0266*psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) - psiGLNsynth_a(GLUT_a,ATP_a,ADP_a) - psiGDH_simplif_a(NADmito_a,GLUT_a,NADHmito_a,AKGmito_a)) # GLUT_a # Vol_syn/Vol_astEAAT - - ########## - # ephys - ########## - - du[93] = (1/4e-4)*( -dIPump_a -IBK - IKirAS - IKirAV - IleakA - ITRP_a ) # Va = -90 - du[94] = vLeakNag-3*vPumpg +vgstim # Na_a - du[95] = JNaK_a + ( - IleakA - IBK - IKirAS - IKirAV)/(4e-4*843.0*1000.) - RateDecayK_a*(K_a - K_a0) # W2013 # K_a - - du[96] = SmVn/F*(IK + IM)*(eto_n/eto_ecs) - 2*vPumpn*(eto_n/eto_ecs) - 2*(eto_a/eto_ecs)*vPumpg - JdiffK -( ( - IleakA - IBK - IKirAS - IKirAV)/(4e-4*843.0*1000.)) # K_out - du[97] = 0 # - psiEAAT12(Va,Na_a,GLUT_syn,GLUT_a,K_a,K_out) + synGlutRelease(V) # GLUT_syn == Glutamate_syn set in CB # see u[12] in cyto - - du[98] = 1/Cm*(-IL-INa-IK-ICa-ImAHP-dIPump+Isyne+Isyni - IM + Iinj) # VNeu - du[99] = vLeakNan-3*vPumpn +vnstim # Na_n - - du[100] = phi*(hinf-h)/tauh # h - du[101] = phi*(ninf-n)/taun # n - du[102] = -SmVn/F*ICa-(Ca_n-Ca_n0)/tauCa # Ca_n 2+ - du[103] = phi*(p_inf - pgate)/tau_p # pgate - du[104] = psiBK*cosh( (Va - (-0.5*v5BK*tanh((Ca_a - Ca3BK)/Ca4BK ) + v6BK) ) / ( 2*v4BK ) ) * ( nBKinf - nBK_a) # nBK_a # approx use https://www.cell.com/biophysj/pdfExtended/S0006-3495(13)01032-1 Witthoft 2013 with Ca_n istead of Ca_a - du[105] = 0 # set in CB # mGluRboundRatio_a - - du[106] = rhIP3a*((mGluRboundRatio_a + deltaGlutSyn) / (KGlutSyn + mGluRboundRatio_a + deltaGlutSyn)) - kdegIP3a*IP3_a # IP3_a - du[107] = konhIP3Ca_a*( khIP3Ca_aINH - ( Ca_a + khIP3Ca_aINH)*hIP3Ca_a ) # hIP3Ca_a - du[108] = beta_Ca_a*( IIP3_a - ICa_pump_a + Ileak_CaER_a ) - 0.5*ITRP_a/(4e-4*843.0*1000.) # #S12 # Ca_a - du[109] = 0 # Ca_r_a Ca ER a - du[110] = (Ca_perivasc/tauTRPCa_perivasc)*( sinfTRPV - sTRP_a ) # sTRP_a - - - ############### - # metab cyto - ############### - - du[111] = FinDyn_W2017(t) - Fout_W2017(vV,t) #vV - du[112] = VprodEET_a*(Ca_a - CaMinEET_a) - kdeg_EET_a*EET_a # EET_a - du[113] = JdHbin(O2cap,t) - JdHbout(vV,t,ddHb) # ddHb - du[114] = JO2art2cap(O2cap,t) - (eto_n/eto_b)*JO2fromCap2n(O2cap,O2_n) - (eto_a/eto_b)*JO2fromCap2a(O2cap,O2_a) # O2cap - - du[115] = trGLC_art_cap(t,Glc_b) - JGlc_b(Glc_b,glc_D_ecsEndothelium) # volArt == volCap == 0.0055 # Glc_b - du[116] = 0.32*JGlc_b(Glc_b,glc_D_ecsEndothelium) - JGlc_e2ecsBA(glc_D_ecsEndothelium,Glc_ecsBA) # glc_D_ecsEndothelium == Glc_t_t - du[117] = 1.13*JGlc_e2ecsBA(glc_D_ecsEndothelium,Glc_ecsBA) - JGlc_ecsBA2a(Glc_ecsBA,Glc_a) - JGlc_diffEcs(Glc_ecsBA,Glc_ecsAN) # Glc_ecsBA - du[118] = 0.06*JGlc_ecsBA2a(Glc_ecsBA,Glc_a) - psiHK_a(Glc_a,ATP_a,G6P_a) - JGlc_a2ecsAN(Glc_a,Glc_ecsAN) # Glc_a - - du[119] = 1.35*JGlc_a2ecsAN(Glc_a,Glc_ecsAN) - JGlc_ecsAN2n(Glc_ecsAN,Glc_n) + 0.08*JGlc_diffEcs(Glc_ecsBA,Glc_ecsAN) # Glc_ecsAN - - du[120] = 0.41*JGlc_ecsAN2n(Glc_ecsAN,Glc_n) - psiHK_n(Glc_n,ATP_n,G6P_n) # Glc_n - - du[121] = psiHK_n(Glc_n,ATP_n,G6P_n) - psiPGI_n(G6P_n,F6P_n) - psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) # G6P_n - du[122] = psiHK_a(Glc_a,ATP_a,G6P_a) - psiPGI_a(G6P_a,F6P_a) - psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) + psiPGLM_a(G1P_a,G6P_a) # G6P_a - - du[123] = psiPGI_n(G6P_n,F6P_n) - psiPFK_n(ATP_n,F6P_n) - psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) + psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) # F6P_n - du[124] = psiPGI_a(G6P_a,F6P_a) - psiPFK_a(ATP_a,F6P_a,f26bp_a) - psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) - psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) + psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) # F6P_a - - du[125] = psiPFK_n(ATP_n,F6P_n) - psiALD_n(FBP_n,GAP_n,DHAP_n) # FBP_n - du[126] = psiPFK_a(ATP_a,F6P_a,f26bp_a) - psiALD_a(FBP_a,GAP_a,DHAP_a) # FBP_a - - du[127] = psiPFK2_a(F6P_a,ATP_a,ADP_a,f26bp_a) # f26bp_a - - du[128] = psiGS_a(GS_a,UDPgluco_a) - 0.1*psiGPa_a(GPa_a,GLY_a) # GLY_a - - du[129] = 0 # accounted for it in /(1-dAMPdATPn) and ADp calc as in Jlv # - psiADK_n(ATP_n,AMP_n,ADP_n) # AMP_n - du[130] = 0 # accounted for it in /(1-dAMPdATPn) and ADp calc as in Jlv # PDE_a(cAMP_a) - psiADK_a(ATP_a,AMP_a,ADP_a) # AMP_a - - du[131] = psiGPa_a(GPa_a,GLY_a) - psiPGLM_a(G1P_a,G6P_a) - psiUDPGP_a(UTP_a,G1P_a,PPi_a0,UDPgluco_a) # G1P_a - - du[132] = psiALD_n(FBP_n,GAP_n,DHAP_n) - psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) + psiTPI_n(DHAP_n,GAP_n) - psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) - psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) + psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) # GAP_n - du[133] = psiALD_a(FBP_a,GAP_a,DHAP_a) - psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) + psiTPI_a(DHAP_a,GAP_a) - psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) - psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) + psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) #GAP_a - - # - du[134] = psiALD_n(FBP_n,GAP_n,DHAP_n) - psiTPI_n(DHAP_n,GAP_n) # DHAP_n - du[135] = psiALD_a(FBP_a,GAP_a,DHAP_a) - psiTPI_a(DHAP_a,GAP_a) # DHAP_a - - du[136] = psiGAPDH_n(NAD_n,GAP_n,Pi_n,BPG13_n,NADH_n) - psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) # BPG13_n - du[137] = psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) - psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) # BPG13_a - - # NADH_a - du[138] = psiGAPDH_a(NAD_a,GAP_a,Pi_a,BPG13_a,NADH_a) - psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) - vShuttleg(NADH_a,NADHmito_a) # NADH_a - - du[139] = 0 # Pi_n - du[140] = 0 # Pi_a - - du[141] = psiPGK_n(BPG13_n,ADP_n,PG3_n,ATP_n) - psiPGM_n(PG3_n,PG2_n) # PG3_n - du[142] = psiPGK_a(BPG13_a,ADP_a,PG3_a,ATP_a) - psiPGM_a(PG3_a,PG2_a) # PG3_a - - # - du[143] = psiPGM_n(PG3_n,PG2_n) - psiENOL_n(PG2_n,PEP_n) # PG2_n - du[144] = psiPGM_a(PG3_a,PG2_a) - psiENOL_a(PG2_a,PEP_a) # PG2_a - - du[145] = psiENOL_n(PG2_n,PEP_n) - psiPK_n(PEP_n,ADP_n,ATP_n) # PEP_n - du[146] = psiENOL_a(PG2_a,PEP_a) - psiPK_a(PEP_a,ADP_a,ATP_a) # PEP_a - - du[147] = psiPK_n(PEP_n,ADP_n,ATP_n) - psiPYRtrcyt2mito_n(Pyr_n,PYRmito_n,C_H_mitomatr_n) - psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) #Pyr_n - du[148] = psiPK_a(PEP_a,ADP_a,ATP_a) - psiPYRtrcyt2mito_a(Pyr_a,PYRmito_a,C_H_mitomatr_a) - psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) #Pyr_a - - du[149] = JLacTr(t,Lac_b) - MCT1_LAC_b(Lac_b,Lac_ecs) - vLACgc(Lac_b,Lac_a) # Lac_b - du[150] = 0.0275*MCT1_LAC_b(Lac_b,Lac_ecs) - jLac_a(Lac_ecs,Lac_a) - jLac_n(Lac_ecs,Lac_n) + jLacDiff_e(Lac_ecs) # Lac_ecs # lac diff www.pnas.org􏱵cgi􏱵doi􏱵10.1073􏱵pnas.0605864104 # 0.275 because common ecs (no sep into BA and AN, no endoth for lac model) - du[151] = 0.8*jLac_a(Lac_ecs,Lac_a) + 0.022*vLACgc(Lac_b,Lac_a) + psiLDH_a(NADH_a,Pyr_a,NAD_a,Lac_a) # Lac_a #0.8 = 0.2/0.25 volumes scaling common ecs n endoth - du[152] = 0.44*jLac_n(Lac_ecs,Lac_n) + psiLDH_n(NADH_n,Pyr_n,NAD_n,Lac_n) # Lac_n #0.44 = 0.2/0.45 volumes scaling common ecs n endoth # assume syn vol 10% -> 0.1*0.45 = 0.045 -> from/to 0.045/0.45 = 0.1 - - - du[153] = psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) + psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) - psiNADPHox_n(NADPH_n) - psiGSSGR_n(GSSG_n,NADPH_n) # NADPH_n - du[154] = psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) + psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) - psiNADPHox_a(NADPH_a) - psiGSSGR_a(GSSG_a,NADPH_a) # NADPH_a - - du[155] = psiG6PDH_n(NADP_n,G6P_n,NADPH_n,GL6P_n) - psi6PGL_n(GL6P_n,GO6P_n) # GL6P_n - du[156] = psiG6PDH_a(NADP_a,G6P_a,NADPH_a,GL6P_a) - psi6PGL_a(GL6P_a,GO6P_a) # GL6P_a - - du[157] = psi6PGL_n(GL6P_n,GO6P_n) - psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) # GO6P_n - du[158] = psi6PGL_a(GL6P_a,GO6P_a) - psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) # GO6P_a - - du[159] = psi6PGDH_n(NADP_n,GO6P_n,RU5P_n,NADPH_n) - psiRPEppp_n(RU5P_n,X5P_n) - psiRPI_n(RU5P_n,R5P_n) # RU5P_n - du[160] = psi6PGDH_a(NADP_a,GO6P_a,RU5P_a,NADPH_a) - psiRPEppp_a(RU5P_a,X5P_a) - psiRPI_a(RU5P_a,R5P_a) # RU5P_a - - du[161] = psiRPI_n(RU5P_n,R5P_n) - psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) # R5P_n - du[162] = psiRPI_a(RU5P_a,R5P_a) - psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) # R5P_a - - du[163] = psiRPEppp_n(RU5P_n,X5P_n) - psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) + psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) # X5P_n - du[164] = psiRPEppp_a(RU5P_a,X5P_a) - psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) + psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) # X5P_a - - du[165] = psiTKL1_n(R5P_n,X5P_n,S7P_n,GAP_n) - psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) # S7P_n - du[166] = psiTKL1_a(R5P_a,X5P_a,S7P_a,GAP_a) - psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) # S7P_a - - du[167] = psiTKL2_n(X5P_n,E4P_n,F6P_n,GAP_n) + psiTALppp_n(S7P_n,GAP_n,E4P_n,F6P_n) # E4P_n - du[168] = psiTKL2_a(X5P_a,E4P_a,F6P_a,GAP_a) + psiTALppp_a(S7P_a,GAP_a,E4P_a,F6P_a) # E4P_a - - du[169] = 2*(psiGSSGR_n(GSSG_n,NADPH_n) - psiGPX_n(GSH_n)) #+ glutathioneSyntase_n(GSH_n) # GSH_n - du[170] = 2*( psiGSSGR_a(GSSG_a,NADPH_a) - psiGPX_a(GSH_a)) #+ glutathioneSyntase_a(GSH_a) # GSH_a - du[171] = - psiGSSGR_n(GSSG_n,NADPH_n) + psiGPX_n(GSH_n) # GSSG_n - du[172] = - psiGSSGR_a(GSSG_a,NADPH_a) + psiGPX_a(GSH_a) # GSSG_a - - du[173] = 0 # calc above Cr_n = Crtot - PCr_n psiCrKinase_n(PCr_n,ATP_n,ADP_n) # Cr_n - du[174] = - psiCrKinase_n(PCr_n,ATP_n,ADP_n) # PCr_n - - du[175] = 0 # calc above Cr_a = Crtot - PCr_a # psiCrKinase_a(PCr_a,ATP_a,ADP_a) # Cr_a - du[176] = - psiCrKinase_a(PCr_a,ATP_a,ADP_a) # PCr_a - - du[177] = (Ca_a/cai0_ca_ion)*(1 + xNEmod*(u[178]/(KdNEmod + u[178])))*psiAC_a(ATP_a,cAMP_a) - PDE_a(cAMP_a) # cAMP_a - - du[178] = 0 # NE_neuromod defined in CB - - du[179] = 0 # psiUDPGP_a(UTP_a,G1P_a,PPi_a0,UDPgluco_a) - psiGS_a(GS_a,UDPgluco_a) - 1e-6*u[179]*(u[179] + 0.109) # UDPgluco_a - du[180] = 0 #0.000117-psiUDPGP_a(UTP_a,G1P_a,PPi_a0,UDPgluco_a) # UTP_a - - - du[181] = 0 #psiGSAJay(GS_a,UDPgluco_a,PKAa_a0,PHKa_a0) # GS_a - du[182] = psiPHK(PHKa_a0,GPa_a,GLY_a,G1P_a,UDPgluco_a,Ca_a) # GPa_a - du[183] = -psiPHK(PHKa_a0,GPa_a,GLY_a,G1P_a,UDPgluco_a,Ca_a) # GPb_a - - -end \ No newline at end of file diff --git a/multiscale_run/data/metabolismndam_reduced/u0_Calv_ATP_1p4_Nai10.csv b/multiscale_run/data/metabolismndam_reduced/u0_Calv_ATP_1p4_Nai10.csv deleted file mode 100644 index 6b15f04..0000000 --- a/multiscale_run/data/metabolismndam_reduced/u0_Calv_ATP_1p4_Nai10.csv +++ /dev/null @@ -1,37 +0,0 @@ --65.0 -0.015391567579385399 -0.9002 -0.1558 -140.0 -8.0 -10.0 -5.0 -4.51 -1.24 -6.67 -0.0067 -1.19 -1.30 -0.04 -0.03 -0.03 -1.19 -0.65 -1.3 -1.3 -0.38 -0.35 -10.33 -10.32 -3.0e-4 -1.1e-3 -1.4 -1.4 -0.03 -0.013 -1.2e-3 -1.2e-3 -0.03 -0.03 -0.06 -0.06 \ No newline at end of file diff --git a/multiscale_run/data/metabolismndam_reduced/metabolismWithSBBFinput_ndamAdapted_opt_sys_young_202302210826_2stim.jl b/multiscale_run/metabolism/ODE_system.jl similarity index 100% rename from multiscale_run/data/metabolismndam_reduced/metabolismWithSBBFinput_ndamAdapted_opt_sys_young_202302210826_2stim.jl rename to multiscale_run/metabolism/ODE_system.jl diff --git a/multiscale_run/metabolism/ODE_system_aged.jl b/multiscale_run/metabolism/ODE_system_aged.jl new file mode 100644 index 0000000..9797eec --- /dev/null +++ b/multiscale_run/metabolism/ODE_system_aged.jl @@ -0,0 +1,720 @@ +function metabolism!(du,u,p,t) + + """ + This function defines the metabolism model in a system of ordinary differential equations. It is called in the multiscale_run orchestrator. + For more details on the metabolic model, refer to the original paper DOI: https://doi.org/10.1101/2023.08.30.555341 + + + + Args: + + Formally, the args are du,u,p,t. In fact, du is a placeholder to keep the solution of the system. It should be the same size as u, which is an initial values list. Next, p is a list of parameters and t is a time span. Please see the details on arguments in https://docs.sciml.ai/DiffEqDocs/stable/ In diffeqpy interface used in multiscale run we just define u,t,p as input args. + + + + Some files with annotations to help you understanding the u (variables) of the function: + + variable idx to variable name: variable_idxc.jl + + Parameters list : + + ina_density, ik_density, mito_scale, glutamatergic_gaba_scaling,outs_r_to_met = @. p + ina_density, ik_density, mito_scale, notBigg_FinDyn_W2017, notBigg_Fout_W2017, u_notBigg_vV_b_b = @. p + + where + + ina_density, ik_density - ion currents from Neurodamus + + mito_scale - mitochondiral scaling based on layer + + notBigg_FinDyn_W2017, notBigg_Fout_W2017, u_notBigg_vV_b_b - Blood Flow parameters + + + Returns: + + Formally, there is no "return" of this function, but the function itself is being used for metabolism dynamics simulation from multiscale orchestrator: + prob_metabo = de.ODEProblem(metabolism, vm, tspan_m, param) + In a way the function used with de.ODEProblem it defines an ODE system problem to be solved with + sol = de.solve( prob_metabo, de.Rosenbrock23(autodiff=False), reltol=1e-8, abstol=1e-8, saveat=1, maxiters=1e6, ) + + """ + + ina_density,ik_density,mito_scale, notBigg_FinDyn_W2017, notBigg_Fout_W2017, u_notBigg_vV_b_b = @. p + + notBigg_Fout_W2017 = notBigg_FinDyn_W2017 + + + NAD_aging_coeff_n = 0.65 + NAD_aging_coeff_a = 0.5 + + NAD_aging_coeff_mn = 0.65 + NAD_aging_coeff_ma = 0.5 + + NADtot_n = NAD_aging_coeff_mn*NADtot + NADtot_a = NAD_aging_coeff_ma*NADtot + + NADHshuttle_aging_n = 0.2 + NADHshuttle_aging_a = 0.2 + + syn_aging_coeff = 0.5 + + u_h_m_n = u[1] + u_k_m_n = u[2] + u_mg2_m_n = u[3] + u_nadh_m_n = u[4] + u_q10h2_m_n = u[5] + u_focytC_m_n = u[6] + u_o2_c_n = u[7] + u_atp_m_n = u[8] + u_adp_m_n = u[9] + u_notBigg_ATP_mx_m_n = u[10] + u_notBigg_ADP_mx_m_n = u[11] + u_pi_m_n = u[12] + u_atp_i_n = u[13] + u_adp_i_n = u[14] + u_amp_i_n = u[15] + u_notBigg_ATP_mi_i_n = u[16] + u_notBigg_ADP_mi_i_n = u[17] + u_pi_i_n = u[18] + u_notBigg_MitoMembrPotent_m_n = u[19] + u_notBigg_Ctot_m_n = u[20] + u_notBigg_Qtot_m_n = u[21] + u_h_i_n = u[22] + u_atp_c_n = u[23] + u_adp_c_n = u[23]/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_n/u[23]-1))) + u_fum_m_n = u[25] + u_mal_L_m_n = u[26] + u_oaa_m_n = u[27] + u_succ_m_n = u[28] + u_succoa_m_n = u[29] + u_coa_m_n = u[30] + u_akg_m_n = u[31] + u_ca2_m_n = u[32] + u_icit_m_n = u[33] + u_cit_m_n = u[34] + u_accoa_m_n = u[35] + u_acac_c_n = u[36] + u_aacoa_m_n = u[37] + u_pyr_m_n = u[38] + u_bhb_c_n = u[39] + u_bhb_e_e = u[40] + u_bhb_c_a = u[41] + u_bhb_b_b = u[42] + u_asp_L_m_n = u[43] + u_asp_L_c_n = u[44] + u_glu_L_m_n = u[45] + u_mal_L_c_n = u[46] + u_oaa_c_n = u[47] + u_akg_c_n = u[48] + u_glu_L_c_n = u[49] + u_nadh_c_n = u[50] + u_h_m_a = u[51] + u_k_m_a = u[52] + u_mg2_m_a = u[53] + u_nadh_m_a = u[54] + u_q10h2_m_a = u[55] + u_focytC_m_a = u[56] + u_o2_c_a = u[57] + u_atp_m_a = u[58] + u_adp_m_a = u[59] + u_notBigg_ATP_mx_m_a = u[60] + u_notBigg_ADP_mx_m_a = u[61] + u_pi_m_a = u[62] + u_atp_i_a = u[63] + u_adp_i_a = u[64] + u_amp_i_a = u[65] + u_notBigg_ATP_mi_i_a = u[66] + u_notBigg_ADP_mi_i_a = u[67] + u_pi_i_a = u[68] + u_notBigg_MitoMembrPotent_m_a = u[69] + u_notBigg_Ctot_m_a = u[70] + u_notBigg_Qtot_m_a = u[71] + u_h_i_a = u[72] + u_atp_c_a = u[73] + u_adp_c_a = u[73]/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_a/u[73]-1))) + u_fum_m_a = u[75] + u_mal_L_m_a = u[76] + u_oaa_m_a = u[77] + u_succ_m_a = u[78] + u_succoa_m_a = u[79] + u_coa_m_a = u[80] + u_akg_m_a = u[81] + u_ca2_m_a = u[82] + u_icit_m_a = u[83] + u_cit_m_a = u[84] + u_accoa_m_a = u[85] + u_acac_c_a = u[86] + u_aacoa_m_a = u[87] + u_pyr_m_a = u[88] + u_gln_L_c_n = u[89] + u_gln_L_e_e = u[90] + u_gln_L_c_a = u[91] + u_glu_L_c_a = u[92] + u_notBigg_Va_c_a = u[93] + u_na1_c_a = u[94] + u_k_c_a = u[95] + u_k_e_e = u[96] + u_glu_L_syn_syn = u[97] + u_notBigg_VNeu_c_n = u[98] + u_na1_c_n = u[99] + u_notBigg_hgate_c_n = u[100] + u_notBigg_ngate_c_n = u[101] + u_ca2_c_n = u[102] + u_notBigg_pgate_c_n = u[103] + u_notBigg_nBK_c_a = u[104] + u_notBigg_mGluRboundRatio_c_a = u[105] + u_notBigg_IP3_c_a = u[106] + u_notBigg_hIP3Ca_c_a = u[107] + u_ca2_c_a = u[108] + u_ca2_r_a = u[109] + u_notBigg_sTRP_c_a = u[110] + u_notBigg_EET_c_a = u[112] + u_notBigg_ddHb_b_b = u[113] + u_o2_b_b = u[114] + u_glc_D_b_b = u[115] + u_glc_D_ecsEndothelium_ecsEndothelium = u[116] + u_glc_D_ecsBA_ecsBA = u[117] + u_glc_D_c_a = u[118] + u_glc_D_ecsAN_ecsAN = u[119] + u_glc_D_c_n = u[120] + u_g6p_c_n = u[121] + u_g6p_c_a = u[122] + u_f6p_c_n = u[123] + u_f6p_c_a = u[124] + u_fdp_c_n = u[125] + u_fdp_c_a = u[126] + u_f26bp_c_a = u[127] + u_glycogen_c_a = u[128] + u_amp_c_n = u[129] + u_amp_c_a = u[130] + u_g1p_c_a = u[131] + u_g3p_c_n = u[132] + u_g3p_c_a = u[133] + u_dhap_c_n = u[134] + u_dhap_c_a = u[135] + u_13dpg_c_n = u[136] + u_13dpg_c_a = u[137] + u_nadh_c_a = u[138] + u_pi_c_n = u[139] + u_pi_c_a = u[140] + u_3pg_c_n = u[141] + u_3pg_c_a = u[142] + u_2pg_c_n = u[143] + u_2pg_c_a = u[144] + u_pep_c_n = u[145] + u_pep_c_a = u[146] + u_pyr_c_n = u[147] + u_pyr_c_a = u[148] + u_lac_L_b_b = u[149] + u_lac_L_e_e = u[150] + u_lac_L_c_a = u[151] + u_lac_L_c_n = u[152] + u_nadph_c_n = u[153] + u_nadph_c_a = u[154] + u_6pgl_c_n = u[155] + u_6pgl_c_a = u[156] + u_6pgc_c_n = u[157] + u_6pgc_c_a = u[158] + u_ru5p_D_c_n = u[159] + u_ru5p_D_c_a = u[160] + u_r5p_c_n = u[161] + u_r5p_c_a = u[162] + u_xu5p_D_c_n = u[163] + u_xu5p_D_c_a = u[164] + u_s7p_c_n = u[165] + u_s7p_c_a = u[166] + u_e4p_c_n = u[167] + u_e4p_c_a = u[168] + u_gthrd_c_n = u[169] + u_gthrd_c_a = u[170] + u_gthox_c_n = u[171] + u_gthox_c_a = u[172] + u_creat_c_n = u[173] + u_pcreat_c_n = u[174] + u_creat_c_a = u[175] + u_pcreat_c_a = u[176] + u_camp_c_a = u[177] + u_nrpphr_e_e = u[178] + u_udpg_c_a = u[179] + u_utp_c_a = u[180] + u_notBigg_GS_c_a = u[181] + u_notBigg_GPa_c_a = u[182] + u_notBigg_GPb_c_a = u[183] + u_h_c_n = C_H_cyt_n + u_h_c_a = C_H_cyt_a + u_co2_m_n = CO2_mito_n + u_co2_m_a = CO2_mito_a + u_ppi_c_a = PPi_a0 + u_notBigg_PHKa_c_a = PHKa_a0 + u_notBigg_PP1_c_a_initialValue = PP1_a0 + H2PIi_n = (1e-3*u_pi_i_n)*(1e-3*u_h_i_n)/((1e-3*u_h_i_n)+k_dHPi) + H2PIx_n = (1e-3*u_pi_m_n)*(1e-3*u_h_m_n)/((1e-3*u_h_m_n)+k_dHPi) + H2PIi_a = (1e-3*u_pi_i_a)*(1e-3*u_h_i_a)/((1e-3*u_h_i_a)+k_dHPi) + H2PIx_a = (1e-3*u_pi_m_a)*(1e-3*u_h_m_a)/((1e-3*u_h_m_a)+k_dHPi) + + + + Pi_n=u[139] + Pi_a=u[140] + C_H_mitomatr_nM=1e-3*u[1]; + K_x_nM=1e-3*u[2]; + Mg_x_nM=1e-3*u[3]; + NADHmito_nM=1e-3*u[4]; + QH2mito_nM=1e-3*u[5]; + CytCredmito_nM=1e-3*u[6]; + O2_nM=1e-3*u[7]; + ATPmito_nM=1e-3*u[8]; + ADPmito_nM=1e-3*u[9] + Cr_n=Crtot-u[174]; + Cr_a=Crtot-u[176] + ADP_n=u[23]/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_n/u[23]-1))) + ADP_a=u[73]/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_a/u[73]-1))) + j_un=qAK*qAK+4*qAK*(ATDPtot_n/u[23]-1) + j_ug=qAK*qAK+4*qAK*(ATDPtot_a/u[73]-1) + dAMPdATPn=-1+qAK/2-0.5*sqrt(j_un)+qAK*ATDPtot_n/(u[23]*sqrt(j_un)) + dAMPdATPg=-1+qAK/2-0.5*sqrt(j_ug)+qAK*ATDPtot_a/(u[73]*sqrt(j_ug)) + ATP_nM=1e-3*u[23]; + ADP_nM=1e-3*ADP_n + ATP_aM=1e-3*u[73]; + ADP_aM=1e-3*ADP_a + ATP_mx_nM=1e-3*u[10]; + ADP_mx_nM=1e-3*u[11] + Pimito_nM=1e-3*u[12] + ATP_i_nM=1e-3*u[13]; + ADP_i_nM=1e-3*u[14]; + AMP_i_nM=1e-3*u[15] + ATP_mi_nM=1e-3*u[16]; + ADP_mi_nM=1e-3*u[17] + Pi_i_nM=1e-3*u[18] + Ctot_nM=1e-3*u[20] + Qtot_nM=1e-3*u[21] + C_H_ims_nM=1e-3*u[22] + AMP_nM=0 + NAD_x_n=NADtot_n-NADHmito_nM; + u_nad_m_n=1000*NAD_x_n + Q_n=Qtot_nM-QH2mito_nM; + Qmito_n=1000*Q_n + Cox_n=Ctot_nM-CytCredmito_nM; + ATP_fx_n=ATPmito_nM-ATP_mx_nM + ADP_fx_n=ADPmito_nM-ADP_mx_nM + ATP_fi_n=ATP_i_nM-ATP_mi_nM + ADP_fi_n=ADP_i_nM-ADP_mi_nM + ADP_me_n=((K_DD+ADP_nM+Mg_tot)-sqrt((K_DD+ADP_nM+Mg_tot)^2-4*(Mg_tot*ADP_nM)))/2; + Mg_i_n=Mg_tot-ADP_me_n; + dG_H_n=etcF*u[19]+1*etcRT*log(C_H_ims_nM/C_H_mitomatr_nM); + dG_C1op_n=dG_C1o-1*etcRT*log(C_H_mitomatr_nM/1e-7); + dG_C3op_n=dG_C3o+2*etcRT*log(C_H_mitomatr_nM/1e-7); + dG_C4op_n=dG_C4o-2*etcRT*log(C_H_mitomatr_nM/1e-7); + dG_F1op_n=dG_F1o-1*etcRT*log(C_H_mitomatr_nM/1e-7); + C_H_mitomatr_a=u[51]; + C_H_mitomatr_aM=1e-3*u[51] + K_x_aM=1e-3*u[52] + Mg_x_aM=1e-3*u[53] + NADHmito_aM=1e-3*u[54] + QH2mito_aM=1e-3*u[55] + CytCredmito_aM=1e-3*u[56] + O2_aM=1e-3*u[57] + ATPmito_aM=1e-3*u[58] + ADPmito_aM=1e-3*u[59] + ATP_mx_aM=1e-3*u[60] + ADP_mx_aM=1e-3*u[61] + Pimito_aM=1e-3*u[62] + ATP_i_aM=1e-3*u[63] + ADP_i_aM=1e-3*u[64]; + AMP_i_aM=1e-3*u[65] + ATP_mi_aM=1e-3*u[66] + ADP_mi_aM=1e-3*u[67] + Pi_i_aM=1e-3*u[68] + Ctot_aM=1e-3*u[70] + Qtot_aM=1e-3*u[71] + C_H_ims_aM=1e-3*u[72] + AMP_aM=0 + NAD_x_a=NADtot_a-NADHmito_aM; + u_nad_m_a=1000*NAD_x_a + Q_a=Qtot_aM-QH2mito_aM; + Qmito_a=1000*Q_a + Cox_a=Ctot_aM-CytCredmito_aM; + ATP_fx_a=ATPmito_aM-ATP_mx_aM + ADP_fx_a=ADPmito_aM-ADP_mx_aM + ATP_fi_a=ATP_i_aM-ATP_mi_aM + ADP_fi_a=ADP_i_aM-ADP_mi_aM + ADP_me_a=((K_DD_a+ADP_aM+Mg_tot)-sqrt((K_DD_a+ADP_aM+Mg_tot)^2-4*(Mg_tot*ADP_aM)))/2; + Mg_i_a=Mg_tot-ADP_me_a; + dG_H_a=etcF*u[69]+1*etcRT*log(C_H_ims_aM/C_H_mitomatr_aM); + dG_C1op_a=dG_C1o-1*etcRT*log(C_H_mitomatr_aM/1e-7); + dG_C3op_a=dG_C3o+2*etcRT*log(C_H_mitomatr_aM/1e-7); + dG_C4op_a=dG_C4o-2*etcRT*log(C_H_mitomatr_aM/1e-7); + dG_F1op_a=dG_F1o-1*etcRT*log(C_H_mitomatr_aM/1e-7); + u_nadp_c_n=0.0303-u[153]; + u_nadp_c_a=0.0303-u[154] + u_nad_c_n=0.212-u[50]; + u_nad_c_a=0.212-u[138] + + Glutamate_syn=u[97] + + vPumpg=SmVg*kPumpg*u[73]*u[94]/(1+u[73]/KmPump); + + r0509_n(u_nadh_m_n,u_pi_m_n) = 1*(mito_scale * x_DH*(r_DH*NAD_x_n-(1e-3*u_nadh_m_n))*((1+(1e-3*u_pi_m_n)/k_Pi1)/(1+(1e-3*u_pi_m_n)/k_Pi2))) + NADH2_u10mi_n(u_nadh_m_n,u_q10h2_m_n) = 0.7759912793200542*(mito_scale *x_C1*(exp(-(dG_C1op_n+4*dG_H_n)/etcRT)*(1e-3*u_nadh_m_n)*Q_n-NAD_x_n*(1e-3*u_q10h2_m_n))) + CYOR_u10mi_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_q10h2_m_n,u_pi_m_n) = 0.6869109286423211*(mito_scale *x_C3*((1+(1e-3*u_pi_m_n)/k_Pi3)/(1+(1e-3*u_pi_m_n)/k_Pi4))*(exp(-(dG_C3op_n+4*dG_H_n-2*etcF*u_notBigg_MitoMembrPotent_m_n)/(2*etcRT))*Cox_n*(1e-3*u_q10h2_m_n)^0.5-(1e-3*u_focytC_m_n)*Q_n^0.5)) + CYOOm2i_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_notBigg_Ctot_m_n,u_o2_c_n) = 0.6922236219048762*(mito_scale *x_C4*((1e-3*u_o2_c_n)/((1e-3*u_o2_c_n)+k_O2))*((1e-3*u_focytC_m_n)/(1e-3*u_notBigg_Ctot_m_n))*(exp(-(dG_C4op_n+2*dG_H_n)/(2*etcRT))*(1e-3*u_focytC_m_n)*((1e-3*u_o2_c_n)^0.25)-Cox_n*exp(etcF*u_notBigg_MitoMembrPotent_m_n/etcRT))) + ATPS4mi_n(u_notBigg_ATP_mx_m_n,u_notBigg_ADP_mx_m_n,u_pi_m_n) = 0.6503896026734852*(mito_scale * x_F1*(exp(-(dG_F1op_n-n_A*dG_H_n)/etcRT)*(K_DD/K_DT)*(1e-3*u_notBigg_ADP_mx_m_n)*(1e-3*u_pi_m_n)-(1e-3*u_notBigg_ATP_mx_m_n))) + ATPtm_n(u_notBigg_MitoMembrPotent_m_n) = 0.5562045860776595*mito_scale * (x_ANT*(ADP_fi_n/(ADP_fi_n+ATP_fi_n*exp(-etcF*(0.35*u_notBigg_MitoMembrPotent_m_n)/etcRT))-ADP_fx_n/(ADP_fx_n+ATP_fx_n*exp(-etcF*(-0.65*u_notBigg_MitoMembrPotent_m_n)/etcRT)))*(ADP_fi_n/(ADP_fi_n+k_mADP))) + notBigg_J_Pi1_n(u_h_m_n,u_h_i_n) = 1*mito_scale * (x_Pi1*((1e-3*u_h_m_n)*H2PIi_n-(1e-3*u_h_i_n)*H2PIx_n)/(H2PIi_n+k_PiH)) + notBigg_J_Hle_n(u_h_m_n,u_h_i_n,u_notBigg_MitoMembrPotent_m_n) = 1*mito_scale * (x_Hle*u_notBigg_MitoMembrPotent_m_n*((1e-3*u_h_i_n)*exp(etcF*u_notBigg_MitoMembrPotent_m_n/etcRT)-(1e-3*u_h_m_n))/(exp(etcF*u_notBigg_MitoMembrPotent_m_n/etcRT)-1)) + notBigg_J_KH_n(u_h_m_n,u_h_i_n,u_k_m_n) = 1*mito_scale * (x_KH*(K_i*(1e-3*u_h_m_n)-(1e-3*u_k_m_n)*(1e-3*u_h_i_n))) + notBigg_J_K_n(u_k_m_n,u_notBigg_MitoMembrPotent_m_n) = 1*mito_scale * (x_K*u_notBigg_MitoMembrPotent_m_n*(K_i*exp(etcF*u_notBigg_MitoMembrPotent_m_n/etcRT)-(1e-3*u_k_m_n))/(exp(etcF*u_notBigg_MitoMembrPotent_m_n/etcRT)-1)) + ADK1m_n(u_amp_i_n,u_atp_i_n,u_adp_i_n) = 0.8372574193451378*mito_scale * (x_AK*(K_AK*(1e-3*u_adp_i_n)*(1e-3*u_adp_i_n)-(1e-3*u_amp_i_n)*(1e-3*u_atp_i_n))) + notBigg_J_AMP_n(u_amp_i_n,u_amp_c_n) = 1*mito_scale * (gamma*x_A*((1e-3*u_amp_c_n)-(1e-3*u_amp_i_n))) + notBigg_J_ADP_n(u_adp_i_n,u_adp_c_n) = 1*mito_scale * (gamma*x_A*((1e-3*u_adp_c_n)-(1e-3*u_adp_i_n))) + notBigg_J_ATP_n(u_atp_c_n,u_atp_i_n) = 1*mito_scale * (gamma*x_A*((1e-3*u_atp_c_n)-(1e-3*u_atp_i_n))) + notBigg_J_Pi2_n(u_pi_i_n,u_pi_c_n) = 1*mito_scale * (gamma*x_Pi2*(1e-3*u_pi_c_n-(1e-3*u_pi_i_n))) + notBigg_J_Ht_n(u_h_i_n,u_h_c_n) = 1*mito_scale * (gamma*x_Ht*(1e-3*u_h_c_n-(1e-3*u_h_i_n))) + notBigg_J_MgATPx_n(u_notBigg_ATP_mx_m_n,u_mg2_m_n) = 1*mito_scale * (x_MgA*(ATP_fx_n*(1e-3*u_mg2_m_n)-K_DT*(1e-3*u_notBigg_ATP_mx_m_n))) + notBigg_J_MgADPx_n(u_mg2_m_n,u_notBigg_ADP_mx_m_n) = 1*mito_scale * (x_MgA*(ADP_fx_n*(1e-3*u_mg2_m_n)-K_DD*(1e-3*u_notBigg_ADP_mx_m_n))) + notBigg_J_MgATPi_n(u_notBigg_ATP_mi_i_n) = 1*mito_scale * (x_MgA*(ATP_fi_n*Mg_i_n-K_DT*(1e-3*u_notBigg_ATP_mi_i_n))) + notBigg_J_MgADPi_n(u_notBigg_ADP_mi_i_n) = 1*mito_scale * (x_MgA*(ADP_fi_n*Mg_i_n-K_DD*(1e-3*u_notBigg_ADP_mi_i_n))) + PDHm_n(u_pyr_m_n,u_coa_m_n,u_nad_m_n) = 0.6028430831681391*(mito_scale *VmaxPDHCmito_n*(u_pyr_m_n/(u_pyr_m_n+KmPyrMitoPDH_n))*(u_nad_m_n/(u_nad_m_n+KmNADmitoPDH_na))*(u_coa_m_n/(u_coa_m_n+KmCoAmitoPDH_n))) + CSm_n(u_accoa_m_n,u_oaa_m_n,u_cit_m_n,u_coa_m_n) = 0.6877116657855111*(mito_scale * VmaxCSmito_n*(u_oaa_m_n/(u_oaa_m_n+KmOxaMito_n*(1.0+u_cit_m_n/KiCitMito_n)))*(u_accoa_m_n/(u_accoa_m_n+KmAcCoAmito_n*(1.0+u_coa_m_n/KiCoA_n)))) + ACONTm_n(u_icit_m_n,u_cit_m_n) = 0.49879329872120226*(mito_scale * VmaxAco_n*(u_cit_m_n-u_icit_m_n/KeqAco_na)/(1.0+u_cit_m_n/KmCitAco_n+u_icit_m_n/KmIsoCitAco_n)) + ICDHxm_n(u_nadh_m_n,u_icit_m_n,u_nad_m_n) = 0.5415622934096079*(mito_scale * VmaxIDH_n*(u_nad_m_n/KiNADmito_na)*((u_icit_m_n/KmIsoCitIDHm_n)^nIDH)/(1.0+u_nad_m_n/KiNADmito_na+(KmNADmito_na/KiNADmito_na)*((u_icit_m_n/KmIsoCitIDHm_n)^nIDH)+u_nadh_m_n/KiNADHmito_na+(u_nad_m_n/KiNADmito_na)*((u_icit_m_n/KmIsoCitIDHm_n)^nIDH)+((KmNADmito_na*u_nadh_m_n)/(KiNADmito_na*KiNADHmito_na))*((u_icit_m_n/KmIsoCitIDHm_n)^nIDH))) + AKGDm_n(u_coa_m_n,u_nadh_m_n,u_ca2_m_n,u_adp_m_n,u_succoa_m_n,u_nad_m_n,u_atp_m_n,u_akg_m_n) = 1*((mito_scale * VmaxKGDH_n*(1+u_adp_m_n/KiADPmito_KGDH_n)*(u_akg_m_n/Km1KGDHKGDH_n)*(u_coa_m_n/Km_CoA_kgdhKGDH_n)*(u_nad_m_n/KmNADkgdhKGDH_na))/(((u_coa_m_n/Km_CoA_kgdhKGDH_n)*(u_nad_m_n/KmNADkgdhKGDH_na)*(u_akg_m_n/Km1KGDHKGDH_n+(1+u_atp_m_n/KiATPmito_KGDH_n)/(1+u_ca2_m_n/KiCa2KGDH_n)))+((u_akg_m_n/Km1KGDHKGDH_n)*(u_coa_m_n/Km_CoA_kgdhKGDH_n+u_nad_m_n/KmNADkgdhKGDH_na)*(1+u_nadh_m_n/KiNADHKGDHKGDH_na+u_succoa_m_n/Ki_SucCoA_kgdhKGDH_n)))) + SUCOASm_n(u_coa_m_n,u_succ_m_n,u_pi_m_n,u_adp_m_n,u_succoa_m_n,u_atp_m_n) = 0.5710172713175269*(mito_scale * VmaxSuccoaATPscs_n*(1+AmaxPscs_n*((u_pi_m_n^npscs_n)/((u_pi_m_n^npscs_n)+(Km_pi_scs_na^npscs_n))))*(u_succoa_m_n*u_adp_m_n*u_pi_m_n-u_succ_m_n*u_coa_m_n*u_atp_m_n/Keqsuccoascs_na)/((1+u_succoa_m_n/Km_succoa_scs_n)*(1+u_adp_m_n/Km_ADPmito_scs_n)*(1+u_pi_m_n/Km_pi_scs_na)+(1+u_succ_m_n/Km_succ_scs_n)*(1+u_coa_m_n/Km_coa_scs_n)*(1+u_atp_m_n/Km_atpmito_scs_n))) + FUMm_n(u_fum_m_n,u_mal_L_m_n) = 1.1636951264361657*(mito_scale * Vmaxfum_n*(u_fum_m_n-u_mal_L_m_n/Keqfummito_na)/(1.0+u_fum_m_n/Km_fummito_n+u_mal_L_m_n/Km_malmito_n)) + MDHm_n(u_nadh_m_n,u_oaa_m_n,u_nad_m_n,u_mal_L_m_n) = 0.5096316013244485*(mito_scale * VmaxMDHmito_n*(u_mal_L_m_n*u_nad_m_n-u_oaa_m_n*u_nadh_m_n/Keqmdhmito_na)/((1.0+u_mal_L_m_n/Km_mal_mdh_n)*(1.0+u_nad_m_n/Km_nad_mdh_na)+(1.0+u_oaa_m_n/Km_oxa_mdh_n)*(1.0+u_nadh_m_n/Km_nadh_mdh_na))) + OCOAT1m_n(u_acac_c_n,u_aacoa_m_n,u_succoa_m_n,u_succ_m_n) = 0.655876728418445*mito_scale * ((VmaxfSCOT_n*u_succoa_m_n*u_acac_c_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*(u_succoa_m_n/Ki_SucCoA_SCOT_n+Km_SucCoA_SCOT_n*u_acac_c_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n)+u_aacoa_m_n/Ki_AcAcCoA_SCOT_n+Km_AcAcCoA_SCOT_n*u_succ_m_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n)+u_succoa_m_n*u_acac_c_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n)+u_succoa_m_n*u_aacoa_m_n/(Ki_SucCoA_SCOT_n*Ki_AcAcCoA_SCOT_n)+Km_SucCoA_SCOT_n*u_acac_c_n*u_succ_m_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*Ki_SUC_SCOT_n)+u_aacoa_m_n*u_succ_m_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n))))-(VmaxrSCOT_n*u_aacoa_m_n*u_succ_m_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n*(u_succoa_m_n/Ki_SucCoA_SCOT_n+Km_SucCoA_SCOT_n*u_acac_c_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n)+u_aacoa_m_n/Ki_AcAcCoA_SCOT_n+Km_AcAcCoA_SCOT_n*u_succ_m_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n)+u_succoa_m_n*u_acac_c_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n)+u_succoa_m_n*u_aacoa_m_n/(Ki_SucCoA_SCOT_n*Ki_AcAcCoA_SCOT_n)+Km_SucCoA_SCOT_n*u_acac_c_n*u_succ_m_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*Ki_SUC_SCOT_n)+u_aacoa_m_n*u_succ_m_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n))))) + ACACT1rm_n(u_aacoa_m_n,u_coa_m_n) = 0.658540359451706*mito_scale * (Vmax_thiolase_f_n*u_coa_m_n*u_aacoa_m_n/(Ki_CoA_thiolase_f_n*Km_AcAcCoA_thiolase_f_n+Km_AcAcCoA_thiolase_f_n*u_coa_m_n+Km_CoA_thiolase_f_n*u_aacoa_m_n+u_coa_m_n*u_aacoa_m_n)) + + notBigg_JbHBTrArtCap(t,u_bhb_b_b) = (2*(C_bHB_a-u_bhb_b_b)/eto_b)*notBigg_FinDyn_W2017 + + notBigg_MCT1_bHB_b(u_bhb_e_e,u_bhb_b_b) = 0.713341257512879*(VmaxMCTbhb_b*(u_bhb_b_b/(u_bhb_b_b+KmMCT1_bHB_b)-u_bhb_e_e/(u_bhb_e_e+KmMCT1_bHB_b))) + BHBt_n(u_bhb_c_n,u_bhb_e_e) = 0.45107525815399785*(VmaxMCTbhb_n*(u_bhb_e_e/(u_bhb_e_e+KmMCT2_bHB_n)-u_bhb_c_n/(u_bhb_c_n+KmMCT2_bHB_n))) + BHBt_a(u_bhb_c_a,u_bhb_e_e) = 0.8508140076567653*(VmaxMCTbhb_a*(u_bhb_e_e/(u_bhb_e_e+KmMCT1_bHB_a)-u_bhb_c_a/(u_bhb_c_a+KmMCT1_bHB_a))) + BDHm_n(u_acac_c_n,u_bhb_c_n,u_nadh_m_n,u_nad_m_n) = 0.782663818672594*mito_scale * (Vmax_bHBDH_f_n*u_nad_m_n*u_bhb_c_n/(Ki_NAD_B_HBD_f_n*Km_betaHB_BHBD_n+Km_betaHB_BHBD_n*u_nad_m_n+Km_NAD_B_HBD_n*u_bhb_c_n+u_nad_m_n*u_bhb_c_n)-(Vmax_bHBDH_r_n*u_nadh_m_n*u_acac_c_n/(Ki_NADH_BHBD_r_n*Km_AcAc_BHBD_n+Km_AcAc_BHBD_n*u_nadh_m_n+Km_NADH_BHBD_n*u_acac_c_n+u_nadh_m_n*u_acac_c_n))) + + + ASPTAm_n(u_oaa_m_n,u_akg_m_n,u_glu_L_m_n,u_asp_L_m_n) = 0.6386234074893378*(mito_scale * VfAAT_n*(u_asp_L_m_n*u_akg_m_n-u_oaa_m_n*u_glu_L_m_n/KeqAAT_n)/(KmAKG_AAT_n*u_asp_L_m_n+KmASP_AAT_n*(1.0+u_akg_m_n/KiAKG_AAT_n)*u_akg_m_n+u_asp_L_m_n*u_akg_m_n+KmASP_AAT_n*u_akg_m_n*u_glu_L_m_n/KiGLU_AAT_n+(KiASP_AAT_n*KmAKG_AAT_n/(KmOXA_AAT_n*KiGLU_AAT_n))*(KmGLU_AAT_n*u_asp_L_m_n*u_oaa_m_n/KiASP_AAT_n+u_oaa_m_n*u_glu_L_m_n+KmGLU_AAT_n*(1.0+u_akg_m_n/KiAKG_AAT_n)*u_oaa_m_n+KmOXA_AAT_n*u_glu_L_m_n))) + MDH_n(u_nadh_c_n,u_mal_L_c_n,u_oaa_c_n,u_nad_c_n) = 1*(VmaxcMDH_n*(u_mal_L_c_n*u_nad_c_n-u_oaa_c_n*u_nadh_c_n/Keqcmdh_n)/((1+u_mal_L_c_n/Kmmalcmdh_n)*(1+u_nad_c_n/Kmnadcmdh_n)+(1+u_oaa_c_n/Kmoxacmdh_n)*(1+u_nadh_c_n/Kmnadhcmdh_n)-1)) + ASPTA_n(u_glu_L_c_n,u_asp_L_c_n,u_oaa_c_n,u_akg_c_n) = 0.41520656916529813*(VfCAAT_n*(u_asp_L_c_n*u_akg_c_n-u_oaa_c_n*u_glu_L_c_n/KeqCAAT_n)/(KmAKG_CAAT_n*u_asp_L_c_n+KmASP_CAAT_n*(1.0+u_akg_c_n/KiAKG_CAAT_n)*u_akg_c_n+u_asp_L_c_n*u_akg_c_n+KmASP_CAAT_n*u_akg_c_n*u_glu_L_c_n/KiGLU_CAAT_n+(KiASP_CAAT_n*KmAKG_CAAT_n/(KmOXA_CAAT_n*KiGLU_CAAT_n))*(KmGLU_CAAT_n*u_asp_L_c_n*u_oaa_c_n/KiASP_CAAT_n+u_oaa_c_n*u_glu_L_c_n+KmGLU_CAAT_n*(1.0+u_akg_c_n/KiAKG_CAAT_n)*u_oaa_c_n+KmOXA_CAAT_n*u_glu_L_c_n))) + ASPGLUm_n(u_h_c_n,u_glu_L_c_n,u_asp_L_m_n,u_asp_L_c_n,u_notBigg_MitoMembrPotent_m_n,u_glu_L_m_n,u_h_m_n) = 0.4503437195810003*mito_scale * (Vmaxagc_n*(u_asp_L_m_n*u_glu_L_c_n-u_asp_L_c_n*u_glu_L_m_n/((exp(u_notBigg_MitoMembrPotent_m_n)^(F/(R*T)))*(u_h_c_n/u_h_m_n)))/((u_asp_L_m_n+Km_aspmito_agc_n)*(u_glu_L_c_n+Km_glu_agc_n)+(u_asp_L_c_n+Km_asp_agc_n)*(u_glu_L_m_n+Km_glumito_agc_n))) + AKGMALtm_n(u_mal_L_c_n,u_akg_m_n,u_akg_c_n,u_mal_L_m_n) = 0.5282482511021107*mito_scale * (Vmaxmakgc_n*(u_mal_L_c_n*u_akg_m_n-u_mal_L_m_n*u_akg_c_n)/((u_mal_L_c_n+Km_mal_mkgc_n)*(u_akg_m_n+Km_akgmito_mkgc_n)+(u_mal_L_m_n+Km_malmito_mkgc_n)*(u_akg_c_n+Km_akg_mkgc_n))) + r0509_a(u_nadh_m_a,u_pi_m_a) = 1*mito_scale * (x_DH_a*(r_DH_a*NAD_x_a-(1e-3*u_nadh_m_a))*((1+(1e-3*u_pi_m_a)/k_Pi1)/(1+(1e-3*u_pi_m_a)/k_Pi2))) + NADH2_u10mi_a(u_nadh_m_a,u_q10h2_m_a) = 0.8604610299528399*mito_scale * (x_C1*(exp(-(dG_C1op_a+4*dG_H_a)/etcRT)*(1e-3*u_nadh_m_a)*Q_a-NAD_x_a*(1e-3*u_q10h2_m_a))) + CYOR_u10mi_a(u_focytC_m_a,u_q10h2_m_a,u_pi_m_a,u_notBigg_MitoMembrPotent_m_a) = 0.7720733909302896*mito_scale * (x_C3*((1+(1e-3*u_pi_m_a)/k_Pi3)/(1+(1e-3*u_pi_m_a)/k_Pi4))*(exp(-(dG_C3op_a+4*dG_H_a-2*etcF*u_notBigg_MitoMembrPotent_m_a)/(2*etcRT))*Cox_a*(1e-3*u_q10h2_m_a)^0.5-(1e-3*u_focytC_m_a)*Q_a^0.5)) + CYOOm2i_a(u_notBigg_Ctot_m_a,u_focytC_m_a,u_notBigg_MitoMembrPotent_m_a,u_o2_c_a) = 0.8836779655353504*mito_scale * (x_C4*((1e-3*u_o2_c_a)/((1e-3*u_o2_c_a)+k_O2))*((1e-3*u_focytC_m_a)/(1e-3*u_notBigg_Ctot_m_a))*(exp(-(dG_C4op_a+2*dG_H_a)/(2*etcRT))*(1e-3*u_focytC_m_a)*((1e-3*u_o2_c_a)^0.25)-Cox_a*exp(etcF*u_notBigg_MitoMembrPotent_m_a/etcRT))) + ATPS4mi_a(u_notBigg_ATP_mx_m_a,u_pi_m_a,u_notBigg_ADP_mx_m_a) = 0.794495760350036*mito_scale * (x_F1_a*(exp(-(dG_F1op_a-n_A*dG_H_a)/etcRT)*(K_DD_a/K_DT_a)*(1e-3*u_notBigg_ADP_mx_m_a)*(1e-3*u_pi_m_a)-(1e-3*u_notBigg_ATP_mx_m_a))) + ATPtm_a(u_notBigg_MitoMembrPotent_m_a) = 1*mito_scale * (x_ANT_a*(ADP_fi_a/(ADP_fi_a+ATP_fi_a*exp(-etcF*(0.35*u_notBigg_MitoMembrPotent_m_a)/etcRT))-ADP_fx_a/(ADP_fx_a+ATP_fx_a*exp(-etcF*(-0.65*u_notBigg_MitoMembrPotent_m_a)/etcRT)))*(ADP_fi_a/(ADP_fi_a+k_mADP_a))) + notBigg_J_Pi1_a(u_h_i_a,u_h_m_a) = 1*mito_scale * (x_Pi1*((1e-3*u_h_m_a)*H2PIi_a-(1e-3*u_h_i_a)*H2PIx_a)/(H2PIi_a+k_PiH)) + notBigg_J_Hle_a(u_h_i_a,u_h_m_a,u_notBigg_MitoMembrPotent_m_a) = 1*mito_scale * (x_Hle*u_notBigg_MitoMembrPotent_m_a*((1e-3*u_h_i_a)*exp(etcF*u_notBigg_MitoMembrPotent_m_a/etcRT)-(1e-3*u_h_m_a))/(exp(etcF*u_notBigg_MitoMembrPotent_m_a/etcRT)-1)) + notBigg_J_KH_a(u_h_i_a,u_h_m_a,u_k_m_a) = 1*mito_scale * (x_KH*(K_i*(1e-3*u_h_m_a)-(1e-3*u_k_m_a)*(1e-3*u_h_i_a))) + notBigg_J_K_a(u_k_m_a,u_notBigg_MitoMembrPotent_m_a) = 1*mito_scale * (x_K*u_notBigg_MitoMembrPotent_m_a*(K_i*exp(etcF*u_notBigg_MitoMembrPotent_m_a/etcRT)-(1e-3*u_k_m_a))/(exp(etcF*u_notBigg_MitoMembrPotent_m_a/etcRT)-1)) + ADK1m_a(u_atp_i_a,u_adp_i_a,u_amp_i_a) = 1*mito_scale * (x_AK*(K_AK*(1e-3*u_adp_i_a)*(1e-3*u_adp_i_a)-(1e-3*u_amp_i_a)*(1e-3*u_atp_i_a))) + notBigg_J_AMP_a(u_amp_i_a,u_amp_c_a) = 1*mito_scale * (gamma*x_A*((1e-3*u_amp_c_a)-(1e-3*u_amp_i_a))) + notBigg_J_ADP_a(u_adp_c_a,u_adp_i_a) = 1*mito_scale * (gamma*x_A*((1e-3*u_adp_c_a)-(1e-3*u_adp_i_a))) + notBigg_J_ATP_a(u_atp_i_a,u_atp_c_a) = 1*mito_scale * (gamma*x_A*((1e-3*u_atp_c_a)-(1e-3*u_atp_i_a))) + notBigg_J_Pi2_a(u_pi_i_a,u_pi_c_a) = 1*mito_scale * (gamma*x_Pi2*(1e-3*u_pi_c_a-(1e-3*u_pi_i_a))) + notBigg_J_Ht_a(u_h_i_a,u_h_c_a) = 1*mito_scale * (gamma*x_Ht*(1e-3*u_h_c_a-(1e-3*u_h_i_a))) + notBigg_J_MgATPx_a(u_notBigg_ATP_mx_m_a,u_mg2_m_a) = 1*mito_scale * (x_MgA*(ATP_fx_a*(1e-3*u_mg2_m_a)-K_DT_a*(1e-3*u_notBigg_ATP_mx_m_a))) + notBigg_J_MgADPx_a(u_notBigg_ADP_mx_m_a,u_mg2_m_a) = 1*mito_scale * (x_MgA*(ADP_fx_a*(1e-3*u_mg2_m_a)-K_DD_a*(1e-3*u_notBigg_ADP_mx_m_a))) + notBigg_J_MgATPi_a(u_notBigg_ATP_mi_i_a) = 1*mito_scale * (x_MgA*(ATP_fi_a*Mg_i_a-K_DT_a*(1e-3*u_notBigg_ATP_mi_i_a))) + notBigg_J_MgADPi_a(u_notBigg_ADP_mi_i_a) = 1*mito_scale * (x_MgA*(ADP_fi_a*Mg_i_a-K_DD_a*(1e-3*u_notBigg_ADP_mi_i_a))) + PDHm_a(u_nad_m_a,u_pyr_m_a,u_coa_m_a) = 0.6203100331393553*mito_scale * (VmaxPDHCmito_a*(u_pyr_m_a/(u_pyr_m_a+KmPyrMitoPDH_a))*(u_nad_m_a/(u_nad_m_a+KmNADmitoPDH_na))*(u_coa_m_a/(u_coa_m_a+KmCoAmitoPDH_a))) + CSm_a(u_oaa_m_a,u_cit_m_a,u_accoa_m_a,u_coa_m_a) = 1*mito_scale * (VmaxCSmito_a*(u_oaa_m_a/(u_oaa_m_a+KmOxaMito_a*(1.0+u_cit_m_a/KiCitMito_a)))*(u_accoa_m_a/(u_accoa_m_a+KmAcCoAmito_a*(1.0+u_coa_m_a/KiCoA_a)))) + ACONTm_a(u_cit_m_a,u_icit_m_a) = 0.48342767640154766*mito_scale * (VmaxAco_a*(u_cit_m_a-u_icit_m_a/KeqAco_na)/(1.0+u_cit_m_a/KmCitAco_a+u_icit_m_a/KmIsoCitAco_a)) + ICDHxm_a(u_nad_m_a,u_nadh_m_a,u_icit_m_a) = 0.7197104602792509*mito_scale * (VmaxIDH_a*(u_nad_m_a/KiNADmito_na)*((u_icit_m_a/KmIsoCitIDHm_a)^nIDH)/(1.0+u_nad_m_a/KiNADmito_na+(KmNADmito_na/KiNADmito_na)*((u_icit_m_a/KmIsoCitIDHm_a)^nIDH)+u_nadh_m_a/KiNADHmito_na+(u_nad_m_a/KiNADmito_na)*((u_icit_m_a/KmIsoCitIDHm_a)^nIDH)+((KmNADmito_na*u_nadh_m_a)/(KiNADmito_na*KiNADHmito_na))*((u_icit_m_a/KmIsoCitIDHm_a)^nIDH))) + AKGDm_a(u_coa_m_a,u_nadh_m_a,u_akg_m_a,u_ca2_m_a,u_nad_m_a,u_succoa_m_a,u_atp_m_a,u_adp_m_a) = 1*mito_scale * ((VmaxKGDH_a*(1+u_adp_m_a/KiADPmito_KGDH_a)*(u_akg_m_a/Km1KGDHKGDH_a)*(u_coa_m_a/Km_CoA_kgdhKGDH_a)*(u_nad_m_a/KmNADkgdhKGDH_na))/(((u_coa_m_a/Km_CoA_kgdhKGDH_a)*(u_nad_m_a/KmNADkgdhKGDH_na)*(u_akg_m_a/Km1KGDHKGDH_a+(1+u_atp_m_a/KiATPmito_KGDH_a)/(1+u_ca2_m_a/KiCa2KGDH_a)))+((u_akg_m_a/Km1KGDHKGDH_a)*(u_coa_m_a/Km_CoA_kgdhKGDH_a+u_nad_m_a/KmNADkgdhKGDH_na)*(1+u_nadh_m_a/KiNADHKGDHKGDH_na+u_succoa_m_a/Ki_SucCoA_kgdhKGDH_a)))) + SUCOASm_a(u_coa_m_a,u_succoa_m_a,u_atp_m_a,u_succ_m_a,u_pi_m_a,u_adp_m_a) = 1.3146510580492397*mito_scale * (VmaxSuccoaATPscs_a*(1+AmaxPscs_a*((u_pi_m_a^npscs_a)/((u_pi_m_a^npscs_a)+(Km_pi_scs_na^npscs_a))))*(u_succoa_m_a*u_adp_m_a*u_pi_m_a-u_succ_m_a*u_coa_m_a*u_atp_m_a/Keqsuccoascs_na)/((1+u_succoa_m_a/Km_succoa_scs_a)*(1+u_adp_m_a/Km_ADPmito_scs_a)*(1+u_pi_m_a/Km_pi_scs_na)+(1+u_succ_m_a/Km_succ_scs_a)*(1+u_coa_m_a/Km_coa_scs_a)*(1+u_atp_m_a/Km_atpmito_scs_a))) + FUMm_a(u_mal_L_m_a,u_fum_m_a) = 0.6995126037645376*mito_scale * (Vmaxfum_a*(u_fum_m_a-u_mal_L_m_a/Keqfummito_na)/(1.0+u_fum_m_a/Km_fummito_a+u_mal_L_m_a/Km_malmito_a)) + MDHm_a(u_nad_m_a,u_oaa_m_a,u_mal_L_m_a,u_nadh_m_a) = 1.2266010315633475*mito_scale * (VmaxMDHmito_a*(u_mal_L_m_a*u_nad_m_a-u_oaa_m_a*u_nadh_m_a/Keqmdhmito_na)/((1.0+u_mal_L_m_a/Km_mal_mdh_a)*(1.0+u_nad_m_a/Km_nad_mdh_na)+(1.0+u_oaa_m_a/Km_oxa_mdh_a)*(1.0+u_nadh_m_a/Km_nadh_mdh_na))) + PCm_a(u_co2_m_a,u_oaa_m_a,u_pyr_m_a,u_atp_m_a,u_adp_m_a) = 1*mito_scale * (((u_atp_m_a/u_adp_m_a)/(muPYRCARB_a+(u_atp_m_a/u_adp_m_a)))*VmPYRCARB_a*(u_pyr_m_a*u_co2_m_a-u_oaa_m_a/KeqPYRCARB_a)/(KmPYR_PYRCARB_a*KmCO2_PYRCARB_a+KmPYR_PYRCARB_a*u_co2_m_a+KmCO2_PYRCARB_a*u_pyr_m_a+u_co2_m_a*u_pyr_m_a)) + GLNt4_n(u_gln_L_c_n,u_gln_L_e_e) = 0.5978404130935905*(TmaxSNAT_GLN_n*(u_gln_L_e_e-u_gln_L_c_n/coeff_gln_ratio_n_ecs)/(KmSNAT_GLN_n+u_gln_L_c_n)) + GLUNm_n(u_gln_L_c_n,u_glu_L_m_n) = 0.8547630950925981*mito_scale * (mito_scale * VmGLS_n*(u_gln_L_c_n-u_glu_L_m_n/KeqGLS_n)/(KmGLNGLS_n*(1.0+u_glu_L_m_n/KiGLUGLS_n)+u_gln_L_c_n)) + GLUt6_a(u_na1_c_a,u_notBigg_Va_c_a,u_k_e_e,u_glu_L_syn_syn,u_k_c_a,u_glu_L_c_a) = 0.6342335524337793*(-((1/(2*F*1e-3))*(-alpha_EAAT*exp(-beta_EAAT*(u_notBigg_Va_c_a-((R*T/(2*F*1e-3))*log(((Na_syn_EAAT/u_na1_c_a)^3)*(H_syn_EAAT/H_ast_EAAT)*(u_glu_L_syn_syn/u_glu_L_c_a)*(u_k_c_a/u_k_e_e)))))))) + GLUDxm_a(u_nad_m_a,u_nadh_m_a,u_glu_L_c_a,u_akg_m_a) = 0.6314857335088516*mito_scale * (VmGDH_a*(u_nad_m_a*u_glu_L_c_a-u_nadh_m_a*u_akg_m_a/KeqGDH_a)/(KiNAD_GDH_a*KmGLU_GDH_a+KmGLU_GDH_a*u_nad_m_a+KiNAD_GDH_a*u_glu_L_c_a+u_glu_L_c_a*u_nad_m_a+u_glu_L_c_a*u_nad_m_a/KiAKG_GDH_a+KiNAD_GDH_a*KmGLU_GDH_a*u_nadh_m_a/KiNADH_GDH_a+KiNAD_GDH_a*KmGLU_GDH_a*KmNADH_GDH_a*u_akg_m_a/(KiAKG_GDH_a*KiNADH_GDH_a)+KmNADH_GDH_a*u_glu_L_c_a*u_nadh_m_a/KiNADH_GDH_a+KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*u_nadh_m_a/(KiAKG_GDH_a*KiNADH_GDH_a)+KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*u_akg_m_a*u_nadh_m_a/(KiAKG_GDH_a*KiNADH_GDH_a)+u_glu_L_c_a*u_nad_m_a*u_akg_m_a/KiAKG_GDH_a+KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a/KiAKG_GDH_a+KiNAD_GDH_a*KmGLU_GDH_a*u_glu_L_c_a*u_nadh_m_a*u_akg_m_a/(KiGLU_GDH_a*KiAKG_GDH_a*KiNADH_GDH_a)+KiNAD_GDH_a*KmGLU_GDH_a*u_akg_m_a*u_nadh_m_a/(KiAKG_GDH_a*KiNADH_GDH_a)+KmNADH_GDH_a*KmGLU_GDH_a*u_akg_m_a*u_nad_m_a/(KiAKG_GDH_a*KiNADH_GDH_a))) + GLNS_a(u_adp_c_a,u_atp_c_a,u_glu_L_c_a) = 0.6746220548756291*(VmaxGLNsynth_a*(u_glu_L_c_a/(KmGLNsynth_a+u_glu_L_c_a))*((1/(u_atp_c_a/u_adp_c_a))/(muGLNsynth_a+(1/(u_atp_c_a/u_adp_c_a))))) + GLNt4_a(u_gln_L_c_a,u_gln_L_e_e) = 1*(TmaxSNAT_GLN_a*(u_gln_L_c_a-u_gln_L_e_e)/(KmSNAT_GLN_a+u_gln_L_c_a)) + + + + + notBigg_JdHbin(t,u_o2_b_b) = 2*(C_O_a-u_o2_b_b)*notBigg_FinDyn_W2017 + + notBigg_JdHbout(t,u_notBigg_ddHb_b_b) = (u_notBigg_ddHb_b_b/u_notBigg_vV_b_b)*notBigg_Fout_W2017 + + + + notBigg_JO2art2cap(t,u_o2_b_b) = (1/eto_b)*2*(C_O_a-u_o2_b_b)*notBigg_FinDyn_W2017 + + notBigg_JO2fromCap2a(u_o2_b_b,u_o2_c_a) = 1*((PScapA*(KO2b*(HbOP/u_o2_b_b-1.)^(-1/param_degree_nh)-u_o2_c_a))) + notBigg_JO2fromCap2n(u_o2_b_b,u_o2_c_n) = 1*((PScapNAratio*PScapA*(KO2b*(HbOP/u_o2_b_b-1.)^(-1/param_degree_nh)-u_o2_c_n))) + + notBigg_trGLC_art_cap(t,u_glc_D_b_b) = (1/eto_b)*(2*(C_Glc_a-u_glc_D_b_b))*notBigg_FinDyn_W2017 + + + + notBigg_JGlc_be(u_glc_D_ecsEndothelium_ecsEndothelium,u_glc_D_b_b) = 0.3904811708729737*(TmaxGLCce*(u_glc_D_b_b*(KeG+u_glc_D_ecsEndothelium_ecsEndothelium)-u_glc_D_ecsEndothelium_ecsEndothelium*(KeG+u_glc_D_b_b))/(KeG^2+KeG*ReGoi*u_glc_D_b_b+KeG*ReGio*u_glc_D_ecsEndothelium_ecsEndothelium+ReGee*u_glc_D_b_b*u_glc_D_ecsEndothelium_ecsEndothelium)) + notBigg_JGlc_e2ecsBA(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsEndothelium_ecsEndothelium) = 0.3904811708729737*(TmaxGLCeb*(u_glc_D_ecsEndothelium_ecsEndothelium*(KeG2+u_glc_D_ecsBA_ecsBA)-u_glc_D_ecsBA_ecsBA*(KeG2+u_glc_D_ecsEndothelium_ecsEndothelium))/(KeG2^2+KeG2*ReGoi2*u_glc_D_ecsEndothelium_ecsEndothelium+KeG2*ReGio2*u_glc_D_ecsBA_ecsBA+ReGee2*u_glc_D_ecsEndothelium_ecsEndothelium*u_glc_D_ecsBA_ecsBA)) + notBigg_JGlc_ecsBA2a(u_glc_D_ecsBA_ecsBA,u_glc_D_c_a) = 1*(TmaxGLCba*(u_glc_D_ecsBA_ecsBA*(KeG3+u_glc_D_c_a)-u_glc_D_c_a*(KeG3+u_glc_D_ecsBA_ecsBA))/(KeG3^2+KeG3*ReGoi3*u_glc_D_ecsBA_ecsBA+KeG3*ReGio3*u_glc_D_c_a+ReGee3*u_glc_D_ecsBA_ecsBA*u_glc_D_c_a)) + notBigg_JGlc_a2ecsAN(u_glc_D_ecsAN_ecsAN,u_glc_D_c_a) = 1*(TmaxGLCai*(u_glc_D_c_a*(KeG4+u_glc_D_ecsAN_ecsAN)-u_glc_D_ecsAN_ecsAN*(KeG4+u_glc_D_c_a))/(KeG4^2+KeG4*ReGoi4*u_glc_D_c_a+KeG4*ReGio4*u_glc_D_ecsAN_ecsAN+ReGee4*u_glc_D_c_a*u_glc_D_ecsAN_ecsAN)) + notBigg_JGlc_ecsAN2n(u_glc_D_c_n,u_glc_D_ecsAN_ecsAN) = 0.7897515941368937*(TmaxGLCin*(u_glc_D_ecsAN_ecsAN*(KeG5+u_glc_D_c_n)-u_glc_D_c_n*(KeG5+u_glc_D_ecsAN_ecsAN))/(KeG5^2+KeG5*ReGoi5*u_glc_D_ecsAN_ecsAN+KeG5*ReGio5*u_glc_D_c_n+ReGee5*u_glc_D_ecsAN_ecsAN*u_glc_D_c_n)) + notBigg_JGlc_diffEcs(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsAN_ecsAN) = 1*(kGLCdiff*(u_glc_D_ecsBA_ecsBA-u_glc_D_ecsAN_ecsAN)) + GLCS2_a(u_notBigg_GS_c_a,u_udpg_c_a) = 1*(kL2_GS_a*u_notBigg_GS_c_a*u_udpg_c_a/(kmL2_GS_a+u_udpg_c_a)) + GLCP_a(u_glycogen_c_a,u_notBigg_GPa_c_a,u_camp_c_a,u_notBigg_GPb_c_a) = 1.1256906446836974*((u_notBigg_GPa_c_a/(u_notBigg_GPa_c_a+u_notBigg_GPb_c_a))*VmaxGP_a*u_glycogen_c_a*(1/(1+(KmGP_AMP_a^hGPa)/(u_camp_c_a^hGPa)))) + PGMT_a(u_g1p_c_a,u_g6p_c_a) = 1*((Vmaxfpglm_a*u_g1p_c_a/KmG1PPGLM_a-((Vmaxfpglm_a*KmG6PPGLM_a)/(KmG1PPGLM_a*KeqPGLM_a))*u_g6p_c_a/KmG6PPGLM_a)/(1.0+u_g1p_c_a/KmG1PPGLM_a+u_g6p_c_a/KmG6PPGLM_a)) + PDE1_a(u_camp_c_a) = 1*(VmaxPDE_a*u_camp_c_a/(Kmcamppde_a+u_camp_c_a)) + GALUi_a(u_ppi_c_a,u_g1p_c_a,u_udpg_c_a,u_utp_c_a) = 0.5592071627317753*((VmaxfUDPGP*u_utp_c_a*u_g1p_c_a/(KutpUDPGP*Kg1pUDPGP)-VmaxrUDPGP*u_ppi_c_a*u_udpg_c_a/(KpiUDPGP*KUDPglucoUDPGP_a))/(1.0+u_g1p_c_a/Kg1pUDPGP+u_utp_c_a/KutpUDPGP+(u_g1p_c_a*u_utp_c_a)/(Kg1pUDPGP*KutpUDPGP)+u_udpg_c_a/KUDPglucoUDPGP_a+u_ppi_c_a/KpiUDPGP+(u_ppi_c_a*u_udpg_c_a)/(KpiUDPGP*KUDPglucoUDPGP_a))) + notBigg_psiGSAJay_a(u_notBigg_GS_c_a,u_udpg_c_a,u_notBigg_PHKa_c_a,u_notBigg_PKAa_c_a) = 1*(((kg8_GSAJay*PP1_a0*(st_GSAJay-u_notBigg_GS_c_a))/((kmg8_GSAJay/(1.0+s1_GSAJay*u_udpg_c_a/kg2_GSAJay))+(st_GSAJay-u_notBigg_GS_c_a)))-((kg7_GSAJay*(u_notBigg_PHKa_c_a+u_notBigg_PKAa_c_a)*u_notBigg_GS_c_a)/(kmg7_GSAJay*(1+s1_GSAJay*u_udpg_c_a/kg2_GSAJay)+u_notBigg_GS_c_a))) + notBigg_psiPHK_a(u_ca2_c_a,u_glycogen_c_a,u_g1p_c_a,u_notBigg_PHKa_c_a,u_notBigg_GPa_c_a,u_udpg_c_a) = 0.6024486647140077*((u_ca2_c_a/cai0_ca_ion)*(((kg5_PHK*u_notBigg_PHKa_c_a*(pt_PHK-u_notBigg_GPa_c_a))/(kmg5_PHK*(1.0+s1_PHK*u_g1p_c_a/kg2_PHK)+(pt_PHK-u_notBigg_GPa_c_a)))-((kg6_PHK*PP1_a0*u_notBigg_GPa_c_a)/(kmg6_PHK/(1+s2_PHK*u_udpg_c_a/kgi_PHK)+u_notBigg_GPa_c_a))-((0.003198/(1+u_glycogen_c_a)+kmind_PHK)*PP1_a0*u_notBigg_GPa_c_a))) + HEX1_n(u_glc_D_c_n,u_atp_c_n,u_g6p_c_n) = 0.8609297660662427*((VmaxHK_n*u_glc_D_c_n/(u_glc_D_c_n+KmHK_n))*(u_atp_c_n/(1+(u_atp_c_n/KIATPhex_n)^nHhexn))*(1/(1+u_g6p_c_n/KiHKG6P_n))) + HEX1_a(u_atp_c_a,u_g6p_c_a,u_glc_D_c_a) = 1*((VmaxHK_a*u_glc_D_c_a/(u_glc_D_c_a+KmHK_a))*(u_atp_c_a/(1+(u_atp_c_a/KIATPhex_a)^nHhexa))*(1/(1+u_g6p_c_a/KiHKG6P_a))) + PGI_n(u_f6p_c_n,u_g6p_c_n) = 0.5976049296442596*((Vmax_fPGI_n*(u_g6p_c_n/Km_G6P_fPGI_n-0.9*u_f6p_c_n/Km_F6P_rPGI_n))/(1.0+u_g6p_c_n/Km_G6P_fPGI_n+u_f6p_c_n/Km_F6P_rPGI_n)) + PGI_a(u_g6p_c_a,u_f6p_c_a) = 1*((Vmax_fPGI_a*(u_g6p_c_a/Km_G6P_fPGI_a-0.9*u_f6p_c_a/Km_F6P_rPGI_a))/(1.0+u_g6p_c_a/Km_G6P_fPGI_a+u_f6p_c_a/Km_F6P_rPGI_a)) + PFK_n(u_f6p_c_n,u_atp_c_n) = 0.7458451538827402*(VmaxPFK_n*(u_atp_c_n/(1+(u_atp_c_n/KiPFK_ATP_na)^nPFKn))*(u_f6p_c_n/(u_f6p_c_n+KmPFKF6P_n))) + PFK_a(u_atp_c_a,u_f26bp_c_a,u_f6p_c_a) = 0.6004550301335743*(VmaxPFK_a*(u_atp_c_a/(1+(u_atp_c_a/KiPFK_ATP_a)^nPFKa))*(u_f6p_c_a/(u_f6p_c_a+KmPFKF6P_a*(1-KoPFK_f26bp_a*((u_f26bp_c_a^nPFKf26bp_a)/(KmF26BP_PFK_a^nPFKf26bp_a+u_f26bp_c_a^nPFKf26bp_a)))))*(u_f26bp_c_a/(KmF26BP_PFK_a+u_f26bp_c_a))) + PFK26_a(u_adp_c_a,u_atp_c_a,u_f26bp_c_a,u_f6p_c_a) = 1*(Vmax_PFKII_g*u_f6p_c_a*u_atp_c_a*u_adp_c_a/((u_f6p_c_a+Kmf6pPFKII_g)*(u_atp_c_a+KmatpPFKII_g)*(u_adp_c_a+Km_act_adpPFKII_g))-(Vmax_PFKII_g*u_f26bp_c_a/(u_f26bp_c_a+Km_f26bp_f_26pase_g*(1+u_f6p_c_a/Ki_f6p_f_26_pase_g)))) + FBA_n(u_fdp_c_n,u_dhap_c_n,u_g3p_c_n) = 0.7394718950651101*(Vmaxald_n*(u_fdp_c_n-u_g3p_c_n*u_dhap_c_n/Keqald_n)/((1+u_fdp_c_n/KmfbpAld_n)+(1+u_g3p_c_n/KmgapAld_n)*(1+u_dhap_c_n/KmdhapAld_n)-1)) + FBA_a(u_g3p_c_a,u_fdp_c_a,u_dhap_c_a) = 1.3698862447606868*(Vmaxald_a*(u_fdp_c_a-u_g3p_c_a*u_dhap_c_a/Keqald_a)/((1+u_fdp_c_a/KmfbpAld_a)+(1+u_g3p_c_a/KmgapAld_a)*(1+u_dhap_c_a/KmdhapAld_a)-1)) + TPI_n(u_dhap_c_n,u_g3p_c_n) = 0.43581417628746805*(Vmaxtpi_n*(u_dhap_c_n-u_g3p_c_n/Keqtpi_n)/(1+u_dhap_c_n/KmdhapTPI_n+u_g3p_c_n/KmgapTPI_n)) + TPI_a(u_g3p_c_a,u_dhap_c_a) = 1*(Vmaxtpi_a*(u_dhap_c_a-u_g3p_c_a/Keqtpi_a)/(1+u_dhap_c_a/KmdhapTPI_a+u_g3p_c_a/KmgapTPI_a)) + GAPD_n(u_nadh_c_n,u_nad_c_n,u_g3p_c_n,u_pi_c_n,u_13dpg_c_n) = 0.671837442539098*(Vmaxgapdh_n*(u_nad_c_n*u_g3p_c_n*u_pi_c_n-u_13dpg_c_n*u_nadh_c_n/Keqgapdh_na)/((1+u_nad_c_n/KmnadGpdh_n)*(1+u_g3p_c_n/KmGapGapdh_n)*(1+u_pi_c_n/KmpiGpdh_n)+(1+u_nadh_c_n/KmnadhGapdh_n)*(1+u_13dpg_c_n/KmBPG13Gapdh_n)-1)) + GAPD_a(u_nadh_c_a,u_nad_c_a,u_pi_c_a,u_13dpg_c_a,u_g3p_c_a) = 1*(Vmaxgapdh_a*(u_nad_c_a*u_g3p_c_a*u_pi_c_a-u_13dpg_c_a*u_nadh_c_a/Keqgapdh_na)/((1+u_nad_c_a/KmnadGpdh_a)*(1+u_g3p_c_a/KmGapGapdh_a)*(1+u_pi_c_a/KmpiGpdh_a)+(1+u_nadh_c_a/KmnadhGapdh_a)*(1+u_13dpg_c_a/KmBPG13Gapdh_a)-1)) + PGK_n(u_13dpg_c_n,u_3pg_c_n,u_atp_c_n,u_adp_c_n) = 0.5962295972157015*(Vmaxpgk_n*(u_13dpg_c_n*u_adp_c_n-u_3pg_c_n*u_atp_c_n/Keqpgk_na)/((1+u_13dpg_c_n/Kmbpg13pgk_n)*(1+u_adp_c_n/Kmadppgk_n)+(1+u_3pg_c_n/Kmpg3pgk_n)*(1+u_atp_c_n/Kmatppgk_n)-1)) + PGK_a(u_adp_c_a,u_atp_c_a,u_3pg_c_a,u_13dpg_c_a) = 1*(Vmaxpgk_a*(u_13dpg_c_a*u_adp_c_a-u_3pg_c_a*u_atp_c_a/Keqpgk_na)/((1+u_13dpg_c_a/Kmbpg13pgk_a)*(1+u_adp_c_a/Kmadppgk_a)+(1+u_3pg_c_a/Kmpg3pgk_a)*(1+u_atp_c_a/Kmatppgk_a)-1)) + PGM_n(u_2pg_c_n,u_3pg_c_n) = 0.709656099612707*(Vmaxpgm_n*(u_3pg_c_n-u_2pg_c_n/Keqpgm_n)/((1+u_3pg_c_n/Kmpg3pgm_n)+(1+u_2pg_c_n/Kmpg2pgm_n)-1)) + PGM_a(u_2pg_c_a,u_3pg_c_a) = 0.8316195374288835*(Vmaxpgm_a*(u_3pg_c_a-u_2pg_c_a/Keqpgm_a)/((1+u_3pg_c_a/Kmpg3pgm_a)+(1+u_2pg_c_a/Kmpg2pgm_a)-1)) + ENO_n(u_pep_c_n,u_2pg_c_n) = 0.679389216422442*(Vmaxenol_n*(u_2pg_c_n-u_pep_c_n/Keqenol_n)/((1+u_2pg_c_n/Kmpg2enol_n)+(1+u_pep_c_n/Km_pep_enol_n)-1)) + ENO_a(u_2pg_c_a,u_pep_c_a) = 1*(Vmaxenol_a*(u_2pg_c_a-u_pep_c_a/Keqenol_a)/((1+u_2pg_c_a/Kmpg2enol_a)+(1+u_pep_c_a/Km_pep_enol_a)-1)) + PYK_n(u_pep_c_n,u_atp_c_n,u_adp_c_n) = 1*(Vmaxpk_n*u_pep_c_n*u_adp_c_n/((u_pep_c_n+Km_pep_pk_n)*(u_adp_c_n+Km_adp_pk_n*(1+u_atp_c_n/Ki_ATP_pk_n)))) + PYK_a(u_adp_c_a,u_atp_c_a,u_pep_c_a) = 1*(Vmaxpk_a*u_pep_c_a*u_adp_c_a/((u_pep_c_a+Km_pep_pk_a)*(u_adp_c_a+Km_adp_pk_a*(1+u_atp_c_a/Ki_ATP_pk_a)))) + + notBigg_JLacTr_b(u_lac_L_b_b,t) = (2*(C_Lac_a-u_lac_L_b_b)/eto_b)*notBigg_FinDyn_W2017 + + notBigg_MCT1_LAC_b(u_lac_L_b_b,u_lac_L_e_e) = 0.713341257512879*(TbLac*(u_lac_L_b_b/(u_lac_L_b_b+KbLac)-u_lac_L_e_e/(u_lac_L_e_e+KbLac))) + L_LACt2r_a(u_lac_L_e_e,u_lac_L_c_a) = 0.8508140076567653*(TaLac*(u_lac_L_e_e/(u_lac_L_e_e+Km_Lac_a)-u_lac_L_c_a/(u_lac_L_c_a+Km_Lac_a))) + L_LACt2r_n(u_lac_L_e_e,u_lac_L_c_n) = 0.45107525815399785*(TnLac*(u_lac_L_e_e/(u_lac_L_e_e+Km_LacTr_n)-u_lac_L_c_n/(u_lac_L_c_n+Km_LacTr_n))) + + notBigg_jLacDiff_e(u_lac_L_e_e) = 0 + + notBigg_vLACgc(u_lac_L_b_b,u_lac_L_c_a) = 0.8508140076567653*(TMaxLACgc*(u_lac_L_b_b/(u_lac_L_b_b+KtLACgc)-u_lac_L_c_a/(u_lac_L_c_a+KtLACgc))) + LDH_L_a(u_nad_c_a,u_nadh_c_a,u_lac_L_c_a,u_pyr_c_a) = 1.3088752137510924*(VmfLDH_a*u_pyr_c_a*u_nadh_c_a-KeLDH_a*VmfLDH_a*u_lac_L_c_a*u_nad_c_a) + LDH_L_n(u_nad_c_n,u_lac_L_c_n,u_nadh_c_n,u_pyr_c_n) = 0.5689693706174375*(VmfLDH_n*u_pyr_c_n*u_nadh_c_n-KeLDH_n*VmfLDH_n*u_lac_L_c_n*u_nad_c_n) + G6PDH2r_n(u_g6p_c_n,u_nadph_c_n,u_nadp_c_n,u_6pgl_c_n) = 0.8669025610198134*(VmaxG6PDH_n*(1/(K_G6P_G6PDH_n*K_NADP_G6PDH_n))*((u_g6p_c_n*u_nadp_c_n-u_6pgl_c_n*u_nadph_c_n/KeqG6PDH_n)/((1+u_g6p_c_n/K_G6P_G6PDH_n)*(1+u_nadp_c_n/K_NADP_G6PDH_n)+(1+u_6pgl_c_n/K_GL6P_G6PDH_n)*(1+u_nadph_c_n/K_NADPH_G6PDH_n)-1))) + G6PDH2r_a(u_6pgl_c_a,u_nadp_c_a,u_g6p_c_a,u_nadph_c_a) = 1*(VmaxG6PDH_a*(1/(K_G6P_G6PDH_a*K_NADP_G6PDH_a))*((u_g6p_c_a*u_nadp_c_a-u_6pgl_c_a*u_nadph_c_a/KeqG6PDH_a)/((1+u_g6p_c_a/K_G6P_G6PDH_a)*(1+u_nadp_c_a/K_NADP_G6PDH_a)+(1+u_6pgl_c_a/K_GL6P_G6PDH_a)*(1+u_nadph_c_a/K_NADPH_G6PDH_a)-1))) + PGL_n(u_6pgc_c_n,u_6pgl_c_n) = 1*(Vmax6PGL_n*(1/K_GL6P_6PGL_n)*((u_6pgl_c_n-u_6pgc_c_n/Keq6PGL_n)/((1+u_6pgl_c_n/K_GL6P_6PGL_n)+(1+u_6pgc_c_n/K_GO6P_6PGL_n)-1))) + PGL_a(u_6pgc_c_a,u_6pgl_c_a) = 1*(Vmax6PGL_a*(1/K_GL6P_6PGL_a)*((u_6pgl_c_a-u_6pgc_c_a/Keq6PGL_a)/((1+u_6pgl_c_a/K_GL6P_6PGL_a)+(1+u_6pgc_c_a/K_GO6P_6PGL_a)-1))) + GND_n(u_6pgc_c_n,u_nadph_c_n,u_nadp_c_n,u_ru5p_D_c_n) = 1*(Vmax6PGDH_n*(1/(K_GO6P_6PGDH_n*K_NADP_6PGDH_n))*(u_6pgc_c_n*u_nadp_c_n-u_ru5p_D_c_n*u_nadph_c_n/Keq6PGDH_n)/((1+u_6pgc_c_n/K_GO6P_6PGDH_n)*(1+u_nadp_c_n/K_NADP_6PGDH_n)+(1+u_ru5p_D_c_n/K_RU5P_6PGDH_n)*(1+u_nadph_c_n/K_NADPH_6PGDH_n)-1)) + GND_a(u_6pgc_c_a,u_nadp_c_a,u_ru5p_D_c_a,u_nadph_c_a) = 1*(Vmax6PGDH_a*(1/(K_GO6P_6PGDH_a*K_NADP_6PGDH_a))*(u_6pgc_c_a*u_nadp_c_a-u_ru5p_D_c_a*u_nadph_c_a/Keq6PGDH_a)/((1+u_6pgc_c_a/K_GO6P_6PGDH_a)*(1+u_nadp_c_a/K_NADP_6PGDH_a)+(1+u_ru5p_D_c_a/K_RU5P_6PGDH_a)*(1+u_nadph_c_a/K_NADPH_6PGDH_a)-1)) + RPI_n(u_r5p_c_n,u_ru5p_D_c_n) = 1*(VmaxRPI_n*(1/K_RU5P_RPI_n)*(u_ru5p_D_c_n-u_r5p_c_n/KeqRPI_n)/((1+u_ru5p_D_c_n/K_RU5P_RPI_n)+(1+u_r5p_c_n/K_R5P_RPI_n)-1)) + RPI_a(u_r5p_c_a,u_ru5p_D_c_a) = 1*(VmaxRPI_a*(1/K_RU5P_RPI_a)*(u_ru5p_D_c_a-u_r5p_c_a/KeqRPI_a)/((1+u_ru5p_D_c_a/K_RU5P_RPI_a)+(1+u_r5p_c_a/K_R5P_RPI_a)-1)) + RPE_n(u_xu5p_D_c_n,u_ru5p_D_c_n) = 0.7983535280369903*(VmaxRPE_n*(1/K_RU5P_RPE_n)*(u_ru5p_D_c_n-u_xu5p_D_c_n/KeqRPE_n)/((1+u_ru5p_D_c_n/K_RU5P_RPE_n)+(1+u_xu5p_D_c_n/K_X5P_RPE_n)-1)) + RPE_a(u_ru5p_D_c_a,u_xu5p_D_c_a) = 1*(VmaxRPE_a*(1/K_RU5P_RPE_a)*(u_ru5p_D_c_a-u_xu5p_D_c_a/KeqRPE_a)/((1+u_ru5p_D_c_a/K_RU5P_RPE_a)+(1+u_xu5p_D_c_a/K_X5P_RPE_a)-1)) + TKT1_n(u_s7p_c_n,u_r5p_c_n,u_xu5p_D_c_n,u_g3p_c_n) = 0.8883490961108477*(VmaxTKL1_n*(1/(K_X5P_TKL1_n*K_R5P_TKL1_n))*(u_xu5p_D_c_n*u_r5p_c_n-u_g3p_c_n*u_s7p_c_n/KeqTKL1_n)/((1+u_xu5p_D_c_n/K_X5P_TKL1_n)*(1+u_r5p_c_n/K_R5P_TKL1_n)+(1+u_g3p_c_n/K_GAP_TKL1_n)*(1+u_s7p_c_n/K_S7P_TKL1_n)-1)) + TKT1_a(u_r5p_c_a,u_g3p_c_a,u_s7p_c_a,u_xu5p_D_c_a) = 0.8850284030244852*(VmaxTKL1_a*(1/(K_X5P_TKL1_a*K_R5P_TKL1_a))*(u_xu5p_D_c_a*u_r5p_c_a-u_g3p_c_a*u_s7p_c_a/KeqTKL1_a)/((1+u_xu5p_D_c_a/K_X5P_TKL1_a)*(1+u_r5p_c_a/K_R5P_TKL1_a)+(1+u_g3p_c_a/K_GAP_TKL1_a)*(1+u_s7p_c_a/K_S7P_TKL1_a)-1)) + TKT2_n(u_f6p_c_n,u_e4p_c_n,u_xu5p_D_c_n,u_g3p_c_n) = 0.8883490961108477*(VmaxTKL2_n*(1/(K_F6P_TKL2_n*K_GAP_TKL2_n))*(u_f6p_c_n*u_g3p_c_n-u_xu5p_D_c_n*u_e4p_c_n/KeqTKL2_n)/((1+u_f6p_c_n/K_F6P_TKL2_n)*(1+u_g3p_c_n/K_GAP_TKL2_n)+(1+u_xu5p_D_c_n/K_X5P_TKL2_n)*(1+u_e4p_c_n/K_E4P_TKL2_n)-1)) + TKT2_a(u_g3p_c_a,u_e4p_c_a,u_xu5p_D_c_a,u_f6p_c_a) = 0.8850284030244852*(VmaxTKL2_a*(1/(K_F6P_TKL2_a*K_GAP_TKL2_a))*(u_f6p_c_a*u_g3p_c_a-u_xu5p_D_c_a*u_e4p_c_a/KeqTKL2_a)/((1+u_f6p_c_a/K_F6P_TKL2_a)*(1+u_g3p_c_a/K_GAP_TKL2_a)+(1+u_xu5p_D_c_a/K_X5P_TKL2_a)*(1+u_e4p_c_a/K_E4P_TKL2_a)-1)) + TALA_n(u_f6p_c_n,u_e4p_c_n,u_g3p_c_n,u_s7p_c_n) = 0.6639992687235359*(VmaxTAL_n*(1/(K_GAP_TAL_n*K_S7P_TAL_n))*(u_g3p_c_n*u_s7p_c_n-u_f6p_c_n*u_e4p_c_n/KeqTAL_n)/((1+u_g3p_c_n/K_GAP_TAL_n)*(1+u_s7p_c_n/K_S7P_TAL_n)+(1+u_f6p_c_n/K_F6P_TAL_n)*(1+u_e4p_c_n/K_E4P_TAL_n)-1)) + TALA_a(u_g3p_c_a,u_e4p_c_a,u_s7p_c_a,u_f6p_c_a) = 1.2205175303641989*(VmaxTAL_a*(1/(K_GAP_TAL_a*K_S7P_TAL_a))*(u_g3p_c_a*u_s7p_c_a-u_f6p_c_a*u_e4p_c_a/KeqTAL_a)/((1+u_g3p_c_a/K_GAP_TAL_a)*(1+u_s7p_c_a/K_S7P_TAL_a)+(1+u_f6p_c_a/K_F6P_TAL_a)*(1+u_e4p_c_a/K_E4P_TAL_a)-1)) + notBigg_psiNADPHox_n(u_nadph_c_n) = 1*(k1NADPHox_n*u_nadph_c_n) + notBigg_psiNADPHox_a(u_nadph_c_a) = 1*(k1NADPHox_a*u_nadph_c_a) + GTHO_n(u_nadph_c_n,u_gthox_c_n) = 0.7763893628874204*((Vmf_GSSGR_n*u_gthox_c_n*u_nadph_c_n)/((KmGSSGRGSSG_n+u_gthox_c_n)*(KmGSSGRNADPH_n+u_nadph_c_n))) + GTHO_a(u_gthox_c_a,u_nadph_c_a) = 1*((Vmf_GSSGR_a*u_gthox_c_a*u_nadph_c_a)/((KmGSSGRGSSG_a+u_gthox_c_a)*(KmGSSGRNADPH_a+u_nadph_c_a))) + GTHP_n(u_gthrd_c_n) = 1.405052609349276*(V_GPX_n*u_gthrd_c_n/(u_gthrd_c_n+KmGPXGSH_n)) + GTHP_a(u_gthrd_c_a) = 1.0418536417455824*(V_GPX_a*u_gthrd_c_a/(u_gthrd_c_a+KmGPXGSH_a)) + GTHS_n(u_gthrd_c_n) = 0.7800038574228693*(VmaxGSHsyn_n*(glycine_n*glutamylCys_n-u_gthrd_c_n/KeGSHSyn_n)/(Km_glutamylCys_GSHsyn_n*Km_glycine_GSHsyn_n+glutamylCys_n*Km_glutamylCys_GSHsyn_n+glycine_n*Km_glycine_GSHsyn_n*(1+glutamylCys_n/Km_glutamylCys_GSHsyn_n)+u_gthrd_c_n/KmGSHsyn_n)) + GTHS_a(u_gthrd_c_a) = 1*(VmaxGSHsyn_a*(glycine_a*glutamylCys_a-u_gthrd_c_a/KeGSHSyn_a)/(Km_glutamylCys_GSHsyn_a*Km_glycine_GSHsyn_a+glutamylCys_a*Km_glutamylCys_GSHsyn_a+glycine_a*Km_glycine_GSHsyn_a*(1+glutamylCys_a/Km_glutamylCys_GSHsyn_a)+u_gthrd_c_a/KmGSHsyn_a)) + ADNCYC_a(u_camp_c_a,u_atp_c_a) = 1*(((VmaxfAC_a*u_atp_c_a/(KmACATP_a*(1+u_camp_c_a/KicAMPAC_a))-VmaxrAC_a*u_camp_c_a/(KmpiAC_a*KmcAMPAC_a))/(1+u_atp_c_a/(KmACATP_a*(1+u_camp_c_a/KicAMPAC_a))+u_camp_c_a/KmcAMPAC_a))) + CKc_n(u_pcreat_c_n,u_atp_c_n,u_adp_c_n) = 0.32081154381027266*(kCKnps*u_pcreat_c_n*u_adp_c_n-KeqCKnpms*kCKnps*(Crtot-u_pcreat_c_n)*u_atp_c_n) + CKc_a(u_adp_c_a,u_atp_c_a,u_pcreat_c_a) = 1*(kCKgps*u_pcreat_c_a*u_adp_c_a-KeqCKgpms*kCKgps*(Crtot-u_pcreat_c_a)*u_atp_c_a) + PYRt2m_n(u_h_m_n,u_pyr_m_n,u_h_c_n,u_pyr_c_n) = 1.1810410492580787*(mito_scale * Vmax_PYRtrcyt2mito_nH*(u_pyr_c_n*u_h_c_n-u_pyr_m_n*u_h_m_n)/((1.0+u_pyr_c_n/KmPyrCytTr_n)*(1.0+u_pyr_m_n/KmPyrMitoTr_n))) + PYRt2m_a(u_h_m_a,u_pyr_c_a,u_h_c_a,u_pyr_m_a) = 1.1210261302822038*(mito_scale * (Vmax_PYRtrcyt2mito_aH*(u_pyr_c_a*u_h_c_a-u_pyr_m_a*u_h_m_a)/((1.0+u_pyr_c_a/KmPyrCytTr_a)*(1.0+u_pyr_m_a/KmPyrMitoTr_a)))) + notBigg_vShuttlen(u_nadh_m_n,u_nadh_c_n) = NADHshuttle_aging_n*mito_scale *(TnNADH_jlv*(u_nadh_c_n/(NAD_aging_coeff_n*0.212-u_nadh_c_n))/(MnCyto_jlv+(u_nadh_c_n/(NAD_aging_coeff_n*0.212-u_nadh_c_n)))*((1000*NADtot_n-u_nadh_m_n)/u_nadh_m_n)/(MnMito_jlv+((1000*NADtot_n-u_nadh_m_n)/u_nadh_m_n))) + notBigg_vShuttleg(u_nadh_c_a,u_nadh_m_a) = NADHshuttle_aging_a*mito_scale* (TgNADH_jlv*(u_nadh_c_a/(NAD_aging_coeff_a*0.212-u_nadh_c_a))/(MgCyto_jlv+(u_nadh_c_a/(NAD_aging_coeff_a*0.212-u_nadh_c_a)))*((1000*NADtot_a-u_nadh_m_a)/u_nadh_m_a)/(MgMito_jlv+((1000*NADtot_a-u_nadh_m_a)/u_nadh_m_a))) + notBigg_vMitooutn_n(u_nadh_m_n,u_nad_m_n,u_o2_c_n,u_adp_i_n,u_atp_i_n) = 1*mito_scale * (V_oxphos_n*((1/(u_atp_i_n/u_adp_i_n))/(mu_oxphos_n+(1/(u_atp_i_n/u_adp_i_n))))*((u_nadh_m_n/u_nad_m_n)/(nu_oxphos_n+(u_nadh_m_n/u_nad_m_n)))*(u_o2_c_n/(u_o2_c_n+K_oxphos_n))) + notBigg_vMitooutg_a(u_atp_i_a,u_nadh_m_a,u_nad_m_a,u_o2_c_a,u_adp_i_a) = 1*mito_scale * (V_oxphos_a*((1/(u_atp_i_a/u_adp_i_a))/(mu_oxphos_a+(1/(u_atp_i_a/u_adp_i_a))))*((u_nadh_m_a/u_nad_m_a)/(nu_oxphos_a+(u_nadh_m_a/u_nad_m_a)))*(u_o2_c_a/(u_o2_c_a+K_oxphos_a))) + notBigg_vMitoinn(u_pyr_m_n,u_nadh_m_n) = 1*mito_scale *(VMaxMitoinn*u_pyr_m_n/(u_pyr_m_n+KmMito)*(1000*NADtot_n-u_nadh_m_n)/(1000*NADtot_n-u_nadh_m_n+KmNADn_jlv)) + notBigg_vMitoing(u_nadh_m_a,u_pyr_m_a) = 1*mito_scale*(VMaxMitoing*u_pyr_m_a/(u_pyr_m_a+KmMito_a)*(1000*NADtot_a-u_nadh_m_a)/(1000*NADtot_a-u_nadh_m_a+KmNADg_jlv)) + + du[1] = 0 + du[2] = 0.5*T2Jcorrection*(1000*(notBigg_J_KH_n(u_h_m_n,u_h_i_n,u_k_m_n)+notBigg_J_K_n(u_k_m_n,u_notBigg_MitoMembrPotent_m_n))/W_x) + du[3] = 0.5*T2Jcorrection*(1000*(-notBigg_J_MgATPx_n(u_notBigg_ATP_mx_m_n,u_mg2_m_n)-notBigg_J_MgADPx_n(u_mg2_m_n,u_notBigg_ADP_mx_m_n))/W_x) + du[4] = 6.96*(notBigg_vMitoinn(u_pyr_m_n,u_nadh_m_n)+notBigg_vShuttlen(u_nadh_m_n,u_nadh_c_n)-notBigg_vMitooutn_n(u_nadh_m_n,u_nad_m_n,u_o2_c_n,u_adp_i_n,u_atp_i_n)) + du[5] = 0.5*T2Jcorrection*(1000*(+NADH2_u10mi_n(u_nadh_m_n,u_q10h2_m_n)-CYOR_u10mi_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_q10h2_m_n,u_pi_m_n))/W_x) + du[6] = 0.5*T2Jcorrection*(1000*(+2*CYOR_u10mi_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_q10h2_m_n,u_pi_m_n)-2*CYOOm2i_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_notBigg_Ctot_m_n,u_o2_c_n))/W_i) + du[7] = notBigg_JO2fromCap2n(u_o2_b_b,u_o2_c_n)-0.6*notBigg_vMitooutn_n(u_nadh_m_n,u_nad_m_n,u_o2_c_n,u_adp_i_n,u_atp_i_n) + du[8] = 0.5*T2Jcorrection*(1000*(+ATPS4mi_n(u_notBigg_ATP_mx_m_n,u_notBigg_ADP_mx_m_n,u_pi_m_n)-ATPtm_n(u_notBigg_MitoMembrPotent_m_n))/W_x) + du[9] = 0.5*T2Jcorrection*(1000*(-ATPS4mi_n(u_notBigg_ATP_mx_m_n,u_notBigg_ADP_mx_m_n,u_pi_m_n)+ATPtm_n(u_notBigg_MitoMembrPotent_m_n))/W_x) + du[10] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgATPx_n(u_notBigg_ATP_mx_m_n,u_mg2_m_n))/W_x) + du[11] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgADPx_n(u_mg2_m_n,u_notBigg_ADP_mx_m_n))/W_x) + du[12] = 0.5*T2Jcorrection*(1000*(-ATPS4mi_n(u_notBigg_ATP_mx_m_n,u_notBigg_ADP_mx_m_n,u_pi_m_n)+notBigg_J_Pi1_n(u_h_m_n,u_h_i_n))/W_x) + du[13] = 0.5*T2Jcorrection*(1000*(+notBigg_J_ATP_n(u_atp_c_n,u_atp_i_n)+ATPtm_n(u_notBigg_MitoMembrPotent_m_n)+ADK1m_n(u_amp_i_n,u_atp_i_n,u_adp_i_n))/W_i) + du[14] = 0.5*T2Jcorrection*(1000*(+notBigg_J_ADP_n(u_adp_i_n,u_adp_c_n)-ATPtm_n(u_notBigg_MitoMembrPotent_m_n)-2*ADK1m_n(u_amp_i_n,u_atp_i_n,u_adp_i_n))/W_i) + du[15] = 0.5*T2Jcorrection*(1000*(+notBigg_J_AMP_n(u_amp_i_n,u_amp_c_n)+ADK1m_n(u_amp_i_n,u_atp_i_n,u_adp_i_n))/W_i) + du[16] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgATPi_n(u_notBigg_ATP_mi_i_n))/W_i) + du[17] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgADPi_n(u_notBigg_ADP_mi_i_n))/W_i) + du[18] = 0.5*T2Jcorrection*(1000*(-notBigg_J_Pi1_n(u_h_m_n,u_h_i_n)+notBigg_J_Pi2_n(u_pi_i_n,u_pi_c_n))/W_i) + du[19] = 0.5*T2Jcorrection*(4*NADH2_u10mi_n(u_nadh_m_n,u_q10h2_m_n)+2*CYOR_u10mi_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_q10h2_m_n,u_pi_m_n)+4*CYOOm2i_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_notBigg_Ctot_m_n,u_o2_c_n)-n_A*ATPS4mi_n(u_notBigg_ATP_mx_m_n,u_notBigg_ADP_mx_m_n,u_pi_m_n)-ATPtm_n(u_notBigg_MitoMembrPotent_m_n)-notBigg_J_Hle_n(u_h_m_n,u_h_i_n,u_notBigg_MitoMembrPotent_m_n)-notBigg_J_K_n(u_k_m_n,u_notBigg_MitoMembrPotent_m_n))/CIM + du[20] = 0 + du[21] = 0 + du[22] = 0 + du[23] = (CKc_n(u_pcreat_c_n,u_atp_c_n,u_adp_c_n)+0.5*(1/6.96)*1000*(-notBigg_J_ATP_n(u_atp_c_n,u_atp_i_n))-HEX1_n(u_glc_D_c_n,u_atp_c_n,u_g6p_c_n)-PFK_n(u_f6p_c_n,u_atp_c_n)+PGK_n(u_13dpg_c_n,u_3pg_c_n,u_atp_c_n,u_adp_c_n)+PYK_n(u_pep_c_n,u_atp_c_n,u_adp_c_n) )/(1-dAMPdATPn) #(CKc_n(u_pcreat_c_n,u_atp_c_n,u_adp_c_n)+0.5*(1/6.96)*1000*(-notBigg_J_ATP_n(u_atp_c_n,u_atp_i_n))-HEX1_n(u_glc_D_c_n,u_atp_c_n,u_g6p_c_n)-PFK_n(u_f6p_c_n,u_atp_c_n)+PGK_n(u_13dpg_c_n,u_3pg_c_n,u_atp_c_n,u_adp_c_n)+PYK_n(u_pep_c_n,u_atp_c_n,u_adp_c_n)-0.15*vPumpn-vATPasesn)/(1-dAMPdATPn) + du[24] = 0 + du[25] = T2Jcorrection*(0.5*1000*r0509_n(u_nadh_m_n,u_pi_m_n)/W_x-FUMm_n(u_fum_m_n,u_mal_L_m_n)) + du[26] = T2Jcorrection*(FUMm_n(u_fum_m_n,u_mal_L_m_n)-MDHm_n(u_nadh_m_n,u_oaa_m_n,u_nad_m_n,u_mal_L_m_n))+6.96*AKGMALtm_n(u_mal_L_c_n,u_akg_m_n,u_akg_c_n,u_mal_L_m_n) + du[27] = T2Jcorrection*(MDHm_n(u_nadh_m_n,u_oaa_m_n,u_nad_m_n,u_mal_L_m_n)-CSm_n(u_accoa_m_n,u_oaa_m_n,u_cit_m_n,u_coa_m_n))+ASPTAm_n(u_oaa_m_n,u_akg_m_n,u_glu_L_m_n,u_asp_L_m_n) + du[28] = T2Jcorrection*(0.5*SUCOASm_n(u_coa_m_n,u_succ_m_n,u_pi_m_n,u_adp_m_n,u_succoa_m_n,u_atp_m_n)-0.5*1000*r0509_n(u_nadh_m_n,u_pi_m_n)/W_x)+0.5*T2Jcorrection*OCOAT1m_n(u_acac_c_n,u_aacoa_m_n,u_succoa_m_n,u_succ_m_n) + du[29] = 0.5*T2Jcorrection*(AKGDm_n(u_coa_m_n,u_nadh_m_n,u_ca2_m_n,u_adp_m_n,u_succoa_m_n,u_nad_m_n,u_atp_m_n,u_akg_m_n)-SUCOASm_n(u_coa_m_n,u_succ_m_n,u_pi_m_n,u_adp_m_n,u_succoa_m_n,u_atp_m_n))-0.5*T2Jcorrection*OCOAT1m_n(u_acac_c_n,u_aacoa_m_n,u_succoa_m_n,u_succ_m_n) + du[30] = T2Jcorrection*(CSm_n(u_accoa_m_n,u_oaa_m_n,u_cit_m_n,u_coa_m_n)-PDHm_n(u_pyr_m_n,u_coa_m_n,u_nad_m_n)-0.5*AKGDm_n(u_coa_m_n,u_nadh_m_n,u_ca2_m_n,u_adp_m_n,u_succoa_m_n,u_nad_m_n,u_atp_m_n,u_akg_m_n)+0.5*SUCOASm_n(u_coa_m_n,u_succ_m_n,u_pi_m_n,u_adp_m_n,u_succoa_m_n,u_atp_m_n)-0.5*ACACT1rm_n(u_aacoa_m_n,u_coa_m_n)) + du[31] = 0.5*T2Jcorrection*(ICDHxm_n(u_nadh_m_n,u_icit_m_n,u_nad_m_n)-AKGDm_n(u_coa_m_n,u_nadh_m_n,u_ca2_m_n,u_adp_m_n,u_succoa_m_n,u_nad_m_n,u_atp_m_n,u_akg_m_n))-ASPTAm_n(u_oaa_m_n,u_akg_m_n,u_glu_L_m_n,u_asp_L_m_n)-AKGMALtm_n(u_mal_L_c_n,u_akg_m_n,u_akg_c_n,u_mal_L_m_n) + du[32] = 0 + du[33] = 0.5*T2Jcorrection*(ACONTm_n(u_icit_m_n,u_cit_m_n)-ICDHxm_n(u_nadh_m_n,u_icit_m_n,u_nad_m_n)) + du[34] = T2Jcorrection*(CSm_n(u_accoa_m_n,u_oaa_m_n,u_cit_m_n,u_coa_m_n)-0.5*ACONTm_n(u_icit_m_n,u_cit_m_n)) + du[35] = T2Jcorrection*(PDHm_n(u_pyr_m_n,u_coa_m_n,u_nad_m_n)-CSm_n(u_accoa_m_n,u_oaa_m_n,u_cit_m_n,u_coa_m_n))+T2Jcorrection*ACACT1rm_n(u_aacoa_m_n,u_coa_m_n) + du[36] = 0.5*T2Jcorrection*(BDHm_n(u_acac_c_n,u_bhb_c_n,u_nadh_m_n,u_nad_m_n)-OCOAT1m_n(u_acac_c_n,u_aacoa_m_n,u_succoa_m_n,u_succ_m_n)) + du[37] = 0.5*T2Jcorrection*(OCOAT1m_n(u_acac_c_n,u_aacoa_m_n,u_succoa_m_n,u_succ_m_n)-ACACT1rm_n(u_aacoa_m_n,u_coa_m_n)) + du[38] = 6.96*PYRt2m_n(u_h_m_n,u_pyr_m_n,u_h_c_n,u_pyr_c_n)-T2Jcorrection*PDHm_n(u_pyr_m_n,u_coa_m_n,u_nad_m_n) + du[39] = 0.44*BHBt_n(u_bhb_c_n,u_bhb_e_e)-BDHm_n(u_acac_c_n,u_bhb_c_n,u_nadh_m_n,u_nad_m_n) + du[40] = 0.0275*notBigg_MCT1_bHB_b(u_bhb_e_e,u_bhb_b_b)-BHBt_n(u_bhb_c_n,u_bhb_e_e)-BHBt_a(u_bhb_c_a,u_bhb_e_e) + du[41] = 0 + du[42] = notBigg_JbHBTrArtCap(t,u_bhb_b_b)-notBigg_MCT1_bHB_b(u_bhb_e_e,u_bhb_b_b) + du[43] = 0 + du[44] = 0 + du[45] = 0.5*T2Jcorrection*(ASPTAm_n(u_oaa_m_n,u_akg_m_n,u_glu_L_m_n,u_asp_L_m_n)+6.96*ASPGLUm_n(u_h_c_n,u_glu_L_c_n,u_asp_L_m_n,u_asp_L_c_n,u_notBigg_MitoMembrPotent_m_n,u_glu_L_m_n,u_h_m_n)+GLUNm_n(u_gln_L_c_n,u_glu_L_m_n)) + du[46] = 0 + du[47] = 0 + du[48] = 0 + du[49] = ASPTA_n(u_glu_L_c_n,u_asp_L_c_n,u_oaa_c_n,u_akg_c_n)-ASPGLUm_n(u_h_c_n,u_glu_L_c_n,u_asp_L_m_n,u_asp_L_c_n,u_notBigg_MitoMembrPotent_m_n,u_glu_L_m_n,u_h_m_n) + du[50] = GAPD_n(u_nadh_c_n,u_nad_c_n,u_g3p_c_n,u_pi_c_n,u_13dpg_c_n)-LDH_L_n(u_nad_c_n,u_lac_L_c_n,u_nadh_c_n,u_pyr_c_n)-notBigg_vShuttlen(u_nadh_m_n,u_nadh_c_n) + du[51] = 0 + du[52] = 0.5*T2Jcorrection*(1000*(notBigg_J_KH_a(u_h_i_a,u_h_m_a,u_k_m_a)+notBigg_J_K_a(u_k_m_a,u_notBigg_MitoMembrPotent_m_a))/W_x) + du[53] = 0.5*T2Jcorrection*(1000*(-notBigg_J_MgATPx_a(u_notBigg_ATP_mx_m_a,u_mg2_m_a)-notBigg_J_MgADPx_a(u_notBigg_ADP_mx_m_a,u_mg2_m_a))/W_x) + du[54] = 6.96*(notBigg_vMitoing(u_nadh_m_a,u_pyr_m_a)+notBigg_vShuttleg(u_nadh_c_a,u_nadh_m_a)-notBigg_vMitooutg_a(u_atp_i_a,u_nadh_m_a,u_nad_m_a,u_o2_c_a,u_adp_i_a)) + du[55] = 0.5*T2Jcorrection*(1000*(+NADH2_u10mi_a(u_nadh_m_a,u_q10h2_m_a)-CYOR_u10mi_a(u_focytC_m_a,u_q10h2_m_a,u_pi_m_a,u_notBigg_MitoMembrPotent_m_a))/W_x) + du[56] = 0.5*T2Jcorrection*(1000*(+2*CYOR_u10mi_a(u_focytC_m_a,u_q10h2_m_a,u_pi_m_a,u_notBigg_MitoMembrPotent_m_a)-2*CYOOm2i_a(u_notBigg_Ctot_m_a,u_focytC_m_a,u_notBigg_MitoMembrPotent_m_a,u_o2_c_a))/W_i) + du[57] = notBigg_JO2fromCap2a(u_o2_b_b,u_o2_c_a)-0.6*notBigg_vMitooutg_a(u_atp_i_a,u_nadh_m_a,u_nad_m_a,u_o2_c_a,u_adp_i_a) + du[58] = 0.5*T2Jcorrection*(1000*(+ATPS4mi_a(u_notBigg_ATP_mx_m_a,u_pi_m_a,u_notBigg_ADP_mx_m_a)-ATPtm_a(u_notBigg_MitoMembrPotent_m_a))/W_x) + du[59] = 0.5*T2Jcorrection*(1000*(-ATPS4mi_a(u_notBigg_ATP_mx_m_a,u_pi_m_a,u_notBigg_ADP_mx_m_a)+ATPtm_a(u_notBigg_MitoMembrPotent_m_a))/W_x) + du[60] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgATPx_a(u_notBigg_ATP_mx_m_a,u_mg2_m_a))/W_x) + du[61] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgADPx_a(u_notBigg_ADP_mx_m_a,u_mg2_m_a))/W_x) + du[62] = 0.5*T2Jcorrection*(1000*(-ATPS4mi_a(u_notBigg_ATP_mx_m_a,u_pi_m_a,u_notBigg_ADP_mx_m_a)+notBigg_J_Pi1_a(u_h_i_a,u_h_m_a))/W_x) + du[63] = 0.5*T2Jcorrection*(1000*(+notBigg_J_ATP_a(u_atp_i_a,u_atp_c_a)+ATPtm_a(u_notBigg_MitoMembrPotent_m_a)+ADK1m_a(u_atp_i_a,u_adp_i_a,u_amp_i_a))/W_i) + du[64] = 0.5*T2Jcorrection*(1000*(+notBigg_J_ADP_a(u_adp_c_a,u_adp_i_a)-ATPtm_a(u_notBigg_MitoMembrPotent_m_a)-2*ADK1m_a(u_atp_i_a,u_adp_i_a,u_amp_i_a))/W_i) + du[65] = 0.5*T2Jcorrection*(1000*(+notBigg_J_AMP_a(u_amp_i_a,u_amp_c_a)+ADK1m_a(u_atp_i_a,u_adp_i_a,u_amp_i_a))/W_i) + du[66] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgATPi_a(u_notBigg_ATP_mi_i_a))/W_i) + du[67] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgADPi_a(u_notBigg_ADP_mi_i_a))/W_i) + du[68] = 0.5*T2Jcorrection*(1000*(-notBigg_J_Pi1_a(u_h_i_a,u_h_m_a)+notBigg_J_Pi2_a(u_pi_i_a,u_pi_c_a))/W_i) + du[69] = 0.5*T2Jcorrection*((4*NADH2_u10mi_a(u_nadh_m_a,u_q10h2_m_a)+2*CYOR_u10mi_a(u_focytC_m_a,u_q10h2_m_a,u_pi_m_a,u_notBigg_MitoMembrPotent_m_a)+4*CYOOm2i_a(u_notBigg_Ctot_m_a,u_focytC_m_a,u_notBigg_MitoMembrPotent_m_a,u_o2_c_a)-n_A*ATPS4mi_a(u_notBigg_ATP_mx_m_a,u_pi_m_a,u_notBigg_ADP_mx_m_a)-ATPtm_a(u_notBigg_MitoMembrPotent_m_a)-notBigg_J_Hle_a(u_h_i_a,u_h_m_a,u_notBigg_MitoMembrPotent_m_a)-notBigg_J_K_a(u_k_m_a,u_notBigg_MitoMembrPotent_m_a))/CIM) + du[70] = 0 + du[71] = 0 + du[72] = 0 + du[73] = (-(u_ca2_c_a/cai0_ca_ion)*(1+xNEmod*(u[178]/(KdNEmod+u[178])))*ADNCYC_a(u_camp_c_a,u_atp_c_a)+CKc_a(u_adp_c_a,u_atp_c_a,u_pcreat_c_a)+0.5*(1/6.96)*1000*(-notBigg_J_ATP_a(u_atp_i_a,u_atp_c_a))-HEX1_a(u_atp_c_a,u_g6p_c_a,u_glc_D_c_a)-PFK_a(u_atp_c_a,u_f26bp_c_a,u_f6p_c_a)-PFK26_a(u_adp_c_a,u_atp_c_a,u_f26bp_c_a,u_f6p_c_a)+PGK_a(u_adp_c_a,u_atp_c_a,u_3pg_c_a,u_13dpg_c_a)+PYK_a(u_adp_c_a,u_atp_c_a,u_pep_c_a)-0.15*(7/4)*vPumpg-vATPasesg)/(1-dAMPdATPg) + du[74] = 0 + du[75] = 0.5*T2Jcorrection*(1000*r0509_a(u_nadh_m_a,u_pi_m_a)/W_x-FUMm_a(u_mal_L_m_a,u_fum_m_a)) + du[76] = 0.5*T2Jcorrection*(FUMm_a(u_mal_L_m_a,u_fum_m_a)-MDHm_a(u_nad_m_a,u_oaa_m_a,u_mal_L_m_a,u_nadh_m_a)) + du[77] = 0.5*T2Jcorrection*(MDHm_a(u_nad_m_a,u_oaa_m_a,u_mal_L_m_a,u_nadh_m_a)-CSm_a(u_oaa_m_a,u_cit_m_a,u_accoa_m_a,u_coa_m_a)+PCm_a(u_co2_m_a,u_oaa_m_a,u_pyr_m_a,u_atp_m_a,u_adp_m_a)) + du[78] = 0.5*T2Jcorrection*(SUCOASm_a(u_coa_m_a,u_succoa_m_a,u_atp_m_a,u_succ_m_a,u_pi_m_a,u_adp_m_a)-1000*r0509_a(u_nadh_m_a,u_pi_m_a)/W_x) + du[79] = 0.5*T2Jcorrection*(AKGDm_a(u_coa_m_a,u_nadh_m_a,u_akg_m_a,u_ca2_m_a,u_nad_m_a,u_succoa_m_a,u_atp_m_a,u_adp_m_a)-SUCOASm_a(u_coa_m_a,u_succoa_m_a,u_atp_m_a,u_succ_m_a,u_pi_m_a,u_adp_m_a)) + du[80] = 0.5*T2Jcorrection*(CSm_a(u_oaa_m_a,u_cit_m_a,u_accoa_m_a,u_coa_m_a)-PDHm_a(u_nad_m_a,u_pyr_m_a,u_coa_m_a)-AKGDm_a(u_coa_m_a,u_nadh_m_a,u_akg_m_a,u_ca2_m_a,u_nad_m_a,u_succoa_m_a,u_atp_m_a,u_adp_m_a)+SUCOASm_a(u_coa_m_a,u_succoa_m_a,u_atp_m_a,u_succ_m_a,u_pi_m_a,u_adp_m_a)) + du[81] = 0.5*T2Jcorrection*(ICDHxm_a(u_nad_m_a,u_nadh_m_a,u_icit_m_a)-AKGDm_a(u_coa_m_a,u_nadh_m_a,u_akg_m_a,u_ca2_m_a,u_nad_m_a,u_succoa_m_a,u_atp_m_a,u_adp_m_a)+GLUDxm_a(u_nad_m_a,u_nadh_m_a,u_glu_L_c_a,u_akg_m_a)) + du[82] = 0 + du[83] = 0.5*T2Jcorrection*(ACONTm_a(u_cit_m_a,u_icit_m_a)-ICDHxm_a(u_nad_m_a,u_nadh_m_a,u_icit_m_a)) + du[84] = 0.5*T2Jcorrection*(CSm_a(u_oaa_m_a,u_cit_m_a,u_accoa_m_a,u_coa_m_a)-ACONTm_a(u_cit_m_a,u_icit_m_a)) + du[85] = 0.5*T2Jcorrection*(PDHm_a(u_nad_m_a,u_pyr_m_a,u_coa_m_a)-CSm_a(u_oaa_m_a,u_cit_m_a,u_accoa_m_a,u_coa_m_a)) + du[86] = 0 + du[87] = 0 + du[88] = 6.96*PYRt2m_a(u_h_m_a,u_pyr_c_a,u_h_c_a,u_pyr_m_a)-T2Jcorrection*(PDHm_a(u_nad_m_a,u_pyr_m_a,u_coa_m_a)+PCm_a(u_co2_m_a,u_oaa_m_a,u_pyr_m_a,u_atp_m_a,u_adp_m_a)) + du[89] = T2Jcorrection*(GLNt4_n(u_gln_L_c_n,u_gln_L_e_e)-GLUNm_n(u_gln_L_c_n,u_glu_L_m_n)) + du[90] = T2Jcorrection*(-GLNt4_n(u_gln_L_c_n,u_gln_L_e_e)+GLNt4_a(u_gln_L_c_a,u_gln_L_e_e)) + du[91] = T2Jcorrection*(-GLNt4_a(u_gln_L_c_a,u_gln_L_e_e)+GLNS_a(u_adp_c_a,u_atp_c_a,u_glu_L_c_a)) + du[92] = T2Jcorrection*(0.0266*GLUt6_a(u_na1_c_a,u_notBigg_Va_c_a,u_k_e_e,u_glu_L_syn_syn,u_k_c_a,u_glu_L_c_a)-GLNS_a(u_adp_c_a,u_atp_c_a,u_glu_L_c_a)-GLUDxm_a(u_nad_m_a,u_nadh_m_a,u_glu_L_c_a,u_akg_m_a)) + du[93] = 0 + du[94] = 0 + du[95] = 0 + du[96] = 0 + du[97] = 0 + du[98] = 0 + du[99] = 0 + du[100] = 0 + du[101] = 0 + du[102] = 0 + du[103] = 0 + du[104] = 0 + du[105] = 0 + du[106] = 0 + du[107] = 0 + du[108] = 0 + du[109] = 0 + du[110] = 0 + du[111] = 0 + du[112] = 0 + du[113] = notBigg_JdHbin(t,u_o2_b_b)-notBigg_JdHbout(t,u_notBigg_ddHb_b_b) + du[114] = notBigg_JO2art2cap(t,u_o2_b_b)-(eto_n/eto_b)*notBigg_JO2fromCap2n(u_o2_b_b,u_o2_c_n)-(eto_a/eto_b)*notBigg_JO2fromCap2a(u_o2_b_b,u_o2_c_a) + du[115] = notBigg_trGLC_art_cap(t,u_glc_D_b_b)-notBigg_JGlc_be(u_glc_D_ecsEndothelium_ecsEndothelium,u_glc_D_b_b) + du[116] = 0.32*notBigg_JGlc_be(u_glc_D_ecsEndothelium_ecsEndothelium,u_glc_D_b_b)-notBigg_JGlc_e2ecsBA(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsEndothelium_ecsEndothelium) + du[117] = 1.13*notBigg_JGlc_e2ecsBA(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsEndothelium_ecsEndothelium)-notBigg_JGlc_ecsBA2a(u_glc_D_ecsBA_ecsBA,u_glc_D_c_a)-notBigg_JGlc_diffEcs(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsAN_ecsAN) + du[118] = 0.06*notBigg_JGlc_ecsBA2a(u_glc_D_ecsBA_ecsBA,u_glc_D_c_a)-HEX1_a(u_atp_c_a,u_g6p_c_a,u_glc_D_c_a)-notBigg_JGlc_a2ecsAN(u_glc_D_ecsAN_ecsAN,u_glc_D_c_a) + du[119] = 1.35*notBigg_JGlc_a2ecsAN(u_glc_D_ecsAN_ecsAN,u_glc_D_c_a)-notBigg_JGlc_ecsAN2n(u_glc_D_c_n,u_glc_D_ecsAN_ecsAN)+0.08*notBigg_JGlc_diffEcs(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsAN_ecsAN) + du[120] = 0.41*notBigg_JGlc_ecsAN2n(u_glc_D_c_n,u_glc_D_ecsAN_ecsAN)-HEX1_n(u_glc_D_c_n,u_atp_c_n,u_g6p_c_n) + du[121] = HEX1_n(u_glc_D_c_n,u_atp_c_n,u_g6p_c_n)-PGI_n(u_f6p_c_n,u_g6p_c_n)-G6PDH2r_n(u_g6p_c_n,u_nadph_c_n,u_nadp_c_n,u_6pgl_c_n) + du[122] = HEX1_a(u_atp_c_a,u_g6p_c_a,u_glc_D_c_a)-PGI_a(u_g6p_c_a,u_f6p_c_a)-G6PDH2r_a(u_6pgl_c_a,u_nadp_c_a,u_g6p_c_a,u_nadph_c_a)+PGMT_a(u_g1p_c_a,u_g6p_c_a) + du[123] = PGI_n(u_f6p_c_n,u_g6p_c_n)-PFK_n(u_f6p_c_n,u_atp_c_n)-TKT2_n(u_f6p_c_n,u_e4p_c_n,u_xu5p_D_c_n,u_g3p_c_n)+TALA_n(u_f6p_c_n,u_e4p_c_n,u_g3p_c_n,u_s7p_c_n) + du[124] = PGI_a(u_g6p_c_a,u_f6p_c_a)-PFK_a(u_atp_c_a,u_f26bp_c_a,u_f6p_c_a)-PFK26_a(u_adp_c_a,u_atp_c_a,u_f26bp_c_a,u_f6p_c_a)-TKT2_a(u_g3p_c_a,u_e4p_c_a,u_xu5p_D_c_a,u_f6p_c_a)+TALA_a(u_g3p_c_a,u_e4p_c_a,u_s7p_c_a,u_f6p_c_a) + du[125] = PFK_n(u_f6p_c_n,u_atp_c_n)-FBA_n(u_fdp_c_n,u_dhap_c_n,u_g3p_c_n) + du[126] = PFK_a(u_atp_c_a,u_f26bp_c_a,u_f6p_c_a)-FBA_a(u_g3p_c_a,u_fdp_c_a,u_dhap_c_a) + du[127] = PFK26_a(u_adp_c_a,u_atp_c_a,u_f26bp_c_a,u_f6p_c_a) + du[128] = GLCS2_a(u_notBigg_GS_c_a,u_udpg_c_a)-GLCP_a(u_glycogen_c_a,u_notBigg_GPa_c_a,u_camp_c_a,u_notBigg_GPb_c_a) + du[129] = 0 + du[130] = 0 + du[131] = 10*GLCP_a(u_glycogen_c_a,u_notBigg_GPa_c_a,u_camp_c_a,u_notBigg_GPb_c_a)-PGMT_a(u_g1p_c_a,u_g6p_c_a)-GALUi_a(u_ppi_c_a,u_g1p_c_a,u_udpg_c_a,u_utp_c_a) + du[132] = FBA_n(u_fdp_c_n,u_dhap_c_n,u_g3p_c_n)-GAPD_n(u_nadh_c_n,u_nad_c_n,u_g3p_c_n,u_pi_c_n,u_13dpg_c_n)+TPI_n(u_dhap_c_n,u_g3p_c_n)-TKT2_n(u_f6p_c_n,u_e4p_c_n,u_xu5p_D_c_n,u_g3p_c_n)-TALA_n(u_f6p_c_n,u_e4p_c_n,u_g3p_c_n,u_s7p_c_n)+TKT1_n(u_s7p_c_n,u_r5p_c_n,u_xu5p_D_c_n,u_g3p_c_n) + du[133] = FBA_a(u_g3p_c_a,u_fdp_c_a,u_dhap_c_a)-GAPD_a(u_nadh_c_a,u_nad_c_a,u_pi_c_a,u_13dpg_c_a,u_g3p_c_a)+TPI_a(u_g3p_c_a,u_dhap_c_a)-TKT2_a(u_g3p_c_a,u_e4p_c_a,u_xu5p_D_c_a,u_f6p_c_a)-TALA_a(u_g3p_c_a,u_e4p_c_a,u_s7p_c_a,u_f6p_c_a)+TKT1_a(u_r5p_c_a,u_g3p_c_a,u_s7p_c_a,u_xu5p_D_c_a) + du[134] = FBA_n(u_fdp_c_n,u_dhap_c_n,u_g3p_c_n)-TPI_n(u_dhap_c_n,u_g3p_c_n) + du[135] = FBA_a(u_g3p_c_a,u_fdp_c_a,u_dhap_c_a)-TPI_a(u_g3p_c_a,u_dhap_c_a) + du[136] = GAPD_n(u_nadh_c_n,u_nad_c_n,u_g3p_c_n,u_pi_c_n,u_13dpg_c_n)-PGK_n(u_13dpg_c_n,u_3pg_c_n,u_atp_c_n,u_adp_c_n) + du[137] = GAPD_a(u_nadh_c_a,u_nad_c_a,u_pi_c_a,u_13dpg_c_a,u_g3p_c_a)-PGK_a(u_adp_c_a,u_atp_c_a,u_3pg_c_a,u_13dpg_c_a) + du[138] = GAPD_a(u_nadh_c_a,u_nad_c_a,u_pi_c_a,u_13dpg_c_a,u_g3p_c_a)-LDH_L_a(u_nad_c_a,u_nadh_c_a,u_lac_L_c_a,u_pyr_c_a)-notBigg_vShuttleg(u_nadh_c_a,u_nadh_m_a) + du[139] = 0 + du[140] = 0 + du[141] = PGK_n(u_13dpg_c_n,u_3pg_c_n,u_atp_c_n,u_adp_c_n)-PGM_n(u_2pg_c_n,u_3pg_c_n) + du[142] = PGK_a(u_adp_c_a,u_atp_c_a,u_3pg_c_a,u_13dpg_c_a)-PGM_a(u_2pg_c_a,u_3pg_c_a) + du[143] = PGM_n(u_2pg_c_n,u_3pg_c_n)-ENO_n(u_pep_c_n,u_2pg_c_n) + du[144] = PGM_a(u_2pg_c_a,u_3pg_c_a)-ENO_a(u_2pg_c_a,u_pep_c_a) + du[145] = ENO_n(u_pep_c_n,u_2pg_c_n)-PYK_n(u_pep_c_n,u_atp_c_n,u_adp_c_n) + du[146] = ENO_a(u_2pg_c_a,u_pep_c_a)-PYK_a(u_adp_c_a,u_atp_c_a,u_pep_c_a) + du[147] = PYK_n(u_pep_c_n,u_atp_c_n,u_adp_c_n)-PYRt2m_n(u_h_m_n,u_pyr_m_n,u_h_c_n,u_pyr_c_n)-LDH_L_n(u_nad_c_n,u_lac_L_c_n,u_nadh_c_n,u_pyr_c_n) + du[148] = PYK_a(u_adp_c_a,u_atp_c_a,u_pep_c_a)-PYRt2m_a(u_h_m_a,u_pyr_c_a,u_h_c_a,u_pyr_m_a)-LDH_L_a(u_nad_c_a,u_nadh_c_a,u_lac_L_c_a,u_pyr_c_a) + du[149] = notBigg_JLacTr_b(u_lac_L_b_b,t)-notBigg_MCT1_LAC_b(u_lac_L_b_b,u_lac_L_e_e)-notBigg_vLACgc(u_lac_L_b_b,u_lac_L_c_a) + du[150] = 0.0275*notBigg_MCT1_LAC_b(u_lac_L_b_b,u_lac_L_e_e)-L_LACt2r_a(u_lac_L_e_e,u_lac_L_c_a)-L_LACt2r_n(u_lac_L_e_e,u_lac_L_c_n)+notBigg_jLacDiff_e(u_lac_L_e_e) + du[151] = 0.8*L_LACt2r_a(u_lac_L_e_e,u_lac_L_c_a)+0.022*notBigg_vLACgc(u_lac_L_b_b,u_lac_L_c_a)+LDH_L_a(u_nad_c_a,u_nadh_c_a,u_lac_L_c_a,u_pyr_c_a) + du[152] = 0.44*L_LACt2r_n(u_lac_L_e_e,u_lac_L_c_n)+LDH_L_n(u_nad_c_n,u_lac_L_c_n,u_nadh_c_n,u_pyr_c_n) + du[153] = G6PDH2r_n(u_g6p_c_n,u_nadph_c_n,u_nadp_c_n,u_6pgl_c_n)+GND_n(u_6pgc_c_n,u_nadph_c_n,u_nadp_c_n,u_ru5p_D_c_n)-notBigg_psiNADPHox_n(u_nadph_c_n)-GTHO_n(u_nadph_c_n,u_gthox_c_n) + du[154] = G6PDH2r_a(u_6pgl_c_a,u_nadp_c_a,u_g6p_c_a,u_nadph_c_a)+GND_a(u_6pgc_c_a,u_nadp_c_a,u_ru5p_D_c_a,u_nadph_c_a)-notBigg_psiNADPHox_a(u_nadph_c_a)-GTHO_a(u_gthox_c_a,u_nadph_c_a) + du[155] = G6PDH2r_n(u_g6p_c_n,u_nadph_c_n,u_nadp_c_n,u_6pgl_c_n)-PGL_n(u_6pgc_c_n,u_6pgl_c_n) + du[156] = G6PDH2r_a(u_6pgl_c_a,u_nadp_c_a,u_g6p_c_a,u_nadph_c_a)-PGL_a(u_6pgc_c_a,u_6pgl_c_a) + du[157] = PGL_n(u_6pgc_c_n,u_6pgl_c_n)-GND_n(u_6pgc_c_n,u_nadph_c_n,u_nadp_c_n,u_ru5p_D_c_n) + du[158] = PGL_a(u_6pgc_c_a,u_6pgl_c_a)-GND_a(u_6pgc_c_a,u_nadp_c_a,u_ru5p_D_c_a,u_nadph_c_a) + du[159] = GND_n(u_6pgc_c_n,u_nadph_c_n,u_nadp_c_n,u_ru5p_D_c_n)-RPE_n(u_xu5p_D_c_n,u_ru5p_D_c_n)-RPI_n(u_r5p_c_n,u_ru5p_D_c_n) + du[160] = GND_a(u_6pgc_c_a,u_nadp_c_a,u_ru5p_D_c_a,u_nadph_c_a)-RPE_a(u_ru5p_D_c_a,u_xu5p_D_c_a)-RPI_a(u_r5p_c_a,u_ru5p_D_c_a) + du[161] = RPI_n(u_r5p_c_n,u_ru5p_D_c_n)-TKT1_n(u_s7p_c_n,u_r5p_c_n,u_xu5p_D_c_n,u_g3p_c_n) + du[162] = RPI_a(u_r5p_c_a,u_ru5p_D_c_a)-TKT1_a(u_r5p_c_a,u_g3p_c_a,u_s7p_c_a,u_xu5p_D_c_a) + du[163] = RPE_n(u_xu5p_D_c_n,u_ru5p_D_c_n)-TKT1_n(u_s7p_c_n,u_r5p_c_n,u_xu5p_D_c_n,u_g3p_c_n)+TKT2_n(u_f6p_c_n,u_e4p_c_n,u_xu5p_D_c_n,u_g3p_c_n) + du[164] = RPE_a(u_ru5p_D_c_a,u_xu5p_D_c_a)-TKT1_a(u_r5p_c_a,u_g3p_c_a,u_s7p_c_a,u_xu5p_D_c_a)+TKT2_a(u_g3p_c_a,u_e4p_c_a,u_xu5p_D_c_a,u_f6p_c_a) + du[165] = TKT1_n(u_s7p_c_n,u_r5p_c_n,u_xu5p_D_c_n,u_g3p_c_n)-TALA_n(u_f6p_c_n,u_e4p_c_n,u_g3p_c_n,u_s7p_c_n) + du[166] = TKT1_a(u_r5p_c_a,u_g3p_c_a,u_s7p_c_a,u_xu5p_D_c_a)-TALA_a(u_g3p_c_a,u_e4p_c_a,u_s7p_c_a,u_f6p_c_a) + du[167] = TKT2_n(u_f6p_c_n,u_e4p_c_n,u_xu5p_D_c_n,u_g3p_c_n)+TALA_n(u_f6p_c_n,u_e4p_c_n,u_g3p_c_n,u_s7p_c_n) + du[168] = TKT2_a(u_g3p_c_a,u_e4p_c_a,u_xu5p_D_c_a,u_f6p_c_a)+TALA_a(u_g3p_c_a,u_e4p_c_a,u_s7p_c_a,u_f6p_c_a) + du[169] = 2*(GTHO_n(u_nadph_c_n,u_gthox_c_n)-GTHP_n(u_gthrd_c_n))+GTHS_n(u_gthrd_c_n) + du[170] = 2*(GTHO_a(u_gthox_c_a,u_nadph_c_a)-GTHP_a(u_gthrd_c_a))+GTHS_a(u_gthrd_c_a) + du[171] = -GTHO_n(u_nadph_c_n,u_gthox_c_n)+GTHP_n(u_gthrd_c_n) + du[172] = -GTHO_a(u_gthox_c_a,u_nadph_c_a)+GTHP_a(u_gthrd_c_a) + du[173] = 0 + du[174] = -CKc_n(u_pcreat_c_n,u_atp_c_n,u_adp_c_n) + du[175] = 0 + du[176] = -CKc_a(u_adp_c_a,u_atp_c_a,u_pcreat_c_a) + du[177] = (u_ca2_c_a/cai0_ca_ion)*(1+xNEmod*(u[178]/(KdNEmod+u[178])))*ADNCYC_a(u_camp_c_a,u_atp_c_a)-PDE1_a(u_camp_c_a) + du[178] = 0 + du[179] = 0 + du[180] = 0 + du[181] = 0 + du[182] = notBigg_psiPHK_a(u_ca2_c_a,u_glycogen_c_a,u_g1p_c_a,u_notBigg_PHKa_c_a,u_notBigg_GPa_c_a,u_udpg_c_a) + du[183] = -notBigg_psiPHK_a(u_ca2_c_a,u_glycogen_c_a,u_g1p_c_a,u_notBigg_PHKa_c_a,u_notBigg_GPa_c_a,u_udpg_c_a) + end \ No newline at end of file diff --git a/multiscale_run/metabolism/ODE_system_young.jl b/multiscale_run/metabolism/ODE_system_young.jl new file mode 100644 index 0000000..8fbb843 --- /dev/null +++ b/multiscale_run/metabolism/ODE_system_young.jl @@ -0,0 +1,721 @@ +function metabolism!(du,u,p,t) + + """ + This function defines the metabolism model in a system of ordinary differential equations. It is called in the multiscale_run orchestrator. + For more details on the metabolic model, refer to the original paper DOI: https://doi.org/10.1101/2023.08.30.555341 + + + + Args: + + Formally, the args are du,u,p,t. In fact, du is a placeholder to keep the solution of the system. It should be the same size as u, which is an initial values list. Next, p is a list of parameters and t is a time span. Please see the details on arguments in https://docs.sciml.ai/DiffEqDocs/stable/ In diffeqpy interface used in multiscale run we just define u,t,p as input args. + + + + Some files with annotations to help you understanding the u (variables) of the function: + + variable idx to variable name: variable_idxc.jl + + Parameters list : + + ina_density, ik_density, mito_scale, glutamatergic_gaba_scaling,outs_r_to_met = @. p + ina_density, ik_density, mito_scale, notBigg_FinDyn_W2017, notBigg_Fout_W2017, u_notBigg_vV_b_b = @. p + + where + + ina_density, ik_density - ion currents from Neurodamus + + mito_scale - mitochondiral scaling based on layer + + notBigg_FinDyn_W2017, notBigg_Fout_W2017, u_notBigg_vV_b_b - Blood Flow parameters + + + Returns: + + Formally, there is no "return" of this function, but the function itself is being used for metabolism dynamics simulation from multiscale orchestrator: + prob_metabo = de.ODEProblem(metabolism, vm, tspan_m, param) + In a way the function used with de.ODEProblem it defines an ODE system problem to be solved with + sol = de.solve( prob_metabo, de.Rosenbrock23(autodiff=False), reltol=1e-8, abstol=1e-8, saveat=1, maxiters=1e6, ) + + """ + + ina_density,ik_density,mito_scale, notBigg_FinDyn_W2017, notBigg_Fout_W2017, u_notBigg_vV_b_b = @. p + + notBigg_Fout_W2017 = notBigg_FinDyn_W2017 + + + NADtot_n = NADtot + NADtot_a = NADtot + + NAD_aging_coeff_n = 1 + NAD_aging_coeff_a = 1 + + NAD_aging_coeff_mn = 1 + NAD_aging_coeff_ma = 1 + + NADHshuttle_aging_n = 1 + NADHshuttle_aging_a = 1 + + syn_aging_coeff = 1 + +u_h_m_n = u[1] +u_k_m_n = u[2] +u_mg2_m_n = u[3] +u_nadh_m_n = u[4] +u_q10h2_m_n = u[5] +u_focytC_m_n = u[6] +u_o2_c_n = u[7] +u_atp_m_n = u[8] +u_adp_m_n = u[9] +u_notBigg_ATP_mx_m_n = u[10] +u_notBigg_ADP_mx_m_n = u[11] +u_pi_m_n = u[12] +u_atp_i_n = u[13] +u_adp_i_n = u[14] +u_amp_i_n = u[15] +u_notBigg_ATP_mi_i_n = u[16] +u_notBigg_ADP_mi_i_n = u[17] +u_pi_i_n = u[18] +u_notBigg_MitoMembrPotent_m_n = u[19] +u_notBigg_Ctot_m_n = u[20] +u_notBigg_Qtot_m_n = u[21] +u_h_i_n = u[22] +u_atp_c_n = u[23] +u_adp_c_n = u[23]/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_n/u[23]-1))) +u_fum_m_n = u[25] +u_mal_L_m_n = u[26] +u_oaa_m_n = u[27] +u_succ_m_n = u[28] +u_succoa_m_n = u[29] +u_coa_m_n = u[30] +u_akg_m_n = u[31] +u_ca2_m_n = u[32] +u_icit_m_n = u[33] +u_cit_m_n = u[34] +u_accoa_m_n = u[35] +u_acac_c_n = u[36] +u_aacoa_m_n = u[37] +u_pyr_m_n = u[38] +u_bhb_c_n = u[39] +u_bhb_e_e = u[40] +u_bhb_c_a = u[41] +u_bhb_b_b = u[42] +u_asp_L_m_n = u[43] +u_asp_L_c_n = u[44] +u_glu_L_m_n = u[45] +u_mal_L_c_n = u[46] +u_oaa_c_n = u[47] +u_akg_c_n = u[48] +u_glu_L_c_n = u[49] +u_nadh_c_n = u[50] +u_h_m_a = u[51] +u_k_m_a = u[52] +u_mg2_m_a = u[53] +u_nadh_m_a = u[54] +u_q10h2_m_a = u[55] +u_focytC_m_a = u[56] +u_o2_c_a = u[57] +u_atp_m_a = u[58] +u_adp_m_a = u[59] +u_notBigg_ATP_mx_m_a = u[60] +u_notBigg_ADP_mx_m_a = u[61] +u_pi_m_a = u[62] +u_atp_i_a = u[63] +u_adp_i_a = u[64] +u_amp_i_a = u[65] +u_notBigg_ATP_mi_i_a = u[66] +u_notBigg_ADP_mi_i_a = u[67] +u_pi_i_a = u[68] +u_notBigg_MitoMembrPotent_m_a = u[69] +u_notBigg_Ctot_m_a = u[70] +u_notBigg_Qtot_m_a = u[71] +u_h_i_a = u[72] +u_atp_c_a = u[73] +u_adp_c_a = u[73]/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_a/u[73]-1))) +u_fum_m_a = u[75] +u_mal_L_m_a = u[76] +u_oaa_m_a = u[77] +u_succ_m_a = u[78] +u_succoa_m_a = u[79] +u_coa_m_a = u[80] +u_akg_m_a = u[81] +u_ca2_m_a = u[82] +u_icit_m_a = u[83] +u_cit_m_a = u[84] +u_accoa_m_a = u[85] +u_acac_c_a = u[86] +u_aacoa_m_a = u[87] +u_pyr_m_a = u[88] +u_gln_L_c_n = u[89] +u_gln_L_e_e = u[90] +u_gln_L_c_a = u[91] +u_glu_L_c_a = u[92] +u_notBigg_Va_c_a = u[93] +u_na1_c_a = u[94] +u_k_c_a = u[95] +u_k_e_e = u[96] +u_glu_L_syn_syn = u[97] +u_notBigg_VNeu_c_n = u[98] +u_na1_c_n = u[99] +u_notBigg_hgate_c_n = u[100] +u_notBigg_ngate_c_n = u[101] +u_ca2_c_n = u[102] +u_notBigg_pgate_c_n = u[103] +u_notBigg_nBK_c_a = u[104] +u_notBigg_mGluRboundRatio_c_a = u[105] +u_notBigg_IP3_c_a = u[106] +u_notBigg_hIP3Ca_c_a = u[107] +u_ca2_c_a = u[108] +u_ca2_r_a = u[109] +u_notBigg_sTRP_c_a = u[110] +u_notBigg_EET_c_a = u[112] +u_notBigg_ddHb_b_b = u[113] +u_o2_b_b = u[114] +u_glc_D_b_b = u[115] +u_glc_D_ecsEndothelium_ecsEndothelium = u[116] +u_glc_D_ecsBA_ecsBA = u[117] +u_glc_D_c_a = u[118] +u_glc_D_ecsAN_ecsAN = u[119] +u_glc_D_c_n = u[120] +u_g6p_c_n = u[121] +u_g6p_c_a = u[122] +u_f6p_c_n = u[123] +u_f6p_c_a = u[124] +u_fdp_c_n = u[125] +u_fdp_c_a = u[126] +u_f26bp_c_a = u[127] +u_glycogen_c_a = u[128] +u_amp_c_n = u[129] +u_amp_c_a = u[130] +u_g1p_c_a = u[131] +u_g3p_c_n = u[132] +u_g3p_c_a = u[133] +u_dhap_c_n = u[134] +u_dhap_c_a = u[135] +u_13dpg_c_n = u[136] +u_13dpg_c_a = u[137] +u_nadh_c_a = u[138] +u_pi_c_n = u[139] +u_pi_c_a = u[140] +u_3pg_c_n = u[141] +u_3pg_c_a = u[142] +u_2pg_c_n = u[143] +u_2pg_c_a = u[144] +u_pep_c_n = u[145] +u_pep_c_a = u[146] +u_pyr_c_n = u[147] +u_pyr_c_a = u[148] +u_lac_L_b_b = u[149] +u_lac_L_e_e = u[150] +u_lac_L_c_a = u[151] +u_lac_L_c_n = u[152] +u_nadph_c_n = u[153] +u_nadph_c_a = u[154] +u_6pgl_c_n = u[155] +u_6pgl_c_a = u[156] +u_6pgc_c_n = u[157] +u_6pgc_c_a = u[158] +u_ru5p_D_c_n = u[159] +u_ru5p_D_c_a = u[160] +u_r5p_c_n = u[161] +u_r5p_c_a = u[162] +u_xu5p_D_c_n = u[163] +u_xu5p_D_c_a = u[164] +u_s7p_c_n = u[165] +u_s7p_c_a = u[166] +u_e4p_c_n = u[167] +u_e4p_c_a = u[168] +u_gthrd_c_n = u[169] +u_gthrd_c_a = u[170] +u_gthox_c_n = u[171] +u_gthox_c_a = u[172] +u_creat_c_n = u[173] +u_pcreat_c_n = u[174] +u_creat_c_a = u[175] +u_pcreat_c_a = u[176] +u_camp_c_a = u[177] +u_nrpphr_e_e = u[178] +u_udpg_c_a = u[179] +u_utp_c_a = u[180] +u_notBigg_GS_c_a = u[181] +u_notBigg_GPa_c_a = u[182] +u_notBigg_GPb_c_a = u[183] +u_h_c_n = C_H_cyt_n +u_h_c_a = C_H_cyt_a +u_co2_m_n = CO2_mito_n +u_co2_m_a = CO2_mito_a +u_ppi_c_a = PPi_a0 +u_notBigg_PHKa_c_a = PHKa_a0 +u_notBigg_PP1_c_a_initialValue = PP1_a0 +H2PIi_n = (1e-3*u_pi_i_n)*(1e-3*u_h_i_n)/((1e-3*u_h_i_n)+k_dHPi) +H2PIx_n = (1e-3*u_pi_m_n)*(1e-3*u_h_m_n)/((1e-3*u_h_m_n)+k_dHPi) +H2PIi_a = (1e-3*u_pi_i_a)*(1e-3*u_h_i_a)/((1e-3*u_h_i_a)+k_dHPi) +H2PIx_a = (1e-3*u_pi_m_a)*(1e-3*u_h_m_a)/((1e-3*u_h_m_a)+k_dHPi) + + + +Pi_n=u[139] +Pi_a=u[140] +C_H_mitomatr_nM=1e-3*u[1]; +K_x_nM=1e-3*u[2]; +Mg_x_nM=1e-3*u[3]; +NADHmito_nM=1e-3*u[4]; +QH2mito_nM=1e-3*u[5]; +CytCredmito_nM=1e-3*u[6]; +O2_nM=1e-3*u[7]; +ATPmito_nM=1e-3*u[8]; +ADPmito_nM=1e-3*u[9] +Cr_n=Crtot-u[174]; +Cr_a=Crtot-u[176] +ADP_n=u[23]/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_n/u[23]-1))) +ADP_a=u[73]/2*(-qAK+sqrt(qAK*qAK+4*qAK*(ATDPtot_a/u[73]-1))) +j_un=qAK*qAK+4*qAK*(ATDPtot_n/u[23]-1) +j_ug=qAK*qAK+4*qAK*(ATDPtot_a/u[73]-1) +dAMPdATPn=-1+qAK/2-0.5*sqrt(j_un)+qAK*ATDPtot_n/(u[23]*sqrt(j_un)) +dAMPdATPg=-1+qAK/2-0.5*sqrt(j_ug)+qAK*ATDPtot_a/(u[73]*sqrt(j_ug)) +ATP_nM=1e-3*u[23]; +ADP_nM=1e-3*ADP_n +ATP_aM=1e-3*u[73]; +ADP_aM=1e-3*ADP_a +ATP_mx_nM=1e-3*u[10]; +ADP_mx_nM=1e-3*u[11] +Pimito_nM=1e-3*u[12] +ATP_i_nM=1e-3*u[13]; +ADP_i_nM=1e-3*u[14]; +AMP_i_nM=1e-3*u[15] +ATP_mi_nM=1e-3*u[16]; +ADP_mi_nM=1e-3*u[17] +Pi_i_nM=1e-3*u[18] +Ctot_nM=1e-3*u[20] +Qtot_nM=1e-3*u[21] +C_H_ims_nM=1e-3*u[22] +AMP_nM=0 +NAD_x_n=NADtot_n-NADHmito_nM; +u_nad_m_n=1000*NAD_x_n +Q_n=Qtot_nM-QH2mito_nM; +Qmito_n=1000*Q_n +Cox_n=Ctot_nM-CytCredmito_nM; +ATP_fx_n=ATPmito_nM-ATP_mx_nM +ADP_fx_n=ADPmito_nM-ADP_mx_nM +ATP_fi_n=ATP_i_nM-ATP_mi_nM +ADP_fi_n=ADP_i_nM-ADP_mi_nM +ADP_me_n=((K_DD+ADP_nM+Mg_tot)-sqrt((K_DD+ADP_nM+Mg_tot)^2-4*(Mg_tot*ADP_nM)))/2; +Mg_i_n=Mg_tot-ADP_me_n; +dG_H_n=etcF*u[19]+1*etcRT*log(C_H_ims_nM/C_H_mitomatr_nM); +dG_C1op_n=dG_C1o-1*etcRT*log(C_H_mitomatr_nM/1e-7); +dG_C3op_n=dG_C3o+2*etcRT*log(C_H_mitomatr_nM/1e-7); +dG_C4op_n=dG_C4o-2*etcRT*log(C_H_mitomatr_nM/1e-7); +dG_F1op_n=dG_F1o-1*etcRT*log(C_H_mitomatr_nM/1e-7); +C_H_mitomatr_a=u[51]; +C_H_mitomatr_aM=1e-3*u[51] +K_x_aM=1e-3*u[52] +Mg_x_aM=1e-3*u[53] +NADHmito_aM=1e-3*u[54] +QH2mito_aM=1e-3*u[55] +CytCredmito_aM=1e-3*u[56] +O2_aM=1e-3*u[57] +ATPmito_aM=1e-3*u[58] +ADPmito_aM=1e-3*u[59] +ATP_mx_aM=1e-3*u[60] +ADP_mx_aM=1e-3*u[61] +Pimito_aM=1e-3*u[62] +ATP_i_aM=1e-3*u[63] +ADP_i_aM=1e-3*u[64]; +AMP_i_aM=1e-3*u[65] +ATP_mi_aM=1e-3*u[66] +ADP_mi_aM=1e-3*u[67] +Pi_i_aM=1e-3*u[68] +Ctot_aM=1e-3*u[70] +Qtot_aM=1e-3*u[71] +C_H_ims_aM=1e-3*u[72] +AMP_aM=0 +NAD_x_a=NADtot_a-NADHmito_aM; +u_nad_m_a=1000*NAD_x_a +Q_a=Qtot_aM-QH2mito_aM; +Qmito_a=1000*Q_a +Cox_a=Ctot_aM-CytCredmito_aM; +ATP_fx_a=ATPmito_aM-ATP_mx_aM +ADP_fx_a=ADPmito_aM-ADP_mx_aM +ATP_fi_a=ATP_i_aM-ATP_mi_aM +ADP_fi_a=ADP_i_aM-ADP_mi_aM +ADP_me_a=((K_DD_a+ADP_aM+Mg_tot)-sqrt((K_DD_a+ADP_aM+Mg_tot)^2-4*(Mg_tot*ADP_aM)))/2; +Mg_i_a=Mg_tot-ADP_me_a; +dG_H_a=etcF*u[69]+1*etcRT*log(C_H_ims_aM/C_H_mitomatr_aM); +dG_C1op_a=dG_C1o-1*etcRT*log(C_H_mitomatr_aM/1e-7); +dG_C3op_a=dG_C3o+2*etcRT*log(C_H_mitomatr_aM/1e-7); +dG_C4op_a=dG_C4o-2*etcRT*log(C_H_mitomatr_aM/1e-7); +dG_F1op_a=dG_F1o-1*etcRT*log(C_H_mitomatr_aM/1e-7); +u_nadp_c_n=0.0303-u[153]; +u_nadp_c_a=0.0303-u[154] +u_nad_c_n=0.212-u[50]; +u_nad_c_a=0.212-u[138] + + +Glutamate_syn=u[97] + + +vPumpg=SmVg*kPumpg*u[73]*u[94]/(1+u[73]/KmPump); + +r0509_n(u_nadh_m_n,u_pi_m_n) = 1*(mito_scale * x_DH*(r_DH*NAD_x_n-(1e-3*u_nadh_m_n))*((1+(1e-3*u_pi_m_n)/k_Pi1)/(1+(1e-3*u_pi_m_n)/k_Pi2))) +NADH2_u10mi_n(u_nadh_m_n,u_q10h2_m_n) = 1*(mito_scale *x_C1*(exp(-(dG_C1op_n+4*dG_H_n)/etcRT)*(1e-3*u_nadh_m_n)*Q_n-NAD_x_n*(1e-3*u_q10h2_m_n))) +CYOR_u10mi_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_q10h2_m_n,u_pi_m_n) = 1*(mito_scale *x_C3*((1+(1e-3*u_pi_m_n)/k_Pi3)/(1+(1e-3*u_pi_m_n)/k_Pi4))*(exp(-(dG_C3op_n+4*dG_H_n-2*etcF*u_notBigg_MitoMembrPotent_m_n)/(2*etcRT))*Cox_n*(1e-3*u_q10h2_m_n)^0.5-(1e-3*u_focytC_m_n)*Q_n^0.5)) +CYOOm2i_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_notBigg_Ctot_m_n,u_o2_c_n) = 1*(mito_scale *x_C4*((1e-3*u_o2_c_n)/((1e-3*u_o2_c_n)+k_O2))*((1e-3*u_focytC_m_n)/(1e-3*u_notBigg_Ctot_m_n))*(exp(-(dG_C4op_n+2*dG_H_n)/(2*etcRT))*(1e-3*u_focytC_m_n)*((1e-3*u_o2_c_n)^0.25)-Cox_n*exp(etcF*u_notBigg_MitoMembrPotent_m_n/etcRT))) +ATPS4mi_n(u_notBigg_ATP_mx_m_n,u_notBigg_ADP_mx_m_n,u_pi_m_n) = 1*(mito_scale * x_F1*(exp(-(dG_F1op_n-n_A*dG_H_n)/etcRT)*(K_DD/K_DT)*(1e-3*u_notBigg_ADP_mx_m_n)*(1e-3*u_pi_m_n)-(1e-3*u_notBigg_ATP_mx_m_n))) +ATPtm_n(u_notBigg_MitoMembrPotent_m_n) = 1*mito_scale * (x_ANT*(ADP_fi_n/(ADP_fi_n+ATP_fi_n*exp(-etcF*(0.35*u_notBigg_MitoMembrPotent_m_n)/etcRT))-ADP_fx_n/(ADP_fx_n+ATP_fx_n*exp(-etcF*(-0.65*u_notBigg_MitoMembrPotent_m_n)/etcRT)))*(ADP_fi_n/(ADP_fi_n+k_mADP))) +notBigg_J_Pi1_n(u_h_m_n,u_h_i_n) = 1*mito_scale * (x_Pi1*((1e-3*u_h_m_n)*H2PIi_n-(1e-3*u_h_i_n)*H2PIx_n)/(H2PIi_n+k_PiH)) +notBigg_J_Hle_n(u_h_m_n,u_h_i_n,u_notBigg_MitoMembrPotent_m_n) = 1*mito_scale * (x_Hle*u_notBigg_MitoMembrPotent_m_n*((1e-3*u_h_i_n)*exp(etcF*u_notBigg_MitoMembrPotent_m_n/etcRT)-(1e-3*u_h_m_n))/(exp(etcF*u_notBigg_MitoMembrPotent_m_n/etcRT)-1)) +notBigg_J_KH_n(u_h_m_n,u_h_i_n,u_k_m_n) = 1*mito_scale * (x_KH*(K_i*(1e-3*u_h_m_n)-(1e-3*u_k_m_n)*(1e-3*u_h_i_n))) +notBigg_J_K_n(u_k_m_n,u_notBigg_MitoMembrPotent_m_n) = 1*mito_scale * (x_K*u_notBigg_MitoMembrPotent_m_n*(K_i*exp(etcF*u_notBigg_MitoMembrPotent_m_n/etcRT)-(1e-3*u_k_m_n))/(exp(etcF*u_notBigg_MitoMembrPotent_m_n/etcRT)-1)) +ADK1m_n(u_amp_i_n,u_atp_i_n,u_adp_i_n) = 1*mito_scale * (x_AK*(K_AK*(1e-3*u_adp_i_n)*(1e-3*u_adp_i_n)-(1e-3*u_amp_i_n)*(1e-3*u_atp_i_n))) +notBigg_J_AMP_n(u_amp_i_n,u_amp_c_n) = 1*mito_scale * (gamma*x_A*((1e-3*u_amp_c_n)-(1e-3*u_amp_i_n))) +notBigg_J_ADP_n(u_adp_i_n,u_adp_c_n) = 1*mito_scale * (gamma*x_A*((1e-3*u_adp_c_n)-(1e-3*u_adp_i_n))) +notBigg_J_ATP_n(u_atp_c_n,u_atp_i_n) = 1*mito_scale * (gamma*x_A*((1e-3*u_atp_c_n)-(1e-3*u_atp_i_n))) +notBigg_J_Pi2_n(u_pi_i_n,u_pi_c_n) = 1*mito_scale * (gamma*x_Pi2*(1e-3*u_pi_c_n-(1e-3*u_pi_i_n))) +notBigg_J_Ht_n(u_h_i_n,u_h_c_n) = 1*mito_scale * (gamma*x_Ht*(1e-3*u_h_c_n-(1e-3*u_h_i_n))) +notBigg_J_MgATPx_n(u_notBigg_ATP_mx_m_n,u_mg2_m_n) = 1*mito_scale * (x_MgA*(ATP_fx_n*(1e-3*u_mg2_m_n)-K_DT*(1e-3*u_notBigg_ATP_mx_m_n))) +notBigg_J_MgADPx_n(u_mg2_m_n,u_notBigg_ADP_mx_m_n) = 1*mito_scale * (x_MgA*(ADP_fx_n*(1e-3*u_mg2_m_n)-K_DD*(1e-3*u_notBigg_ADP_mx_m_n))) +notBigg_J_MgATPi_n(u_notBigg_ATP_mi_i_n) = 1*mito_scale * (x_MgA*(ATP_fi_n*Mg_i_n-K_DT*(1e-3*u_notBigg_ATP_mi_i_n))) +notBigg_J_MgADPi_n(u_notBigg_ADP_mi_i_n) = 1*mito_scale * (x_MgA*(ADP_fi_n*Mg_i_n-K_DD*(1e-3*u_notBigg_ADP_mi_i_n))) +PDHm_n(u_pyr_m_n,u_coa_m_n,u_nad_m_n) = 1*(mito_scale *VmaxPDHCmito_n*(u_pyr_m_n/(u_pyr_m_n+KmPyrMitoPDH_n))*(u_nad_m_n/(u_nad_m_n+KmNADmitoPDH_na))*(u_coa_m_n/(u_coa_m_n+KmCoAmitoPDH_n))) +CSm_n(u_accoa_m_n,u_oaa_m_n,u_cit_m_n,u_coa_m_n) = 1*(mito_scale * VmaxCSmito_n*(u_oaa_m_n/(u_oaa_m_n+KmOxaMito_n*(1.0+u_cit_m_n/KiCitMito_n)))*(u_accoa_m_n/(u_accoa_m_n+KmAcCoAmito_n*(1.0+u_coa_m_n/KiCoA_n)))) +ACONTm_n(u_icit_m_n,u_cit_m_n) = 1*(mito_scale * VmaxAco_n*(u_cit_m_n-u_icit_m_n/KeqAco_na)/(1.0+u_cit_m_n/KmCitAco_n+u_icit_m_n/KmIsoCitAco_n)) +ICDHxm_n(u_nadh_m_n,u_icit_m_n,u_nad_m_n) = 1*(mito_scale * VmaxIDH_n*(u_nad_m_n/KiNADmito_na)*((u_icit_m_n/KmIsoCitIDHm_n)^nIDH)/(1.0+u_nad_m_n/KiNADmito_na+(KmNADmito_na/KiNADmito_na)*((u_icit_m_n/KmIsoCitIDHm_n)^nIDH)+u_nadh_m_n/KiNADHmito_na+(u_nad_m_n/KiNADmito_na)*((u_icit_m_n/KmIsoCitIDHm_n)^nIDH)+((KmNADmito_na*u_nadh_m_n)/(KiNADmito_na*KiNADHmito_na))*((u_icit_m_n/KmIsoCitIDHm_n)^nIDH))) +AKGDm_n(u_coa_m_n,u_nadh_m_n,u_ca2_m_n,u_adp_m_n,u_succoa_m_n,u_nad_m_n,u_atp_m_n,u_akg_m_n) = 1*((mito_scale * VmaxKGDH_n*(1+u_adp_m_n/KiADPmito_KGDH_n)*(u_akg_m_n/Km1KGDHKGDH_n)*(u_coa_m_n/Km_CoA_kgdhKGDH_n)*(u_nad_m_n/KmNADkgdhKGDH_na))/(((u_coa_m_n/Km_CoA_kgdhKGDH_n)*(u_nad_m_n/KmNADkgdhKGDH_na)*(u_akg_m_n/Km1KGDHKGDH_n+(1+u_atp_m_n/KiATPmito_KGDH_n)/(1+u_ca2_m_n/KiCa2KGDH_n)))+((u_akg_m_n/Km1KGDHKGDH_n)*(u_coa_m_n/Km_CoA_kgdhKGDH_n+u_nad_m_n/KmNADkgdhKGDH_na)*(1+u_nadh_m_n/KiNADHKGDHKGDH_na+u_succoa_m_n/Ki_SucCoA_kgdhKGDH_n)))) +SUCOASm_n(u_coa_m_n,u_succ_m_n,u_pi_m_n,u_adp_m_n,u_succoa_m_n,u_atp_m_n) = 1*(mito_scale * VmaxSuccoaATPscs_n*(1+AmaxPscs_n*((u_pi_m_n^npscs_n)/((u_pi_m_n^npscs_n)+(Km_pi_scs_na^npscs_n))))*(u_succoa_m_n*u_adp_m_n*u_pi_m_n-u_succ_m_n*u_coa_m_n*u_atp_m_n/Keqsuccoascs_na)/((1+u_succoa_m_n/Km_succoa_scs_n)*(1+u_adp_m_n/Km_ADPmito_scs_n)*(1+u_pi_m_n/Km_pi_scs_na)+(1+u_succ_m_n/Km_succ_scs_n)*(1+u_coa_m_n/Km_coa_scs_n)*(1+u_atp_m_n/Km_atpmito_scs_n))) +FUMm_n(u_fum_m_n,u_mal_L_m_n) = 1*(mito_scale * Vmaxfum_n*(u_fum_m_n-u_mal_L_m_n/Keqfummito_na)/(1.0+u_fum_m_n/Km_fummito_n+u_mal_L_m_n/Km_malmito_n)) +MDHm_n(u_nadh_m_n,u_oaa_m_n,u_nad_m_n,u_mal_L_m_n) = 1*(mito_scale * VmaxMDHmito_n*(u_mal_L_m_n*u_nad_m_n-u_oaa_m_n*u_nadh_m_n/Keqmdhmito_na)/((1.0+u_mal_L_m_n/Km_mal_mdh_n)*(1.0+u_nad_m_n/Km_nad_mdh_na)+(1.0+u_oaa_m_n/Km_oxa_mdh_n)*(1.0+u_nadh_m_n/Km_nadh_mdh_na))) +OCOAT1m_n(u_acac_c_n,u_aacoa_m_n,u_succoa_m_n,u_succ_m_n) = 1*mito_scale * ((VmaxfSCOT_n*u_succoa_m_n*u_acac_c_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*(u_succoa_m_n/Ki_SucCoA_SCOT_n+Km_SucCoA_SCOT_n*u_acac_c_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n)+u_aacoa_m_n/Ki_AcAcCoA_SCOT_n+Km_AcAcCoA_SCOT_n*u_succ_m_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n)+u_succoa_m_n*u_acac_c_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n)+u_succoa_m_n*u_aacoa_m_n/(Ki_SucCoA_SCOT_n*Ki_AcAcCoA_SCOT_n)+Km_SucCoA_SCOT_n*u_acac_c_n*u_succ_m_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*Ki_SUC_SCOT_n)+u_aacoa_m_n*u_succ_m_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n))))-(VmaxrSCOT_n*u_aacoa_m_n*u_succ_m_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n*(u_succoa_m_n/Ki_SucCoA_SCOT_n+Km_SucCoA_SCOT_n*u_acac_c_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n)+u_aacoa_m_n/Ki_AcAcCoA_SCOT_n+Km_AcAcCoA_SCOT_n*u_succ_m_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n)+u_succoa_m_n*u_acac_c_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n)+u_succoa_m_n*u_aacoa_m_n/(Ki_SucCoA_SCOT_n*Ki_AcAcCoA_SCOT_n)+Km_SucCoA_SCOT_n*u_acac_c_n*u_succ_m_n/(Ki_SucCoA_SCOT_n*Km_AcAc_SCOT_n*Ki_SUC_SCOT_n)+u_aacoa_m_n*u_succ_m_n/(Ki_AcAcCoA_SCOT_n*Km_SUC_SCOT_n))))) +ACACT1rm_n(u_aacoa_m_n,u_coa_m_n) = 1*mito_scale * (Vmax_thiolase_f_n*u_coa_m_n*u_aacoa_m_n/(Ki_CoA_thiolase_f_n*Km_AcAcCoA_thiolase_f_n+Km_AcAcCoA_thiolase_f_n*u_coa_m_n+Km_CoA_thiolase_f_n*u_aacoa_m_n+u_coa_m_n*u_aacoa_m_n)) + +notBigg_JbHBTrArtCap(t,u_bhb_b_b) = (2*(C_bHB_a-u_bhb_b_b)/eto_b)*notBigg_FinDyn_W2017 + +notBigg_MCT1_bHB_b(u_bhb_e_e,u_bhb_b_b) = 1*(VmaxMCTbhb_b*(u_bhb_b_b/(u_bhb_b_b+KmMCT1_bHB_b)-u_bhb_e_e/(u_bhb_e_e+KmMCT1_bHB_b))) +BHBt_n(u_bhb_c_n,u_bhb_e_e) = 1*(VmaxMCTbhb_n*(u_bhb_e_e/(u_bhb_e_e+KmMCT2_bHB_n)-u_bhb_c_n/(u_bhb_c_n+KmMCT2_bHB_n))) +BHBt_a(u_bhb_c_a,u_bhb_e_e) = 1*(VmaxMCTbhb_a*(u_bhb_e_e/(u_bhb_e_e+KmMCT1_bHB_a)-u_bhb_c_a/(u_bhb_c_a+KmMCT1_bHB_a))) +BDHm_n(u_acac_c_n,u_bhb_c_n,u_nadh_m_n,u_nad_m_n) = 1*mito_scale * (Vmax_bHBDH_f_n*u_nad_m_n*u_bhb_c_n/(Ki_NAD_B_HBD_f_n*Km_betaHB_BHBD_n+Km_betaHB_BHBD_n*u_nad_m_n+Km_NAD_B_HBD_n*u_bhb_c_n+u_nad_m_n*u_bhb_c_n)-(Vmax_bHBDH_r_n*u_nadh_m_n*u_acac_c_n/(Ki_NADH_BHBD_r_n*Km_AcAc_BHBD_n+Km_AcAc_BHBD_n*u_nadh_m_n+Km_NADH_BHBD_n*u_acac_c_n+u_nadh_m_n*u_acac_c_n))) + +ASPTAm_n(u_oaa_m_n,u_akg_m_n,u_glu_L_m_n,u_asp_L_m_n) = 1*(mito_scale * VfAAT_n*(u_asp_L_m_n*u_akg_m_n-u_oaa_m_n*u_glu_L_m_n/KeqAAT_n)/(KmAKG_AAT_n*u_asp_L_m_n+KmASP_AAT_n*(1.0+u_akg_m_n/KiAKG_AAT_n)*u_akg_m_n+u_asp_L_m_n*u_akg_m_n+KmASP_AAT_n*u_akg_m_n*u_glu_L_m_n/KiGLU_AAT_n+(KiASP_AAT_n*KmAKG_AAT_n/(KmOXA_AAT_n*KiGLU_AAT_n))*(KmGLU_AAT_n*u_asp_L_m_n*u_oaa_m_n/KiASP_AAT_n+u_oaa_m_n*u_glu_L_m_n+KmGLU_AAT_n*(1.0+u_akg_m_n/KiAKG_AAT_n)*u_oaa_m_n+KmOXA_AAT_n*u_glu_L_m_n))) +MDH_n(u_nadh_c_n,u_mal_L_c_n,u_oaa_c_n,u_nad_c_n) = 1*(VmaxcMDH_n*(u_mal_L_c_n*u_nad_c_n-u_oaa_c_n*u_nadh_c_n/Keqcmdh_n)/((1+u_mal_L_c_n/Kmmalcmdh_n)*(1+u_nad_c_n/Kmnadcmdh_n)+(1+u_oaa_c_n/Kmoxacmdh_n)*(1+u_nadh_c_n/Kmnadhcmdh_n)-1)) +ASPTA_n(u_glu_L_c_n,u_asp_L_c_n,u_oaa_c_n,u_akg_c_n) = 1*(VfCAAT_n*(u_asp_L_c_n*u_akg_c_n-u_oaa_c_n*u_glu_L_c_n/KeqCAAT_n)/(KmAKG_CAAT_n*u_asp_L_c_n+KmASP_CAAT_n*(1.0+u_akg_c_n/KiAKG_CAAT_n)*u_akg_c_n+u_asp_L_c_n*u_akg_c_n+KmASP_CAAT_n*u_akg_c_n*u_glu_L_c_n/KiGLU_CAAT_n+(KiASP_CAAT_n*KmAKG_CAAT_n/(KmOXA_CAAT_n*KiGLU_CAAT_n))*(KmGLU_CAAT_n*u_asp_L_c_n*u_oaa_c_n/KiASP_CAAT_n+u_oaa_c_n*u_glu_L_c_n+KmGLU_CAAT_n*(1.0+u_akg_c_n/KiAKG_CAAT_n)*u_oaa_c_n+KmOXA_CAAT_n*u_glu_L_c_n))) +ASPGLUm_n(u_h_c_n,u_glu_L_c_n,u_asp_L_m_n,u_asp_L_c_n,u_notBigg_MitoMembrPotent_m_n,u_glu_L_m_n,u_h_m_n) = 1*mito_scale * (Vmaxagc_n*(u_asp_L_m_n*u_glu_L_c_n-u_asp_L_c_n*u_glu_L_m_n/((exp(u_notBigg_MitoMembrPotent_m_n)^(F/(R*T)))*(u_h_c_n/u_h_m_n)))/((u_asp_L_m_n+Km_aspmito_agc_n)*(u_glu_L_c_n+Km_glu_agc_n)+(u_asp_L_c_n+Km_asp_agc_n)*(u_glu_L_m_n+Km_glumito_agc_n))) +AKGMALtm_n(u_mal_L_c_n,u_akg_m_n,u_akg_c_n,u_mal_L_m_n) = 1*mito_scale * (Vmaxmakgc_n*(u_mal_L_c_n*u_akg_m_n-u_mal_L_m_n*u_akg_c_n)/((u_mal_L_c_n+Km_mal_mkgc_n)*(u_akg_m_n+Km_akgmito_mkgc_n)+(u_mal_L_m_n+Km_malmito_mkgc_n)*(u_akg_c_n+Km_akg_mkgc_n))) +r0509_a(u_nadh_m_a,u_pi_m_a) = 1*mito_scale * (x_DH_a*(r_DH_a*NAD_x_a-(1e-3*u_nadh_m_a))*((1+(1e-3*u_pi_m_a)/k_Pi1)/(1+(1e-3*u_pi_m_a)/k_Pi2))) +NADH2_u10mi_a(u_nadh_m_a,u_q10h2_m_a) = 1*mito_scale * (x_C1*(exp(-(dG_C1op_a+4*dG_H_a)/etcRT)*(1e-3*u_nadh_m_a)*Q_a-NAD_x_a*(1e-3*u_q10h2_m_a))) +CYOR_u10mi_a(u_focytC_m_a,u_q10h2_m_a,u_pi_m_a,u_notBigg_MitoMembrPotent_m_a) = 1*mito_scale * (x_C3*((1+(1e-3*u_pi_m_a)/k_Pi3)/(1+(1e-3*u_pi_m_a)/k_Pi4))*(exp(-(dG_C3op_a+4*dG_H_a-2*etcF*u_notBigg_MitoMembrPotent_m_a)/(2*etcRT))*Cox_a*(1e-3*u_q10h2_m_a)^0.5-(1e-3*u_focytC_m_a)*Q_a^0.5)) +CYOOm2i_a(u_notBigg_Ctot_m_a,u_focytC_m_a,u_notBigg_MitoMembrPotent_m_a,u_o2_c_a) = 1*mito_scale * (x_C4*((1e-3*u_o2_c_a)/((1e-3*u_o2_c_a)+k_O2))*((1e-3*u_focytC_m_a)/(1e-3*u_notBigg_Ctot_m_a))*(exp(-(dG_C4op_a+2*dG_H_a)/(2*etcRT))*(1e-3*u_focytC_m_a)*((1e-3*u_o2_c_a)^0.25)-Cox_a*exp(etcF*u_notBigg_MitoMembrPotent_m_a/etcRT))) +ATPS4mi_a(u_notBigg_ATP_mx_m_a,u_pi_m_a,u_notBigg_ADP_mx_m_a) = 1*mito_scale * (x_F1_a*(exp(-(dG_F1op_a-n_A*dG_H_a)/etcRT)*(K_DD_a/K_DT_a)*(1e-3*u_notBigg_ADP_mx_m_a)*(1e-3*u_pi_m_a)-(1e-3*u_notBigg_ATP_mx_m_a))) +ATPtm_a(u_notBigg_MitoMembrPotent_m_a) = 1*mito_scale * (x_ANT_a*(ADP_fi_a/(ADP_fi_a+ATP_fi_a*exp(-etcF*(0.35*u_notBigg_MitoMembrPotent_m_a)/etcRT))-ADP_fx_a/(ADP_fx_a+ATP_fx_a*exp(-etcF*(-0.65*u_notBigg_MitoMembrPotent_m_a)/etcRT)))*(ADP_fi_a/(ADP_fi_a+k_mADP_a))) +notBigg_J_Pi1_a(u_h_i_a,u_h_m_a) = 1*mito_scale * (x_Pi1*((1e-3*u_h_m_a)*H2PIi_a-(1e-3*u_h_i_a)*H2PIx_a)/(H2PIi_a+k_PiH)) +notBigg_J_Hle_a(u_h_i_a,u_h_m_a,u_notBigg_MitoMembrPotent_m_a) = 1*mito_scale * (x_Hle*u_notBigg_MitoMembrPotent_m_a*((1e-3*u_h_i_a)*exp(etcF*u_notBigg_MitoMembrPotent_m_a/etcRT)-(1e-3*u_h_m_a))/(exp(etcF*u_notBigg_MitoMembrPotent_m_a/etcRT)-1)) +notBigg_J_KH_a(u_h_i_a,u_h_m_a,u_k_m_a) = 1*mito_scale * (x_KH*(K_i*(1e-3*u_h_m_a)-(1e-3*u_k_m_a)*(1e-3*u_h_i_a))) +notBigg_J_K_a(u_k_m_a,u_notBigg_MitoMembrPotent_m_a) = 1*mito_scale * (x_K*u_notBigg_MitoMembrPotent_m_a*(K_i*exp(etcF*u_notBigg_MitoMembrPotent_m_a/etcRT)-(1e-3*u_k_m_a))/(exp(etcF*u_notBigg_MitoMembrPotent_m_a/etcRT)-1)) +ADK1m_a(u_atp_i_a,u_adp_i_a,u_amp_i_a) = 1*mito_scale * (x_AK*(K_AK*(1e-3*u_adp_i_a)*(1e-3*u_adp_i_a)-(1e-3*u_amp_i_a)*(1e-3*u_atp_i_a))) +notBigg_J_AMP_a(u_amp_i_a,u_amp_c_a) = 1*mito_scale * (gamma*x_A*((1e-3*u_amp_c_a)-(1e-3*u_amp_i_a))) +notBigg_J_ADP_a(u_adp_c_a,u_adp_i_a) = 1*mito_scale * (gamma*x_A*((1e-3*u_adp_c_a)-(1e-3*u_adp_i_a))) +notBigg_J_ATP_a(u_atp_i_a,u_atp_c_a) = 1*mito_scale * (gamma*x_A*((1e-3*u_atp_c_a)-(1e-3*u_atp_i_a))) +notBigg_J_Pi2_a(u_pi_i_a,u_pi_c_a) = 1*mito_scale * (gamma*x_Pi2*(1e-3*u_pi_c_a-(1e-3*u_pi_i_a))) +notBigg_J_Ht_a(u_h_i_a,u_h_c_a) = 1*mito_scale * (gamma*x_Ht*(1e-3*u_h_c_a-(1e-3*u_h_i_a))) +notBigg_J_MgATPx_a(u_notBigg_ATP_mx_m_a,u_mg2_m_a) = 1*mito_scale * (x_MgA*(ATP_fx_a*(1e-3*u_mg2_m_a)-K_DT_a*(1e-3*u_notBigg_ATP_mx_m_a))) +notBigg_J_MgADPx_a(u_notBigg_ADP_mx_m_a,u_mg2_m_a) = 1*mito_scale * (x_MgA*(ADP_fx_a*(1e-3*u_mg2_m_a)-K_DD_a*(1e-3*u_notBigg_ADP_mx_m_a))) +notBigg_J_MgATPi_a(u_notBigg_ATP_mi_i_a) = 1*mito_scale * (x_MgA*(ATP_fi_a*Mg_i_a-K_DT_a*(1e-3*u_notBigg_ATP_mi_i_a))) +notBigg_J_MgADPi_a(u_notBigg_ADP_mi_i_a) = 1*mito_scale * (x_MgA*(ADP_fi_a*Mg_i_a-K_DD_a*(1e-3*u_notBigg_ADP_mi_i_a))) +PDHm_a(u_nad_m_a,u_pyr_m_a,u_coa_m_a) = 1*mito_scale * (VmaxPDHCmito_a*(u_pyr_m_a/(u_pyr_m_a+KmPyrMitoPDH_a))*(u_nad_m_a/(u_nad_m_a+KmNADmitoPDH_na))*(u_coa_m_a/(u_coa_m_a+KmCoAmitoPDH_a))) +CSm_a(u_oaa_m_a,u_cit_m_a,u_accoa_m_a,u_coa_m_a) = 1*mito_scale * (VmaxCSmito_a*(u_oaa_m_a/(u_oaa_m_a+KmOxaMito_a*(1.0+u_cit_m_a/KiCitMito_a)))*(u_accoa_m_a/(u_accoa_m_a+KmAcCoAmito_a*(1.0+u_coa_m_a/KiCoA_a)))) +ACONTm_a(u_cit_m_a,u_icit_m_a) = 1*mito_scale * (VmaxAco_a*(u_cit_m_a-u_icit_m_a/KeqAco_na)/(1.0+u_cit_m_a/KmCitAco_a+u_icit_m_a/KmIsoCitAco_a)) +ICDHxm_a(u_nad_m_a,u_nadh_m_a,u_icit_m_a) = 1*mito_scale * (VmaxIDH_a*(u_nad_m_a/KiNADmito_na)*((u_icit_m_a/KmIsoCitIDHm_a)^nIDH)/(1.0+u_nad_m_a/KiNADmito_na+(KmNADmito_na/KiNADmito_na)*((u_icit_m_a/KmIsoCitIDHm_a)^nIDH)+u_nadh_m_a/KiNADHmito_na+(u_nad_m_a/KiNADmito_na)*((u_icit_m_a/KmIsoCitIDHm_a)^nIDH)+((KmNADmito_na*u_nadh_m_a)/(KiNADmito_na*KiNADHmito_na))*((u_icit_m_a/KmIsoCitIDHm_a)^nIDH))) +AKGDm_a(u_coa_m_a,u_nadh_m_a,u_akg_m_a,u_ca2_m_a,u_nad_m_a,u_succoa_m_a,u_atp_m_a,u_adp_m_a) = 1*mito_scale * ((VmaxKGDH_a*(1+u_adp_m_a/KiADPmito_KGDH_a)*(u_akg_m_a/Km1KGDHKGDH_a)*(u_coa_m_a/Km_CoA_kgdhKGDH_a)*(u_nad_m_a/KmNADkgdhKGDH_na))/(((u_coa_m_a/Km_CoA_kgdhKGDH_a)*(u_nad_m_a/KmNADkgdhKGDH_na)*(u_akg_m_a/Km1KGDHKGDH_a+(1+u_atp_m_a/KiATPmito_KGDH_a)/(1+u_ca2_m_a/KiCa2KGDH_a)))+((u_akg_m_a/Km1KGDHKGDH_a)*(u_coa_m_a/Km_CoA_kgdhKGDH_a+u_nad_m_a/KmNADkgdhKGDH_na)*(1+u_nadh_m_a/KiNADHKGDHKGDH_na+u_succoa_m_a/Ki_SucCoA_kgdhKGDH_a)))) +SUCOASm_a(u_coa_m_a,u_succoa_m_a,u_atp_m_a,u_succ_m_a,u_pi_m_a,u_adp_m_a) = 1*mito_scale * (VmaxSuccoaATPscs_a*(1+AmaxPscs_a*((u_pi_m_a^npscs_a)/((u_pi_m_a^npscs_a)+(Km_pi_scs_na^npscs_a))))*(u_succoa_m_a*u_adp_m_a*u_pi_m_a-u_succ_m_a*u_coa_m_a*u_atp_m_a/Keqsuccoascs_na)/((1+u_succoa_m_a/Km_succoa_scs_a)*(1+u_adp_m_a/Km_ADPmito_scs_a)*(1+u_pi_m_a/Km_pi_scs_na)+(1+u_succ_m_a/Km_succ_scs_a)*(1+u_coa_m_a/Km_coa_scs_a)*(1+u_atp_m_a/Km_atpmito_scs_a))) +FUMm_a(u_mal_L_m_a,u_fum_m_a) = 1*mito_scale * (Vmaxfum_a*(u_fum_m_a-u_mal_L_m_a/Keqfummito_na)/(1.0+u_fum_m_a/Km_fummito_a+u_mal_L_m_a/Km_malmito_a)) +MDHm_a(u_nad_m_a,u_oaa_m_a,u_mal_L_m_a,u_nadh_m_a) = 1*mito_scale * (VmaxMDHmito_a*(u_mal_L_m_a*u_nad_m_a-u_oaa_m_a*u_nadh_m_a/Keqmdhmito_na)/((1.0+u_mal_L_m_a/Km_mal_mdh_a)*(1.0+u_nad_m_a/Km_nad_mdh_na)+(1.0+u_oaa_m_a/Km_oxa_mdh_a)*(1.0+u_nadh_m_a/Km_nadh_mdh_na))) +PCm_a(u_co2_m_a,u_oaa_m_a,u_pyr_m_a,u_atp_m_a,u_adp_m_a) = 1*mito_scale * (((u_atp_m_a/u_adp_m_a)/(muPYRCARB_a+(u_atp_m_a/u_adp_m_a)))*VmPYRCARB_a*(u_pyr_m_a*u_co2_m_a-u_oaa_m_a/KeqPYRCARB_a)/(KmPYR_PYRCARB_a*KmCO2_PYRCARB_a+KmPYR_PYRCARB_a*u_co2_m_a+KmCO2_PYRCARB_a*u_pyr_m_a+u_co2_m_a*u_pyr_m_a)) +GLNt4_n(u_gln_L_c_n,u_gln_L_e_e) = 1*(TmaxSNAT_GLN_n*(u_gln_L_e_e-u_gln_L_c_n/coeff_gln_ratio_n_ecs)/(KmSNAT_GLN_n+u_gln_L_c_n)) +GLUNm_n(u_gln_L_c_n,u_glu_L_m_n) = 1*mito_scale * (mito_scale * VmGLS_n*(u_gln_L_c_n-u_glu_L_m_n/KeqGLS_n)/(KmGLNGLS_n*(1.0+u_glu_L_m_n/KiGLUGLS_n)+u_gln_L_c_n)) +GLUt6_a(u_na1_c_a,u_notBigg_Va_c_a,u_k_e_e,u_glu_L_syn_syn,u_k_c_a,u_glu_L_c_a) = 1*(-((1/(2*F*1e-3))*(-alpha_EAAT*exp(-beta_EAAT*(u_notBigg_Va_c_a-((R*T/(2*F*1e-3))*log(((Na_syn_EAAT/u_na1_c_a)^3)*(H_syn_EAAT/H_ast_EAAT)*(u_glu_L_syn_syn/u_glu_L_c_a)*(u_k_c_a/u_k_e_e)))))))) +GLUDxm_a(u_nad_m_a,u_nadh_m_a,u_glu_L_c_a,u_akg_m_a) = 1*mito_scale * (VmGDH_a*(u_nad_m_a*u_glu_L_c_a-u_nadh_m_a*u_akg_m_a/KeqGDH_a)/(KiNAD_GDH_a*KmGLU_GDH_a+KmGLU_GDH_a*u_nad_m_a+KiNAD_GDH_a*u_glu_L_c_a+u_glu_L_c_a*u_nad_m_a+u_glu_L_c_a*u_nad_m_a/KiAKG_GDH_a+KiNAD_GDH_a*KmGLU_GDH_a*u_nadh_m_a/KiNADH_GDH_a+KiNAD_GDH_a*KmGLU_GDH_a*KmNADH_GDH_a*u_akg_m_a/(KiAKG_GDH_a*KiNADH_GDH_a)+KmNADH_GDH_a*u_glu_L_c_a*u_nadh_m_a/KiNADH_GDH_a+KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*u_nadh_m_a/(KiAKG_GDH_a*KiNADH_GDH_a)+KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a*u_akg_m_a*u_nadh_m_a/(KiAKG_GDH_a*KiNADH_GDH_a)+u_glu_L_c_a*u_nad_m_a*u_akg_m_a/KiAKG_GDH_a+KiNAD_GDH_a*KmGLU_GDH_a*KmAKG_GDH_a/KiAKG_GDH_a+KiNAD_GDH_a*KmGLU_GDH_a*u_glu_L_c_a*u_nadh_m_a*u_akg_m_a/(KiGLU_GDH_a*KiAKG_GDH_a*KiNADH_GDH_a)+KiNAD_GDH_a*KmGLU_GDH_a*u_akg_m_a*u_nadh_m_a/(KiAKG_GDH_a*KiNADH_GDH_a)+KmNADH_GDH_a*KmGLU_GDH_a*u_akg_m_a*u_nad_m_a/(KiAKG_GDH_a*KiNADH_GDH_a))) +GLNS_a(u_adp_c_a,u_atp_c_a,u_glu_L_c_a) = 1*(VmaxGLNsynth_a*(u_glu_L_c_a/(KmGLNsynth_a+u_glu_L_c_a))*((1/(u_atp_c_a/u_adp_c_a))/(muGLNsynth_a+(1/(u_atp_c_a/u_adp_c_a))))) +GLNt4_a(u_gln_L_c_a,u_gln_L_e_e) = 1*(TmaxSNAT_GLN_a*(u_gln_L_c_a-u_gln_L_e_e)/(KmSNAT_GLN_a+u_gln_L_c_a)) + + + + +notBigg_JdHbin(t,u_o2_b_b) = 2*(C_O_a-u_o2_b_b)*notBigg_FinDyn_W2017 + +notBigg_JdHbout(t,u_notBigg_ddHb_b_b) = (u_notBigg_ddHb_b_b/u_notBigg_vV_b_b)*notBigg_Fout_W2017 + + + +notBigg_JO2art2cap(t,u_o2_b_b) = (1/eto_b)*2*(C_O_a-u_o2_b_b)*notBigg_FinDyn_W2017 + +notBigg_JO2fromCap2a(u_o2_b_b,u_o2_c_a) = 1*((PScapA*(KO2b*(HbOP/u_o2_b_b-1.)^(-1/param_degree_nh)-u_o2_c_a))) +notBigg_JO2fromCap2n(u_o2_b_b,u_o2_c_n) = 1*((PScapNAratio*PScapA*(KO2b*(HbOP/u_o2_b_b-1.)^(-1/param_degree_nh)-u_o2_c_n))) + +notBigg_trGLC_art_cap(t,u_glc_D_b_b) = (1/eto_b)*(2*(C_Glc_a-u_glc_D_b_b))*notBigg_FinDyn_W2017 + + + +notBigg_JGlc_be(u_glc_D_ecsEndothelium_ecsEndothelium,u_glc_D_b_b) = 1*(TmaxGLCce*(u_glc_D_b_b*(KeG+u_glc_D_ecsEndothelium_ecsEndothelium)-u_glc_D_ecsEndothelium_ecsEndothelium*(KeG+u_glc_D_b_b))/(KeG^2+KeG*ReGoi*u_glc_D_b_b+KeG*ReGio*u_glc_D_ecsEndothelium_ecsEndothelium+ReGee*u_glc_D_b_b*u_glc_D_ecsEndothelium_ecsEndothelium)) +notBigg_JGlc_e2ecsBA(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsEndothelium_ecsEndothelium) = 1*(TmaxGLCeb*(u_glc_D_ecsEndothelium_ecsEndothelium*(KeG2+u_glc_D_ecsBA_ecsBA)-u_glc_D_ecsBA_ecsBA*(KeG2+u_glc_D_ecsEndothelium_ecsEndothelium))/(KeG2^2+KeG2*ReGoi2*u_glc_D_ecsEndothelium_ecsEndothelium+KeG2*ReGio2*u_glc_D_ecsBA_ecsBA+ReGee2*u_glc_D_ecsEndothelium_ecsEndothelium*u_glc_D_ecsBA_ecsBA)) +notBigg_JGlc_ecsBA2a(u_glc_D_ecsBA_ecsBA,u_glc_D_c_a) = 1*(TmaxGLCba*(u_glc_D_ecsBA_ecsBA*(KeG3+u_glc_D_c_a)-u_glc_D_c_a*(KeG3+u_glc_D_ecsBA_ecsBA))/(KeG3^2+KeG3*ReGoi3*u_glc_D_ecsBA_ecsBA+KeG3*ReGio3*u_glc_D_c_a+ReGee3*u_glc_D_ecsBA_ecsBA*u_glc_D_c_a)) +notBigg_JGlc_a2ecsAN(u_glc_D_ecsAN_ecsAN,u_glc_D_c_a) = 1*(TmaxGLCai*(u_glc_D_c_a*(KeG4+u_glc_D_ecsAN_ecsAN)-u_glc_D_ecsAN_ecsAN*(KeG4+u_glc_D_c_a))/(KeG4^2+KeG4*ReGoi4*u_glc_D_c_a+KeG4*ReGio4*u_glc_D_ecsAN_ecsAN+ReGee4*u_glc_D_c_a*u_glc_D_ecsAN_ecsAN)) +notBigg_JGlc_ecsAN2n(u_glc_D_c_n,u_glc_D_ecsAN_ecsAN) = 1*(TmaxGLCin*(u_glc_D_ecsAN_ecsAN*(KeG5+u_glc_D_c_n)-u_glc_D_c_n*(KeG5+u_glc_D_ecsAN_ecsAN))/(KeG5^2+KeG5*ReGoi5*u_glc_D_ecsAN_ecsAN+KeG5*ReGio5*u_glc_D_c_n+ReGee5*u_glc_D_ecsAN_ecsAN*u_glc_D_c_n)) +notBigg_JGlc_diffEcs(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsAN_ecsAN) = 1*(kGLCdiff*(u_glc_D_ecsBA_ecsBA-u_glc_D_ecsAN_ecsAN)) +GLCS2_a(u_notBigg_GS_c_a,u_udpg_c_a) = 1*(kL2_GS_a*u_notBigg_GS_c_a*u_udpg_c_a/(kmL2_GS_a+u_udpg_c_a)) +GLCP_a(u_glycogen_c_a,u_notBigg_GPa_c_a,u_camp_c_a,u_notBigg_GPb_c_a) = 1*((u_notBigg_GPa_c_a/(u_notBigg_GPa_c_a+u_notBigg_GPb_c_a))*VmaxGP_a*u_glycogen_c_a*(1/(1+(KmGP_AMP_a^hGPa)/(u_camp_c_a^hGPa)))) +PGMT_a(u_g1p_c_a,u_g6p_c_a) = 1*((Vmaxfpglm_a*u_g1p_c_a/KmG1PPGLM_a-((Vmaxfpglm_a*KmG6PPGLM_a)/(KmG1PPGLM_a*KeqPGLM_a))*u_g6p_c_a/KmG6PPGLM_a)/(1.0+u_g1p_c_a/KmG1PPGLM_a+u_g6p_c_a/KmG6PPGLM_a)) +PDE1_a(u_camp_c_a) = 1*(VmaxPDE_a*u_camp_c_a/(Kmcamppde_a+u_camp_c_a)) +GALUi_a(u_ppi_c_a,u_g1p_c_a,u_udpg_c_a,u_utp_c_a) = 1*((VmaxfUDPGP*u_utp_c_a*u_g1p_c_a/(KutpUDPGP*Kg1pUDPGP)-VmaxrUDPGP*u_ppi_c_a*u_udpg_c_a/(KpiUDPGP*KUDPglucoUDPGP_a))/(1.0+u_g1p_c_a/Kg1pUDPGP+u_utp_c_a/KutpUDPGP+(u_g1p_c_a*u_utp_c_a)/(Kg1pUDPGP*KutpUDPGP)+u_udpg_c_a/KUDPglucoUDPGP_a+u_ppi_c_a/KpiUDPGP+(u_ppi_c_a*u_udpg_c_a)/(KpiUDPGP*KUDPglucoUDPGP_a))) +notBigg_psiGSAJay_a(u_notBigg_GS_c_a,u_udpg_c_a,u_notBigg_PHKa_c_a,u_notBigg_PKAa_c_a) = 1*(((kg8_GSAJay*PP1_a0*(st_GSAJay-u_notBigg_GS_c_a))/((kmg8_GSAJay/(1.0+s1_GSAJay*u_udpg_c_a/kg2_GSAJay))+(st_GSAJay-u_notBigg_GS_c_a)))-((kg7_GSAJay*(u_notBigg_PHKa_c_a+u_notBigg_PKAa_c_a)*u_notBigg_GS_c_a)/(kmg7_GSAJay*(1+s1_GSAJay*u_udpg_c_a/kg2_GSAJay)+u_notBigg_GS_c_a))) +notBigg_psiPHK_a(u_ca2_c_a,u_glycogen_c_a,u_g1p_c_a,u_notBigg_PHKa_c_a,u_notBigg_GPa_c_a,u_udpg_c_a) = 1*((u_ca2_c_a/cai0_ca_ion)*(((kg5_PHK*u_notBigg_PHKa_c_a*(pt_PHK-u_notBigg_GPa_c_a))/(kmg5_PHK*(1.0+s1_PHK*u_g1p_c_a/kg2_PHK)+(pt_PHK-u_notBigg_GPa_c_a)))-((kg6_PHK*PP1_a0*u_notBigg_GPa_c_a)/(kmg6_PHK/(1+s2_PHK*u_udpg_c_a/kgi_PHK)+u_notBigg_GPa_c_a))-((0.003198/(1+u_glycogen_c_a)+kmind_PHK)*PP1_a0*u_notBigg_GPa_c_a))) +HEX1_n(u_glc_D_c_n,u_atp_c_n,u_g6p_c_n) = 1*((VmaxHK_n*u_glc_D_c_n/(u_glc_D_c_n+KmHK_n))*(u_atp_c_n/(1+(u_atp_c_n/KIATPhex_n)^nHhexn))*(1/(1+u_g6p_c_n/KiHKG6P_n))) +HEX1_a(u_atp_c_a,u_g6p_c_a,u_glc_D_c_a) = 1*((VmaxHK_a*u_glc_D_c_a/(u_glc_D_c_a+KmHK_a))*(u_atp_c_a/(1+(u_atp_c_a/KIATPhex_a)^nHhexa))*(1/(1+u_g6p_c_a/KiHKG6P_a))) +PGI_n(u_f6p_c_n,u_g6p_c_n) = 1*((Vmax_fPGI_n*(u_g6p_c_n/Km_G6P_fPGI_n-0.9*u_f6p_c_n/Km_F6P_rPGI_n))/(1.0+u_g6p_c_n/Km_G6P_fPGI_n+u_f6p_c_n/Km_F6P_rPGI_n)) +PGI_a(u_g6p_c_a,u_f6p_c_a) = 1*((Vmax_fPGI_a*(u_g6p_c_a/Km_G6P_fPGI_a-0.9*u_f6p_c_a/Km_F6P_rPGI_a))/(1.0+u_g6p_c_a/Km_G6P_fPGI_a+u_f6p_c_a/Km_F6P_rPGI_a)) +PFK_n(u_f6p_c_n,u_atp_c_n) = 1*(VmaxPFK_n*(u_atp_c_n/(1+(u_atp_c_n/KiPFK_ATP_na)^nPFKn))*(u_f6p_c_n/(u_f6p_c_n+KmPFKF6P_n))) +PFK_a(u_atp_c_a,u_f26bp_c_a,u_f6p_c_a) = 1*(VmaxPFK_a*(u_atp_c_a/(1+(u_atp_c_a/KiPFK_ATP_a)^nPFKa))*(u_f6p_c_a/(u_f6p_c_a+KmPFKF6P_a*(1-KoPFK_f26bp_a*((u_f26bp_c_a^nPFKf26bp_a)/(KmF26BP_PFK_a^nPFKf26bp_a+u_f26bp_c_a^nPFKf26bp_a)))))*(u_f26bp_c_a/(KmF26BP_PFK_a+u_f26bp_c_a))) +PFK26_a(u_adp_c_a,u_atp_c_a,u_f26bp_c_a,u_f6p_c_a) = 1*(Vmax_PFKII_g*u_f6p_c_a*u_atp_c_a*u_adp_c_a/((u_f6p_c_a+Kmf6pPFKII_g)*(u_atp_c_a+KmatpPFKII_g)*(u_adp_c_a+Km_act_adpPFKII_g))-(Vmax_PFKII_g*u_f26bp_c_a/(u_f26bp_c_a+Km_f26bp_f_26pase_g*(1+u_f6p_c_a/Ki_f6p_f_26_pase_g)))) +FBA_n(u_fdp_c_n,u_dhap_c_n,u_g3p_c_n) = 1*(Vmaxald_n*(u_fdp_c_n-u_g3p_c_n*u_dhap_c_n/Keqald_n)/((1+u_fdp_c_n/KmfbpAld_n)+(1+u_g3p_c_n/KmgapAld_n)*(1+u_dhap_c_n/KmdhapAld_n)-1)) +FBA_a(u_g3p_c_a,u_fdp_c_a,u_dhap_c_a) = 1*(Vmaxald_a*(u_fdp_c_a-u_g3p_c_a*u_dhap_c_a/Keqald_a)/((1+u_fdp_c_a/KmfbpAld_a)+(1+u_g3p_c_a/KmgapAld_a)*(1+u_dhap_c_a/KmdhapAld_a)-1)) +TPI_n(u_dhap_c_n,u_g3p_c_n) = 1*(Vmaxtpi_n*(u_dhap_c_n-u_g3p_c_n/Keqtpi_n)/(1+u_dhap_c_n/KmdhapTPI_n+u_g3p_c_n/KmgapTPI_n)) +TPI_a(u_g3p_c_a,u_dhap_c_a) = 1*(Vmaxtpi_a*(u_dhap_c_a-u_g3p_c_a/Keqtpi_a)/(1+u_dhap_c_a/KmdhapTPI_a+u_g3p_c_a/KmgapTPI_a)) +GAPD_n(u_nadh_c_n,u_nad_c_n,u_g3p_c_n,u_pi_c_n,u_13dpg_c_n) = 1*(Vmaxgapdh_n*(u_nad_c_n*u_g3p_c_n*u_pi_c_n-u_13dpg_c_n*u_nadh_c_n/Keqgapdh_na)/((1+u_nad_c_n/KmnadGpdh_n)*(1+u_g3p_c_n/KmGapGapdh_n)*(1+u_pi_c_n/KmpiGpdh_n)+(1+u_nadh_c_n/KmnadhGapdh_n)*(1+u_13dpg_c_n/KmBPG13Gapdh_n)-1)) +GAPD_a(u_nadh_c_a,u_nad_c_a,u_pi_c_a,u_13dpg_c_a,u_g3p_c_a) = 1*(Vmaxgapdh_a*(u_nad_c_a*u_g3p_c_a*u_pi_c_a-u_13dpg_c_a*u_nadh_c_a/Keqgapdh_na)/((1+u_nad_c_a/KmnadGpdh_a)*(1+u_g3p_c_a/KmGapGapdh_a)*(1+u_pi_c_a/KmpiGpdh_a)+(1+u_nadh_c_a/KmnadhGapdh_a)*(1+u_13dpg_c_a/KmBPG13Gapdh_a)-1)) +PGK_n(u_13dpg_c_n,u_3pg_c_n,u_atp_c_n,u_adp_c_n) = 1*(Vmaxpgk_n*(u_13dpg_c_n*u_adp_c_n-u_3pg_c_n*u_atp_c_n/Keqpgk_na)/((1+u_13dpg_c_n/Kmbpg13pgk_n)*(1+u_adp_c_n/Kmadppgk_n)+(1+u_3pg_c_n/Kmpg3pgk_n)*(1+u_atp_c_n/Kmatppgk_n)-1)) +PGK_a(u_adp_c_a,u_atp_c_a,u_3pg_c_a,u_13dpg_c_a) = 1*(Vmaxpgk_a*(u_13dpg_c_a*u_adp_c_a-u_3pg_c_a*u_atp_c_a/Keqpgk_na)/((1+u_13dpg_c_a/Kmbpg13pgk_a)*(1+u_adp_c_a/Kmadppgk_a)+(1+u_3pg_c_a/Kmpg3pgk_a)*(1+u_atp_c_a/Kmatppgk_a)-1)) +PGM_n(u_2pg_c_n,u_3pg_c_n) = 1*(Vmaxpgm_n*(u_3pg_c_n-u_2pg_c_n/Keqpgm_n)/((1+u_3pg_c_n/Kmpg3pgm_n)+(1+u_2pg_c_n/Kmpg2pgm_n)-1)) +PGM_a(u_2pg_c_a,u_3pg_c_a) = 1*(Vmaxpgm_a*(u_3pg_c_a-u_2pg_c_a/Keqpgm_a)/((1+u_3pg_c_a/Kmpg3pgm_a)+(1+u_2pg_c_a/Kmpg2pgm_a)-1)) +ENO_n(u_pep_c_n,u_2pg_c_n) = 1*(Vmaxenol_n*(u_2pg_c_n-u_pep_c_n/Keqenol_n)/((1+u_2pg_c_n/Kmpg2enol_n)+(1+u_pep_c_n/Km_pep_enol_n)-1)) +ENO_a(u_2pg_c_a,u_pep_c_a) = 1*(Vmaxenol_a*(u_2pg_c_a-u_pep_c_a/Keqenol_a)/((1+u_2pg_c_a/Kmpg2enol_a)+(1+u_pep_c_a/Km_pep_enol_a)-1)) +PYK_n(u_pep_c_n,u_atp_c_n,u_adp_c_n) = 1*(Vmaxpk_n*u_pep_c_n*u_adp_c_n/((u_pep_c_n+Km_pep_pk_n)*(u_adp_c_n+Km_adp_pk_n*(1+u_atp_c_n/Ki_ATP_pk_n)))) +PYK_a(u_adp_c_a,u_atp_c_a,u_pep_c_a) = 1*(Vmaxpk_a*u_pep_c_a*u_adp_c_a/((u_pep_c_a+Km_pep_pk_a)*(u_adp_c_a+Km_adp_pk_a*(1+u_atp_c_a/Ki_ATP_pk_a)))) + +notBigg_JLacTr_b(u_lac_L_b_b,t) = (2*(C_Lac_a-u_lac_L_b_b)/eto_b)*notBigg_FinDyn_W2017 + +notBigg_MCT1_LAC_b(u_lac_L_b_b,u_lac_L_e_e) = 1*(TbLac*(u_lac_L_b_b/(u_lac_L_b_b+KbLac)-u_lac_L_e_e/(u_lac_L_e_e+KbLac))) +L_LACt2r_a(u_lac_L_e_e,u_lac_L_c_a) = 1*(TaLac*(u_lac_L_e_e/(u_lac_L_e_e+Km_Lac_a)-u_lac_L_c_a/(u_lac_L_c_a+Km_Lac_a))) +L_LACt2r_n(u_lac_L_e_e,u_lac_L_c_n) = 1*(TnLac*(u_lac_L_e_e/(u_lac_L_e_e+Km_LacTr_n)-u_lac_L_c_n/(u_lac_L_c_n+Km_LacTr_n))) + +notBigg_jLacDiff_e(u_lac_L_e_e) = 0 + +notBigg_vLACgc(u_lac_L_b_b,u_lac_L_c_a) = 1*(TMaxLACgc*(u_lac_L_b_b/(u_lac_L_b_b+KtLACgc)-u_lac_L_c_a/(u_lac_L_c_a+KtLACgc))) +LDH_L_a(u_nad_c_a,u_nadh_c_a,u_lac_L_c_a,u_pyr_c_a) = 1*(VmfLDH_a*u_pyr_c_a*u_nadh_c_a-KeLDH_a*VmfLDH_a*u_lac_L_c_a*u_nad_c_a) +LDH_L_n(u_nad_c_n,u_lac_L_c_n,u_nadh_c_n,u_pyr_c_n) = 1*(VmfLDH_n*u_pyr_c_n*u_nadh_c_n-KeLDH_n*VmfLDH_n*u_lac_L_c_n*u_nad_c_n) +G6PDH2r_n(u_g6p_c_n,u_nadph_c_n,u_nadp_c_n,u_6pgl_c_n) = 1*(VmaxG6PDH_n*(1/(K_G6P_G6PDH_n*K_NADP_G6PDH_n))*((u_g6p_c_n*u_nadp_c_n-u_6pgl_c_n*u_nadph_c_n/KeqG6PDH_n)/((1+u_g6p_c_n/K_G6P_G6PDH_n)*(1+u_nadp_c_n/K_NADP_G6PDH_n)+(1+u_6pgl_c_n/K_GL6P_G6PDH_n)*(1+u_nadph_c_n/K_NADPH_G6PDH_n)-1))) +G6PDH2r_a(u_6pgl_c_a,u_nadp_c_a,u_g6p_c_a,u_nadph_c_a) = 1*(VmaxG6PDH_a*(1/(K_G6P_G6PDH_a*K_NADP_G6PDH_a))*((u_g6p_c_a*u_nadp_c_a-u_6pgl_c_a*u_nadph_c_a/KeqG6PDH_a)/((1+u_g6p_c_a/K_G6P_G6PDH_a)*(1+u_nadp_c_a/K_NADP_G6PDH_a)+(1+u_6pgl_c_a/K_GL6P_G6PDH_a)*(1+u_nadph_c_a/K_NADPH_G6PDH_a)-1))) +PGL_n(u_6pgc_c_n,u_6pgl_c_n) = 1*(Vmax6PGL_n*(1/K_GL6P_6PGL_n)*((u_6pgl_c_n-u_6pgc_c_n/Keq6PGL_n)/((1+u_6pgl_c_n/K_GL6P_6PGL_n)+(1+u_6pgc_c_n/K_GO6P_6PGL_n)-1))) +PGL_a(u_6pgc_c_a,u_6pgl_c_a) = 1*(Vmax6PGL_a*(1/K_GL6P_6PGL_a)*((u_6pgl_c_a-u_6pgc_c_a/Keq6PGL_a)/((1+u_6pgl_c_a/K_GL6P_6PGL_a)+(1+u_6pgc_c_a/K_GO6P_6PGL_a)-1))) +GND_n(u_6pgc_c_n,u_nadph_c_n,u_nadp_c_n,u_ru5p_D_c_n) = 1*(Vmax6PGDH_n*(1/(K_GO6P_6PGDH_n*K_NADP_6PGDH_n))*(u_6pgc_c_n*u_nadp_c_n-u_ru5p_D_c_n*u_nadph_c_n/Keq6PGDH_n)/((1+u_6pgc_c_n/K_GO6P_6PGDH_n)*(1+u_nadp_c_n/K_NADP_6PGDH_n)+(1+u_ru5p_D_c_n/K_RU5P_6PGDH_n)*(1+u_nadph_c_n/K_NADPH_6PGDH_n)-1)) +GND_a(u_6pgc_c_a,u_nadp_c_a,u_ru5p_D_c_a,u_nadph_c_a) = 1*(Vmax6PGDH_a*(1/(K_GO6P_6PGDH_a*K_NADP_6PGDH_a))*(u_6pgc_c_a*u_nadp_c_a-u_ru5p_D_c_a*u_nadph_c_a/Keq6PGDH_a)/((1+u_6pgc_c_a/K_GO6P_6PGDH_a)*(1+u_nadp_c_a/K_NADP_6PGDH_a)+(1+u_ru5p_D_c_a/K_RU5P_6PGDH_a)*(1+u_nadph_c_a/K_NADPH_6PGDH_a)-1)) +RPI_n(u_r5p_c_n,u_ru5p_D_c_n) = 1*(VmaxRPI_n*(1/K_RU5P_RPI_n)*(u_ru5p_D_c_n-u_r5p_c_n/KeqRPI_n)/((1+u_ru5p_D_c_n/K_RU5P_RPI_n)+(1+u_r5p_c_n/K_R5P_RPI_n)-1)) +RPI_a(u_r5p_c_a,u_ru5p_D_c_a) = 1*(VmaxRPI_a*(1/K_RU5P_RPI_a)*(u_ru5p_D_c_a-u_r5p_c_a/KeqRPI_a)/((1+u_ru5p_D_c_a/K_RU5P_RPI_a)+(1+u_r5p_c_a/K_R5P_RPI_a)-1)) +RPE_n(u_xu5p_D_c_n,u_ru5p_D_c_n) = 1*(VmaxRPE_n*(1/K_RU5P_RPE_n)*(u_ru5p_D_c_n-u_xu5p_D_c_n/KeqRPE_n)/((1+u_ru5p_D_c_n/K_RU5P_RPE_n)+(1+u_xu5p_D_c_n/K_X5P_RPE_n)-1)) +RPE_a(u_ru5p_D_c_a,u_xu5p_D_c_a) = 1*(VmaxRPE_a*(1/K_RU5P_RPE_a)*(u_ru5p_D_c_a-u_xu5p_D_c_a/KeqRPE_a)/((1+u_ru5p_D_c_a/K_RU5P_RPE_a)+(1+u_xu5p_D_c_a/K_X5P_RPE_a)-1)) +TKT1_n(u_s7p_c_n,u_r5p_c_n,u_xu5p_D_c_n,u_g3p_c_n) = 1*(VmaxTKL1_n*(1/(K_X5P_TKL1_n*K_R5P_TKL1_n))*(u_xu5p_D_c_n*u_r5p_c_n-u_g3p_c_n*u_s7p_c_n/KeqTKL1_n)/((1+u_xu5p_D_c_n/K_X5P_TKL1_n)*(1+u_r5p_c_n/K_R5P_TKL1_n)+(1+u_g3p_c_n/K_GAP_TKL1_n)*(1+u_s7p_c_n/K_S7P_TKL1_n)-1)) +TKT1_a(u_r5p_c_a,u_g3p_c_a,u_s7p_c_a,u_xu5p_D_c_a) = 1*(VmaxTKL1_a*(1/(K_X5P_TKL1_a*K_R5P_TKL1_a))*(u_xu5p_D_c_a*u_r5p_c_a-u_g3p_c_a*u_s7p_c_a/KeqTKL1_a)/((1+u_xu5p_D_c_a/K_X5P_TKL1_a)*(1+u_r5p_c_a/K_R5P_TKL1_a)+(1+u_g3p_c_a/K_GAP_TKL1_a)*(1+u_s7p_c_a/K_S7P_TKL1_a)-1)) +TKT2_n(u_f6p_c_n,u_e4p_c_n,u_xu5p_D_c_n,u_g3p_c_n) = 1*(VmaxTKL2_n*(1/(K_F6P_TKL2_n*K_GAP_TKL2_n))*(u_f6p_c_n*u_g3p_c_n-u_xu5p_D_c_n*u_e4p_c_n/KeqTKL2_n)/((1+u_f6p_c_n/K_F6P_TKL2_n)*(1+u_g3p_c_n/K_GAP_TKL2_n)+(1+u_xu5p_D_c_n/K_X5P_TKL2_n)*(1+u_e4p_c_n/K_E4P_TKL2_n)-1)) +TKT2_a(u_g3p_c_a,u_e4p_c_a,u_xu5p_D_c_a,u_f6p_c_a) = 1*(VmaxTKL2_a*(1/(K_F6P_TKL2_a*K_GAP_TKL2_a))*(u_f6p_c_a*u_g3p_c_a-u_xu5p_D_c_a*u_e4p_c_a/KeqTKL2_a)/((1+u_f6p_c_a/K_F6P_TKL2_a)*(1+u_g3p_c_a/K_GAP_TKL2_a)+(1+u_xu5p_D_c_a/K_X5P_TKL2_a)*(1+u_e4p_c_a/K_E4P_TKL2_a)-1)) +TALA_n(u_f6p_c_n,u_e4p_c_n,u_g3p_c_n,u_s7p_c_n) = 1*(VmaxTAL_n*(1/(K_GAP_TAL_n*K_S7P_TAL_n))*(u_g3p_c_n*u_s7p_c_n-u_f6p_c_n*u_e4p_c_n/KeqTAL_n)/((1+u_g3p_c_n/K_GAP_TAL_n)*(1+u_s7p_c_n/K_S7P_TAL_n)+(1+u_f6p_c_n/K_F6P_TAL_n)*(1+u_e4p_c_n/K_E4P_TAL_n)-1)) +TALA_a(u_g3p_c_a,u_e4p_c_a,u_s7p_c_a,u_f6p_c_a) = 1*(VmaxTAL_a*(1/(K_GAP_TAL_a*K_S7P_TAL_a))*(u_g3p_c_a*u_s7p_c_a-u_f6p_c_a*u_e4p_c_a/KeqTAL_a)/((1+u_g3p_c_a/K_GAP_TAL_a)*(1+u_s7p_c_a/K_S7P_TAL_a)+(1+u_f6p_c_a/K_F6P_TAL_a)*(1+u_e4p_c_a/K_E4P_TAL_a)-1)) +notBigg_psiNADPHox_n(u_nadph_c_n) = 1*(k1NADPHox_n*u_nadph_c_n) +notBigg_psiNADPHox_a(u_nadph_c_a) = 1*(k1NADPHox_a*u_nadph_c_a) +GTHO_n(u_nadph_c_n,u_gthox_c_n) = 1*((Vmf_GSSGR_n*u_gthox_c_n*u_nadph_c_n)/((KmGSSGRGSSG_n+u_gthox_c_n)*(KmGSSGRNADPH_n+u_nadph_c_n))) +GTHO_a(u_gthox_c_a,u_nadph_c_a) = 1*((Vmf_GSSGR_a*u_gthox_c_a*u_nadph_c_a)/((KmGSSGRGSSG_a+u_gthox_c_a)*(KmGSSGRNADPH_a+u_nadph_c_a))) +GTHP_n(u_gthrd_c_n) = 1*(V_GPX_n*u_gthrd_c_n/(u_gthrd_c_n+KmGPXGSH_n)) +GTHP_a(u_gthrd_c_a) = 1*(V_GPX_a*u_gthrd_c_a/(u_gthrd_c_a+KmGPXGSH_a)) +GTHS_n(u_gthrd_c_n) = 1*(VmaxGSHsyn_n*(glycine_n*glutamylCys_n-u_gthrd_c_n/KeGSHSyn_n)/(Km_glutamylCys_GSHsyn_n*Km_glycine_GSHsyn_n+glutamylCys_n*Km_glutamylCys_GSHsyn_n+glycine_n*Km_glycine_GSHsyn_n*(1+glutamylCys_n/Km_glutamylCys_GSHsyn_n)+u_gthrd_c_n/KmGSHsyn_n)) +GTHS_a(u_gthrd_c_a) = 1*(VmaxGSHsyn_a*(glycine_a*glutamylCys_a-u_gthrd_c_a/KeGSHSyn_a)/(Km_glutamylCys_GSHsyn_a*Km_glycine_GSHsyn_a+glutamylCys_a*Km_glutamylCys_GSHsyn_a+glycine_a*Km_glycine_GSHsyn_a*(1+glutamylCys_a/Km_glutamylCys_GSHsyn_a)+u_gthrd_c_a/KmGSHsyn_a)) +ADNCYC_a(u_camp_c_a,u_atp_c_a) = 1*(((VmaxfAC_a*u_atp_c_a/(KmACATP_a*(1+u_camp_c_a/KicAMPAC_a))-VmaxrAC_a*u_camp_c_a/(KmpiAC_a*KmcAMPAC_a))/(1+u_atp_c_a/(KmACATP_a*(1+u_camp_c_a/KicAMPAC_a))+u_camp_c_a/KmcAMPAC_a))) +CKc_n(u_pcreat_c_n,u_atp_c_n,u_adp_c_n) = 1*(kCKnps*u_pcreat_c_n*u_adp_c_n-KeqCKnpms*kCKnps*(Crtot-u_pcreat_c_n)*u_atp_c_n) +CKc_a(u_adp_c_a,u_atp_c_a,u_pcreat_c_a) = 1*(kCKgps*u_pcreat_c_a*u_adp_c_a-KeqCKgpms*kCKgps*(Crtot-u_pcreat_c_a)*u_atp_c_a) +PYRt2m_n(u_h_m_n,u_pyr_m_n,u_h_c_n,u_pyr_c_n) = 1*(mito_scale * Vmax_PYRtrcyt2mito_nH*(u_pyr_c_n*u_h_c_n-u_pyr_m_n*u_h_m_n)/((1.0+u_pyr_c_n/KmPyrCytTr_n)*(1.0+u_pyr_m_n/KmPyrMitoTr_n))) +PYRt2m_a(u_h_m_a,u_pyr_c_a,u_h_c_a,u_pyr_m_a) = 1*mito_scale * (Vmax_PYRtrcyt2mito_aH*(u_pyr_c_a*u_h_c_a-u_pyr_m_a*u_h_m_a)/((1.0+u_pyr_c_a/KmPyrCytTr_a)*(1.0+u_pyr_m_a/KmPyrMitoTr_a))) +notBigg_vShuttlen(u_nadh_m_n,u_nadh_c_n) = 1*mito_scale * (TnNADH_jlv*(u_nadh_c_n/(0.212-u_nadh_c_n))/(MnCyto_jlv+(u_nadh_c_n/(0.212-u_nadh_c_n)))*((1000*NADtot-u_nadh_m_n)/u_nadh_m_n)/(MnMito_jlv+((1000*NADtot-u_nadh_m_n)/u_nadh_m_n))) +notBigg_vShuttleg(u_nadh_c_a,u_nadh_m_a) = 1*mito_scale * (TgNADH_jlv*(u_nadh_c_a/(0.212-u_nadh_c_a))/(MgCyto_jlv+(u_nadh_c_a/(0.212-u_nadh_c_a)))*((1000*NADtot-u_nadh_m_a)/u_nadh_m_a)/(MgMito_jlv+((1000*NADtot-u_nadh_m_a)/u_nadh_m_a))) +notBigg_vMitooutn_n(u_nadh_m_n,u_nad_m_n,u_o2_c_n,u_adp_i_n,u_atp_i_n) = 1*mito_scale * (V_oxphos_n*((1/(u_atp_i_n/u_adp_i_n))/(mu_oxphos_n+(1/(u_atp_i_n/u_adp_i_n))))*((u_nadh_m_n/u_nad_m_n)/(nu_oxphos_n+(u_nadh_m_n/u_nad_m_n)))*(u_o2_c_n/(u_o2_c_n+K_oxphos_n))) +notBigg_vMitooutg_a(u_atp_i_a,u_nadh_m_a,u_nad_m_a,u_o2_c_a,u_adp_i_a) = 1*mito_scale * (V_oxphos_a*((1/(u_atp_i_a/u_adp_i_a))/(mu_oxphos_a+(1/(u_atp_i_a/u_adp_i_a))))*((u_nadh_m_a/u_nad_m_a)/(nu_oxphos_a+(u_nadh_m_a/u_nad_m_a)))*(u_o2_c_a/(u_o2_c_a+K_oxphos_a))) +notBigg_vMitoinn(u_pyr_m_n,u_nadh_m_n) = 1*mito_scale * (VMaxMitoinn*u_pyr_m_n/(u_pyr_m_n+KmMito)*(1000*NADtot-u_nadh_m_n)/(1000*NADtot-u_nadh_m_n+KmNADn_jlv)) +notBigg_vMitoing(u_nadh_m_a,u_pyr_m_a) = 1*mito_scale * (VMaxMitoing*u_pyr_m_a/(u_pyr_m_a+KmMito_a)*(1000*NADtot-u_nadh_m_a)/(1000*NADtot-u_nadh_m_a+KmNADg_jlv)) + +du[1] = 0 +du[2] = 0.5*T2Jcorrection*(1000*(notBigg_J_KH_n(u_h_m_n,u_h_i_n,u_k_m_n)+notBigg_J_K_n(u_k_m_n,u_notBigg_MitoMembrPotent_m_n))/W_x) +du[3] = 0.5*T2Jcorrection*(1000*(-notBigg_J_MgATPx_n(u_notBigg_ATP_mx_m_n,u_mg2_m_n)-notBigg_J_MgADPx_n(u_mg2_m_n,u_notBigg_ADP_mx_m_n))/W_x) +du[4] = 6.96*(notBigg_vMitoinn(u_pyr_m_n,u_nadh_m_n)+notBigg_vShuttlen(u_nadh_m_n,u_nadh_c_n)-notBigg_vMitooutn_n(u_nadh_m_n,u_nad_m_n,u_o2_c_n,u_adp_i_n,u_atp_i_n)) +du[5] = 0.5*T2Jcorrection*(1000*(+NADH2_u10mi_n(u_nadh_m_n,u_q10h2_m_n)-CYOR_u10mi_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_q10h2_m_n,u_pi_m_n))/W_x) +du[6] = 0.5*T2Jcorrection*(1000*(+2*CYOR_u10mi_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_q10h2_m_n,u_pi_m_n)-2*CYOOm2i_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_notBigg_Ctot_m_n,u_o2_c_n))/W_i) +du[7] = notBigg_JO2fromCap2n(u_o2_b_b,u_o2_c_n)-0.6*notBigg_vMitooutn_n(u_nadh_m_n,u_nad_m_n,u_o2_c_n,u_adp_i_n,u_atp_i_n) +du[8] = 0.5*T2Jcorrection*(1000*(+ATPS4mi_n(u_notBigg_ATP_mx_m_n,u_notBigg_ADP_mx_m_n,u_pi_m_n)-ATPtm_n(u_notBigg_MitoMembrPotent_m_n))/W_x) +du[9] = 0.5*T2Jcorrection*(1000*(-ATPS4mi_n(u_notBigg_ATP_mx_m_n,u_notBigg_ADP_mx_m_n,u_pi_m_n)+ATPtm_n(u_notBigg_MitoMembrPotent_m_n))/W_x) +du[10] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgATPx_n(u_notBigg_ATP_mx_m_n,u_mg2_m_n))/W_x) +du[11] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgADPx_n(u_mg2_m_n,u_notBigg_ADP_mx_m_n))/W_x) +du[12] = 0.5*T2Jcorrection*(1000*(-ATPS4mi_n(u_notBigg_ATP_mx_m_n,u_notBigg_ADP_mx_m_n,u_pi_m_n)+notBigg_J_Pi1_n(u_h_m_n,u_h_i_n))/W_x) +du[13] = 0.5*T2Jcorrection*(1000*(+notBigg_J_ATP_n(u_atp_c_n,u_atp_i_n)+ATPtm_n(u_notBigg_MitoMembrPotent_m_n)+ADK1m_n(u_amp_i_n,u_atp_i_n,u_adp_i_n))/W_i) +du[14] = 0.5*T2Jcorrection*(1000*(+notBigg_J_ADP_n(u_adp_i_n,u_adp_c_n)-ATPtm_n(u_notBigg_MitoMembrPotent_m_n)-2*ADK1m_n(u_amp_i_n,u_atp_i_n,u_adp_i_n))/W_i) +du[15] = 0.5*T2Jcorrection*(1000*(+notBigg_J_AMP_n(u_amp_i_n,u_amp_c_n)+ADK1m_n(u_amp_i_n,u_atp_i_n,u_adp_i_n))/W_i) +du[16] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgATPi_n(u_notBigg_ATP_mi_i_n))/W_i) +du[17] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgADPi_n(u_notBigg_ADP_mi_i_n))/W_i) +du[18] = 0.5*T2Jcorrection*(1000*(-notBigg_J_Pi1_n(u_h_m_n,u_h_i_n)+notBigg_J_Pi2_n(u_pi_i_n,u_pi_c_n))/W_i) +du[19] = 0.5*T2Jcorrection*(4*NADH2_u10mi_n(u_nadh_m_n,u_q10h2_m_n)+2*CYOR_u10mi_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_q10h2_m_n,u_pi_m_n)+4*CYOOm2i_n(u_focytC_m_n,u_notBigg_MitoMembrPotent_m_n,u_notBigg_Ctot_m_n,u_o2_c_n)-n_A*ATPS4mi_n(u_notBigg_ATP_mx_m_n,u_notBigg_ADP_mx_m_n,u_pi_m_n)-ATPtm_n(u_notBigg_MitoMembrPotent_m_n)-notBigg_J_Hle_n(u_h_m_n,u_h_i_n,u_notBigg_MitoMembrPotent_m_n)-notBigg_J_K_n(u_k_m_n,u_notBigg_MitoMembrPotent_m_n))/CIM +du[20] = 0 +du[21] = 0 +du[22] = 0 +du[23] = (CKc_n(u_pcreat_c_n,u_atp_c_n,u_adp_c_n)+0.5*(1/6.96)*1000*(-notBigg_J_ATP_n(u_atp_c_n,u_atp_i_n))-HEX1_n(u_glc_D_c_n,u_atp_c_n,u_g6p_c_n)-PFK_n(u_f6p_c_n,u_atp_c_n)+PGK_n(u_13dpg_c_n,u_3pg_c_n,u_atp_c_n,u_adp_c_n)+PYK_n(u_pep_c_n,u_atp_c_n,u_adp_c_n) )/(1-dAMPdATPn) +du[24] = 0 +du[25] = T2Jcorrection*(0.5*1000*r0509_n(u_nadh_m_n,u_pi_m_n)/W_x-FUMm_n(u_fum_m_n,u_mal_L_m_n)) +du[26] = T2Jcorrection*(FUMm_n(u_fum_m_n,u_mal_L_m_n)-MDHm_n(u_nadh_m_n,u_oaa_m_n,u_nad_m_n,u_mal_L_m_n))+6.96*AKGMALtm_n(u_mal_L_c_n,u_akg_m_n,u_akg_c_n,u_mal_L_m_n) +du[27] = T2Jcorrection*(MDHm_n(u_nadh_m_n,u_oaa_m_n,u_nad_m_n,u_mal_L_m_n)-CSm_n(u_accoa_m_n,u_oaa_m_n,u_cit_m_n,u_coa_m_n))+ASPTAm_n(u_oaa_m_n,u_akg_m_n,u_glu_L_m_n,u_asp_L_m_n) +du[28] = T2Jcorrection*(0.5*SUCOASm_n(u_coa_m_n,u_succ_m_n,u_pi_m_n,u_adp_m_n,u_succoa_m_n,u_atp_m_n)-0.5*1000*r0509_n(u_nadh_m_n,u_pi_m_n)/W_x)+0.5*T2Jcorrection*OCOAT1m_n(u_acac_c_n,u_aacoa_m_n,u_succoa_m_n,u_succ_m_n) +du[29] = 0.5*T2Jcorrection*(AKGDm_n(u_coa_m_n,u_nadh_m_n,u_ca2_m_n,u_adp_m_n,u_succoa_m_n,u_nad_m_n,u_atp_m_n,u_akg_m_n)-SUCOASm_n(u_coa_m_n,u_succ_m_n,u_pi_m_n,u_adp_m_n,u_succoa_m_n,u_atp_m_n))-0.5*T2Jcorrection*OCOAT1m_n(u_acac_c_n,u_aacoa_m_n,u_succoa_m_n,u_succ_m_n) +du[30] = T2Jcorrection*(CSm_n(u_accoa_m_n,u_oaa_m_n,u_cit_m_n,u_coa_m_n)-PDHm_n(u_pyr_m_n,u_coa_m_n,u_nad_m_n)-0.5*AKGDm_n(u_coa_m_n,u_nadh_m_n,u_ca2_m_n,u_adp_m_n,u_succoa_m_n,u_nad_m_n,u_atp_m_n,u_akg_m_n)+0.5*SUCOASm_n(u_coa_m_n,u_succ_m_n,u_pi_m_n,u_adp_m_n,u_succoa_m_n,u_atp_m_n)-0.5*ACACT1rm_n(u_aacoa_m_n,u_coa_m_n)) +du[31] = 0.5*T2Jcorrection*(ICDHxm_n(u_nadh_m_n,u_icit_m_n,u_nad_m_n)-AKGDm_n(u_coa_m_n,u_nadh_m_n,u_ca2_m_n,u_adp_m_n,u_succoa_m_n,u_nad_m_n,u_atp_m_n,u_akg_m_n))-ASPTAm_n(u_oaa_m_n,u_akg_m_n,u_glu_L_m_n,u_asp_L_m_n)-AKGMALtm_n(u_mal_L_c_n,u_akg_m_n,u_akg_c_n,u_mal_L_m_n) +du[32] = 0 +du[33] = 0.5*T2Jcorrection*(ACONTm_n(u_icit_m_n,u_cit_m_n)-ICDHxm_n(u_nadh_m_n,u_icit_m_n,u_nad_m_n)) +du[34] = T2Jcorrection*(CSm_n(u_accoa_m_n,u_oaa_m_n,u_cit_m_n,u_coa_m_n)-0.5*ACONTm_n(u_icit_m_n,u_cit_m_n)) +du[35] = T2Jcorrection*(PDHm_n(u_pyr_m_n,u_coa_m_n,u_nad_m_n)-CSm_n(u_accoa_m_n,u_oaa_m_n,u_cit_m_n,u_coa_m_n))+T2Jcorrection*ACACT1rm_n(u_aacoa_m_n,u_coa_m_n) +du[36] = 0.5*T2Jcorrection*(BDHm_n(u_acac_c_n,u_bhb_c_n,u_nadh_m_n,u_nad_m_n)-OCOAT1m_n(u_acac_c_n,u_aacoa_m_n,u_succoa_m_n,u_succ_m_n)) +du[37] = 0.5*T2Jcorrection*(OCOAT1m_n(u_acac_c_n,u_aacoa_m_n,u_succoa_m_n,u_succ_m_n)-ACACT1rm_n(u_aacoa_m_n,u_coa_m_n)) +du[38] = 6.96*PYRt2m_n(u_h_m_n,u_pyr_m_n,u_h_c_n,u_pyr_c_n)-T2Jcorrection*PDHm_n(u_pyr_m_n,u_coa_m_n,u_nad_m_n) +du[39] = 0.44*BHBt_n(u_bhb_c_n,u_bhb_e_e)-BDHm_n(u_acac_c_n,u_bhb_c_n,u_nadh_m_n,u_nad_m_n) +du[40] = 0.0275*notBigg_MCT1_bHB_b(u_bhb_e_e,u_bhb_b_b)-BHBt_n(u_bhb_c_n,u_bhb_e_e)-BHBt_a(u_bhb_c_a,u_bhb_e_e) +du[41] = 0 +du[42] = notBigg_JbHBTrArtCap(t,u_bhb_b_b)-notBigg_MCT1_bHB_b(u_bhb_e_e,u_bhb_b_b) +du[43] = 0 +du[44] = 0 +du[45] = 0.5*T2Jcorrection*(ASPTAm_n(u_oaa_m_n,u_akg_m_n,u_glu_L_m_n,u_asp_L_m_n)+6.96*ASPGLUm_n(u_h_c_n,u_glu_L_c_n,u_asp_L_m_n,u_asp_L_c_n,u_notBigg_MitoMembrPotent_m_n,u_glu_L_m_n,u_h_m_n)+GLUNm_n(u_gln_L_c_n,u_glu_L_m_n)) +du[46] = 0 +du[47] = 0 +du[48] = 0 +du[49] = ASPTA_n(u_glu_L_c_n,u_asp_L_c_n,u_oaa_c_n,u_akg_c_n)-ASPGLUm_n(u_h_c_n,u_glu_L_c_n,u_asp_L_m_n,u_asp_L_c_n,u_notBigg_MitoMembrPotent_m_n,u_glu_L_m_n,u_h_m_n) +du[50] = GAPD_n(u_nadh_c_n,u_nad_c_n,u_g3p_c_n,u_pi_c_n,u_13dpg_c_n)-LDH_L_n(u_nad_c_n,u_lac_L_c_n,u_nadh_c_n,u_pyr_c_n)-notBigg_vShuttlen(u_nadh_m_n,u_nadh_c_n) +du[51] = 0 +du[52] = 0.5*T2Jcorrection*(1000*(notBigg_J_KH_a(u_h_i_a,u_h_m_a,u_k_m_a)+notBigg_J_K_a(u_k_m_a,u_notBigg_MitoMembrPotent_m_a))/W_x) +du[53] = 0.5*T2Jcorrection*(1000*(-notBigg_J_MgATPx_a(u_notBigg_ATP_mx_m_a,u_mg2_m_a)-notBigg_J_MgADPx_a(u_notBigg_ADP_mx_m_a,u_mg2_m_a))/W_x) +du[54] = 6.96*(notBigg_vMitoing(u_nadh_m_a,u_pyr_m_a)+notBigg_vShuttleg(u_nadh_c_a,u_nadh_m_a)-notBigg_vMitooutg_a(u_atp_i_a,u_nadh_m_a,u_nad_m_a,u_o2_c_a,u_adp_i_a)) +du[55] = 0.5*T2Jcorrection*(1000*(+NADH2_u10mi_a(u_nadh_m_a,u_q10h2_m_a)-CYOR_u10mi_a(u_focytC_m_a,u_q10h2_m_a,u_pi_m_a,u_notBigg_MitoMembrPotent_m_a))/W_x) +du[56] = 0.5*T2Jcorrection*(1000*(+2*CYOR_u10mi_a(u_focytC_m_a,u_q10h2_m_a,u_pi_m_a,u_notBigg_MitoMembrPotent_m_a)-2*CYOOm2i_a(u_notBigg_Ctot_m_a,u_focytC_m_a,u_notBigg_MitoMembrPotent_m_a,u_o2_c_a))/W_i) +du[57] = notBigg_JO2fromCap2a(u_o2_b_b,u_o2_c_a)-0.6*notBigg_vMitooutg_a(u_atp_i_a,u_nadh_m_a,u_nad_m_a,u_o2_c_a,u_adp_i_a) +du[58] = 0.5*T2Jcorrection*(1000*(+ATPS4mi_a(u_notBigg_ATP_mx_m_a,u_pi_m_a,u_notBigg_ADP_mx_m_a)-ATPtm_a(u_notBigg_MitoMembrPotent_m_a))/W_x) +du[59] = 0.5*T2Jcorrection*(1000*(-ATPS4mi_a(u_notBigg_ATP_mx_m_a,u_pi_m_a,u_notBigg_ADP_mx_m_a)+ATPtm_a(u_notBigg_MitoMembrPotent_m_a))/W_x) +du[60] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgATPx_a(u_notBigg_ATP_mx_m_a,u_mg2_m_a))/W_x) +du[61] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgADPx_a(u_notBigg_ADP_mx_m_a,u_mg2_m_a))/W_x) +du[62] = 0.5*T2Jcorrection*(1000*(-ATPS4mi_a(u_notBigg_ATP_mx_m_a,u_pi_m_a,u_notBigg_ADP_mx_m_a)+notBigg_J_Pi1_a(u_h_i_a,u_h_m_a))/W_x) +du[63] = 0.5*T2Jcorrection*(1000*(+notBigg_J_ATP_a(u_atp_i_a,u_atp_c_a)+ATPtm_a(u_notBigg_MitoMembrPotent_m_a)+ADK1m_a(u_atp_i_a,u_adp_i_a,u_amp_i_a))/W_i) +du[64] = 0.5*T2Jcorrection*(1000*(+notBigg_J_ADP_a(u_adp_c_a,u_adp_i_a)-ATPtm_a(u_notBigg_MitoMembrPotent_m_a)-2*ADK1m_a(u_atp_i_a,u_adp_i_a,u_amp_i_a))/W_i) +du[65] = 0.5*T2Jcorrection*(1000*(+notBigg_J_AMP_a(u_amp_i_a,u_amp_c_a)+ADK1m_a(u_atp_i_a,u_adp_i_a,u_amp_i_a))/W_i) +du[66] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgATPi_a(u_notBigg_ATP_mi_i_a))/W_i) +du[67] = 0.5*T2Jcorrection*(1000*(notBigg_J_MgADPi_a(u_notBigg_ADP_mi_i_a))/W_i) +du[68] = 0.5*T2Jcorrection*(1000*(-notBigg_J_Pi1_a(u_h_i_a,u_h_m_a)+notBigg_J_Pi2_a(u_pi_i_a,u_pi_c_a))/W_i) +du[69] = 0.5*T2Jcorrection*((4*NADH2_u10mi_a(u_nadh_m_a,u_q10h2_m_a)+2*CYOR_u10mi_a(u_focytC_m_a,u_q10h2_m_a,u_pi_m_a,u_notBigg_MitoMembrPotent_m_a)+4*CYOOm2i_a(u_notBigg_Ctot_m_a,u_focytC_m_a,u_notBigg_MitoMembrPotent_m_a,u_o2_c_a)-n_A*ATPS4mi_a(u_notBigg_ATP_mx_m_a,u_pi_m_a,u_notBigg_ADP_mx_m_a)-ATPtm_a(u_notBigg_MitoMembrPotent_m_a)-notBigg_J_Hle_a(u_h_i_a,u_h_m_a,u_notBigg_MitoMembrPotent_m_a)-notBigg_J_K_a(u_k_m_a,u_notBigg_MitoMembrPotent_m_a))/CIM) +du[70] = 0 +du[71] = 0 +du[72] = 0 +du[73] = (-(u_ca2_c_a/cai0_ca_ion)*(1+xNEmod*(u[178]/(KdNEmod+u[178])))*ADNCYC_a(u_camp_c_a,u_atp_c_a)+CKc_a(u_adp_c_a,u_atp_c_a,u_pcreat_c_a)+0.5*(1/6.96)*1000*(-notBigg_J_ATP_a(u_atp_i_a,u_atp_c_a))-HEX1_a(u_atp_c_a,u_g6p_c_a,u_glc_D_c_a)-PFK_a(u_atp_c_a,u_f26bp_c_a,u_f6p_c_a)-PFK26_a(u_adp_c_a,u_atp_c_a,u_f26bp_c_a,u_f6p_c_a)+PGK_a(u_adp_c_a,u_atp_c_a,u_3pg_c_a,u_13dpg_c_a)+PYK_a(u_adp_c_a,u_atp_c_a,u_pep_c_a)-0.15*(7/4)*vPumpg-vATPasesg)/(1-dAMPdATPg) +du[74] = 0 +du[75] = 0.5*T2Jcorrection*(1000*r0509_a(u_nadh_m_a,u_pi_m_a)/W_x-FUMm_a(u_mal_L_m_a,u_fum_m_a)) +du[76] = 0.5*T2Jcorrection*(FUMm_a(u_mal_L_m_a,u_fum_m_a)-MDHm_a(u_nad_m_a,u_oaa_m_a,u_mal_L_m_a,u_nadh_m_a)) +du[77] = 0.5*T2Jcorrection*(MDHm_a(u_nad_m_a,u_oaa_m_a,u_mal_L_m_a,u_nadh_m_a)-CSm_a(u_oaa_m_a,u_cit_m_a,u_accoa_m_a,u_coa_m_a)+PCm_a(u_co2_m_a,u_oaa_m_a,u_pyr_m_a,u_atp_m_a,u_adp_m_a)) +du[78] = 0.5*T2Jcorrection*(SUCOASm_a(u_coa_m_a,u_succoa_m_a,u_atp_m_a,u_succ_m_a,u_pi_m_a,u_adp_m_a)-1000*r0509_a(u_nadh_m_a,u_pi_m_a)/W_x) +du[79] = 0.5*T2Jcorrection*(AKGDm_a(u_coa_m_a,u_nadh_m_a,u_akg_m_a,u_ca2_m_a,u_nad_m_a,u_succoa_m_a,u_atp_m_a,u_adp_m_a)-SUCOASm_a(u_coa_m_a,u_succoa_m_a,u_atp_m_a,u_succ_m_a,u_pi_m_a,u_adp_m_a)) +du[80] = 0.5*T2Jcorrection*(CSm_a(u_oaa_m_a,u_cit_m_a,u_accoa_m_a,u_coa_m_a)-PDHm_a(u_nad_m_a,u_pyr_m_a,u_coa_m_a)-AKGDm_a(u_coa_m_a,u_nadh_m_a,u_akg_m_a,u_ca2_m_a,u_nad_m_a,u_succoa_m_a,u_atp_m_a,u_adp_m_a)+SUCOASm_a(u_coa_m_a,u_succoa_m_a,u_atp_m_a,u_succ_m_a,u_pi_m_a,u_adp_m_a)) +du[81] = 0.5*T2Jcorrection*(ICDHxm_a(u_nad_m_a,u_nadh_m_a,u_icit_m_a)-AKGDm_a(u_coa_m_a,u_nadh_m_a,u_akg_m_a,u_ca2_m_a,u_nad_m_a,u_succoa_m_a,u_atp_m_a,u_adp_m_a)+GLUDxm_a(u_nad_m_a,u_nadh_m_a,u_glu_L_c_a,u_akg_m_a)) +du[82] = 0 +du[83] = 0.5*T2Jcorrection*(ACONTm_a(u_cit_m_a,u_icit_m_a)-ICDHxm_a(u_nad_m_a,u_nadh_m_a,u_icit_m_a)) +du[84] = 0.5*T2Jcorrection*(CSm_a(u_oaa_m_a,u_cit_m_a,u_accoa_m_a,u_coa_m_a)-ACONTm_a(u_cit_m_a,u_icit_m_a)) +du[85] = 0.5*T2Jcorrection*(PDHm_a(u_nad_m_a,u_pyr_m_a,u_coa_m_a)-CSm_a(u_oaa_m_a,u_cit_m_a,u_accoa_m_a,u_coa_m_a)) +du[86] = 0 +du[87] = 0 +du[88] = 6.96*PYRt2m_a(u_h_m_a,u_pyr_c_a,u_h_c_a,u_pyr_m_a)-T2Jcorrection*(PDHm_a(u_nad_m_a,u_pyr_m_a,u_coa_m_a)+PCm_a(u_co2_m_a,u_oaa_m_a,u_pyr_m_a,u_atp_m_a,u_adp_m_a)) +du[89] = T2Jcorrection*(GLNt4_n(u_gln_L_c_n,u_gln_L_e_e)-GLUNm_n(u_gln_L_c_n,u_glu_L_m_n)) +du[90] = T2Jcorrection*(-GLNt4_n(u_gln_L_c_n,u_gln_L_e_e)+GLNt4_a(u_gln_L_c_a,u_gln_L_e_e)) +du[91] = T2Jcorrection*(-GLNt4_a(u_gln_L_c_a,u_gln_L_e_e)+GLNS_a(u_adp_c_a,u_atp_c_a,u_glu_L_c_a)) +du[92] = T2Jcorrection*(0.0266*GLUt6_a(u_na1_c_a,u_notBigg_Va_c_a,u_k_e_e,u_glu_L_syn_syn,u_k_c_a,u_glu_L_c_a)-GLNS_a(u_adp_c_a,u_atp_c_a,u_glu_L_c_a)-GLUDxm_a(u_nad_m_a,u_nadh_m_a,u_glu_L_c_a,u_akg_m_a)) +du[93] = 0 +du[94] = 0 +du[95] = 0 +du[96] = 0 +du[97] = 0 +du[98] = 0 +du[99] = 0 +du[100] = 0 +du[101] = 0 +du[102] = 0 +du[103] = 0 +du[104] = 0 +du[105] = 0 +du[106] = 0 +du[107] = 0 +du[108] = 0 +du[109] = 0 +du[110] = 0 +du[111] = 0 +du[112] = 0 +du[113] = notBigg_JdHbin(t,u_o2_b_b)-notBigg_JdHbout(t,u_notBigg_ddHb_b_b) +du[114] = notBigg_JO2art2cap(t,u_o2_b_b)-(eto_n/eto_b)*notBigg_JO2fromCap2n(u_o2_b_b,u_o2_c_n)-(eto_a/eto_b)*notBigg_JO2fromCap2a(u_o2_b_b,u_o2_c_a) +du[115] = notBigg_trGLC_art_cap(t,u_glc_D_b_b)-notBigg_JGlc_be(u_glc_D_ecsEndothelium_ecsEndothelium,u_glc_D_b_b) +du[116] = 0.32*notBigg_JGlc_be(u_glc_D_ecsEndothelium_ecsEndothelium,u_glc_D_b_b)-notBigg_JGlc_e2ecsBA(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsEndothelium_ecsEndothelium) +du[117] = 1.13*notBigg_JGlc_e2ecsBA(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsEndothelium_ecsEndothelium)-notBigg_JGlc_ecsBA2a(u_glc_D_ecsBA_ecsBA,u_glc_D_c_a)-notBigg_JGlc_diffEcs(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsAN_ecsAN) +du[118] = 0.06*notBigg_JGlc_ecsBA2a(u_glc_D_ecsBA_ecsBA,u_glc_D_c_a)-HEX1_a(u_atp_c_a,u_g6p_c_a,u_glc_D_c_a)-notBigg_JGlc_a2ecsAN(u_glc_D_ecsAN_ecsAN,u_glc_D_c_a) +du[119] = 1.35*notBigg_JGlc_a2ecsAN(u_glc_D_ecsAN_ecsAN,u_glc_D_c_a)-notBigg_JGlc_ecsAN2n(u_glc_D_c_n,u_glc_D_ecsAN_ecsAN)+0.08*notBigg_JGlc_diffEcs(u_glc_D_ecsBA_ecsBA,u_glc_D_ecsAN_ecsAN) +du[120] = 0.41*notBigg_JGlc_ecsAN2n(u_glc_D_c_n,u_glc_D_ecsAN_ecsAN)-HEX1_n(u_glc_D_c_n,u_atp_c_n,u_g6p_c_n) +du[121] = HEX1_n(u_glc_D_c_n,u_atp_c_n,u_g6p_c_n)-PGI_n(u_f6p_c_n,u_g6p_c_n)-G6PDH2r_n(u_g6p_c_n,u_nadph_c_n,u_nadp_c_n,u_6pgl_c_n) +du[122] = HEX1_a(u_atp_c_a,u_g6p_c_a,u_glc_D_c_a)-PGI_a(u_g6p_c_a,u_f6p_c_a)-G6PDH2r_a(u_6pgl_c_a,u_nadp_c_a,u_g6p_c_a,u_nadph_c_a)+PGMT_a(u_g1p_c_a,u_g6p_c_a) +du[123] = PGI_n(u_f6p_c_n,u_g6p_c_n)-PFK_n(u_f6p_c_n,u_atp_c_n)-TKT2_n(u_f6p_c_n,u_e4p_c_n,u_xu5p_D_c_n,u_g3p_c_n)+TALA_n(u_f6p_c_n,u_e4p_c_n,u_g3p_c_n,u_s7p_c_n) +du[124] = PGI_a(u_g6p_c_a,u_f6p_c_a)-PFK_a(u_atp_c_a,u_f26bp_c_a,u_f6p_c_a)-PFK26_a(u_adp_c_a,u_atp_c_a,u_f26bp_c_a,u_f6p_c_a)-TKT2_a(u_g3p_c_a,u_e4p_c_a,u_xu5p_D_c_a,u_f6p_c_a)+TALA_a(u_g3p_c_a,u_e4p_c_a,u_s7p_c_a,u_f6p_c_a) +du[125] = PFK_n(u_f6p_c_n,u_atp_c_n)-FBA_n(u_fdp_c_n,u_dhap_c_n,u_g3p_c_n) +du[126] = PFK_a(u_atp_c_a,u_f26bp_c_a,u_f6p_c_a)-FBA_a(u_g3p_c_a,u_fdp_c_a,u_dhap_c_a) +du[127] = PFK26_a(u_adp_c_a,u_atp_c_a,u_f26bp_c_a,u_f6p_c_a) +du[128] = GLCS2_a(u_notBigg_GS_c_a,u_udpg_c_a)-GLCP_a(u_glycogen_c_a,u_notBigg_GPa_c_a,u_camp_c_a,u_notBigg_GPb_c_a) +du[129] = 0 +du[130] = 0 +du[131] = 10*GLCP_a(u_glycogen_c_a,u_notBigg_GPa_c_a,u_camp_c_a,u_notBigg_GPb_c_a)-PGMT_a(u_g1p_c_a,u_g6p_c_a)-GALUi_a(u_ppi_c_a,u_g1p_c_a,u_udpg_c_a,u_utp_c_a) +du[132] = FBA_n(u_fdp_c_n,u_dhap_c_n,u_g3p_c_n)-GAPD_n(u_nadh_c_n,u_nad_c_n,u_g3p_c_n,u_pi_c_n,u_13dpg_c_n)+TPI_n(u_dhap_c_n,u_g3p_c_n)-TKT2_n(u_f6p_c_n,u_e4p_c_n,u_xu5p_D_c_n,u_g3p_c_n)-TALA_n(u_f6p_c_n,u_e4p_c_n,u_g3p_c_n,u_s7p_c_n)+TKT1_n(u_s7p_c_n,u_r5p_c_n,u_xu5p_D_c_n,u_g3p_c_n) +du[133] = FBA_a(u_g3p_c_a,u_fdp_c_a,u_dhap_c_a)-GAPD_a(u_nadh_c_a,u_nad_c_a,u_pi_c_a,u_13dpg_c_a,u_g3p_c_a)+TPI_a(u_g3p_c_a,u_dhap_c_a)-TKT2_a(u_g3p_c_a,u_e4p_c_a,u_xu5p_D_c_a,u_f6p_c_a)-TALA_a(u_g3p_c_a,u_e4p_c_a,u_s7p_c_a,u_f6p_c_a)+TKT1_a(u_r5p_c_a,u_g3p_c_a,u_s7p_c_a,u_xu5p_D_c_a) +du[134] = FBA_n(u_fdp_c_n,u_dhap_c_n,u_g3p_c_n)-TPI_n(u_dhap_c_n,u_g3p_c_n) +du[135] = FBA_a(u_g3p_c_a,u_fdp_c_a,u_dhap_c_a)-TPI_a(u_g3p_c_a,u_dhap_c_a) +du[136] = GAPD_n(u_nadh_c_n,u_nad_c_n,u_g3p_c_n,u_pi_c_n,u_13dpg_c_n)-PGK_n(u_13dpg_c_n,u_3pg_c_n,u_atp_c_n,u_adp_c_n) +du[137] = GAPD_a(u_nadh_c_a,u_nad_c_a,u_pi_c_a,u_13dpg_c_a,u_g3p_c_a)-PGK_a(u_adp_c_a,u_atp_c_a,u_3pg_c_a,u_13dpg_c_a) +du[138] = GAPD_a(u_nadh_c_a,u_nad_c_a,u_pi_c_a,u_13dpg_c_a,u_g3p_c_a)-LDH_L_a(u_nad_c_a,u_nadh_c_a,u_lac_L_c_a,u_pyr_c_a)-notBigg_vShuttleg(u_nadh_c_a,u_nadh_m_a) +du[139] = 0 +du[140] = 0 +du[141] = PGK_n(u_13dpg_c_n,u_3pg_c_n,u_atp_c_n,u_adp_c_n)-PGM_n(u_2pg_c_n,u_3pg_c_n) +du[142] = PGK_a(u_adp_c_a,u_atp_c_a,u_3pg_c_a,u_13dpg_c_a)-PGM_a(u_2pg_c_a,u_3pg_c_a) +du[143] = PGM_n(u_2pg_c_n,u_3pg_c_n)-ENO_n(u_pep_c_n,u_2pg_c_n) +du[144] = PGM_a(u_2pg_c_a,u_3pg_c_a)-ENO_a(u_2pg_c_a,u_pep_c_a) +du[145] = ENO_n(u_pep_c_n,u_2pg_c_n)-PYK_n(u_pep_c_n,u_atp_c_n,u_adp_c_n) +du[146] = ENO_a(u_2pg_c_a,u_pep_c_a)-PYK_a(u_adp_c_a,u_atp_c_a,u_pep_c_a) +du[147] = PYK_n(u_pep_c_n,u_atp_c_n,u_adp_c_n)-PYRt2m_n(u_h_m_n,u_pyr_m_n,u_h_c_n,u_pyr_c_n)-LDH_L_n(u_nad_c_n,u_lac_L_c_n,u_nadh_c_n,u_pyr_c_n) +du[148] = PYK_a(u_adp_c_a,u_atp_c_a,u_pep_c_a)-PYRt2m_a(u_h_m_a,u_pyr_c_a,u_h_c_a,u_pyr_m_a)-LDH_L_a(u_nad_c_a,u_nadh_c_a,u_lac_L_c_a,u_pyr_c_a) +du[149] = notBigg_JLacTr_b(u_lac_L_b_b,t)-notBigg_MCT1_LAC_b(u_lac_L_b_b,u_lac_L_e_e)-notBigg_vLACgc(u_lac_L_b_b,u_lac_L_c_a) +du[150] = 0.0275*notBigg_MCT1_LAC_b(u_lac_L_b_b,u_lac_L_e_e)-L_LACt2r_a(u_lac_L_e_e,u_lac_L_c_a)-L_LACt2r_n(u_lac_L_e_e,u_lac_L_c_n)+notBigg_jLacDiff_e(u_lac_L_e_e) +du[151] = 0.8*L_LACt2r_a(u_lac_L_e_e,u_lac_L_c_a)+0.022*notBigg_vLACgc(u_lac_L_b_b,u_lac_L_c_a)+LDH_L_a(u_nad_c_a,u_nadh_c_a,u_lac_L_c_a,u_pyr_c_a) +du[152] = 0.44*L_LACt2r_n(u_lac_L_e_e,u_lac_L_c_n)+LDH_L_n(u_nad_c_n,u_lac_L_c_n,u_nadh_c_n,u_pyr_c_n) +du[153] = G6PDH2r_n(u_g6p_c_n,u_nadph_c_n,u_nadp_c_n,u_6pgl_c_n)+GND_n(u_6pgc_c_n,u_nadph_c_n,u_nadp_c_n,u_ru5p_D_c_n)-notBigg_psiNADPHox_n(u_nadph_c_n)-GTHO_n(u_nadph_c_n,u_gthox_c_n) +du[154] = G6PDH2r_a(u_6pgl_c_a,u_nadp_c_a,u_g6p_c_a,u_nadph_c_a)+GND_a(u_6pgc_c_a,u_nadp_c_a,u_ru5p_D_c_a,u_nadph_c_a)-notBigg_psiNADPHox_a(u_nadph_c_a)-GTHO_a(u_gthox_c_a,u_nadph_c_a) +du[155] = G6PDH2r_n(u_g6p_c_n,u_nadph_c_n,u_nadp_c_n,u_6pgl_c_n)-PGL_n(u_6pgc_c_n,u_6pgl_c_n) +du[156] = G6PDH2r_a(u_6pgl_c_a,u_nadp_c_a,u_g6p_c_a,u_nadph_c_a)-PGL_a(u_6pgc_c_a,u_6pgl_c_a) +du[157] = PGL_n(u_6pgc_c_n,u_6pgl_c_n)-GND_n(u_6pgc_c_n,u_nadph_c_n,u_nadp_c_n,u_ru5p_D_c_n) +du[158] = PGL_a(u_6pgc_c_a,u_6pgl_c_a)-GND_a(u_6pgc_c_a,u_nadp_c_a,u_ru5p_D_c_a,u_nadph_c_a) +du[159] = GND_n(u_6pgc_c_n,u_nadph_c_n,u_nadp_c_n,u_ru5p_D_c_n)-RPE_n(u_xu5p_D_c_n,u_ru5p_D_c_n)-RPI_n(u_r5p_c_n,u_ru5p_D_c_n) +du[160] = GND_a(u_6pgc_c_a,u_nadp_c_a,u_ru5p_D_c_a,u_nadph_c_a)-RPE_a(u_ru5p_D_c_a,u_xu5p_D_c_a)-RPI_a(u_r5p_c_a,u_ru5p_D_c_a) +du[161] = RPI_n(u_r5p_c_n,u_ru5p_D_c_n)-TKT1_n(u_s7p_c_n,u_r5p_c_n,u_xu5p_D_c_n,u_g3p_c_n) +du[162] = RPI_a(u_r5p_c_a,u_ru5p_D_c_a)-TKT1_a(u_r5p_c_a,u_g3p_c_a,u_s7p_c_a,u_xu5p_D_c_a) +du[163] = RPE_n(u_xu5p_D_c_n,u_ru5p_D_c_n)-TKT1_n(u_s7p_c_n,u_r5p_c_n,u_xu5p_D_c_n,u_g3p_c_n)+TKT2_n(u_f6p_c_n,u_e4p_c_n,u_xu5p_D_c_n,u_g3p_c_n) +du[164] = RPE_a(u_ru5p_D_c_a,u_xu5p_D_c_a)-TKT1_a(u_r5p_c_a,u_g3p_c_a,u_s7p_c_a,u_xu5p_D_c_a)+TKT2_a(u_g3p_c_a,u_e4p_c_a,u_xu5p_D_c_a,u_f6p_c_a) +du[165] = TKT1_n(u_s7p_c_n,u_r5p_c_n,u_xu5p_D_c_n,u_g3p_c_n)-TALA_n(u_f6p_c_n,u_e4p_c_n,u_g3p_c_n,u_s7p_c_n) +du[166] = TKT1_a(u_r5p_c_a,u_g3p_c_a,u_s7p_c_a,u_xu5p_D_c_a)-TALA_a(u_g3p_c_a,u_e4p_c_a,u_s7p_c_a,u_f6p_c_a) +du[167] = TKT2_n(u_f6p_c_n,u_e4p_c_n,u_xu5p_D_c_n,u_g3p_c_n)+TALA_n(u_f6p_c_n,u_e4p_c_n,u_g3p_c_n,u_s7p_c_n) +du[168] = TKT2_a(u_g3p_c_a,u_e4p_c_a,u_xu5p_D_c_a,u_f6p_c_a)+TALA_a(u_g3p_c_a,u_e4p_c_a,u_s7p_c_a,u_f6p_c_a) +du[169] = 2*(GTHO_n(u_nadph_c_n,u_gthox_c_n)-GTHP_n(u_gthrd_c_n))+GTHS_n(u_gthrd_c_n) +du[170] = 2*(GTHO_a(u_gthox_c_a,u_nadph_c_a)-GTHP_a(u_gthrd_c_a))+GTHS_a(u_gthrd_c_a) +du[171] = -GTHO_n(u_nadph_c_n,u_gthox_c_n)+GTHP_n(u_gthrd_c_n) +du[172] = -GTHO_a(u_gthox_c_a,u_nadph_c_a)+GTHP_a(u_gthrd_c_a) +du[173] = 0 +du[174] = -CKc_n(u_pcreat_c_n,u_atp_c_n,u_adp_c_n) +du[175] = 0 +du[176] = -CKc_a(u_adp_c_a,u_atp_c_a,u_pcreat_c_a) +du[177] = (u_ca2_c_a/cai0_ca_ion)*(1+xNEmod*(u[178]/(KdNEmod+u[178])))*ADNCYC_a(u_camp_c_a,u_atp_c_a)-PDE1_a(u_camp_c_a) +du[178] = 0 +du[179] = 0 +du[180] = 0 +du[181] = 0 +du[182] = notBigg_psiPHK_a(u_ca2_c_a,u_glycogen_c_a,u_g1p_c_a,u_notBigg_PHKa_c_a,u_notBigg_GPa_c_a,u_udpg_c_a) +du[183] = -notBigg_psiPHK_a(u_ca2_c_a,u_glycogen_c_a,u_g1p_c_a,u_notBigg_PHKa_c_a,u_notBigg_GPa_c_a,u_udpg_c_a) +end \ No newline at end of file diff --git a/multiscale_run/metabolism/README.md b/multiscale_run/metabolism/README.md new file mode 100644 index 0000000..de9225f --- /dev/null +++ b/multiscale_run/metabolism/README.md @@ -0,0 +1,27 @@ +# Metabolism Models + +This directory contains files related to the metabolism simulator integrated into the `multiscale_run` Python package. The files here define the system of ordinary differential equations (ODE) that simulate metabolism. Below are the key components: + +## Key Files + +### `data/u0.csv` +- **Description**: Contains the initial values for the ODE system, which define the starting conditions for the metabolism simulation. +- **Original Name**: `u0steady_22nov22.csv` +- **Location**: This file is essential for initializing the simulation and setting up the model. + +### `ODE_system.jl` +- **Description**: Contains the system of equations that describe the metabolism model, along with the matrices and references necessary for running the metabolism simulator. +- **Original Name**: `metabolismWithSBBFinput_ndamAdapted_opt_sys_young_202302210826_2stim.js` +- **Location**: This file defines the dynamics of the model and can be modified for different simulation scenarios. + +### data/*.jl +- **Description**: Contains all the additional constants required for the model. +- **Original Name**: they all maintaned their original names. + +## Historical Models + +If you're interested in the earlier versions of ODE system, you can find them in the following location: + +- **Location**: `/multiscale_run/multiscale_run/data/metabolismndam_reduced` +- **Commit Reference**: For the previous models, refer to commit `b9f5508` or earlier. This commit includes the old versions of the metabolism model and associated files. + diff --git a/multiscale_run/metabolism_manager.py b/multiscale_run/metabolism_manager.py index dad1b4d..7eedbca 100644 --- a/multiscale_run/metabolism_manager.py +++ b/multiscale_run/metabolism_manager.py @@ -1,9 +1,9 @@ import enum import logging +import libsonata import numpy as np import pandas as pd -from bluepysnap import Circuit from . import config, utils @@ -39,7 +39,7 @@ class MsrMetabolismManager: "exclude_neuron": MsrExcludeNeuronException, } - def __init__(self, config, main, neuron_pop_name: str, gids: list[int]): + def __init__(self, config, main, neuron_pop_name: str, raw_gids: list[int]): """Initialize the MsrMetabolismManager. Args: @@ -54,10 +54,10 @@ def __init__(self, config, main, neuron_pop_name: str, gids: list[int]): self.vm = None # read/write values for metab self.parameters = None # read values for metab self.tspan_m = (-1, -1) - self.neuro_df = Circuit( + self.neuron_node_pop = libsonata.CircuitConfig.from_file( str(self.config.config_path.parent / self.config.network) - ).nodes[neuron_pop_name] - self.reset(gids) + ).node_population(neuron_pop_name) + self.reset(raw_gids) def get_error(self, key: str): try: @@ -164,7 +164,7 @@ def _advance_gid(self, igid: int, i_metab: int, failed_cells: list[str]): self.model, self.vm[igid, :], tspan_m, self.parameters[igid, :] ) try: - logging.info(" solve ODE problem") + logging.info(f" solve ODE problem {igid}/{self.ngids}") sol = de.solve( prob, de.Rosenbrock23(autodiff=False), @@ -199,13 +199,13 @@ def advance(self, i_metab: int, failed_cells: list) -> None: self._advance_gid(igid=igid, i_metab=i_metab, failed_cells=failed_cells) - def _get_GLY_a_and_mito_vol_frac(self, c_gid: int): + def _get_GLY_a_and_mito_vol_frac(self, raw_gid: int): """Get glycogen (GLY_a) and mitochondrial volume fraction. This method calculates glycogen (GLY_a) and mitochondrial volume fraction for a given neuron based on its layer. Args: - c_gid: The Global ID of the neuron. + raw_gid: 1-based raw gid (no offsets). GID: The Global ID of the neuron. Returns: a tuple (glycogen, mito_volume_fraction) where glycogen is @@ -214,8 +214,8 @@ def _get_GLY_a_and_mito_vol_frac(self, c_gid: int): """ # idx: layers are 1-based while python vectors are 0-based # c_gid: ndam is 1-based while libsonata and bluepysnap are 0-based - idx = self.neuro_df.get(c_gid - 1).layer - 1 + idx = int(self.neuron_node_pop.get_attribute("layer", raw_gid - 1)) - 1 glycogen_au = np.array( self.config.multiscale_run.metabolism.constants.glycogen_au ) @@ -232,11 +232,11 @@ def _get_GLY_a_and_mito_vol_frac(self, c_gid: int): ) @utils.logs_decorator - def reset(self, gids: list[int]): + def reset(self, raw_gids: list[int]): """Reset the parameters and initial conditions for metabolic simulation. Args: - gids: List of cells to reset. + raw_gids: List of cells to reset without offset. Returns: None @@ -244,16 +244,18 @@ def reset(self, gids: list[int]): metab_conf = self.config.multiscale_run.metabolism mito_scale_idx = MsrMetabolismParam.mito_scale.value - ngids = len(gids) + ngids = len(raw_gids) self.vm = np.tile( pd.read_csv(metab_conf.u0_path, sep=",", header=None)[0].tolist(), (ngids, 1), ) + self.parameters = np.tile(metab_conf.parameters, (ngids, 1)) # TODO this may be made more general. Atm it has low priority. + self.parameters[:, mito_scale_idx] = [ - self._get_GLY_a_and_mito_vol_frac(c_gid)[1] for c_gid in gids + self._get_GLY_a_and_mito_vol_frac(c_gid)[1] for c_gid in raw_gids ] def _check_input_for_currently_valid_gids( diff --git a/multiscale_run/neurodamus_manager.py b/multiscale_run/neurodamus_manager.py index 79456bf..5b4a354 100644 --- a/multiscale_run/neurodamus_manager.py +++ b/multiscale_run/neurodamus_manager.py @@ -43,10 +43,11 @@ def __init__(self, config): } self.removed_gids = {} - @property - def gids(self): + def gids(self, raw=False): """Convenience function to get the gids from ncs""" - return [int(nc.CCell.gid) for nc in self.ncs] + if raw: + return [nc.raw_gid for nc in self.ncs] + return [nc.gid for nc in self.ncs] def set_managers(self): """Find useful node managers for neurons, astrocytes, and glio-vascular management. @@ -442,9 +443,15 @@ def stats(): simulation_config = libsonata.SimulationConfig.from_file( "simulation_config.json" ) + circuit_config = libsonata.CircuitConfig.from_file(simulation_config.network) - node_sets = libsonata.NodeSets.from_file(circuit_config.node_sets_path) - node_sets.update(libsonata.NodeSets.from_file(simulation_config.node_sets_file)) + if circuit_config.node_sets_path: + node_sets = libsonata.NodeSets.from_file(circuit_config.node_sets_path) + node_sets.update( + libsonata.NodeSets.from_file(simulation_config.node_sets_file) + ) + else: + node_sets = libsonata.NodeSets.from_file(simulation_config.node_sets_file) def print_attribute(attribute, pop, selection): """Print attribute if present""" diff --git a/multiscale_run/preprocessor.py b/multiscale_run/preprocessor.py index d4b344e..3c34ae3 100644 --- a/multiscale_run/preprocessor.py +++ b/multiscale_run/preprocessor.py @@ -3,9 +3,10 @@ from pathlib import Path import gmsh +import libsonata import numpy as np +import pandas as pd import trimesh -from bluepysnap import Circuit from . import utils @@ -80,14 +81,18 @@ def autogen_node_sets(self): # Generate the node_sets.json template = { - "testNGVSSCX_AstroMini": ["testNGVSSCX", "Astrocytes"], - "src_cells": {"population": "All", "node_id": None}, - "testNGVSSCX": {"population": "All", "node_id": None}, - "Astrocytes": {"population": "astrocytes", "node_id": None}, + "All": ["Neurons", "Astrocytes"], + "Neurons": { + "population": self.config.multiscale_run.preprocessor.node_sets.neuron_population_name, + "node_id": None, + }, + "Astrocytes": { + "population": self.config.multiscale_run.preprocessor.node_sets.astrocyte_population_name, + "node_id": None, + }, } - template["src_cells"]["node_id"] = self.selected_neurons.tolist() - template["testNGVSSCX"]["node_id"] = self.selected_neurons.tolist() + template["Neurons"]["node_id"] = self.selected_neurons.tolist() template["Astrocytes"]["node_id"] = self.selected_astrocytes.tolist() with open(output_filename, "w") as fout: @@ -121,38 +126,88 @@ def extract_information_from_circuit(self): self.config.multiscale_run.preprocessor.node_sets.neuron_population_name ) - c = Circuit(str(self.config.config_path.parent / self.config.network)) - - # Create a list of astrocyte ids, that contains all the astrocytes with endfoot - gliovascular = c.edges["gliovascular"] + circuit_config = libsonata.CircuitConfig.from_file( + str(self.config.config_path.parent / self.config.network) + ) + gliovascular = circuit_config.edge_population("gliovascular") edges_ids = np.arange(gliovascular.size, dtype=np.uint64) - df = gliovascular.get(edges_ids, ["@target_node", "endfoot_compartment_length"]) - filtered_df = df[df.endfoot_compartment_length > 0] + + selection = libsonata.Selection(values=edges_ids) + endfoot = gliovascular.get_attribute("endfoot_compartment_length", selection) + targetnode = gliovascular.target_nodes(selection) + # Convert lists to DataFrame + df_combined = pd.DataFrame( + {"@target_node": targetnode, "endfoot_compartment_length": endfoot} + ) + + filtered_df = df_combined[df_combined.endfoot_compartment_length > 0] selected_astrocytes = filtered_df["@target_node"].unique() - # Remove from thi list the astrocytes with at least one endfoot_compartment_length == 0.0 - filtered_df = df[df.endfoot_compartment_length == 0] + filtered_df = df_combined[df_combined.endfoot_compartment_length == 0] astroytes_id_to_remove = filtered_df["@target_node"].to_numpy() - indices_to_remove = np.where( - np.in1d(selected_astrocytes, astroytes_id_to_remove) - )[0] - selected_astrocytes = np.delete(selected_astrocytes, indices_to_remove) - logging.info( - f"There are {selected_astrocytes.size} astrocytes with valid endfeet" - ) + selected_astrocytes = np.setdiff1d(selected_astrocytes, astroytes_id_to_remove) if self.config.multiscale_run.preprocessor.node_sets.filter_neuron: - neuroglial = c.edges["neuroglial"] - edges_ids = np.arange(neuroglial.size, dtype=np.uint16) - df = neuroglial.get(edges_ids, ["@source_node", "@target_node"]) - selected_neurons = df[df["@source_node"].isin(selected_astrocytes)][ - "@target_node" - ].unique() - neuro_df = c.nodes[pop_name].get(selected_neurons) + # Get the neuroglial edge population + neuroglial = circuit_config.edge_population("neuroglial") + # Create a selection of all edges + all_edges = libsonata.Selection(np.arange(neuroglial.size, dtype=np.uint16)) + # Get source and target nodes + source_nodes = neuroglial.source_nodes(all_edges) + target_nodes = neuroglial.target_nodes(all_edges) + + # Create a mask for selected astrocytes + astrocyte_mask = np.isin(source_nodes, selected_astrocytes) + + # Get unique target nodes (neurons) connected to selected astrocytes + selected_neurons = np.unique(target_nodes[astrocyte_mask]) + + # Create a selection for the selected neurons + neuron_selection = libsonata.Selection(selected_neurons) + + # Get the node population + node_population = circuit_config.node_population(pop_name) + + # Get attributes for selected neurons + attributes = sorted(node_population.attribute_names) + neuro_df = {"node_ids": neuron_selection.flatten()} + for attr in attributes: + neuro_df[attr] = node_population.get_attribute(attr, neuron_selection) + + # Get dynamics attributes for selected neurons + dynamics_attributes = sorted(node_population.dynamics_attribute_names) + for attr in dynamics_attributes: + neuro_df[f"@dynamics:{attr}"] = node_population.get_dynamics_attribute( + attr, neuron_selection + ) + + # Convert to pandas DataFrame if needed + neuro_df = pd.DataFrame(neuro_df) else: - selected_neurons = np.arange(c.nodes[pop_name].size, dtype=np.uint16) - neuro_df = c.nodes[pop_name].get(selected_neurons) + node_ids_population = circuit_config.node_population(pop_name) + selected_neurons = np.arange(node_ids_population.size, dtype=np.uint16) + sorted_attr_names = sorted(node_ids_population.attribute_names) + sorted_dynamic_attr_names = sorted( + node_ids_population.dynamics_attribute_names + ) + + node_selection = libsonata.Selection(values=selected_neurons) + node_ids = node_selection.flatten() + data = {"node_ids": node_ids} + + # Add regular attributes + for attr in sorted_attr_names: + data[attr] = node_ids_population.get_attribute(attr, node_selection) + + # Add dynamics attributes + for attr in sorted_dynamic_attr_names: + data[f"@dynamics:{attr}"] = node_ids_population.get_dynamics_attribute( + attr, node_selection + ) + + # Create the DataFrame + neuro_df = pd.DataFrame(data) logging.info(f"There are {selected_neurons.size} selected neurons") diff --git a/multiscale_run/reporter.py b/multiscale_run/reporter.py index 7d966e6..1fd3d99 100644 --- a/multiscale_run/reporter.py +++ b/multiscale_run/reporter.py @@ -127,7 +127,7 @@ def record(self, idt: int, manager_name: str, managers: dict, when: str): ) else: idxs = np.array( - [self.gid2pos[gid] for gid in managers["neurodamus"].gids] + [self.gid2pos[gid] for gid in managers["neurodamus"].gids()] ) path = self._file_path(rep.file_name) if manager_name == "bloodflow": diff --git a/multiscale_run/simulation.py b/multiscale_run/simulation.py index 9354147..825b402 100644 --- a/multiscale_run/simulation.py +++ b/multiscale_run/simulation.py @@ -137,7 +137,9 @@ def initialize(self): neuron_pop_name=self.managers[ "neurodamus" ].neuron_manager.population_name, - gids=self.neurodamus_manager.gids, + raw_gids=self.neurodamus_manager.gids( + raw=True + ), # libsonata wants gids without offset ) # sync bloodflow to give initial values to metabolism @@ -147,7 +149,7 @@ def initialize(self): self.rep = reporter.MsrReporter( config=self.conf, - gids=self.neurodamus_manager.gids, + gids=self.neurodamus_manager.gids(), n_bf_segs=self.managers["bloodflow"].n_segs if self.conf.is_bloodflow_active() else 0, diff --git a/multiscale_run/steps_manager.py b/multiscale_run/steps_manager.py index 06be217..32d0737 100644 --- a/multiscale_run/steps_manager.py +++ b/multiscale_run/steps_manager.py @@ -42,7 +42,8 @@ def __init__(self, config): def init_sim(self): """Initialize the STEPS simulation. - This method initializes the STEPS model and solver, sets the initial concentrations, and prepares for simulations. + This method initializes the STEPS model and solver, + sets the initial concentrations, and prepares for simulations. """ self._init_model() self._init_solver() @@ -340,6 +341,10 @@ def get_tetXbfSegMat(self, pts): [idx, tet_global_idx[0][0]] for idx, tet_global_idx in enumerate(l) if len(tet_global_idx) + and steps.geom.TetReference( + tet_global_idx[0][0], mesh=self.msh, local=False + ).toLocal() + is not None and steps.geom.TetReference( tet_global_idx[0][0], mesh=self.msh, local=False ) diff --git a/multiscale_run/data/__init__.py b/multiscale_run/templates/__init__.py similarity index 60% rename from multiscale_run/data/__init__.py rename to multiscale_run/templates/__init__.py index c080473..9b1df31 100644 --- a/multiscale_run/data/__init__.py +++ b/multiscale_run/templates/__init__.py @@ -6,15 +6,14 @@ from jinja2 import Environment, FileSystemLoader -DATA_DIR = Path(__file__).parent.resolve() +TEMPLATES_DIR = Path(__file__).parent.resolve() -CONFIG_DIR = DATA_DIR / "config" MSR_CONFIG_JSON = "simulation_config.json" -MSR_SCHEMA_JSON = CONFIG_DIR / "msr.schema.json" -MSR_POSTPROC = DATA_DIR / "postproc.ipynb" -METABOLISM_MODEL = DATA_DIR / "metabolismndam_reduced" +MSR_SCHEMA_JSON = TEMPLATES_DIR / "msr.schema.json" +MSR_POSTPROC = TEMPLATES_DIR / "postproc.ipynb" +MSR_PKG_DIR = TEMPLATES_DIR / "../" -_jinja_env = Environment(loader=FileSystemLoader(DATA_DIR)) +_jinja_env = Environment(loader=FileSystemLoader(TEMPLATES_DIR)) SBATCH_TEMPLATE = _jinja_env.get_template("simulation.sbatch.jinja") diff --git a/multiscale_run/data/config/msr.schema.json b/multiscale_run/templates/msr.schema.json similarity index 98% rename from multiscale_run/data/config/msr.schema.json rename to multiscale_run/templates/msr.schema.json index 7e040eb..36f6acd 100644 --- a/multiscale_run/data/config/msr.schema.json +++ b/multiscale_run/templates/msr.schema.json @@ -106,7 +106,11 @@ "neuron_population_name": { "description": "Name of the neuron population to use. Typically: \"All\".", "type": "string" - } + }, + "astrocyte_population_name": { + "description": "Name of the astrocyte population to use. Typically: \"astrocytes\".", + "type": "string" + } }, "required": [ "filter_neuron", diff --git a/multiscale_run/data/postproc.ipynb b/multiscale_run/templates/postproc.ipynb similarity index 100% rename from multiscale_run/data/postproc.ipynb rename to multiscale_run/templates/postproc.ipynb diff --git a/multiscale_run/data/config/rat_sscxS1HL_V10/circuit_config.json b/multiscale_run/templates/rat_sscxS1HL_V10/circuit_config.json similarity index 100% rename from multiscale_run/data/config/rat_sscxS1HL_V10/circuit_config.json rename to multiscale_run/templates/rat_sscxS1HL_V10/circuit_config.json diff --git a/multiscale_run/data/config/rat_sscxS1HL_V10/node_sets.json b/multiscale_run/templates/rat_sscxS1HL_V10/node_sets.json similarity index 100% rename from multiscale_run/data/config/rat_sscxS1HL_V10/node_sets.json rename to multiscale_run/templates/rat_sscxS1HL_V10/node_sets.json diff --git a/multiscale_run/data/config/rat_sscxS1HL_V10/simulation_config.json b/multiscale_run/templates/rat_sscxS1HL_V10/simulation_config.json similarity index 90% rename from multiscale_run/data/config/rat_sscxS1HL_V10/simulation_config.json rename to multiscale_run/templates/rat_sscxS1HL_V10/simulation_config.json index 20d96c4..788293a 100644 --- a/multiscale_run/data/config/rat_sscxS1HL_V10/simulation_config.json +++ b/multiscale_run/templates/rat_sscxS1HL_V10/simulation_config.json @@ -19,7 +19,8 @@ }, "node_sets": { "filter_neuron": false, - "neuron_population_name": "All" + "neuron_population_name": "All", + "astrocyte_population_name": "astrocytes" } }, "connections": { @@ -142,33 +143,31 @@ }, "metabolism": { "ndts": 4000, - "u0_path": "${pkg_data_path}/metabolismndam_reduced/u0steady_22nov22.csv", - "julia_code_path": "${pkg_data_path}/metabolismndam_reduced/metabolismWithSBBFinput_ndamAdapted_opt_sys_young_202302210826_2stim.jl", + "u0_path": "${pkg_path}/data/metabolism/u0.csv", + "julia_code_path": "${pkg_path}/metabolism/ODE_system.jl", "model": { - "model_path": "/gpfs/bbp.cscs.ch/project/proj34/metabolismndam/sim/metabolism_unit_models/", - "pardir_path": "$model_path/optimiz_unit/enzymes/enzymes_preBigg/COMBO/parameters_GLYCOGEN_cleaned4bigg/", "includes" : [ - "$model_path/FINAL_CLEAN/data_model_full/u0_db_refined_selected_oct2021.jl", - "$pardir_path/general_parameters.jl", - "$pardir_path/ephys_parameters.jl", - "$pardir_path/bf_input.jl", - "$pardir_path/generalisations.jl", - "$pardir_path/GLC_transport.jl", - "$pardir_path/GLYCOLYSIS.jl", - "$pardir_path/glycogen.jl", - "$pardir_path/creatine.jl", - "$pardir_path/ATDMP.jl", - "$pardir_path/pyrTrCytoMito.jl", - "$pardir_path/lactate.jl", - "$pardir_path/TCA.jl", - "$pardir_path/ETC.jl", - "$pardir_path/PPP_n.jl", - "$pardir_path/PPP_a.jl", - "$pardir_path/gshgssg.jl", - "$pardir_path/MAS.jl", - "$pardir_path/gltgln.jl", - "$pardir_path/pyrCarb.jl", - "$pardir_path/ketones.jl" + "${pkg_path}/data/metabolism/u0_db_refined_selected_oct2021.jl", + "${pkg_path}/data/metabolism/general_parameters.jl", + "${pkg_path}/data/metabolism/ephys_parameters.jl", + "${pkg_path}/data/metabolism/bf_input.jl", + "${pkg_path}/data/metabolism/generalisations.jl", + "${pkg_path}/data/metabolism/GLC_transport.jl", + "${pkg_path}/data/metabolism/GLYCOLYSIS.jl", + "${pkg_path}/data/metabolism/glycogen.jl", + "${pkg_path}/data/metabolism/creatine.jl", + "${pkg_path}/data/metabolism/ATDMP.jl", + "${pkg_path}/data/metabolism/pyrTrCytoMito.jl", + "${pkg_path}/data/metabolism/lactate.jl", + "${pkg_path}/data/metabolism/TCA.jl", + "${pkg_path}/data/metabolism/ETC.jl", + "${pkg_path}/data/metabolism/PPP_n.jl", + "${pkg_path}/data/metabolism/PPP_a.jl", + "${pkg_path}/data/metabolism/gshgssg.jl", + "${pkg_path}/data/metabolism/MAS.jl", + "${pkg_path}/data/metabolism/gltgln.jl", + "${pkg_path}/data/metabolism/pyrCarb.jl", + "${pkg_path}/data/metabolism/ketones.jl" ], "constants": { "xNEmod": 0.025, diff --git a/multiscale_run/data/config/rat_sscxS1HL_V6/circuit_config.json b/multiscale_run/templates/rat_sscxS1HL_V6/circuit_config.json similarity index 100% rename from multiscale_run/data/config/rat_sscxS1HL_V6/circuit_config.json rename to multiscale_run/templates/rat_sscxS1HL_V6/circuit_config.json diff --git a/multiscale_run/data/config/rat_sscxS1HL_V6/node_sets.json b/multiscale_run/templates/rat_sscxS1HL_V6/node_sets.json similarity index 100% rename from multiscale_run/data/config/rat_sscxS1HL_V6/node_sets.json rename to multiscale_run/templates/rat_sscxS1HL_V6/node_sets.json diff --git a/multiscale_run/data/config/rat_sscxS1HL_V6/simulation_config.json b/multiscale_run/templates/rat_sscxS1HL_V6/simulation_config.json similarity index 90% rename from multiscale_run/data/config/rat_sscxS1HL_V6/simulation_config.json rename to multiscale_run/templates/rat_sscxS1HL_V6/simulation_config.json index 2f0ec8e..a852232 100644 --- a/multiscale_run/data/config/rat_sscxS1HL_V6/simulation_config.json +++ b/multiscale_run/templates/rat_sscxS1HL_V6/simulation_config.json @@ -19,7 +19,8 @@ }, "node_sets": { "filter_neuron": false, - "neuron_population_name": "All" + "neuron_population_name": "All", + "astrocyte_population_name": "astrocytes" } }, "connections": { @@ -142,33 +143,31 @@ }, "metabolism": { "ndts": 4000, - "u0_path": "${pkg_data_path}/metabolismndam_reduced/u0steady_22nov22.csv", - "julia_code_path": "${pkg_data_path}/metabolismndam_reduced/metabolismWithSBBFinput_ndamAdapted_opt_sys_young_202302210826_2stim.jl", + "u0_path": "${pkg_path}/data/metabolism/u0.csv", + "julia_code_path": "${pkg_path}/metabolism/ODE_system.jl", "model": { - "model_path": "/gpfs/bbp.cscs.ch/project/proj34/metabolismndam/sim/metabolism_unit_models/", - "pardir_path": "$model_path/optimiz_unit/enzymes/enzymes_preBigg/COMBO/parameters_GLYCOGEN_cleaned4bigg/", "includes" : [ - "$model_path/FINAL_CLEAN/data_model_full/u0_db_refined_selected_oct2021.jl", - "$pardir_path/general_parameters.jl", - "$pardir_path/ephys_parameters.jl", - "$pardir_path/bf_input.jl", - "$pardir_path/generalisations.jl", - "$pardir_path/GLC_transport.jl", - "$pardir_path/GLYCOLYSIS.jl", - "$pardir_path/glycogen.jl", - "$pardir_path/creatine.jl", - "$pardir_path/ATDMP.jl", - "$pardir_path/pyrTrCytoMito.jl", - "$pardir_path/lactate.jl", - "$pardir_path/TCA.jl", - "$pardir_path/ETC.jl", - "$pardir_path/PPP_n.jl", - "$pardir_path/PPP_a.jl", - "$pardir_path/gshgssg.jl", - "$pardir_path/MAS.jl", - "$pardir_path/gltgln.jl", - "$pardir_path/pyrCarb.jl", - "$pardir_path/ketones.jl" + "${pkg_path}/data/metabolism/u0_db_refined_selected_oct2021.jl", + "${pkg_path}/data/metabolism/general_parameters.jl", + "${pkg_path}/data/metabolism/ephys_parameters.jl", + "${pkg_path}/data/metabolism/bf_input.jl", + "${pkg_path}/data/metabolism/generalisations.jl", + "${pkg_path}/data/metabolism/GLC_transport.jl", + "${pkg_path}/data/metabolism/GLYCOLYSIS.jl", + "${pkg_path}/data/metabolism/glycogen.jl", + "${pkg_path}/data/metabolism/creatine.jl", + "${pkg_path}/data/metabolism/ATDMP.jl", + "${pkg_path}/data/metabolism/pyrTrCytoMito.jl", + "${pkg_path}/data/metabolism/lactate.jl", + "${pkg_path}/data/metabolism/TCA.jl", + "${pkg_path}/data/metabolism/ETC.jl", + "${pkg_path}/data/metabolism/PPP_n.jl", + "${pkg_path}/data/metabolism/PPP_a.jl", + "${pkg_path}/data/metabolism/gshgssg.jl", + "${pkg_path}/data/metabolism/MAS.jl", + "${pkg_path}/data/metabolism/gltgln.jl", + "${pkg_path}/data/metabolism/pyrCarb.jl", + "${pkg_path}/data/metabolism/ketones.jl" ], "constants": { "xNEmod": 0.025, diff --git a/multiscale_run/data/simulation.sbatch.jinja b/multiscale_run/templates/simulation.sbatch.jinja similarity index 100% rename from multiscale_run/data/simulation.sbatch.jinja rename to multiscale_run/templates/simulation.sbatch.jinja diff --git a/multiscale_run/templates/tiny_CI/circuit_config.json b/multiscale_run/templates/tiny_CI/circuit_config.json new file mode 100644 index 0000000..7eae4ae --- /dev/null +++ b/multiscale_run/templates/tiny_CI/circuit_config.json @@ -0,0 +1,104 @@ +{ + "version": 2, + "manifest": { + "$BASE_DIR": "tiny_CI_neurodamus/build" + }, + "node_sets_file": "$BASE_DIR/sonata/node_sets.json", + "networks": { + "nodes": [ + { + "nodes_file": "$BASE_DIR/sonata/networks/nodes/neocortex_neurons/nodes.h5", + "populations": { + "neocortex_neurons": { + "type": "biophysical", + "biophysical_neuron_models_dir": "$BASE_DIR/../emodels/hoc", + "spatial_segment_index_dir": "$BASE_DIR/sonata/networks/nodes/neocortex_neurons/spatial_segment_index", + "provenance": { + "bioname_dir": "$BASE_DIR/../bioname" + }, + "alternate_morphologies": { + "h5v1": "$BASE_DIR/morphologies/neurons", + "neurolucida-asc": "$BASE_DIR/morphologies/neurons" + } + } + } + }, + { + "nodes_file": "$BASE_DIR/sonata/networks/nodes/astrocytes/nodes.h5", + "populations": { + "astrocytes": { + "type": "astrocyte", + "alternate_morphologies": { + "h5v1": "$BASE_DIR/morphologies/astrocytes/h5" + }, + "microdomains_file": "$BASE_DIR/sonata/networks/nodes/astrocytes/microdomains.h5", + "provenance": { + "bioname_dir": "$BASE_DIR/../bioname" + } + } + } + }, + { + "nodes_file": "$BASE_DIR/sonata/networks/nodes/vasculature/nodes.h5", + "populations": { + "vasculature": { + "type": "vasculature", + "vasculature_file": "$BASE_DIR/../atlas/vasculature.h5", + "vasculature_mesh": "$BASE_DIR/../atlas/vasculature.obj", + "provenance": { + "bioname_dir": "$BASE_DIR/../bioname" + } + } + } + } + ], + "edges": [ + { + "edges_file": "$BASE_DIR/sonata/networks/edges/functional/neocortex_neurons__chemical_synapse/edges.h5", + "populations": { + "neocortex_neurons__chemical_synapse": { + "type": "chemical", + "provenance": { + "bioname_dir": "$BASE_DIR/../bioname" + }, + "spatial_synapse_index_dir": "$BASE_DIR/sonata/networks/edges/functional/neocortex_neurons__chemical_synapse/spatial_synapse_index" + } + } + }, + { + "edges_file": "$BASE_DIR/sonata/networks/edges/neuroglial/edges.h5", + "populations": { + "neuroglial": { + "type": "synapse_astrocyte", + "provenance": { + "bioname_dir": "$BASE_DIR/../bioname" + } + } + } + }, + { + "edges_file": "$BASE_DIR/sonata/networks/edges/glialglial/edges.h5", + "populations": { + "glialglial": { + "type": "glialglial", + "provenance": { + "bioname_dir": "$BASE_DIR/../bioname" + } + } + } + }, + { + "edges_file": "$BASE_DIR/sonata/networks/edges/gliovascular/edges.h5", + "populations": { + "gliovascular": { + "type": "endfoot", + "endfeet_meshes_file": "$BASE_DIR/sonata/networks/edges/gliovascular/endfeet_meshes.h5", + "provenance": { + "bioname_dir": "$BASE_DIR/../bioname" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/multiscale_run/templates/tiny_CI/node_sets.json b/multiscale_run/templates/tiny_CI/node_sets.json new file mode 100644 index 0000000..07b60fc --- /dev/null +++ b/multiscale_run/templates/tiny_CI/node_sets.json @@ -0,0 +1,59 @@ +{ + "All": [ + "Neurons", + "Astrocytes" + ], + "Neurons": { + "population": "neocortex_neurons" + }, + "Astrocytes": { + "population": "astrocytes" + }, + "Excitatory": { + "synapse_class": "EXC" + }, + "Inhibitory": { + "synapse_class": "INH" + }, + "L23_MC": { + "mtype": "L23_MC" + }, + "L5_TPC:A": { + "mtype": "L5_TPC:A" + }, + "bAC": { + "etype": "bAC" + }, + "bNAC": { + "etype": "bNAC" + }, + "cADpyr": { + "etype": "cADpyr" + }, + "L3": { + "region": "L3" + }, + "L5": { + "region": "L5" + }, + "L3_MC": { + "mtype": "L23_MC", + "region": { + "$regex": ".*3" + } + }, + "L5_CUSTOM": { + "layer": "5" + }, + "L5_TPC": { + "mtype": [ + "L5_TPC:A" + ] + }, + "left": { + "mtype": "L5_TPC:A" + }, + "right": { + "mtype": "L23_MC" + } +} \ No newline at end of file diff --git a/multiscale_run/templates/tiny_CI/simulation_config.json b/multiscale_run/templates/tiny_CI/simulation_config.json new file mode 100644 index 0000000..0f142cb --- /dev/null +++ b/multiscale_run/templates/tiny_CI/simulation_config.json @@ -0,0 +1,476 @@ +{ + "multiscale_run": { + "with_steps": true, + "with_bloodflow": true, + "with_metabolism": true, + "cache_save": true, + "cache_load": true, + "logging_level": 1, + "mesh_path": "mesh/autogen_mesh.msh", + "cache_path": "cache", + "mesh_scale": 1e-6, + "config_format": 3, + "msr_version": "develop", + "preprocessor": { + "mesh": { + "explode_factor": 1.001, + "base_length": 30.0, + "refinement_steps": 1 + }, + "node_sets": { + "filter_neuron": false, + "neuron_population_name": "neocortex_neurons", + "astrocyte_population_name": "astrocytes" + } + }, + "connections": { + "after_metabolism_advance": [ + { + "src_simulator": "neurodamus", + "src_get_func": "get_var", + "dest_simulator": "metabolism", + "src_get_kwargs": {"var": "ina","weight": "area"}, + "dest_set_func": "set_parameters_idxs", + "dest_set_kwargs": {"idxs": [0]}, + "action": "set" + }, + { + "src_simulator": "neurodamus", + "src_get_func": "get_var", + "dest_simulator": "metabolism", + "src_get_kwargs": {"var": "ik","weight": "area"}, + "dest_set_func": "set_parameters_idxs", + "dest_set_kwargs": {"idxs": [1]}, + "action": "set" + }, + { + "src_simulator": "neurodamus", + "src_get_func": "get_var", + "src_get_kwargs": {"var": "atpi","weight": "volume"}, + "src_set_func": "set_var", + "src_set_kwargs": {"var": "atpi"}, + "dest_simulator": "metabolism", + "dest_get_func": "get_vm_idx", + "dest_get_kwargs": {"idx": 22}, + "dest_set_func": "set_vm_idxs", + "dest_set_kwargs": {"idxs": [22]}, + "action": "merge" + }, + { + "src_simulator": "neurodamus", + "src_get_func": "get_var", + "src_get_kwargs": {"var": "atpi", "weight": "volume"}, + "src_set_func": "set_var", + "src_set_kwargs": {"var": "adpi"}, + "dest_simulator": "metabolism", + "dest_set_func": "set_vm_idxs", + "dest_set_kwargs": {"idxs": [23]}, + "transform_expression": "vals / 2 * (-0.92 + np.sqrt(0.92 * 0.92 + 4 * 0.92 * (1.4449961078157665 / vals - 1)))", + "action": "set" + }, + { + "src_simulator": "neurodamus", + "src_get_func": "get_var", + "src_get_kwargs": {"var": "nai","weight": "volume"}, + "dest_simulator": "metabolism", + "dest_set_func": "set_vm_idxs", + "dest_set_kwargs": {"idxs": [98]}, + "action": "set" + }, + { + "src_simulator": "neurodamus", + "src_get_func": "get_var", + "src_get_kwargs": {"var": "ko","weight": "volume"}, + "dest_simulator": "metabolism", + "dest_set_func": "set_vm_idxs", + "dest_set_kwargs": {"idxs": [95]}, + "action": "set" + }, + { + "src_simulator": "bloodflow", + "src_get_func": "get_flows", + "src_get_kwargs": {}, + "transform_expression": "abs(tetXbfFlowsMat.dot(vals)) * 5e-10", + "dest_simulator": "metabolism", + "dest_set_func": "set_parameters_idxs", + "dest_set_kwargs": {"idxs": [3, 4]}, + "action": "set" + }, + { + "src_simulator": "bloodflow", + "src_get_func": "get_vols", + "src_get_kwargs": {}, + "transform_expression": "tetXtetMat.dot(tetXbfVolsMat.dot(vals)) * 5e-10", + "dest_simulator": "metabolism", + "dest_set_func": "set_parameters_idxs", + "dest_set_kwargs": {"idxs": [5]}, + "action": "set" + }, + { + "src_simulator": "steps", + "src_get_func": "get_tet_concs", + "src_get_kwargs": {"species_name": "KK"}, + "transform_expression": "vals * (1.0 / (1.0e-3 * config.multiscale_run.steps.conc_factor))", + "dest_simulator": "metabolism", + "dest_set_func": "set_vm_idxs", + "dest_set_kwargs": {"idxs": [95]}, + "action": "set" + } + ], + "before_bloodflow_advance": [ + { + "src_simulator": "neurodamus", + "src_get_func": "get_vasc_radii", + "src_get_kwargs": {}, + "dest_simulator": "bloodflow", + "dest_set_func": "set_radii", + "dest_set_kwargs": {}, + "action": "set" + } + ], + "after_steps_advance": [ + { + "src_simulator": "neurodamus", + "src_get_func": "get_var", + "src_get_kwargs": {"var": "ik","weight": "area"}, + "transform_expression": "vals * 1e-8", + "dest_simulator": "steps", + "dest_set_func": "add_curr_to_conc", + "dest_set_kwargs": {"species_name": "KK"}, + "action": "sum" + } + ] + }, + "metabolism": { + "ndts": 4000, + "u0_path": "${pkg_path}/data/metabolism/u0.csv", + "julia_code_path": "${pkg_path}/metabolism/ODE_system.jl", + "model": { + "includes" : [ + "${pkg_path}/data/metabolism/u0_db_refined_selected_oct2021.jl", + "${pkg_path}/data/metabolism/general_parameters.jl", + "${pkg_path}/data/metabolism/ephys_parameters.jl", + "${pkg_path}/data/metabolism/bf_input.jl", + "${pkg_path}/data/metabolism/generalisations.jl", + "${pkg_path}/data/metabolism/GLC_transport.jl", + "${pkg_path}/data/metabolism/GLYCOLYSIS.jl", + "${pkg_path}/data/metabolism/glycogen.jl", + "${pkg_path}/data/metabolism/creatine.jl", + "${pkg_path}/data/metabolism/ATDMP.jl", + "${pkg_path}/data/metabolism/pyrTrCytoMito.jl", + "${pkg_path}/data/metabolism/lactate.jl", + "${pkg_path}/data/metabolism/TCA.jl", + "${pkg_path}/data/metabolism/ETC.jl", + "${pkg_path}/data/metabolism/PPP_n.jl", + "${pkg_path}/data/metabolism/PPP_a.jl", + "${pkg_path}/data/metabolism/gshgssg.jl", + "${pkg_path}/data/metabolism/MAS.jl", + "${pkg_path}/data/metabolism/gltgln.jl", + "${pkg_path}/data/metabolism/pyrCarb.jl", + "${pkg_path}/data/metabolism/ketones.jl" + ], + "constants": { + "xNEmod": 0.025, + "KdNEmod": 3.0e-4, + "Iinj": 0.0, + "synInput": 0.0 + } + }, + "constants": { + "ATDPtot_n": 1.4449961078157665, + "glycogen_au": [ + 128.0, + 100.0, + 100.0, + 90.0, + 80.0, + 75.0 + ], + "mito_volume_fraction": [ + 0.0459, + 0.0522, + 0.064, + 0.0774, + 0.0575, + 0.0403 + ] + }, + "parameters": [null, null, null, 0.0001, 0.0001, 0.023], + "solver_kwargs": { + "reltol": 1e-8, + "abstol": 1e-8, + "saveat": 1, + "maxiters": 1e6 + }, + "checks": { + "parameters": { + "3": + { + "name": "bloodflow_Fin", + "kwargs": {"leb": 0.0}, + "response": "exclude_neuron" + }, + "4": + { + "name": "bloodflow_Fout", + "kwargs": {"leb": 0.0}, + "response": "exclude_neuron" + }, + "5": + { + "name": "bloodflow_vol", + "kwargs": {"leb": 0.0}, + "response": "exclude_neuron" + } + }, + "vm": { + "22": + { + "name": "atpi", + "kwargs": {"lb": 0.25, "hb": 2.5}, + "response": "abort_simulation" + }, + "95": + { + "name": "ko", + "kwargs": {"lb": 1, "hb": 10}, + "response": "abort_simulation" + }, + "98": + { + "name": "nai", + "kwargs": {"lb": 5, "hb": 30}, + "response": "abort_simulation" + } + } + } + }, + "steps": { + "ndts": 1000, + "conc_factor": 1e-9, + "compname": "extra", + "Volsys": { + "name": "extra_volsys", + "species": { + "KK": { + "conc_0": 3, + "diffcst": 2e-9, + "ncharges": 1 + } + } + } + }, + "bloodflow": { + "ndts": 4000, + "blood_viscosity": 1.2e-6, + "depth_ratio": 0.05, + "max_nb_inputs": 3, + "min_subgraph_size": 100, + "max_capillaries_diameter": 7.0, + "edge_scale": 2.0, + "node_scale": 20.0, + "input_v": 3.5e4, + "vasc_axis": 1, + "base_pressure": 1.33e-3 + }, + "reports": { + "metabolism": { + "metab_ina": { + "src_get_func": "get_parameters_idx", + "src_get_kwargs": {"idx": 0}, + "unit": "mA/cm^2", + "file_name": "metab_ina.h5", + "when": "after_sync" + }, + "metab_ik": { + "src_get_func": "get_parameters_idx", + "src_get_kwargs": {"idx": 1}, + "unit": "mA/cm^2", + "file_name": "metab_ik.h5", + "when": "after_sync" + }, + "metab_bf_Fin": { + "src_get_func": "get_parameters_idx", + "src_get_kwargs": {"idx": 3}, + "unit": "ml/s", + "file_name": "metab_bf_Fin.h5", + "when": "after_sync" + }, + "metab_bf_vol": { + "src_get_func": "get_parameters_idx", + "src_get_kwargs": {"idx": 5}, + "unit": "ml", + "file_name": "metab_bf_vol.h5", + "when": "after_sync" + }, + "metab_atpi_before_sync": { + "src_get_func": "get_vm_idx", + "src_get_kwargs": {"idx": 22}, + "unit": "mM", + "file_name": "metab_atpi_before_sync.h5", + "when": "before_sync" + }, + "metab_atpi_after_sync": { + "src_get_func": "get_vm_idx", + "src_get_kwargs": {"idx": 22}, + "unit": "mM", + "file_name": "metab_atpi_after_sync.h5", + "when": "after_sync" + }, + "metab_adpi_before_sync": { + "src_get_func": "get_vm_idx", + "src_get_kwargs": {"idx": 23}, + "unit": "mM", + "file_name": "metab_adpi_before_sync.h5", + "when": "before_sync" + }, + "metab_adpi_after_sync": { + "src_get_func": "get_vm_idx", + "src_get_kwargs": {"idx": 23}, + "unit": "mM", + "file_name": "metab_adpi_after_sync.h5", + "when": "after_sync" + }, + "metab_nai": { + "src_get_func": "get_vm_idx", + "src_get_kwargs": {"idx": 98}, + "unit": "mM", + "file_name": "metab_nai.h5", + "when": "after_sync" + }, + "metab_ko": { + "src_get_func": "get_vm_idx", + "src_get_kwargs": {"idx": 95}, + "unit": "mM", + "file_name": "metab_ko.h5", + "when": "after_sync" + }, + "alive_gids": { + "src_get_func": "alive_gids", + "src_get_kwargs": {}, + "unit": "", + "file_name": "alive_gids.h5", + "when": "after_sync" + } + } + } + }, + "output": { + "output_dir": "./RESULTS" + }, + "node_sets_file": "node_sets.json", + "conditions": { + "v_init": -65 + }, + "reports": { + "ndam_v": { + "cells": "Neurons", + "type": "compartment", + "variable_name": "v", + "unit": "mV", + "dt": 0.025, + "start_time": 0.0, + "end_time": 2000.0, + "file_name": "ndam_v.h5" + }, + "ndam_ina_sum": { + "cells": "Neurons", + "type": "summation", + "variable_name": "ina", + "unit": "nA", + "dt": 1.0, + "start_time": 0.0, + "end_time": 2000.0, + "file_name": "ndam_ina_sum.h5" + }, + "ndam_nai": { + "cells": "Neurons", + "type": "compartment", + "variable_name": "nai", + "unit": "mM", + "dt": 1.0, + "start_time": 0.0, + "end_time": 2000.0, + "file_name": "ndam_nai.h5" + }, + "ndam_ki": { + "cells": "Neurons", + "type": "compartment", + "variable_name": "ki", + "unit": "mM", + "dt": 1.0, + "start_time": 0.0, + "end_time": 2000.0, + "file_name": "ndam_ki.h5" + }, + "ndam_atpi": { + "cells": "Neurons", + "type": "compartment", + "variable_name": "atpi", + "unit": "mM", + "dt": 1.0, + "start_time": 0.0, + "end_time": 2000.0, + "file_name": "ndam_atpi.h5" + }, + "ndam_adpi": { + "cells": "Neurons", + "type": "compartment", + "variable_name": "adpi", + "unit": "mM", + "dt": 1.0, + "start_time": 0.0, + "end_time": 2000.0, + "file_name": "ndam_adpi.h5" + }, + "ndam_cai": { + "cells": "Neurons", + "type": "compartment", + "variable_name": "cai", + "unit": "mM", + "dt": 1.0, + "start_time": 0.0, + "end_time": 2000.0, + "file_name": "ndam_cai.h5" + }, + "ndam_IClamp": { + "cells": "Neurons", + "type": "summation", + "variable_name": "IClamp", + "sections": "soma", + "dt": 1, + "start_time": 0.0, + "end_time": 2000.0, + "file_name": "ndam_IClamp.h5" + } + }, + "inputs": { + "ThresholdIntoExc": { + "node_set": "Neurons", + "input_type": "current_clamp", + "module": "noise", + "mean_percent": 200.0, + "variance": 0.001, + "delay": 0.0, + "duration": 30000.0 + }, + "pInj": { + "node_set": "Neurons", + "input_type": "current_clamp", + "module": "pulse", + "amp_start": 1.0, + "amp_end": 1.0, + "frequency": 10.0, + "width": 5.0, + "delay": 1.0, + "duration": 3000.0 + } + }, + "run": { + "random_seed": 0, + "tstop": 290, + "dt": 0.025 + }, + "node_set": "All", + "network": "circuit_config.json" +} \ No newline at end of file diff --git a/multiscale_run/utils.py b/multiscale_run/utils.py index ca862f3..2e3b193 100644 --- a/multiscale_run/utils.py +++ b/multiscale_run/utils.py @@ -522,6 +522,29 @@ def heavy_duty_MPI_Gather(v: np.ndarray, root=0): return ans +def copy_symlinks(source_dir, dest_dir): + """Copy links to dest_dir if it does not exist.""" + if rank0(): + # Ensure dest_dir exists, create if necessary + dest_dir = Path(dest_dir) + dest_dir.mkdir(parents=True, exist_ok=True) + + # Iterate over items in the source directory + for item in os.listdir(source_dir): + item_path = Path(source_dir) / item + + # Check if it's a symbolic link + if os.path.islink(item_path): + # Get the target of the symbolic link + target_path = os.readlink(item_path) + + # Create the symbolic link in the destination directory + dest_symlink_path = dest_dir / item + + if not dest_symlink_path.exists(): + os.symlink(target_path, dest_symlink_path) + + def stats(v): """Return some useful object stats if appropriate (used for debugging) diff --git a/pyproject.toml b/pyproject.toml index 4cb005d..13bca98 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,11 +9,7 @@ requires = [ [tool.setuptools] packages = [ "multiscale_run", - "multiscale_run.data", - "multiscale_run.data.config", - "multiscale_run.data.config.rat_sscxS1HL_V10", - "multiscale_run.data.config.rat_sscxS1HL_V6", - "multiscale_run.data.metabolismndam_reduced", + "multiscale_run.templates", ] [tool.setuptools_scm] @@ -48,7 +44,6 @@ classifiers = [ ] dependencies = [ "astrovascpy>=0.1.5", - "bluepysnap>=2", "diffeqpy>=1.1", "gmsh>=4.2", "jinja2>=3", diff --git a/tests/integration/connect_neurodamus2steps.py b/tests/integration/connect_neurodamus2steps.py index 65d68de..9d727c3 100644 --- a/tests/integration/connect_neurodamus2steps.py +++ b/tests/integration/connect_neurodamus2steps.py @@ -88,7 +88,7 @@ def test_connection(): It also checks various conditions using the 'check_ratio_mat' and 'check_mats_shape' functions. """ - conf = MsrConfig.default(circuit="rat_sscxS1HL_V6", check=False, force=True) + conf = MsrConfig.default(circuit="tiny_CI", check=False, force=True) prep = MsrPreprocessor(conf) managers = {} @@ -122,7 +122,9 @@ def test_connection(): utils.rank_print("gid: ", [int(nc.CCell.gid) for nc in managers["neurodamus"].ncs]) failed_cells_dict = {933: "remove from rank 0", 1004: "remove from rank 1"} - failed_cells = [failed_cells_dict.get(i, None) for i in managers["neurodamus"].gids] + failed_cells = [ + failed_cells_dict.get(i, None) for i in managers["neurodamus"].gids() + ] conn_m.remove_gids(failed_cells=failed_cells) utils.rank_print([int(nc.CCell.gid) for nc in managers["neurodamus"].ncs]) @@ -153,7 +155,9 @@ def test_connection(): utils.rank_print([int(nc.CCell.gid) for nc in managers["neurodamus"].ncs]) failed_cells_dict = {17500: "reason 0"} - failed_cells = [failed_cells_dict.get(i, None) for i in managers["neurodamus"].gids] + failed_cells = [ + failed_cells_dict.get(i, None) for i in managers["neurodamus"].gids() + ] conn_m.remove_gids(failed_cells=failed_cells) check_mats_shape( managers["neurodamus"], @@ -166,7 +170,9 @@ def test_connection(): utils.rank_print([int(nc.CCell.gid) for nc in managers["neurodamus"].ncs]) failed_cells_dict = {175: "reason 0"} - failed_cells = [failed_cells_dict.get(i, None) for i in managers["neurodamus"].gids] + failed_cells = [ + failed_cells_dict.get(i, None) for i in managers["neurodamus"].gids() + ] check_mats_shape( managers["neurodamus"], diff --git a/tests/integration/preprocessor.py b/tests/integration/preprocessor.py index fa5182b..c588857 100644 --- a/tests/integration/preprocessor.py +++ b/tests/integration/preprocessor.py @@ -27,7 +27,7 @@ def test_gen_msh(): This function is responsible for testing the mesh generation process with given configurations and managers. """ - conf = MsrConfig.default(circuit="rat_sscxS1HL_V6", force=True, check=False) + conf = MsrConfig.default(circuit="tiny_CI", force=True, check=False) pp = MsrPreprocessor(config=conf) ndam_m = MsrNeurodamusManager(config=conf) diff --git a/tests/pytests/test_cli.py b/tests/pytests/test_cli.py index 1da18d8..9541bdd 100644 --- a/tests/pytests/test_cli.py +++ b/tests/pytests/test_cli.py @@ -11,7 +11,7 @@ from multiscale_run import utils from multiscale_run.cli import argument_parser, main -from multiscale_run.data import BB5_JULIA_ENV +from multiscale_run.templates import BB5_JULIA_ENV def test_init_without_metabolism(tmp_path): @@ -43,17 +43,17 @@ def test_init_twice(tmp_path): # Recreate the simulation at the same location main(args=["init", "--force", "--no-check", str(sim_path)]) - assert (sim_path / ".julia").is_symlink() - assert (sim_path / ".julia_environment").is_symlink() + # assert (sim_path / ".julia").is_symlink() + # assert (sim_path / ".julia_environment").is_symlink() - # mess a little the Julia setup - (sim_path / ".julia").unlink() - (sim_path / ".julia").mkdir() + # # mess a little the Julia setup + # (sim_path / ".julia").unlink() + # (sim_path / ".julia").mkdir() - # Recreate the simulation at the same location - main(args=["init", "--force", "--no-check", str(sim_path)]) - assert (sim_path / ".julia").is_symlink() - assert (sim_path / ".julia_environment").is_symlink() + # # Recreate the simulation at the same location + # main(args=["init", "--force", "--no-check", str(sim_path)]) + # assert (sim_path / ".julia").is_symlink() + # assert (sim_path / ".julia_environment").is_symlink() def test_valid_commands(tmp_path): @@ -73,7 +73,7 @@ def test_valid_commands(tmp_path): ap.parse_args(["init", "--force", path]) ap.parse_args(["init", "--julia", "no", path]) ap.parse_args(["init", "--julia=no", path]) - ap.parse_args(["init", "--circuit=rat_sscxS1HL_V6", path]) + ap.parse_args(["init", "--circuit=tiny_CI", path]) ap.parse_args(["check", path]) ap.parse_args(["compute", path]) @@ -189,6 +189,7 @@ def msr(*args, check=True, **kwargs): if __name__ == "__main__": tmp_path = Path("tmp") + utils.remove_path(tmp_path) test_init_without_metabolism(tmp_path) utils.remove_path(tmp_path) test_init_twice(tmp_path) diff --git a/tests/pytests/test_config.py b/tests/pytests/test_config.py index 1b2fedd..85fff63 100644 --- a/tests/pytests/test_config.py +++ b/tests/pytests/test_config.py @@ -15,7 +15,7 @@ def test_named_circuit(): conf = MsrConfig.default() - assert conf.node_set == "testNGVSSCX_AstroMini_CI" + assert conf.node_set == "All" def test_getattr(): diff --git a/tests/pytests/test_metabolism.py b/tests/pytests/test_metabolism.py index 75c295b..7d32d4b 100644 --- a/tests/pytests/test_metabolism.py +++ b/tests/pytests/test_metabolism.py @@ -6,7 +6,7 @@ def test_metabolism(): conf = config.MsrConfig.default() metabolism_manager.MsrMetabolismManager( - config=conf, main=Main, neuron_pop_name="All", gids=[] + config=conf, main=Main, neuron_pop_name="neocortex_neurons", raw_gids=[] ) diff --git a/tests/pytests/test_neurodamus.py b/tests/pytests/test_neurodamus.py index 82504ab..f94205d 100644 --- a/tests/pytests/test_neurodamus.py +++ b/tests/pytests/test_neurodamus.py @@ -1,4 +1,4 @@ -from multiscale_run import MsrConfig, MsrNeurodamusManager +from multiscale_run import MsrConfig, MsrNeurodamusManager, utils def test_init(tmp_path): @@ -7,4 +7,7 @@ def test_init(tmp_path): if __name__ == "__main__": - test_init() + tmp_path = "./tmp" + utils.remove_path(tmp_path) + test_init(tmp_path) + utils.remove_path(tmp_path) diff --git a/tests/pytests/test_reporter.py b/tests/pytests/test_reporter.py index fefd1c9..bd6b0b8 100644 --- a/tests/pytests/test_reporter.py +++ b/tests/pytests/test_reporter.py @@ -12,6 +12,7 @@ def config_path(): class FakeNeurodamusManager: def __init__(self) -> None: + self.circuit_offset = 1000 gids = {0: [1, 2], 1: [6], 2: [], 3: [5, 7, 11]} ps = np.cumsum([len(i) for i in gids.values()]) ps = [0, *ps[:-1]] @@ -19,20 +20,22 @@ def __init__(self) -> None: self._gids = gids[utils.rank()] self.base_gids = gids.copy() - @property - def gids(self): - return self._gids + def gids(self, raw=False): + if raw: + return self._gids + else: + return [i + self.circuit_offset for i in self._gids] class FakeMetabolismManager: - def __init__(self, gids) -> None: + def __init__(self, raw_gids) -> None: vals = { - 0: [i + 1 for i in range(len(gids))], - 1: [i + 3 for i in range(len(gids))], - 2: [i + 5 for i in range(len(gids))], - 3: [i + 7 for i in range(len(gids))], + 0: [i + 1 for i in range(len(raw_gids))], + 1: [i + 3 for i in range(len(raw_gids))], + 2: [i + 5 for i in range(len(raw_gids))], + 3: [i + 7 for i in range(len(raw_gids))], } - self.vals = np.array([[-1 for _ in gids], vals[utils.rank()]]).transpose() + self.vals = np.array([[-1 for _ in raw_gids], vals[utils.rank()]]).transpose() def get_vals(self, idx): return self.vals[:, idx] @@ -63,10 +66,12 @@ def test_simple_reports(): managers = {} managers["neurodamus"] = FakeNeurodamusManager() managers["bloodflow"] = FakeBloodflowManager() - gids = managers["neurodamus"].gids + gids = managers["neurodamus"].gids() offset = managers["neurodamus"].offset n_bf_segs = managers["bloodflow"].n_segs - managers["metabolism"] = FakeMetabolismManager(gids=gids) + managers["metabolism"] = FakeMetabolismManager( + raw_gids=managers["neurodamus"].gids(raw=True) + ) t_unit = "mss" diff --git a/tests/pytests/test_steps.py b/tests/pytests/test_steps.py index d9f9de8..1bc4503 100644 --- a/tests/pytests/test_steps.py +++ b/tests/pytests/test_steps.py @@ -25,7 +25,7 @@ def gen_segments_in_bbox(msh): def test_steps_connections_mats(tmp_path): - conf = MsrConfig.default(circuit="rat_sscxS1HL_V6", check=False, force=True) + conf = MsrConfig.default(circuit="tiny_CI", check=False, force=True) conf.multiscale_run.mesh_path = Path(tmp_path) / MESH_FILE conf.cache_load = False conf.cache_save = False @@ -63,7 +63,7 @@ def test_steps_connections_mats(tmp_path): def test_steps_with_minimesh(tmp_path): """To be used manually with multiple ranks to see if omega_h complains""" - conf = MsrConfig.default(circuit="rat_sscxS1HL_V6", check=False, force=True) + conf = MsrConfig.default(circuit="tiny_CI", check=False, force=True) conf.multiscale_run.mesh_path = Path(tmp_path) / MESH_FILE conf.multiscale_run.preprocessor.mesh.refinement_steps = 0 conf.cache_load = False