Automated reconstruction turns an annotated genome into a draft genome-scale metabolic model. Two tools dominate microbial work and they are not interchangeable: CarveMe carves a draft top-down out of a curated BiGG universal model (fast, simulation-ready, biased toward well-studied organisms), while gapseq builds bottom-up from pathway and transporter evidence (slower, more transparent, better on non-model clades and fermentation phenotypes, ModelSEED namespace). The result is a hypothesis, not a finished model: both tools gap-fill specifically to force growth on a chosen medium, so a draft that grows was made to grow and proves nothing biological. Gap-filled reactions are the least-evidenced part of the model, the gap-fill medium determines what gets added, and reconstruction is the first step of curation, never a substitute for it.
pip install carveme # CarveMe: also needs DIAMOND and an LP solver (CPLEX/Gurobi academic; SCIP fallback)
git clone https://github.com/jotech/gapseq # gapseq: cloned, not pip; needs R + bedtools/hmmer etc.
pip install cobra # to load and inspect the draft
Inputs: an annotated protein FASTA (.faa) for CarveMe (or nucleotide with --dna); a genome FASTA for gapseq. Raw/GenBank genomes are not accepted by CarveMe. For downloading inputs, see database-access/ncbi-datasets-cli and genome-annotation/prokaryotic-annotation.
Tell your AI agent: - "Build a metabolic model from this bacterial protein FASTA with CarveMe" - "Reconstruct a model for this non-model soil bacterium with gapseq" - "Gap-fill the draft so it grows on M9 minimal medium, and flag what was added" - "Which tool should I use - CarveMe or gapseq - for my organism?" - "Load my draft and tell me what to curate first"
"I have a well-studied Gram-positive bacterium and need drafts for 50 strains quickly - recommend CarveMe or gapseq and justify it, then give the command with the right gram universe."
"Reconstruct with CarveMe and gap-fill for M9 glucose, then list which reactions were added by gap-filling so I can treat them as low-confidence."
"Build a gapseq model for this environmental isolate, and explain why its ModelSEED IDs will complicate merging it with a CarveMe model later."
"Load my draft SBML, confirm it grows on the gap-fill medium, and inventory orphan reactions and namespace so I know what curation it needs."
--dna for nucleotide. It rejects raw/GenBank genomes.-u/--universe (grampos, gramneg, bacteria, archaea, cyanobacteria), not --grampos/--gramneg flags.find-transport is its own subcommand, not find -t; its transporter file is -Transporter.tbl (singular).seed.* IDs; reconcile through MetaNetX/MNXref before merging or comparing models.