annotate COBRAxy/src/ras_to_bounds.xml @ 550:4cf00f21f609 draft default tip

Uploaded
author francesco_lapi
date Mon, 03 Nov 2025 14:49:49 +0000
parents 2fb97466e404
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
539
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
1 <tool id="MaREA RAS to bounds" name="RAS2Bounds" version="2.0.0">
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
2
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
3 <macros>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
4 <import>marea_macros.xml</import>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
5 </macros>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
6
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
7 <requirements>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
8 <requirement type="package" version="1.24.4">numpy</requirement>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
9 <requirement type="package" version="2.0.3">pandas</requirement>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
10 <requirement type="package" version="0.29.0">cobra</requirement>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
11 <requirement type="package" version="5.2.2">lxml</requirement>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
12 <requirement type="package" version="1.4.2">joblib</requirement>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
13 </requirements>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
14
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
15 <command detect_errors="exit_code">
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
16 <![CDATA[
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
17 python $__tool_directory__/ras_to_bounds.py
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
18 --tool_dir $__tool_directory__
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
19 --cell_class $cell_class
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
20 --model_upload $model_upload
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
21 #set $names = ""
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
22 --input_ras "${",".join(map(str, $input_ras))}"
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
23 #for $input_temp in $input_ras:
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
24 #set $names = $names + $input_temp.element_identifier + ","
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
25 #end for
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
26
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
27 --save_models $save_models
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
28 --save_models_path saved_models/
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
29 --name "$names"
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
30 --out_log $log
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
31 ]]>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
32 </command>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
33 <inputs>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
34
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
35 <param name="model_upload" argument="--model_upload" type="data" format="csv,tsv,tabular" multiple="false"
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
36 label="Model tabular:" help="Upload a CSV/TSV file containing information generated by the Import Metabolic Model tool." />
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
37
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
38 <param name="input_ras" argument="--input_ras" multiple="true" type="data" format="tabular, csv, tsv" label="RAS matrix:" />
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
39
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
40
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
41 <param name="save_models" argument="--save_models" type="select" label="Save models with applied bounds?">
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
42 <option value="False" selected="true">No</option>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
43 <option value="True">Yes</option>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
44 </param>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
45
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
46 </inputs>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
47
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
48 <outputs>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
49 <data format="txt" name="log" label="RAStoBounds- Log" />
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
50 <data format="tabular" name="cell_class" label="RAStoBounds - Cells class" />
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
51 <collection name="ras_to_bounds" type="list" label="Ras to Bounds">
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
52 <discover_datasets name = "collection" pattern="__name_and_ext__" directory="ras_to_bounds"/>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
53 </collection>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
54 <collection name="saved_models" type="list" label="Saved Models (Tabular Format)">
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
55 <filter>save_models == "True"</filter>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
56 <discover_datasets name = "saved_models_collection" pattern="__name_and_ext__" directory="saved_models"/>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
57 </collection>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
58 </outputs>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
59
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
60 <help>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
61
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
62 <![CDATA[
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
63
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
64 Overview
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
65 -------------
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
66
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
67 This tool computes reaction bounds for a tabular metabolic model, combining information from:
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
68 - A tabular model generated by the Import Metabolic Model tool, and
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
69 - One or more Reaction Activity Score (RAS) matrices produced by the RAS Generator tool (Expression2RAS).
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
70
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
71
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
72 Input:
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
73 -------------
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
74
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
75 The tool has two types of input files:
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
76 - Metabolic model: a tab-separated file containing the structure of the metabolic model (reactions, metabolites, etc.).
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
77 - RAS matrix: tab-separated files containing the reaction activity scores.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
78
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
79 If "Save models with applied bounds?" is set to TRUE, it is possible to save a collection of models, one for each sample and with its specific constraints
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
80
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
81 You can upload multiple RAS files (e.g. one for normal cells and one for cancer cells).
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
82 When multiple RAS matrices are provided, the computed bounds are normalized across all samples in the dataset. This option is highly recommended to make model simulation outcomes comparable.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
83
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
84
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
85 Output:
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
86 -------------
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
87
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
88 The tool generates three outputs:
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
89 - Collection of tabular files: one per sample, containing the lower and upper bounds for all reactions.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
90 - Classes: a file listing the class assigned to each sample. The class name of a RAS matrix corresponds to its file name. Format: tab-separated.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
91 - a log file (.txt).
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
92
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
93 The lower and upper bounds are calculated, as described in Di Filippo et al. (2020), using the RAS values and the Flux Variability Analysis (FVA) results. These bounds are then used as inputs for flux simulation tools.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
94
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
95 If a reaction i has a RAS value R_i, its upper bound is computed as R_i * UB, where UB is the maximum flux value obtained from the FVA analysis for that reaction.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
96 Similarly, the lower bound is computed as R_i * LB, where LB is the minimum flux value obtained from the FVA analysis.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
97
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
98 RAS values are normalized across all samples between 0 and 1.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
99
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
100 If multiple RAS matrices are uploaded, the normalization is performed across all cells in the dataset to ensure consistent scaling.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
101
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
102 Example for multiple RAS matrices:
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
103 - Input files: cancer.csv and normal.csv, generated by the RAS Generator tool (the corresponding class names are "cancer" and "normal").
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
104 - The tool produces one unified collection of bounds files for both cancer and normal cells, with normalization applied across all cells.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
105 - The mapping between samples and their corresponding classes is provided in the "cell_class" file, which can be used for downstream flux enrichment analysis based on class grouping.
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
106
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
107 Example
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
108
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
109 Assume the tabular model includes a reaction named "R_GLCt1r" (glucose transport) and the FVA determined its flux range as:
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
110 - Lower bound (LB) = 0
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
111 - Upper bound (UB) = 20
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
112
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
113 If the RAS values are:
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
114 - RAS_normal = 0.5
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
115 - RAS_cancer = 0.9
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
116
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
117 Then the calculated bounds are:
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
118 - For normal cells: lower bound = 0.5 * 0 = 0; upper bound = 0.5 * 20 = 10
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
119 - For cancer cells: lower bound = 0.9 * 0 = 0; upper bound = 0.9 * 20 = 18
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
120
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
121 ]]>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
122 </help>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
123 <expand macro="citations" />
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
124
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
125 </tool>
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
126
2fb97466e404 Uploaded
francesco_lapi
parents:
diff changeset
127