view COBRAxy/ras_to_bounds.xml @ 11:6d1ae6c226c8 draft

Uploaded
author luca_milaz
date Wed, 18 Sep 2024 12:32:45 +0000
parents 41f35c2f0c7b
children 88a649e1b5f4
line wrap: on
line source

<tool id="MaREA RAS to bounds" name="RAStoBounds" version="2.0.0">
    
    <macros>
        <import>marea_macros.xml</import>
    </macros>

	<requirements>
        <requirement type="package" version="1.24.4">numpy</requirement>
        <requirement type="package" version="2.0.3">pandas</requirement>
		<requirement type="package" version="0.29.0">cobra</requirement>
        <requirement type="package" version="5.2.2">lxml</requirement>
        <requirement type="package" version="1.4.2">joblib</requirement>
	</requirements>

    <command detect_errors="exit_code">
        <![CDATA[
      	python $__tool_directory__/ras_to_bounds.py
        --tool_dir $__tool_directory__
        --model_selector $cond_model.model_selector
        #if $cond_model.model_selector == 'Custom'
            --model $model
            --model_name $model.element_identifier
        #end if
        --medium_selector $cond_medium.medium_selector
        #if $cond_medium.medium_selector == 'Custom'
            --medium $medium
        #end if
        --ras_selector $cond_ras.ras_choice
        #if $cond_ras.ras_choice == "True"
        	--input_ras $cond_ras.input_ras
        #end if
        --out_log $log
        ]]>
    </command>
    <inputs>
        <conditional name="cond_model">
            <expand macro="options_ras_to_bounds_model"/>
            <when value="Custom">
                <param name="model" argument="--model" type="data" format="json, xml" label="Custom model" />
            </when>
        </conditional> 

        <conditional name="cond_ras">
			<param name="ras_choice" argument="--ras_choice" type="select" label="Do want to use RAS?">
                	<option value="True" selected="true">Yes</option>
                	<option value="False">No</option>
        	</param>
            <when value="True">
                <param name="input_ras" argument="--input_ras" multiple="false" type="data" format="tabular, csv, tsv" label="RAS matrix:" />
            </when>
        </conditional>  
        
        <conditional name="cond_medium">
            <expand macro="options_ras_to_bounds_medium"/>
            <when value="Custom">
                <param name="medium" argument="--medium" type="data" format="tabular, csv, tsv" label="Custom medium" />
            </when>
        </conditional> 

    </inputs>

    <outputs>
        <data format="txt" name="log" label="RAStoBounds- Log" />
        
        <collection name="ras_to_bounds" type="list" label="Ras to Bounds">
            <discover_datasets name = "collection" pattern="__name_and_ext__" directory="ras_to_bounds"/>
        </collection>

    </outputs>

    <help>

    <![CDATA[

What it does
-------------

This tool generates the reactions bounds for a given metabolic model (JSON or XML format) with and without the injection of the Reaction Activity Scores (RAS) within the metabolic model.
Moreover, it enables to use custom/pre-defined growth mediums to constrain exchange reactions. For custom medium, It is suggested to use the template file returned by the Custom Data Generator tool.
If the RAS matrix, generated by the RAS generator tool, is used, then a file of bounds is generated for each cell. Otherwise, a single bounds file is returned.

Accepted files:
    - A model: JSON or XML file reporting reactions and rules contained in the model.   
    - RAS matrix: tab-separated RAS file as returned by RAS generator.
    - Medium: tab-separated file containing lower and upper-bounds of medium reactions.

Example medium file
-------------

Custom medium:

+------------+----------------+----------------+
| Reaction ID|   lower_bound   |   upper_bound |  
+============+================+================+
| r1         |    0.123167    |    0.371355    | 
+------------+----------------+----------------+   
| r2         |    0.268765    |    0.765567    |  
+------------+----------------+----------------+   


Output:
-------------

The tool generates:
    - bounds: reporting the bounds of the model, or cells if RAS is used. Format: tab-separated.
    - a log file (.txt).
    ]]>
    </help>
    <expand macro="citations" />
</tool>