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
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
Metadata Files
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).
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
- 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.
- Code: This directory contains the source code of the mathematical model, organized into modular components for easy understanding and customization.
- Results: This directory is used to save the results of simulations. That way plotting can be repeated without repeating simulations.
- 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.
- Environment YAML: This repository also includes a YAML file (environment.yml) specifying the conda environment required to run the code and notebooks seamlessly.
- This README.md
Usage
To explore the notebooks and reproduce the figures:
- Clone this repository to your local machine.
console git clone https://github.com/Computational-Biology-Aachen/synechocystis-photosynthesis-2024.git - Navigate to the
Notebooksdirectory. - Open the notebooks using Jupyter Notebook or JupyterLab.
- 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:
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.
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.
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.
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.
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
- Tobias Pfennig (@TPfennig)
- Elena Kullmann (@elena_kullmann)
- Oliver Ebenhöh (@ebenhoeh)
- Anna Matuszynska (@matuszynska)
Analysis, experimental data and interpretation
License
This work is licensed under a Creative Commons Attribution 4.0 International License.
Project status
Peer reviewed and open-access published
Owner
- Name: Computational-Biology-Aachen
- Login: Computational-Biology-Aachen
- Kind: organization
- Repositories: 1
- Profile: https://github.com/Computational-Biology-Aachen
GitHub Events
Total
- Push event: 28
- Create event: 1
Last Year
- Push event: 28
- Create event: 1
Dependencies
- _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
