https://github.com/computational-biology-aachen/synechocystis-photosynthesis-2024

A mathematical model of photosynthetic electron transport in Synechocystis sp. PCC 6803

https://github.com/computational-biology-aachen/synechocystis-photosynthesis-2024

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

A mathematical model of photosynthetic electron transport in Synechocystis sp. PCC 6803

Basic Info
  • Host: GitHub
  • Owner: Computational-Biology-Aachen
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 161 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created almost 2 years ago · Last pushed 6 months ago
Metadata Files
Readme

README.md

Shedding Light On Blue-Green Photosynthesis

A Wavelength-Dependent Mathematical Model Of Photosynthesis In Synechocystis sp. PCC 6803

Welcome to the Photosynthesis Mathematical Model Repository! This repository contains code and notebooks that implement a Ordinary Differential Equation (ODE)-based model of cyanobacterial photosynthesis. The model aims to simulate various aspects of the photosynthetic process, providing insights into the underlying mechanisms and dynamics.

Description

Our model description captures the major enzymes, complexes, and metabolites that define Synechocystis photosynthesis, including linear, cyclic and water-water electron flows, respiration and lumped sink reactions such as the Calvin Benson Bassham (CBB) cycle and Photorespiration (PR). The model uses a full-spectrum (visible) light description (400 nm - 700 nm) to capture the effect of different light colours on the PETC. It considers important adaptive processes like state transitions and Non-Photochemical Quenching (NPQ) via the Orange Carotenoid Protein (OCP).

The model is implemented in Python, using modelbase package for modular construction of kinetic models (Van Aalst, doi: 10.1186/s12859-021-04122-7).

An image showing the reactions included in the model Abbreviations: 2PG: 2-phosphoglycolate, 3PGA: 3-phosphoglycerate, ADP: Adenosine diphosphate, ATP: Adenosine triphosphate, ATPsynth: ATP synthase, CBB: Calvin-Benson-Bassham cycle, CCM: Carbon Concentrating Mechanism, COX(aa3): Cytochrome c oxidase, Cyd(bd): Cytochrome bd quinol oxidase, Cyto b6f: Cytochrome b6f complex, FNR: Ferredoxin-NADP+ Reductase, Fd: Ferredoxin, NADP+: Nicotinamide adenine dinucleotide phosphate, NADPH: reduced NADP, NAD+: Nicotinamide adenine dinucleotide, NADH: reduced NAD, NDH-2: NAD(P)H Dehydrogenase complex 2, OCP: Orange Carotenoid Protein, Oxy: RuBisCO oxygenation, PC: Plastocyanine, PQ: Plastoquinone, PR: Photorespiration, PSI: Photosystem I, PSII: Photosystem II, SDH: Succinate dehydrogenase

What to use it for

Our model can be used for various simulations and analyses:

  • Simulation of steady-state reaction rates, like gas exchange or electron fluxes, under light variation.
  • Simulation of mutants or cyanobacterial strains with measured pigment concentrations.
  • Simulation of dynamic changes in reaction rates or other cellular outputs, like fluorescence, due to light changes.
  • Scanning different light inputs to find potentially optimal light conditions for biotechnological production.
  • Analysing the control that reactions exert on the system's fluxes or metabolite concentrations (Metabolic Control Analysis).
  • The model can be easily extended with further reactions or regulatory relationships.

Contents

  1. Notebooks: This directory contains two Jupyter notebooks that demonstrate the implementation of the mathematical model and i) reproduce all the figures presented in related publications, and ii) provides additional analysis performed in response to Reviewers comments and suggestions.
  2. Code: This directory contains the source code of the mathematical model, organized into modular components for easy understanding and customization.
  3. Results: This directory is used to save the results of simulations. That way plotting can be repeated without repeating simulations.
  4. Figures: This directory contains model schemes, as well as figures generated by the notebooks. The latter showcase the results and visualizations obtained from running the model simulations.
  5. Environment YAML: This repository also includes a YAML file (environment.yml) specifying the conda environment required to run the code and notebooks seamlessly.
  6. This README.md

Usage

To explore the notebooks and reproduce the figures:

  1. Clone this repository to your local machine. console git clone https://github.com/Computational-Biology-Aachen/synechocystis-photosynthesis-2024.git
  2. Navigate to the Notebooks directory.
  3. Open the notebooks using Jupyter Notebook or JupyterLab.
  4. Follow the instructions within the notebooks to run the code cells and generate the figures.

