annotate COBRAxy/README.md @ 530:352c51a39e23 draft

Uploaded
author francesco_lapi
date Wed, 22 Oct 2025 12:18:07 +0000
parents 4ed95023af20
children fd53d42348bd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
1 <div align="center">
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
2 <img src="docs/_media/logo.png" alt="COBRAxy Logo" width="200"/>
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
3 </div>
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
4
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
5 # COBRAxy
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
6
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
7 A Python toolkit for metabolic flux analysis and visualization, with Galaxy integration.
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
8
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
9 COBRAxy transforms gene expression and metabolite data into meaningful metabolic insights through flux sampling and interactive pathway maps.
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
10 DOC: https://compbtbs.github.io/COBRAxy
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
11 ## Features
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
12
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
13 - **Reaction Activity Scores (RAS)** from gene expression data
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
14 - **Reaction Propensity Scores (RPS)** from metabolite abundance
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
15 - **Flux sampling** with CBS or OptGP algorithms
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
16 - **Statistical analysis** with pFBA, FVA, and sensitivity analysis
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
17 - **Interactive maps** with SVG/PDF export and custom styling
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
18 - **Galaxy tools** for web-based analysis
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
19 - **Built-in models** including ENGRO2 and Recon
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
20
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
21 ## Quick Start
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
22
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
23 ### Installation
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
24
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
25 ```bash
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
26 git clone https://github.com/CompBtBs/COBRAxy.git
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
27 cd COBRAxy
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
28 pip install .
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
29 ```
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
30
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
31 ### Basic Workflow
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
32
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
33 ```bash
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
34 # 1. Generate RAS from expression data
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
35 ras_generator -td $(pwd) -in expression.tsv -ra ras_output.tsv -rs ENGRO2
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
36
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
37 # 2. Generate RPS from metabolite data (optional)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
38 rps_generator -td $(pwd) -id metabolites.tsv -rp rps_output.tsv
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
39
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
40 # 3. Create enriched pathway maps with statistical analysis
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
41 marea -td $(pwd) -using_RAS true -input_data ras_output.tsv -choice_map ENGRO2 -gs true -idop base_maps
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
42
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
43 # 4. Apply RAS constraints to model for flux simulation
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
44 ras_to_bounds -td $(pwd) -ms ENGRO2 -ir ras_output.tsv -rs true -idop bounds_output
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
45
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
46 # 5. Sample metabolic fluxes with constrained model
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
47 flux_simulation -td $(pwd) -ms ENGRO2 -in bounds_output/*.tsv -a CBS -ns 1000 -idop flux_results
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
48
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
49 # 6. Add flux data to enriched maps
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
50 flux_to_map -td $(pwd) -if flux_results/*.tsv -mp base_maps/*.svg -idop final_maps
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
51 ```
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
52
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
53 ## Tools
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
54
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
55 | Tool | Purpose | Input | Output |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
56 |------|---------|--------|---------|
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
57 | `metabolic_model_setting` | Extract model components | SBML model | Rules, reactions, bounds, medium |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
58 | `ras_generator` | Compute reaction activity scores | Gene expression data | RAS values |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
59 | `rps_generator` | Compute reaction propensity scores | Metabolite abundance | RPS values |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
60 | `marea` | Statistical pathway analysis | RAS + RPS data | Enrichment + base maps |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
61 | `ras_to_bounds` | Apply RAS constraints to model | RAS + SBML model | Constrained bounds |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
62 | `flux_simulation` | Sample metabolic fluxes | Constrained model | Flux distributions |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
63 | `flux_to_map` | Add fluxes to enriched maps | Flux samples + base maps | Final styled maps |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
64 | `marea_cluster` | Cluster analysis | Expression/flux data | Sample clusters |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
65
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
66 ## Requirements
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
67
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
68 - **Python**: 3.8-3.11
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
69 - **OS**: Linux, macOS, Windows (Linux recommended)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
70 - **Dependencies**: Automatically installed via pip (COBRApy, pandas, numpy, etc.)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
71
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
72 **Optional system libraries** (for enhanced features):
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
73 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
74 # Ubuntu/Debian
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
75 sudo apt-get install libvips libglpk40 glpk-utils
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
76
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
77 # For Python GLPK bindings
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
78 pip install swiglpk
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
79 ```
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
80
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
81 ## Data Flow
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
82
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
83 ```
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
84 Gene Expression Metabolite Data SBML Model
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
85 ↓ ↓ ↓
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
86 RAS Generator RPS Generator Model Tables
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
87 ↓ ↓
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
88 RAS Values RPS Values
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
89 | ↓ ↓
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
90 | └─────────┬─────────┘
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
91 | ↓
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
92 | MAREA
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
93 | (Enrichment +
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
94 | Base Maps)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
95
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
96 RAS Values → RAS to Bounds ←── Model Tables
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
97
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
98 Constrained Model
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
99
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
100 Flux Simulation
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
101
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
102 Flux Samples
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
103
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
104 Flux to Map ←── Maps (ENGRO2)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
105
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
106 Final Enriched Maps
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
107 ```
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
108
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
109 ## Built-in Models & Data
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
110
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
111 COBRAxy includes ready-to-use resources:
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
112
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
113 - **Models**: ENGRO2, Recon (human metabolism)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
114 - **Gene mappings**: HGNC, Ensembl, Entrez ID conversions
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
115 - **Pathway maps**: Pre-styled SVG templates
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
116 - **Medium compositions**: Standard growth conditions
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
117
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
118 Located in `local/` directory for immediate use.
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
119
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
120 ## Command Line Usage
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
121
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
122 All tools support `--help` for detailed options. Key commands:
93
7e703e546998 Uploaded
luca_milaz
parents:
diff changeset
123
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
124 ### Generate RAS/RPS scores
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
125 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
126 # From gene expression
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
127 ras_generator -td $(pwd) -in expression.tsv -ra ras_output.tsv -rs ENGRO2
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
128
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
129 # From metabolite data
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
130 rps_generator -td $(pwd) -id metabolites.tsv -rp rps_output.tsv
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
131 ```
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
132
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
133 ### Flux sampling
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
134 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
135 flux_simulation -td $(pwd) -ms ENGRO2 -in bounds/*.tsv -a CBS -ns 1000 -idop results/
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
136 ```
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
137
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
138 ### Statistical analysis & visualization
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
139 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
140 marea -td $(pwd) -using_RAS true -input_data ras.tsv -choice_map ENGRO2 -gs true -idop maps/
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
141 ```
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
142
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
143 ## Galaxy Integration
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
144
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
145 COBRAxy provides Galaxy tool wrappers (`.xml` files) for web-based analysis:
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
146
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
147 - Upload data through Galaxy interface
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
148 - Chain tools in visual workflows
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
149 - Share and reproduce analyses
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
150 - Access via Galaxy ToolShed
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
151
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
152 ## Tutorials
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
153
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
154 ### Local Galaxy Installation
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
155
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
156 To set up a local Galaxy instance with COBRAxy tools:
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
157
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
158 1. **Install Galaxy**:
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
159 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
160 # Clone Galaxy repository
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
161 git clone -b release_23.1 https://github.com/galaxyproject/galaxy.git
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
162 cd galaxy
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
163
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
164 # Install dependencies and start Galaxy
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
165 sh run.sh
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
166 ```
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
167
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
168 2. **Install COBRAxy tools**:
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
169 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
170 # Add COBRAxy tools to Galaxy
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
171 mkdir -p tools/cobraxy
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
172 cp path/to/COBRAxy/Galaxy_tools/*.xml tools/cobraxy/
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
173
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
174 # Update tool_conf.xml to include COBRAxy tools
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
175 # Add section in config/tool_conf.xml:
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
176 # <section id="cobraxy" name="COBRAxy">
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
177 # <tool file="cobraxy/ras_generator.xml" />
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
178 # <tool file="cobraxy/rps_generator.xml" />
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
179 # <tool file="cobraxy/marea.xml" />
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
180 # <!-- Add other tools -->
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
181 # </section>
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
182 ```
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
183
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
184 3. **Galaxy Tutorial Resources**:
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
185 - [Galaxy Installation Guide](https://docs.galaxyproject.org/en/master/admin/)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
186 - [Tool Development Tutorial](https://training.galaxyproject.org/training-material/topics/dev/)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
187 - [Galaxy Admin Training](https://training.galaxyproject.org/training-material/topics/admin/)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
188
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
189 ### Python Direct Usage
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
190
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
191 For programmatic use of COBRAxy tools in Python scripts:
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
192
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
193 1. **Installation for Development**:
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
194 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
195 # Clone and install in development mode
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
196 git clone https://github.com/CompBtBs/COBRAxy.git
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
197 cd COBRAxy
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
198 pip install -e .
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
199 ```
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
200
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
201 2. **Python API Usage**:
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
202 ```python
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
203 import sys
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
204 import os
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
205
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
206 # Add COBRAxy to Python path
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
207 sys.path.append('/path/to/COBRAxy')
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
208
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
209 # Import tool modules
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
210 import ras_generator
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
211 import rps_generator
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
212 import flux_simulation
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
213 import marea
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
214 import ras_to_bounds
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
215
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
216 # Set working directory
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
217 tool_dir = "/path/to/COBRAxy"
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
218 os.chdir(tool_dir)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
219
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
220 # Generate RAS scores
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
221 ras_args = [
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
222 '-td', tool_dir,
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
223 '-in', 'data/expression.tsv',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
224 '-ra', 'output/ras_values.tsv',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
225 '-rs', 'ENGRO2'
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
226 ]
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
227 ras_generator.main(ras_args)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
228
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
229 # Generate RPS scores (optional)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
230 rps_args = [
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
231 '-td', tool_dir,
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
232 '-id', 'data/metabolites.tsv',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
233 '-rp', 'output/rps_values.tsv'
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
234 ]
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
235 rps_generator.main(rps_args)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
236
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
237 # Create enriched pathway maps
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
238 marea_args = [
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
239 '-td', tool_dir,
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
240 '-using_RAS', 'true',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
241 '-input_data', 'output/ras_values.tsv',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
242 '-choice_map', 'ENGRO2',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
243 '-gs', 'true',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
244 '-idop', 'maps'
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
245 ]
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
246 marea.main(marea_args)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
247
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
248 # Apply RAS constraints to model
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
249 bounds_args = [
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
250 '-td', tool_dir,
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
251 '-ms', 'ENGRO2',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
252 '-ir', 'output/ras_values.tsv',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
253 '-rs', 'true',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
254 '-idop', 'bounds'
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
255 ]
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
256 ras_to_bounds.main(bounds_args)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
257
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
258 # Sample metabolic fluxes
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
259 flux_args = [
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
260 '-td', tool_dir,
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
261 '-ms', 'ENGRO2',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
262 '-in', 'bounds/bounds_output.tsv',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
263 '-a', 'CBS',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
264 '-ns', '1000',
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
265 '-idop', 'flux_results'
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
266 ]
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
267 flux_simulation.main(flux_args)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
268 ```
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
269
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
270 3. **Python Tutorial Resources**:
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
271 - [COBRApy Documentation](https://cobrapy.readthedocs.io/)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
272 - [Metabolic Modeling with Python](https://opencobra.github.io/cobrapy/building_model.html)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
273 - [Flux Sampling Tutorial](https://cobrapy.readthedocs.io/en/stable/sampling.html)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
274 - [Jupyter Notebooks Examples](examples/) (included in repository)
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
275
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
276 ## Input/Output Formats
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
277
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
278 | Data Type | Format | Description |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
279 |-----------|---------|-------------|
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
280 | Gene expression | TSV | Genes (rows) × Samples (columns) |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
281 | Metabolites | TSV | Metabolites (rows) × Samples (columns) |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
282 | Models | SBML | Standard metabolic model format |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
283 | Results | TSV/CSV | Tabular flux/score data |
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
284 | Maps | SVG/PDF | Styled pathway visualizations |
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
285
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
286 ## Troubleshooting
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
287
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
288 **Common issues:**
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
289
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
290 - **Missing GLPK**: Install `glpk-utils` and `swiglpk` for optimal CBS performance
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
291 - **SVG errors**: Install `libvips` system library
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
292 - **Memory issues**: Reduce sampling count (`-ns`) or use fewer batches (`-nb`)
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
293
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
294 ## Contributing
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
295
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
296 Contributions welcome! Please:
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
297 - Follow existing code style
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
298 - Add documentation for new features
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
299 - Test with provided example data
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
300 - Submit focused pull requests
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
301
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
302 ## Citation
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
303
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
304 If you use COBRAxy in research, please cite:
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
305 - [COBRApy](https://opencobra.github.io/cobrapy/) for core metabolic modeling
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
306 - [MaREA](https://galaxyproject.org/use/marea4galaxy/) for enrichment methods
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
307 - This repository for integrated workflow
456
a6e45049c1b9 Uploaded
francesco_lapi
parents: 93
diff changeset
308
492
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
309 ## Links
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
310
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
311 - [COBRApy Documentation](https://opencobra.github.io/cobrapy/)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
312 - [Galaxy Project](https://usegalaxy.org/)
4ed95023af20 Uploaded
francesco_lapi
parents: 456
diff changeset
313 - [GSoC 2024 Project](https://summerofcode.withgoogle.com/programs/2024/projects/LSrCKfq7)