Skip to content

ginkgobioworks/geckopy

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

687c1d9 · Oct 24, 2023
Apr 4, 2023
Sep 19, 2022
Oct 24, 2023
Apr 4, 2023
Apr 29, 2021
Mar 31, 2021
Mar 31, 2021
Mar 31, 2021
May 24, 2021
Oct 24, 2023
Jan 27, 2021

Repository files navigation

geckopy

CI build

Genome-scale model Enzyme Constraints, using Kinetics and Omics in python.

By combining kcats and proteomics measurement, geckopy allows for improving the modeling capabilities in genome-scale models.

Based on Sánchez et al., 2017.

Check https://github.com/SysBioChalmers/GECKO for the matlab counterpart.

Overview

Load a model.

import geckopy

model = geckopy.io.read_sbml_ec_model("tests/data/eciML1515.xml.gz")
model.optimize()

Add copy number experimental data.

import pandas as pd
from geckopy.experiment import from_copy_number

raw_proteomics = pd.read_csv("tests/data/ecoli_proteomics_schmidt2016S5.tsv")
exp_model = from_copy_number(
    model,
    index=raw_proteomics["uniprot"],
    cell_copies=raw_proteomics["copies_per_cell"],
    stdev=raw_proteomics["stdev"],
    vol=2.3,
    dens=1.105e-12,
    water=0.3,
)
exp_model.optimize()

Add pool constraint.

# add some molecular weights to the proteins if the model does not have them
for prot in ec_model.proteins:
    prot.mw = 330
exp_model.constrain_pool(
    p_measured=12.,
    sigma_saturation_factor=0.8,
    fn_mass_fraction_unmeasured_matched=0.2,
)
print(exp_model.optimize())
print(exp_model.protein_pool_exchange)

Build the documentation

To build the documentation locally, run

cd docs
pip install -r requirements.txt
make ipy2rst  # if there are notebooks for the docs at docs/notebooks
make html

License

Copyright 2021 Ginkgo Bioworks.

Licensed under Apache License, Version 2.0, (LICENSE or http://www.apache.org/licenses/LICENSE-2.0).

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.