To set up the conda environment: 1. Make sure you have conda installed. 2. Navigate to the root directory of the repository. 3. Run the following command to create the conda environment: console conda env create -f environment.yml 4. Activate the environment: console conda activate synphot 5. Now you can run the notebooks without worrying about missing dependencies.

By running the file Notebooks/paper_figures.ipynb you will perform all simulations on your local machine and recreate all figures. To view the simulation results performed by us, please download the file Results.zip from https://zenodo.org/doi/10.5281/zenodo.8186123. Then set the two flags "recalculate_all" in paper_figures.ipynb to False. <!-- ## Dependencies

The code and notebooks in this repository require the following dependencies:

  • Python (version X.X.X)
  • NumPy (version X.X.X)
  • Matplotlib (version X.X.X)
  • [Additional libraries, if any] -->

How to cite

You can cite this work by referencing the latest publication:

Shedding Light On Blue-Green Photosynthesis: A Wavelength-Dependent Mathematical Model Of Photosynthesis In Synechocystis sp. PCC 6803
Tobias Pfennig, Elena Kullmann, Tomáš Zavřel, Andreas Nakielski, Oliver Ebenhöh, Jan Červený, Gábor Bernát, Anna Matuszyńska
PLoS Comput Biol 20(9): e1012445. https://doi.org/10.1371/journal.pcbi.1012445

An archived version of this project is also deposited on Zenodo with the DOI https://zenodo.org/doi/10.5281/zenodo.8186123

How to Raise Issues

If you encounter any problems, have questions, or would like to provide feedback, please feel free to contact tobias.pfennig@rwth-aachen.de directly or raise an issue in GitHub. To ensure that your issue is addressed promptly and effectively, please follow these guidelines:

  1. Check Existing Issues: Before raising a new issue, please check if a similar issue has already been reported. This helps avoid duplicate issues and allows for better organization of discussions.

  2. Provide Details: When raising an issue, provide as much detail as possible, including:

    • Description of the problem or question.
    • Steps to reproduce the issue (if applicable).
    • Expected behavior.
    • Any relevant error messages or screenshots.
  3. Be Courteous: Please be respectful and courteous when interacting with others in the issue tracker. We value constructive feedback and aim to create a welcoming environment for all contributors.

  4. Use Labels: To help categorize and prioritize issues, we use labels. If you're familiar with the project's labels, feel free to assign relevant labels to your issue. Otherwise, our maintainers will apply appropriate labels based on the content of the issue.

  5. Follow Up: After raising an issue, please follow up if additional information is requested or if the problem is resolved. Your input is valuable in ensuring that issues are addressed in a timely manner.

To raise an issue, simply click on the "Issues" tab at the top of the repository and then click on the "New Issue" button. Fill out the provided form with the necessary details and submit your issue.

Thank you for your contribution to the project!

Authors

Model development

Analysis, experimental data and interpretation

License

CC BY 4.0

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0

Project status

Peer reviewed and open-access published

Owner

  • Name: Computational-Biology-Aachen
  • Login: Computational-Biology-Aachen
  • Kind: organization

GitHub Events

Total
  • Push event: 28
  • Create event: 1
Last Year
  • Push event: 28
  • Create event: 1

Dependencies

