view rest_tool.xml @ 10:a76d64d2ed44 draft default tip

Uploaded
author bernhardlutz
date Sun, 04 May 2014 14:21:30 -0400
parents 80bf0039c0dc
children
line wrap: on
line source

<tool id="rest_tool" name="Fetch Data from pubchem" version="0.1.0">
    <description>Fetch pubchem data</description>
    <version_command>echo "0.1.0"</version_command>
    <macros>
        <import>rest_tool_macros.xml</import>
        <import>rest_tool_macro_advanced.xml</import>
    </macros>
    <command interpreter="python">
       #if $choose_action.action == 'specific_data':
        rest_tool.py
            #if $choose_action.field_or_file.field_or_file_select == 'field':
            --id $choose_action.field_or_file.id_value
            #else:
            --id-file $choose_action.field_or_file.id_value
            #end if
            --type $choose_action.choose_acs.input_type
            
            #if $choose_action.choose_acs.input_type == 'assay':
            --operation $choose_action.choose_acs.operation_assay.operation_assay
                #if $choose_action.choose_acs.operation_assay.operation_assay == 'property':
                    --property-value $choose_action.choose_acs.operation_assay.property_assay
                #elif $choose_action.choose_acs.operation_assay.operation_assay == 'aids' or $choose_action.choose_acs.operation_assay.operation_assay == 'cids' or $choose_action.choose_acs.operation_assay.operation_assay == 'sids':
                    --id-type $choose_action.choose_acs.operation_assay.ids_type_assay
                #end if
            #elif $choose_action.choose_acs.input_type == 'compound':
            --operation $choose_action.choose_acs.operation_compound.operation_compound
                #if $choose_action.choose_acs.operation_compound.operation_compound == 'property':
                    --property-value $choose_action.choose_acs.operation_compound.property_compound
                #elif $choose_action.choose_acs.operation_compound.operation_compound == 'aids' or $choose_action.choose_acs.operation_compound.operation_compound == 'cids' or $choose_action.choose_acs.operation_compound.operation_compound == 'sids':
                    --id-type $choose_action.choose_acs.operation_compound.ids_type_compound
                #end if
            #else:
            --operation $choose_action.choose_acs.operation_substance.operation_substance
                #if $choose_action.choose_acs.operation_substance.operation_substance == 'property':
                    --property-value $choose_action.choose_acs.operation_substance.property_substance
                #elif $choose_action.choose_acs.operation_substance.operation_substance == 'aids' or $choose_action.choose_acs.operation_substance.operation_substance == 'cids' or $choose_action.choose_acs.operation_substance.operation_substance == 'sids':
                    --id-type $choose_action.choose_acs.operation_substance.ids_type_substance
                #end if
            #end if
            --outfile $output
        #elif $choose_action.action == 'compounds_for_assay':
            rest_tool_comp_for_assay.py
            #if $choose_action.field_or_file.field_or_file_select == 'field':
            --aid $choose_action.field_or_file.id_value
            #else:
            --aid-file $choose_action.field_or_file.id_value
            #end if
            --outfile $output
        #elif $choose_action.action == 'assays_by_activity_or_target':
            rest_tool_assay_by_activity_or_target.py
            #if $choose_action.activity_or_target.activity_or_target == 'activity':
                --activity $choose_action.activity_or_target.activity
            #else:
                --target $choose_action.activity_or_target.target_id
                --target-type $choose_action.activity_or_target.target_identifier_type
            #end if
            --outfile $output
        #elif $choose_action.action == 'advanced':
            rest_tool_advanced.py
                --outfile $output
                --type $choose_action.input_type.input_type_select
                --id-type $choose_action.input_type.namespace_id.namespace_id_select
                #if $choose_action.input_type.input_type_select == 'assay':
                    #if $choose_action.input_type.namespace_id.namespace_id_select == 'aid':
                        --id-type-ff $choose_action.input_type.namespace_id.field_or_file.field_or_file_select
                        --id-value $choose_action.input_type.namespace_id.field_or_file.id_value
                    #elif $choose_action.input_type.namespace_id.namespace_id_select == 'target':
                        --id-value $choose_action.input_type.namespace_id.target_select"/"$choose_action.input_type.namespace_id.target_value
                    #elif $choose_action.input_type.namespace_id.namespace_id_select == 'type':
                        --id-value $choose_action.input_type.namespace_id.type_select
                    #elif $choose_action.input_type.namespace_id.namespace_id_select == 'activity':
                        --id-value $choose_action.input_type.namespace_id.activity_select
                    #end if
                    
                    --operation $choose_action.input_type.operation_assay.operation_assay_select
                    
                    #if $choose_action.input_type.operation_assay.operation_assay_select == 'property':
                        --operation-value $choose_action.input_type.operation_assay.operation_assay_select.property_assay
                    #elif $choose_action.input_type.operation_assay.operation_assay_select == 'target':
                        --operation-value $choose_action.input_type.operation_assay.operation_assay_select.target_assay
                    #elif $choose_action.input_type.operation_assay.operation_assay_select == 'xrefs':
                        --operation-value $choose_action.input_type.operation_assay.xref_operation
                    #elif $choose_action.input_type.operation_assay.operation_assay_select == 'doseresponse':
                        --sid-filter $choose_action.input_type.operation_assay.doseresponse_sids
                    #elif $choose_action.input_type.operation_assay.operation_assay_select == 'aids' or $choose_action.input_type.operation_assay.operation_assay_select == 'cids' or $choose_action.input_type.operation_assay.operation_assay_select == 'sids':
                        --ids-operation-type $choose_action.input_type.operation_assay.ids_type_assay
                    #end if
                #elif $choose_action.input_type.input_type_select == 'compound':
                    #if $choose_action.input_type.namespace_id.namespace_id_select == 'cid' or $choose_action.input_type.namespace_id.namespace_id_select == 'name' or $choose_action.input_type.namespace_id.namespace_id_select == 'smiles' or $choose_action.input_type.namespace_id.namespace_id_select == 'inchi' or $choose_action.input_type.namespace_id.namespace_id_select == 'inchikey' or $choose_action.input_type.namespace_id.namespace_id_select == 'sdf':
                        --id-type-ff $choose_action.input_type.namespace_id.field_or_file.field_or_file_select
                        --id-value $choose_action.input_type.namespace_id.field_or_file.id_value 
                    #elif $choose_action.input_type.namespace_id.namespace_id_select == 'xref':
                        --xref $choose_action.input_type.namespace_id.xref_select
                        --xref-value $choose_action.input_type.namespace_id.xref_value
                    #end if
                    
                    --operation $choose_action.input_type.operation_compound.operation_compound_select
                    #if $choose_action.input_type.operation_compound.operation_compound_select == 'property':
                        --operation-value $choose_action.input_type.operation_compound.property_compound
                    #elif $choose_action.input_type.operation_compound.operation_compound_select == 'xrefs':
                        --operation-value $choose_action.input_type.operation_compound.xref_operation
                    #elif $choose_action.input_type.operation_compound.operation_compound_select == 'aids' or $choose_action.input_type.operation_compound.operation_compound_select == 'cids' or $choose_action.input_type.operation_compound.operation_compound_select == 'sids':
                        --ids-operation-type $choose_action.input_type.operation_compound.ids_type_compound
                    #end if
                    
                #elif $choose_action.input_type.input_type_select == 'substance':
                    #if $choose_action.input_type.namespace_id.namespace_id_select == 'sid' or $choose_action.input_type.namespace_id.namespace_id_select == 'name':
                            --id-type-ff $choose_action.input_type.namespace_id.field_or_file.field_or_file_select
                            --id-value $choose_action.input_type.namespace_id.field_or_file.id_value
                    #elif $choose_action.input_type.namespace_id.namespace_id_select == 'xrefs':
                        --xref $choose_action.input_type.namespace_id.xref_select
                        --xref-value $choose_action.input_type.namespace_id.xref_value
                    #end if
                    --operation $choose_action.input_type.operation_substance.operation_substance_select
                     #if $choose_action.input_type.operation_substance.operation_substance_select == 'property':
                        --operation-value $choose_action.input_type.operation_substance.operation_substance_select.property_substance
                    #elif $choose_action.input_type.operation_substance.operation_substance_select == 'xref':
                        --operation-value $choose_action.input_type.operation_substance.xref_operation
                    #elif $choose_action.input_type.operation_substance.operation_substance_select == 'aids' or $choose_action.input_type.operation_substance.operation_substance_select == 'cids' or $choose_action.input_type.operation_substance.operation_substance_select == 'sids':
                        --ids-operation-type $choose_action.input_type.operation_substance.ids_type_substance
                    #end if
                #end if
        #end if
    </command>

    <inputs>
        <conditional name="choose_action">
            <param name="action" multiple="false" type="select" label="Choose action">
                <option value="specific_data">Get Data for specific Assay/Compound/Substance</option>
                <option value="compounds_for_assay">Get all compound IDs given BioAssay IDs</option>
                <option value="assays_by_activity_or_target">Get BioAssay IDs given activity/target</option>
                <option value="advanced" selected="True">Advanced</option>
            </param>
            <when value="search">
                    <param name="input_type_search" multiple="false" type="select" label="Search for">
                        <expand macro="acs_options" />
                    </param>
                    <param name="input_type" multiple="false" type="select" label="Search By">
                        <option value="name">Name</option>
                    </param>
                    <param format="txt" name="search_name" type="text" label="Enter the Name" />
            </when>
            <when value="specific_data">
                <expand macro="field_or_file" />
                <conditional name="choose_acs">
                    <param name="input_type" multiple="false" type="select" label="Input Type">
                        <expand macro="acs_options" />
                    </param>
        
                    <when value="assay">
                        <expand macro="conditional_operation_assay" />
                    </when>
                    <when value="compound">
                        <expand macro="conditional_operation_compound" />
                    </when>
                    <when value="substance">
                        <expand macro="conditional_operation_substance" />
                    </when>
                </conditional>
            </when>
            <!-- second option -->
            <when value="compounds_for_assay">
                <expand macro="field_or_file" />
            </when>
            <!-- third option -->
            <when value="assays_by_activity_or_target">
                <conditional name="activity_or_target">
                    <param name="activity_or_target" multiple="false" type="select" label="Look for">
                        <option value="target">Target</option>
                        <option value="activity">Activity</option>
                    </param>
                    <when value="activity">
                        <param format="txt" name="activity" type="text" label="Enter the activity" />
                    </when>
            
                    <when value="target">
                        <param name="target_identifier_type" multiple="false" type="select" label="Choose target identifier">
                            <option value="gi">GI</option>
                            <option value="geneid">Gene ID</option>
                            <option value="genesymbol">Gene Symbol</option>
                        </param>
                        <param format="txt" name="target_id" type="text" label="Enter the target" />
                    </when>
                </conditional>
            </when>
            <when value="advanced">
                <expand macro="advanced2" />
            </when>
        </conditional>
    </inputs>
    <outputs>
        <data format="tabular" name="output">
             <change_format>
                <when input="choose_action.input_type.operation_assay.operation_assay_select" value="summary" format="xml" />
                <when input="choose_action.input_type.operation_assay.operation_assay_select" value="description" format="xml" />
                <when input="choose_action.input_type.operation_assay.operation_assay_select" value="classification" format="xml" />
                <when input="choose_action.input_type.operation_substance.operation_substance_select" value="summary" format="xml" />
                <when input="choose_action.input_type.operation_substance.operation_substance_select" value="description" format="xml" />
                <when input="choose_action.input_type.operation_substance.operation_substance_select" value="classification" format="xml" />
                <when input="choose_action.input_type.operation_compound.operation_compound_select" value="summary" format="xml" />
                <when input="choose_action.input_type.operation_compound.operation_compound_select" value="description" format="xml" />
                <when input="choose_action.input_type.operation_compound.operation_compound_select" value="classification" format="xml" />
            </change_format>
        </data>
    </outputs>
    <tests>
        <test>
            <output name="output">
                <assert_contents>
                    <has_n_columns n="1" />
                    <has_line_matching expression="[0-9]+" />
                </assert_contents>
            </output>
            <param name="choose_action.action" value="advanced" />
            <param name="choose_action.input_type.input_type_select" value="assay" />
            <param name="choose_action.input_type.namespace_id.namespace_id_select" value="target" />
            <param name="choose_action.input_type.namespace_id.target_select" value="genesymbol" />
            <param name="choose_action.input_type.namespace_id.target_value" value="usp2" />
            <param name="choose_action.input_type.operation_assay.operation_assay_select" value="aids" />
        </test>
        <test>
            <output name="output">
                <assert_contents>
                    <has_n_columns n="1" />
                    <has_line_matching expression="[0-9]+" />
                </assert_contents>
            </output>
            <param name="choose_action.action" value="advanced" />
            <param name="choose_action.input_type.input_type_select" value="substance" />
            <param name="choose_action.input_type.namespace_id.namespace_id_select" value="xref" />
            <param name="choose_action.input_type.namespace_id.xref_select" value="PatentID" />
            <param name="choose_action.input_type.namespace_id.xref_value" value="EP0711162A1" />
            <param name="choose_action.input_type.operation_substance.operation_substance_select_select" value="cids" />
        </test>
        <!-- post test -->
        <test>
            <output name="output">
                <assert_contents>
                    <has_n_columns n="1" />
                    <has_line_matching expression="[0-9]+" />
                </assert_contents>
            </output>
            <param name="choose_action.action" value="advanced" />
            <param name="choose_action.input_type.input_type_select" value="compound" />
            <param name="choose_action.input_type.namespace_id.namespace_id_select" value="inchi" />
            <param name="choose_action.input_type.namespace_id.field_or_file.field_or_file_select" value="file" />
            <param name="choose_action.input_type.namespace_id.field_or_file.id_value" value="postfile" />
            <param name="choose_action.input_type.operation_substance.operation_substance_select_select" value="cids" />
        </test>
        <test>
            <output name="output">
                <assert_contents>
                    <has_n_columns n="1" />
                    <has_line_matching expression="[0-9]+" />
                </assert_contents>
            </output>
            <param name="choose_action.action" value="compounds_for_assay" />
            <param name="choose_action.input_type.namespace_id.field_or_file.field_or_file_select" value="file" />
            <param name="choose_action.input_type.namespace_id.field_or_file.id_value" value="12345" />
            <param name="choose_action.input_type.operation_substance.operation_substance_select_select" value="cids" />
        </test>
    </tests>
    <help>
**What it does**

This tool fetches data from pubchem. The outputformat will be if possible csv > txt > xml
    </help>
</tool>