annotate COBRAxy/docs/tools/import-metabolic-model.md @ 542:fcdbc81feb45 draft

Uploaded
author francesco_lapi
date Sun, 26 Oct 2025 19:27:41 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
542
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
1 # Import Metabolic Model
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
2
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
3 Import and extract metabolic model components into tabular format for analysis and integration.
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
4
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
5 ## Overview
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
6
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
7 Import Metabolic Model (importMetabolicModel) imports metabolic models from various formats (SBML, JSON, MAT, YAML) and extracts key components into comprehensive tabular summaries. This tool processes built-in or custom models, applies medium constraints, handles gene nomenclature conversion, and outputs structured data for downstream analysis.
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
8
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
9 ## Usage
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
10
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
11 ### Command Line
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
12
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
13 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
14 importMetabolicModel --model ENGRO2 \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
15 --name ENGRO2 \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
16 --medium_selector allOpen \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
17 --out_tabular model_data.csv \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
18 --out_log extraction.log \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
19 --tool_dir /path/to/COBRAxy/src
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
20 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
21
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
22 ### Galaxy Interface
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
23
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
24 Select "Import Metabolic Model" from the COBRAxy tool suite and configure model extraction parameters.
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
25
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
26 ## Parameters
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
27
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
28 ### Required Parameters
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
29
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
30 | Parameter | Flag | Description |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
31 |-----------|------|-------------|
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
32 | Model Name | `--name` | Model identifier for output files |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
33 | Medium Selector | `--medium_selector` | Medium configuration option |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
34 | Output Tabular | `--out_tabular` | Output file path (CSV or XLSX) |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
35 | Output Log | `--out_log` | Log file for processing information |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
36 | Tool Directory | `--tool_dir` | COBRAxy installation directory |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
37
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
38 ### Model Selection Parameters
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
39
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
40 | Parameter | Flag | Description | Default |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
41 |-----------|------|-------------|---------|
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
42 | Built-in Model | `--model` | Pre-installed model (ENGRO2, Recon, HMRcore) | - |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
43 | Custom Model | `--input` | Path to custom SBML/JSON model file | - |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
44
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
45 **Note**: Provide either `--model` OR `--input`, not both.
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
46
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
47 ### Optional Parameters
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
48
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
49 | Parameter | Flag | Description | Default |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
50 |-----------|------|-------------|---------|
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
51 | Custom Medium | `--custom_medium` | CSV file with medium constraints | - |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
52
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
53 ## Model Selection
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
54
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
55 ### Built-in Models
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
56
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
57 #### ENGRO2
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
58 - **Species**: Homo sapiens
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
59 - **Scope**: Genome-scale reconstruction
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
60 - **Reactions**: ~2,000 reactions
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
61 - **Metabolites**: ~1,500 metabolites
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
62 - **Coverage**: Comprehensive human metabolism
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
63
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
64 #### Recon
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
65 - **Species**: Homo sapiens
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
66 - **Scope**: Recon3D human reconstruction
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
67 - **Reactions**: ~10,000+ reactions
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
68 - **Metabolites**: ~5,000+ metabolites
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
69 - **Coverage**: Most comprehensive human model
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
70
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
71 #### HMRcore
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
72 - **Species**: Homo sapiens
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
73 - **Scope**: Core metabolic network
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
74 - **Reactions**: ~300 essential reactions
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
75 - **Metabolites**: ~200 core metabolites
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
76 - **Coverage**: Central carbon and energy metabolism
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
77
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
78 ### Custom Models
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
79
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
80 Supported formats for custom model import:
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
81 - **SBML**: Systems Biology Markup Language (.xml, .sbml)
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
82 - **JSON**: COBRApy JSON format (.json)
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
83 - **MAT**: MATLAB format (.mat)
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
84 - **YML**: YAML format (.yml, .yaml)
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
85 - **Compressed**: All formats support .gz, .zip, .bz2 compression
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
86
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
87 ## Medium Configuration
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
88
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
89 ### allOpen (Default)
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
90 - All exchange reactions unconstrained
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
91 - Maximum metabolic flexibility
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
92 - Suitable for general analysis
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
93
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
94 ### Custom Medium
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
95 Users can specify custom medium constraints by providing a CSV file with exchange reaction bounds.
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
96
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
97 ## Output Format
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
98
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
99 ### Tabular Summary File
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
100
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
101 The output contains comprehensive model information in CSV or XLSX format:
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
102
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
103 #### Column Structure
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
104 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
105 Reaction_ID GPR_Rule Reaction_Formula Lower_Bound Upper_Bound Objective_Coefficient Medium_Member Compartment Subsystem
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
106 R00001 GENE1 or GENE2 A + B -> C + D -1000.0 1000.0 0.0 FALSE cytosol Glycolysis
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
107 R00002 GENE3 and GENE4 E <-> F -1000.0 1000.0 0.0 FALSE mitochondria TCA_Cycle
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
108 EX_glc_e - glc_e <-> -1000.0 1000.0 0.0 TRUE extracellular Exchange
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
109 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
110
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
111 #### Data Fields
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
112
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
113 | Field | Description | Values |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
114 |-------|-------------|---------|
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
115 | Reaction_ID | Unique reaction identifier | String |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
116 | GPR_Rule | Gene-protein-reaction association | Logical expression |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
117 | Reaction_Formula | Stoichiometric equation | Metabolites with coefficients |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
118 | Lower_Bound | Minimum flux constraint | Numeric (typically -1000) |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
119 | Upper_Bound | Maximum flux constraint | Numeric (typically 1000) |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
120 | Objective_Coefficient | Biomass/objective weight | Numeric (0 or 1) |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
121 | Medium_Member | Exchange reaction flag | TRUE/FALSE |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
122 | Compartment | Subcellular location | String (for ENGRO2 only) |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
123 | Subsystem | Metabolic pathway | String |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
124
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
125 ## Examples
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
126
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
127 ### Extract Built-in Model Data
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
128
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
129 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
130 # Extract ENGRO2 model with default settings
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
131 importMetabolicModel --model ENGRO2 \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
132 --name ENGRO2_extraction \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
133 --medium_selector allOpen \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
134 --out_tabular ENGRO2_data.csv \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
135 --out_log ENGRO2_log.txt \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
136 --tool_dir /opt/COBRAxy/src
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
137 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
138
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
139 ### Process Custom Model
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
140
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
141 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
142 # Extract custom SBML model
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
143 importMetabolicModel --input /data/custom_model.xml \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
144 --name CustomModel \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
145 --medium_selector allOpen \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
146 --out_tabular custom_model_data.csv \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
147 --out_log custom_extraction.log \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
148 --tool_dir /opt/COBRAxy/src
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
149 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
150
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
151 ### Extract Core Model for Quick Analysis
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
152
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
153 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
154 # Extract HMRcore for rapid prototyping
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
155 importMetabolicModel --model HMRcore \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
156 --name CoreModel \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
157 --medium_selector allOpen \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
158 --out_tabular core_reactions.csv \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
159 --out_log core_log.txt \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
160 --tool_dir /opt/COBRAxy/src
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
161 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
162
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
163 ### Batch Processing Multiple Models
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
164
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
165 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
166 #!/bin/bash
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
167 models=("ENGRO2" "HMRcore" "Recon")
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
168 for model in "${models[@]}"; do
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
169 importMetabolicModel --model "$model" \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
170 --name "${model}_extract" \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
171 --medium_selector allOpen \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
172 --out_tabular "${model}_data.csv" \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
173 --out_log "${model}_log.txt" \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
174 --tool_dir /opt/COBRAxy/src
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
175 done
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
176 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
177
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
178 ## Use Cases
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
179
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
180 ### Model Comparison
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
181 Extract multiple models to compare:
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
182 - Reaction coverage across different reconstructions
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
183 - Gene-reaction associations
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
184 - Pathway representation
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
185 - Metabolite compartmentalization
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
186
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
187 ### Data Integration
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
188 Prepare model data for:
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
189 - Custom analysis pipelines
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
190 - Database integration
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
191 - Pathway annotation
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
192 - Cross-reference mapping
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
193
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
194 ### Quality Control
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
195 Validate model properties:
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
196 - Check reaction balancing
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
197 - Verify gene associations
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
198 - Assess network connectivity
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
199 - Identify missing annotations
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
200
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
201 ### Custom Analysis
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
202 Export structured data for:
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
203 - Network analysis (graph theory)
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
204 - Machine learning applications
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
205 - Statistical modeling
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
206 - Comparative genomics
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
207
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
208 ## Integration Workflow
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
209
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
210 ### Downstream Tools
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
211
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
212 The extracted tabular data serves as input for:
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
213
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
214 #### COBRAxy Tools
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
215 - [RAS Generator](ras-generator.md) - Use extracted GPR rules
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
216 - [RPS Generator](rps-generator.md) - Use reaction formulas
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
217 - [RAS to Bounds](ras-to-bounds.md) - Use reaction bounds
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
218 - [MAREA](marea.md) - Use reaction annotations
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
219
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
220 #### External Analysis
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
221 - **R/Bioconductor**: Import CSV for pathway analysis
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
222 - **Python/pandas**: Load data for network analysis
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
223 - **MATLAB**: Process XLSX for modeling
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
224 - **Cytoscape**: Network visualization
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
225 - **Databases**: Populate reaction databases
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
226
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
227 ### Typical Pipeline
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
228
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
229 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
230 # 1. Extract model components
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
231 importMetabolicModel --model ENGRO2 --name ModelData \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
232 --out_tabular model_components.csv \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
233 --tool_dir /opt/COBRAxy/src
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
234
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
235 # 2. Use extracted data for RAS analysis
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
236 ras_generator -td /opt/COBRAxy/src -rs Custom \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
237 -rl model_components.csv \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
238 -in expression_data.tsv -ra ras_scores.tsv
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
239
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
240 # 3. Apply constraints and sample fluxes
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
241 ras_to_bounds -td /opt/COBRAxy/src -ms Custom -mo model_components.csv \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
242 -ir ras_scores.tsv -idop constrained_bounds/
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
243
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
244 # 4. Visualize results
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
245 marea -td /opt/COBRAxy/src -input_data ras_scores.tsv \
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
246 -choice_map Custom -custom_map custom.svg -idop results/
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
247 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
248
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
249 ## Quality Control
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
250
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
251 ### Pre-extraction Validation
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
252 - Verify model file integrity and format
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
253 - Check SBML compliance for custom models
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
254 - Validate gene ID formats and coverage
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
255 - Confirm medium constraint specifications
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
256
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
257 ### Post-extraction Checks
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
258 - **Completeness**: Verify all expected reactions extracted
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
259 - **Consistency**: Check stoichiometric balance
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
260 - **Annotations**: Validate gene-reaction associations
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
261 - **Formatting**: Confirm output file structure
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
262
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
263 ### Data Validation
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
264
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
265 #### Reaction Balancing
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
266 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
267 # Check for unbalanced reactions
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
268 awk -F'\t' 'NR>1 && $3 !~ /\<->\|->/ {print $1, $3}' model_data.csv
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
269 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
270
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
271 #### Gene Coverage
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
272 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
273 # Count reactions with GPR rules
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
274 awk -F'\t' 'NR>1 && $2 != "" {count++} END {print count " reactions with GPR"}' model_data.csv
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
275 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
276
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
277 #### Exchange Reactions
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
278 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
279 # List medium components
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
280 awk -F'\t' 'NR>1 && $7 == "TRUE" {print $1}' model_data.csv
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
281 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
282
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
283 ## Tips and Best Practices
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
284
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
285 ### Model Selection
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
286 - **ENGRO2**: Balanced coverage for human tissue analysis
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
287 - **HMRcore**: Fast processing for algorithm development
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
288 - **Recon**: Comprehensive analysis requiring computational resources
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
289 - **Custom**: Organism-specific or specialized models
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
290
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
291 ### Output Format Optimization
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
292 - **CSV**: Lightweight, universal compatibility
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
293 - Choose based on downstream analysis requirements
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
294
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
295 ### Performance Considerations
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
296 - Large models (Recon) may require substantial memory
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
297 - Consider batch processing for multiple extractions
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
298
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
299 ## Troubleshooting
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
300
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
301 ### Common Issues
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
302
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
303 **Model loading fails**
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
304 - Check file format and compression
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
305 - Verify SBML/JSON/MAT/YAML validity for custom models
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
306 - Ensure sufficient system memory
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
307
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
308 **Empty output file**
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
309 - Model may contain no reactions
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
310 - Check model file integrity
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
311 - Verify tool directory configuration
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
312
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
313 ### Error Messages
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
314
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
315 | Error | Cause | Solution |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
316 |-------|-------|----------|
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
317 | "Model file not found" | Invalid file path | Check file location and permissions |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
318 | "Unsupported format" | Invalid model format | Use SBML, JSON, MAT, or YAML |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
319 | "Memory allocation error" | Insufficient system memory | Use smaller model or increase memory |
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
320
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
321 ### Performance Issues
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
322
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
323 **Slow processing**
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
324 - Large models require more time
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
325 - Monitor system resource usage
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
326
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
327 **Memory errors**
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
328 - Reduce model size if possible
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
329 - Process in smaller batches
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
330 - Increase available system memory
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
331
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
332 **Output file corruption**
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
333 - Check disk space availability
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
334 - Verify file write permissions
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
335 - Monitor for system interruptions
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
336
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
337 ## Advanced Usage
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
338
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
339 ### Batch Extraction Script
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
340
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
341 ```python
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
342 #!/usr/bin/env python3
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
343 import subprocess
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
344 import sys
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
345
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
346 models = ['ENGRO2', 'HMRcore', 'Recon']
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
347
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
348 for model in models:
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
349 cmd = [
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
350 'importMetabolicModel',
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
351 '--model', model,
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
352 '--name', f'{model}_data',
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
353 '--medium_selector', 'allOpen',
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
354 '--out_tabular', f'{model}.csv',
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
355 '--out_log', f'{model}.log',
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
356 '--tool_dir', '/opt/COBRAxy/src'
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
357 ]
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
358 subprocess.run(cmd, check=True)
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
359 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
360
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
361 ### Database Integration
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
362
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
363 Export model data to databases:
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
364
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
365 ```sql
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
366 -- Load CSV into PostgreSQL
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
367 CREATE TABLE model_reactions (
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
368 reaction_id VARCHAR(50),
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
369 gpr_rule TEXT,
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
370 reaction_formula TEXT,
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
371 lower_bound FLOAT,
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
372 upper_bound FLOAT,
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
373 objective_coefficient FLOAT,
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
374 medium_member BOOLEAN,
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
375 compartment VARCHAR(50),
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
376 subsystem VARCHAR(100)
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
377 );
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
378
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
379 COPY model_reactions FROM 'model_data.csv' WITH CSV HEADER;
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
380 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
381
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
382 ## See Also
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
383
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
384 - [Export Metabolic Model](export-metabolic-model.md) - Export tabular data to model formats
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
385 - [RAS Generator](ras-generator.md) - Use extracted GPR rules for RAS computation
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
386 - [RPS Generator](rps-generator.md) - Use reaction formulas for RPS analysis
fcdbc81feb45 Uploaded
francesco_lapi
parents:
diff changeset
387 - [Custom Model Tutorial](/tutorials/custom-model-integration.md)