Code to recreate results in OptAux manuscript
277
Files and scripts needed to reproduce the figures in "Model-driven design and evolution of non-trivial synthetic syntrophic pairs"
Project can be installed using docker by running from the docker folder
docker build -t optaux:everything .
this will install everything needed to reproduce most of the results outlined below including the community iJL1678b ME-model.
Run python [optaux]/scripts_figures_and_tables/make_optaux_supplement.py
This runs OptAux algorithm in aerobic glucose minimal media conditions for
all carbon containing exchange reactions in iJO1366. It will by default
run OptAux for 4 competing_metabolite_uptake_thresholds (0, 0.01, 0.1, and 2) and
output the results in supplement_1_optaux_solutions.xls as well as
intermediate results as optaux_intermediate_trace_[threhold_value].xls
To process the results into an MSE summary spreadsheet and the set of
EBC designs with the smallest number of knockouts, run
output_optaux_summaries.xls
Running python output_relative_abundance_results.py will:
Check if abundance_by_characteristic_[pair_name].csv
and abundance_by_coverage_[pair_name].csv are located in
[optaux]/scripts_figures_and_tables/relative_abundance/tables. If
not, these CSVs will be created using the information in the read Bowtie2
alignment BAM files for all sequencing samples (not provided for now)
and breseq generated mutation calls found in
[optaux]/optaux/resources/resequencing_data/AUX [pair_name] Mutation Table.csv
relative_abundance.pyOutput bar charts of the characteristic mutation/alignment coverage
base approximations of relative strain abundances in
[optaux]/scripts_figures_and_tables/relative_abundance/figures as well
as a comparison of the predictions based on each method.
Read coverages are plotted using the alignment files produced from breseq (Not provided due to filesize limits on github. They can be obtained by contacting [email protected] for access to the alignment files or accessing the raw reads hosted on the Sequence Read Archive under accession no. SRP161177).
Running python output_duplications.py will:
Check if [optaux]/scripts_figures_and_tables/duplications/[pair_name]_coverage_dict.json
exists. If not it will produce this dictionary using the bam files output from breseq.
Find the genes with >80% of their base pairs above the 1.25x fit mean cutoff.
These are compiled and output in
[optaux]/scripts_figures_and_tables/duplications/duplicated_genes
Output the plots used to create Figure 7 and the supplementary figures in
[optaux]/scripts_figures_and_tables/duplications/
The iJL1678b ME-model (constructed using COBRAme/ECOLIme v0.0.9) is provided as json files with two different keff parameter sets:
iJL1678b.json: The model with default parameters
iJL1678b_null_keffs.json: The model with keffs values set to
those obtained from Dividi et. al..
Metabolic keffs not included in this dataset were imputed
with the median value, 6.2 s-1. Non-metabolic reactions outside the scope
of this dataset were set to 65 s-1 as in the default model.
The key results from the study can be reproduced with the following
Build iJL1678b-community models with: python [optuax]/optaux/me_community/make_me_communityl.py.
All of the simulations needed to reproduce Figures 8 and 9 can then be ran with:
python run_community_me_sims.py
[optaux]/scripts_figures_and_tables/community_sims_output_[null/65/default]_keffs.
Alternatively, tar.gz files are containing the output of these simulations are
already included in this package. Note: If using these files instead of
running new simulations you must run python unpack_community_me_sims.py to unpack
the tar.gz files in order to plot.To recreate Figure 9, part of Figure 8, and the supplementary community ME-figures:
To plot community growth rates for varying strain abundances run:
python [optaux]/scripts_figures_and_tables/output_computed_community_growth_rates.py
To plot metabolite cross-feeding for varying strain abundances run:
python [optaux]/scripts_figures_and_tables/output_computed_metabolite_crossfeeding.py
To plot community growth rates for substrate limited ME-model and M-model run:
python [optaux]/scripts_figures_and_tables/output_glucose_limited_me_m_comparison.py
To output the supplement community growth comparison between steadycom and jointfba M-model:
python [optaux]/scripts_figures_and_tables/output_steadycom_jointfba_comparison.py
The following software and versions were used for publication:
Content type
Image
Digest
Size
1.8 GB
Last updated
almost 8 years ago
docker pull coltonlloyd/optaux