annotate COBRAxy/docs/tools/flux-simulation.md @ 509:5956dcf94277 draft default tip

Uploaded
author francesco_lapi
date Wed, 01 Oct 2025 15:34:21 +0000
parents 4ed95023af20
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
1 # Flux Simulation
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
2
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
3 Sample metabolic fluxes using constraint-based modeling with CBS or OPTGP algorithms.
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
4
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
5 ## Overview
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
6
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
7 Flux Simulation performs constraint-based sampling of metabolic flux distributions from constrained models. It supports two sampling algorithms (CBS and OPTGP) and provides comprehensive flux statistics including mean, median, quantiles, pFBA, FVA, and sensitivity analysis.
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
8
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
9 ## Usage
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
10
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
11 ### Command Line
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
12
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
13 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
14 flux_simulation -td /path/to/COBRAxy \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
15 -ms ENGRO2 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
16 -in bounds1.tsv,bounds2.tsv \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
17 -ni Sample1,Sample2 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
18 -a CBS \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
19 -ns 1000 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
20 -nb 1 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
21 -sd 42 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
22 -ot mean,median,quantiles \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
23 -ota pFBA,FVA,sensitivity \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
24 -idop flux_results/
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
25 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
26
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
27 ### Galaxy Interface
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
28
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
29 Select "Flux Simulation" from the COBRAxy tool suite and configure sampling parameters through the web interface.
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
30
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
31 ## Parameters
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
32
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
33 ### Required Parameters
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
34
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
35 | Parameter | Flag | Description |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
36 |-----------|------|-------------|
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
37 | Tool Directory | `-td, --tool_dir` | Path to COBRAxy installation directory |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
38 | Input Bounds | `-in, --input` | Comma-separated list of bounds files |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
39 | Sample Names | `-ni, --names` | Comma-separated sample names |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
40 | Algorithm | `-a, --algorithm` | Sampling algorithm (CBS or OPTGP) |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
41 | Number of Samples | `-ns, --n_samples` | Samples per batch |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
42 | Number of Batches | `-nb, --n_batches` | Number of sampling batches |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
43 | Random Seed | `-sd, --seed` | Random seed for reproducibility |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
44 | Output Types | `-ot, --output_type` | Flux statistics to compute |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
45
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
46 ### Model Parameters
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
47
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
48 | Parameter | Flag | Description | Default |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
49 |-----------|------|-------------|---------|
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
50 | Model Selector | `-ms, --model_selector` | Built-in model (ENGRO2, Custom) | ENGRO2 |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
51 | Custom Model | `-mo, --model` | Path to custom SBML model | - |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
52 | Model Name | `-mn, --model_name` | Custom model filename | - |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
53
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
54 ### Sampling Parameters
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
55
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
56 | Parameter | Flag | Description | Default |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
57 |-----------|------|-------------|---------|
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
58 | Algorithm | `-a, --algorithm` | CBS or OPTGP | - |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
59 | Thinning | `-th, --thinning` | OPTGP thinning parameter | 100 |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
60 | Samples | `-ns, --n_samples` | Samples per batch | - |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
61 | Batches | `-nb, --n_batches` | Number of batches | - |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
62 | Seed | `-sd, --seed` | Random seed | - |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
63
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
64 ### Output Parameters
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
65
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
66 | Parameter | Flag | Description | Options |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
67 |-----------|------|-------------|---------|
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
68 | Output Types | `-ot, --output_type` | Flux statistics | mean,median,quantiles,fluxes |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
69 | Analysis Types | `-ota, --output_type_analysis` | Additional analyses | pFBA,FVA,sensitivity |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
70 | Output Path | `-idop, --output_path` | Results directory | flux_simulation/ |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
71 | Output Log | `-ol, --out_log` | Log file path | - |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
72
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
73 ## Algorithms
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
74
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
75 ### CBS (Constraint-Based Sampling)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
76
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
77 **Method**: Random objective function optimization
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
78 - Generates random linear combinations of reactions
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
79 - Optimizes using LP solver (GLPK preferred, COBRApy fallback)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
80 - Fast and memory-efficient
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
81 - Suitable for large models
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
82
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
83 **Advantages**:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
84 - High performance with GLPK
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
85 - Good coverage of solution space
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
86 - Robust to model size
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
87
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
88 ### OPTGP (Optimal Growth Perturbation)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
89
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
90 **Method**: MCMC-based sampling
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
91 - Markov Chain Monte Carlo with growth optimization
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
92 - Requires thinning to reduce autocorrelation
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
93 - More computationally intensive
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
94 - Better theoretical guarantees
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
95
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
96 **Advantages**:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
97 - Uniform sampling guarantee
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
98 - Well-established method
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
99 - Good for smaller models
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
100
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
101 ## Input Formats
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
102
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
103 ### Bounds Files
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
104
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
105 Tab-separated format with reaction bounds:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
106
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
107 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
108 Reaction lower_bound upper_bound
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
109 R00001 -1000.0 1250.5
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
110 R00002 -650.2 1000.0
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
111 R00003 0.0 2150.8
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
112 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
113
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
114 Multiple bounds files can be processed simultaneously by providing comma-separated paths.
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
115
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
116 ### Custom Model File (Optional)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
117
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
118 SBML format metabolic model compatible with COBRApy.
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
119
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
120 ## Output Formats
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
121
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
122 ### Flux Statistics
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
123
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
124 #### Mean Fluxes (`mean.csv`)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
125 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
126 Reaction Sample1 Sample2 Sample3
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
127 R00001 15.23 -8.45 22.1
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
128 R00002 0.0 12.67 -5.3
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
129 R00003 45.8 38.2 51.7
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
130 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
131
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
132 #### Median Fluxes (`median.csv`)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
133 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
134 Reaction Sample1 Sample2 Sample3
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
135 R00001 14.1 -7.8 21.5
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
136 R00002 0.0 11.9 -4.8
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
137 R00003 44.2 37.1 50.3
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
138 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
139
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
140 #### Quantiles (`quantiles.csv`)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
141 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
142 Reaction Sample1_q1 Sample1_q2 Sample1_q3 Sample2_q1 ...
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
143 R00001 10.5 14.1 18.7 -12.3 ...
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
144 R00002 -2.1 0.0 1.8 8.9 ...
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
145 R00003 38.9 44.2 49.8 32.1 ...
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
146 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
147
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
148 ### Additional Analyses
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
149
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
150 #### pFBA (`pFBA.csv`)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
151 Parsimonious Flux Balance Analysis results:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
152 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
153 Reaction Sample1 Sample2 Sample3
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
154 R00001 12.5 -6.7 19.3
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
155 R00002 0.0 8.9 -3.2
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
156 R00003 41.2 35.8 47.9
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
157 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
158
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
159 #### FVA (`FVA.csv`)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
160 Flux Variability Analysis bounds:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
161 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
162 Reaction Sample1_min Sample1_max Sample2_min Sample2_max ...
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
163 R00001 -5.2 35.8 -25.3 8.7 ...
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
164 R00002 -8.9 8.9 0.0 28.4 ...
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
165 R00003 15.6 78.3 10.2 65.9 ...
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
166 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
167
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
168 #### Sensitivity (`sensitivity.csv`)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
169 Single reaction deletion effects:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
170 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
171 Reaction Sample1 Sample2 Sample3
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
172 R00001 0.98 0.95 0.97
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
173 R00002 1.0 0.87 1.0
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
174 R00003 0.23 0.19 0.31
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
175 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
176
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
177 ## Examples
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
178
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
179 ### Basic CBS Sampling
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
180
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
181 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
182 # Simple CBS sampling with statistics
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
183 flux_simulation -td /opt/COBRAxy \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
184 -ms ENGRO2 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
185 -in sample1_bounds.tsv,sample2_bounds.tsv \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
186 -ni Sample1,Sample2 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
187 -a CBS \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
188 -ns 500 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
189 -nb 2 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
190 -sd 42 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
191 -ot mean,median \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
192 -ota pFBA \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
193 -idop cbs_results/
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
194 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
195
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
196 ### Comprehensive OPTGP Analysis
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
197
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
198 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
199 # Full analysis with OPTGP
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
200 flux_simulation -td /opt/COBRAxy \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
201 -ms ENGRO2 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
202 -in bounds/*.tsv \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
203 -ni Sample1,Sample2,Sample3,Control1,Control2 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
204 -a OPTGP \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
205 -th 200 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
206 -ns 1000 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
207 -nb 1 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
208 -sd 123 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
209 -ot mean,median,quantiles,fluxes \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
210 -ota pFBA,FVA,sensitivity \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
211 -idop comprehensive_analysis/ \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
212 -ol sampling.log
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
213 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
214
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
215 ### Custom Model Sampling
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
216
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
217 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
218 # Use custom model with CBS
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
219 flux_simulation -td /opt/COBRAxy \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
220 -ms Custom \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
221 -mo models/tissue_specific.xml \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
222 -mn tissue_specific.xml \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
223 -in patient_bounds.tsv \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
224 -ni PatientA \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
225 -a CBS \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
226 -ns 2000 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
227 -nb 5 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
228 -sd 456 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
229 -ot mean,quantiles \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
230 -ota FVA,sensitivity \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
231 -idop patient_analysis/
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
232 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
233
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
234 ### Batch Processing Multiple Conditions
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
235
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
236 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
237 # Process multiple experimental conditions
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
238 flux_simulation -td /opt/COBRAxy \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
239 -ms ENGRO2 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
240 -in ctrl1.tsv,ctrl2.tsv,treat1.tsv,treat2.tsv \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
241 -ni Control1,Control2,Treatment1,Treatment2 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
242 -a CBS \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
243 -ns 800 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
244 -nb 3 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
245 -sd 789 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
246 -ot mean,median,fluxes \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
247 -ota pFBA,FVA \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
248 -idop batch_conditions/
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
249 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
250
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
251 ## Algorithm Selection Guide
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
252
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
253 ### Choose CBS When:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
254 - Large models (>1000 reactions)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
255 - High sample throughput required
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
256 - GLPK solver available
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
257 - Memory constraints present
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
258
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
259 ### Choose OPTGP When:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
260 - Theoretical sampling guarantees needed
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
261 - Smaller models (<500 reactions)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
262 - Sufficient computational resources
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
263 - Publication-quality sampling required
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
264
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
265 ## Performance Optimization
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
266
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
267 ### CBS Optimization
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
268 - Install GLPK and swiglpk for maximum performance
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
269 - Increase batch number rather than samples per batch
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
270 - Monitor memory usage for large models
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
271
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
272 ### OPTGP Optimization
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
273 - Adjust thinning based on model size (100-500)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
274 - Use parallel processing when available
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
275 - Consider warmup period for chain convergence
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
276
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
277 ### General Tips
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
278 - Use appropriate sample sizes (500-2000 per condition)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
279 - Balance batches vs samples for memory management
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
280 - Set consistent random seeds for reproducibility
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
281
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
282 ## Quality Control
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
283
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
284 ### Convergence Assessment
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
285 - Compare statistics across batches
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
286 - Check for systematic trends in sampling
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
287 - Validate against known flux ranges
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
288
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
289 ### Statistical Validation
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
290 - Ensure adequate sample sizes (n≥100 recommended)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
291 - Check for outliers and artifacts
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
292 - Validate against experimental flux data when available
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
293
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
294 ### Output Verification
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
295 - Confirm mass balance constraints satisfied
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
296 - Check thermodynamic consistency
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
297 - Verify biological plausibility of results
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
298
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
299 ## Integration Workflow
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
300
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
301 ### Upstream Tools
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
302 - [RAS to Bounds](ras-to-bounds.md) - Generate constrained bounds from RAS
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
303 - [Model Setting](metabolic-model-setting.md) - Extract model components
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
304
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
305 ### Downstream Tools
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
306 - [Flux to Map](flux-to-map.md) - Visualize flux distributions on metabolic maps
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
307 - [MAREA](marea.md) - Statistical analysis of flux differences
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
308
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
309 ### Typical Pipeline
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
310
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
311 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
312 # 1. Generate sample-specific bounds
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
313 ras_to_bounds -td /opt/COBRAxy -ms ENGRO2 -ir ras.tsv -idop bounds/
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
314
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
315 # 2. Sample fluxes from constrained models
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
316 flux_simulation -td /opt/COBRAxy -ms ENGRO2 -in bounds/*.tsv \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
317 -ni Sample1,Sample2,Sample3 -a CBS -ns 1000 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
318 -ot mean,quantiles -ota pFBA,FVA -idop fluxes/
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
319
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
320 # 3. Visualize results on metabolic maps
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
321 flux_to_map -td /opt/COBRAxy -input_data_fluxes fluxes/mean.csv \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
322 -choice_map ENGRO2 -idop flux_maps/
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
323 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
324
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
325 ## Troubleshooting
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
326
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
327 ### Common Issues
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
328
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
329 **CBS sampling fails**
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
330 - GLPK installation issues → Install GLPK and swiglpk
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
331 - Model infeasibility → Check bounds constraints
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
332 - Memory errors → Reduce samples per batch
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
333
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
334 **OPTGP convergence problems**
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
335 - Poor mixing → Increase thinning parameter
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
336 - Slow convergence → Extend sampling time
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
337 - Chain stuck → Check model feasibility
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
338
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
339 **Output files missing**
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
340 - Insufficient disk space → Check available storage
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
341 - Permission errors → Verify write permissions
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
342 - Invalid sample names → Check naming conventions
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
343
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
344 ### Error Messages
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
345
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
346 | Error | Cause | Solution |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
347 |-------|-------|----------|
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
348 | "GLPK solver failed" | Missing GLPK/swiglpk | Install GLPK libraries |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
349 | "Model infeasible" | Over-constrained bounds | Relax constraints or check model |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
350 | "Sampling timeout" | Insufficient time/resources | Reduce sample size or increase resources |
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
351
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
352 ### Performance Issues
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
353
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
354 **Slow sampling**
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
355 - Use CBS instead of OPTGP for speed
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
356 - Reduce model size if possible
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
357 - Increase system resources
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
358
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
359 **Memory errors**
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
360 - Lower samples per batch
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
361 - Process samples sequentially
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
362 - Use more efficient data formats
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
363
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
364 **Disk space issues**
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
365 - Monitor output file sizes
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
366 - Clean intermediate files
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
367 - Use compressed formats when possible
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
368
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
369 ## Advanced Usage
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
370
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
371 ### Custom Sampling Parameters
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
372
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
373 For fine-tuning sampling behavior, advanced users can modify:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
374 - Objective function generation (CBS)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
375 - MCMC parameters (OPTGP)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
376 - Convergence criteria
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
377 - Output precision and format
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
378
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
379 ### Parallel Processing
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
380
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
381 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
382 # Split sampling across multiple cores/nodes
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
383 for i in {1..4}; do
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
384 flux_simulation -td /opt/COBRAxy -ms ENGRO2 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
385 -in subset_${i}_bounds.tsv \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
386 -ni Batch${i} -a CBS -ns 250 \
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
387 -sd $((42 + i)) -idop batch_${i}/ &
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
388 done
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
389 wait
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
390 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
391
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
392 ### Result Aggregation
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
393
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
394 Combine results from multiple simulation runs:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
395
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
396 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
397 # Merge statistics files
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
398 python merge_flux_results.py -i batch_*/mean.csv -o combined_mean.csv
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
399 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
400
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
401 ## See Also
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
402
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
403 - [RAS to Bounds](ras-to-bounds.md) - Generate input constraints
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
404 - [Flux to Map](flux-to-map.md) - Visualize flux results
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
405 - [CBS Algorithm Documentation](../tutorials/cbs-algorithm.md)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
406 - [OPTGP Algorithm Documentation](../tutorials/optgp-algorithm.md)