micom-dev / micom

Python package to study microbial communities using metabolic modeling.
https://micom-dev.github.io/micom
Apache License 2.0
94 stars 18 forks source link

Potential Feature: Snakemake workflow #193

Open nickp60 opened 1 month ago

nickp60 commented 1 month ago

Hello! I tried to reach out to gauge interest for this on gitter, but thought I'd might as well submit this pull request. I needed to run a large batch of samples and wanted to efficiently utilize our compute cluster. This PR adds a simple workflow to run through (what I understand to be) the typical first steps of MICOM.

This is all described in workflow_README.md, but in short, it has two stages controlled by a config parameter. --config stage=tradeoff: this runs MICOM's tradeoff determination step, submitting each sample as its own job. When all complete, it combines the results into a tradeoff.csv file and generates the tradeoff plot. --config stage=grow: this runs MICOM's growth step, submitting each sample as its own job. When all complete, these get merged into a single growth.zip for downstream use.

Let me know if this is of interest to your team; happy to adjust this as needed.