Team:ETH Zurich/Modeling/Download



This page contains all the programming code functions and the data we have used in order to generate our results. You can download each of the fourth section as a stand-alone framework and run in order to reproduce the result or investigate our methodology. Some of them requires third part free software (such as the Cobra Toolbox), you can find the links to download them in the description section. Some of them requires data or models previously developed by other groups but freely accessible, we state where and when these object have been used. All the code is enriched with comments for an easily understanding of functions and computational steps.

Restriction Enzymes Analysis

Download file:

Compute: This simulation downloads the genome annotation of E. coli K12 MG1655 from GenBank and restriction enzymes informations from REBASE. For each restriction enzyme, calculates the fragments generated by digesting the chromosome of the strain. It calculates statistics on various aspects, such as probability of having an essential gene per fragment.

Output: An array of records, each one containing statistical analysis for one of the restriction enzyme groups. Generates five plots that explain the statistical results.

Softwared needed: MATLAB with BioInformatics Toolbox.

Third part code: use of standard Bioinformatics Toolbox functions.

Files and descriptions:

  • convertCuttingSitesIntoGeneNames.m - convert informations on cutting sites for restriction enzymes in file names as Blattner Ids and alphanumeric gene names.
  • createAtomicKnockoutsForRestEnzymes.m - construct the structure containing fragment patterns for all the selected restriction enzymes.
  • createAtomicKnockoutStruct.m - constructs a structure object containing fragment patterns for one restriction enzyme.
  • digestionSimulation.m - perform the digestion of chromosome using all the restriction enzymes.
  • genomeStaticAnalysis.m - main function, invoke the digestion procedure and plots the five graphs.
  • essentialGenes.mat - list of essential genes (single knockouts are mortal), obtained from source cited in Restriction Enzymes Analysis page.

Author(s): Luca and Georg.

Genome-scale Model

Download file:

Compute: This package contains the code for reproducing Figure 2,3,4,5,6 and the code needed to create Figure 7. The package initially loads the genome of E. coli K12 MG1655 from GeneBank and then construct a data structure of gene infos taken from the annotation. It then loads two different genome scale models (included in the zip file) that represent the iAF1260 model thymidine auxotrophic, with an external uptake of thymidine, respectively in minimal and in rich medium. It then perform different simulations based on Flux Balance Analysis, such as testing the effect of thymidine feeding at different chromosomal size. It then simulate the cycles of reduction and selection by considering an in silico chromosome containing only the gene represented in the genome scale model. For detail please refer to the Genome Scale Model page.

Output: The figures reported in the corresponding section.

Softwared needed: MATLAB (The Mathworks) with the Bioinformatics Toolbox, the Cobra ToolBox from Palsson's Group at UCSD.

Third part code: the iAF1260 in-silico organism from Palsson's Group at UCSD.

Files and descriptions:

  • genomeScaleModel.m - main function that loads the needed data and calls the plots and simulation in sequence.
  • changeModelForDNASize.m - functions that changes a genome scale model by setting a different need of nucleotides depending on the new chromosome size.
  • convertCuttingSitesIntoGeneNames.m - functions that converts cutting site positions into the corresponding genes effected by disruption (alphanumeric name and Blattner Id supported).
  • create3DPlots.m - create the 3D plot that relates thymidine uptake rate and chromosomal size to growth rate.
  • createAtomicKnockoutsForRestEnzymes.m - creates the list of all the chromosomal fragments generate after a digestion with several enzymes.
  • createAtomicKnockoutStruct.m - function that creates the list of all the chromosomal fragments generate after a digestion of on enzyme.
  • createPlotChromSizeVsGrowthRate.m - function that creates the plot of chromosomal size vs. growth rate.
  • createPlotThymVsGrowthRate.m - function that creates the plot of thymidine uptake rate vs. growth rate.
  • extractGenesInfoFromGenomeAnnotation.m - function that extractes information about each gene in E. coli K12 MG1665
  • simGeneGreedyRandomWalk.m - function that simulate in abstract an actual complete cycle of reduction and selection at the level of single gene and using a random walk combined with a greedy search.
  • modelKnockoutMinMedium.mat - data file containing the iAF1260 genome scale model, thymidine auxotrophic, on minimal medium plus external feeding of thymidine.
  • modelKnockoutRichMedium.mat - data file containing the iAF1260 genome scale model, thymidine auxotrophic, on rich medium plus external feeding of thymidine.

Author(s): Luca.

Chemostat Selection

Download file:

Compute: Growth rate simulation of different genome-reduced mutants in the chemostat


  • graphical representation of growth simulations
  • best found reduced strain

Software needed: MATLAB

Third part code:,
and CobraToolbox

Files and descriptions:

  • chemo2.m: performs chemostat simulation and plots the results
  • sceI_chem2.m: calculates the right right hand side of chemostat equations
  • framework.m: link different modelling parts
    • performs gene deletion and growth rate calculation
    • handles tree structure of emerging mutants
    • simulates dynamics of chemostat population

Author(s): Sven and Julia

Switch Circuit

Download file:

Compute: This project-file contains the chemical reactions describing the switch circuit, together with all the kinetic parameters and initial concentrations. It converts the chemical reactions in a set of ordinary differential equations (ODEs) and solves them deterministically or stochastically depending on the selected ODE solver. It then plots the results. Furthermore the sensitivities of the equations can be computed.

Output: Plots of the dynamic behavior in time of the switch circuit

Software needed: MATLAB (The Mathworks) with the SimBiology Toolbox

Third part code: uses the Sundials ODE solver and the SSA (standard stochastic algorithm) solver (both included in the SimBiology Toolbox)

Files and descriptions:

  • switch_circuit_model.sbproj - Symbiology-project-file containing the switch circuit model

Author(s): Nico and Julia