environment.yml conda
  • _libgcc_mutex 0.1
  • _openmp_mutex 4.5
  • assimulo 3.4
  • asttokens 2.2.1
  • attrs 22.2.0
  • backcall 0.2.0
  • backports 1.0
  • backports.functools_lru_cache 1.6.4
  • black 23.1.0
  • brotli 1.0.9
  • brotli-bin 1.0.9
  • brotlipy 0.7.0
  • bzip2 1.0.8
  • ca-certificates 2024.6.2
  • certifi 2024.6.2
  • cffi 1.15.1
  • charset-normalizer 2.1.1
  • click 8.1.3
  • colorama 0.4.6
  • comm 0.1.2
  • contourpy 1.0.7
  • cryptography 39.0.2
  • cycler 0.11.0
  • debugpy 1.6.6
  • decorator 5.1.1
  • dill 0.3.6
  • entrypoints 0.4
  • executing 1.2.0
  • fonttools 4.39.2
  • freetype 2.12.1
  • gmp 6.2.1
  • gmpy2 2.1.2
  • icu 72.1
  • idna 3.4
  • importlib-metadata 6.1.0
  • importlib_metadata 6.1.0
  • importlib_resources 5.12.0
  • ipykernel 6.22.0
  • ipython 8.11.0
  • ipywidgets 8.0.4
  • jedi 0.18.2
  • joblib 1.4.2
  • jpeg 9e
  • jsonschema 4.17.3
  • jupyter_client 8.1.0
  • jupyter_core 5.3.0
  • jupyterlab_widgets 3.0.5
  • kiwisolver 1.4.4
  • lcms2 2.15
  • ld_impl_linux-64 2.40
  • lerc 4.0.0
  • libblas 3.9.0
  • libbrotlicommon 1.0.9
  • libbrotlidec 1.0.9
  • libbrotlienc 1.0.9
  • libcblas 3.9.0
  • libdeflate 1.17
  • libffi 3.4.2
  • libgcc-ng 12.2.0
  • libgfortran-ng 13.2.0
  • libgfortran5 13.2.0
  • libgomp 12.2.0
  • libhwloc 2.9.0
  • libiconv 1.17
  • liblapack 3.9.0
  • libnsl 2.0.0
  • libopenblas 0.3.21
  • libpng 1.6.39
  • libsodium 1.0.18
  • libsqlite 3.40.0
  • libstdcxx-ng 12.2.0
  • libtiff 4.5.0
  • libuuid 2.32.1
  • libwebp-base 1.3.0
  • libxcb 1.13
  • libxml2 2.10.3
  • libxslt 1.1.37
  • libzlib 1.2.13
  • lxml 4.9.2
  • matplotlib-base 3.7.1
  • matplotlib-inline 0.1.6
  • metis 5.1.0
  • modelbase 1.36.0
  • mpc 1.3.1
  • mpfr 4.2.0
  • mpmath 1.3.0
  • munkres 1.1.4
  • mypy_extensions 1.0.0
  • nbformat 5.8.0
  • ncurses 6.3
  • nest-asyncio 1.5.6
  • numpy 1.24.2
  • openjpeg 2.5.0
  • openssl 3.3.1
  • packaging 23.0
  • pandas 1.5.3
  • parso 0.8.3
  • pathspec 0.11.1
  • pebble 5.0.7
  • pexpect 4.8.0
  • pickleshare 0.7.5
  • pillow 9.4.0
  • pip 23.0.1
  • pkgutil-resolve-name 1.3.10
  • pooch 1.7.0
  • prompt-toolkit 3.0.38
  • prompt_toolkit 3.0.38
  • psutil 5.9.4
  • pthread-stubs 0.4
  • ptyprocess 0.7.0
  • pure_eval 0.2.2
  • pycparser 2.21
  • pygments 2.14.0
  • pyopenssl 23.0.0
  • pyparsing 3.0.9
  • pyrsistent 0.19.3
  • pysocks 1.7.1
  • python 3.11.0
  • python-dateutil 2.8.2
  • python-fastjsonschema 2.16.3
  • python-libsbml 5.19.7
  • python_abi 3.11
  • pytz 2022.7.1
  • pyzmq 25.0.2
  • readline 8.1.2
  • requests 2.28.2
  • scikit-learn 1.5.0
  • scipy 1.13.0
  • setuptools 67.6.0
  • six 1.16.0
  • stack_data 0.6.2
  • suitesparse 5.10.1
  • sundials 6.5.0
  • svgutils 0.3.4
  • sympy 1.11.1
  • tbb 2021.8.0
  • threadpoolctl 3.5.0
  • tk 8.6.12
  • tornado 6.2
  • tqdm 4.65.0
  • traitlets 5.9.0
  • typing-extensions 4.5.0
  • typing_extensions 4.5.0
  • tzdata 2022g
  • urllib3 1.26.15
  • wcwidth 0.2.6
  • wheel 0.40.0
  • widgetsnbextension 4.0.5
  • xorg-libxau 1.0.9
  • xorg-libxdmcp 1.1.3
  • xz 5.2.6
  • zeromq 4.3.4
  • zipp 3.15.0
  • zstd 1.5.2