Skip to content

Containers, data, and software for the Douglas use case; private repo

License

Notifications You must be signed in to change notification settings

federatedcloud/DouglasMetabolicModels

Repository files navigation

Setup

After downloading via git clone git@github.com:federatedcloud/DouglasMetabolicModels.git, go into the directory and run git lfs install (only once per repo) and git lfs pull to pull in models and other data files.

Note: if using CobraContainers, you do NOT need to follow the One-time-only for gurobi instructions, but should do everything else mentioned under Nix (and Docker if using Nix in Docker).

Run initDMM from this (top-level directory) in MATLAB. This will add paths to the environment.

Afterward, you still need to run initCobraToolbox from your cobratoolbox directory.

Currently, the installed version of COBRA Toolbox doesn't work as it is required to be mutable, but once it does, one could do cd(getenv('COBRA_HOME')) before running initCobraToolbox(false).

If you get a git related error during the run of initCobraToolbox related to submodules, try running the command outside fo MATLAB. Typically this is one of:

git submodule update --init --remote --no-fetch

Species

The following species are considered as part of the Drosophila gut microbiome, and the repository includes models for these species:

  • Acetobacter fabarum
  • Acetobacter pomorum
  • Acetobacter tropicalis
  • Lactobacillus brevis
  • Lactobacillus plantarum

Notes

When running any analysis that makes use of SteadyComFVA:

  • Be sure to use a parpool if possible to speed things up.
  • We suggest using the Gurobi solver, which seems to be over 1000x as fast as GLPK for our models.
  • Do not change the paralell pool size if restarting a run (if you do, clear the checkpoint .mat files and start again.

Priority Effects

(WIP: especially the nix-shell)

For the priority effects simulations, we use Haskell to call out to MATLAB, so Haskell performs the scheduling of simulations and analyses, while MATLAB more directly handles the simulations (metabolic modeling).

With nix, you can get an appropriate environment setup by running nix-shell in this (repository root) directory. Otherwise, see shell.nix and translate that to your environment/OS.

After running nix-shell or otherwise setting up appropriate dependencies and environment variables, you can run the ./build.sh script to build and install Haskell binaries used for analyses. For more information on the Haskell-MATLAB integration, see the upstream git repository.