view cuff_macros.xml @ 6:28b94cfbfdb9 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tool_collections/cufflinks/cuffnorm commit 80b06e80066b32ad53ed418628992f056444256f
author iuc
date Sat, 05 Oct 2024 11:16:24 +0000
parents 9a854107dbb2
children
line wrap: on
line source

<macros>
    <token name="@TOOL_VERSION@">2.2.1</token>
    <token name="@PROFILE@">23.1</token>

    <xml name="requirements">
        <requirements>
            <requirement type="package" version="@TOOL_VERSION@">cufflinks</requirement>
            <yield />
        </requirements>
    </xml>

    <xml name="conditions_repeat" token_format="">
        <repeat name="conditions" title="Condition" min="2">
            <param name="name" label="Condition name" type="text">
                <validator type="empty_field" message="You must provide a condition name" />
                <validator type="expression" message="Commas are not allowed in condition names">value and "," not in value</validator>
            </param>
            <param name="samples" label="Replicates" type="data" format="@FORMAT@" multiple="true"/>
        </repeat>
    </xml>

    <xml name="condition_inputs">
        <!-- DEFAULT : use BAM/SAM files -->
        <conditional name="in_type">
            <param name="set_in_type" type="select" label="Input data type"
                help="CuffNorm supports either CXB (from cuffquant) or SAM/BAM input files. Mixing is not supported. Default: SAM/BAM">
                <option value="BAM">SAM/BAM</option>
                <option value="CXB">Cuffquant (CXB)</option>
                <option value="CONDITION_LIST">List of single replicate conditions</option>
                <option value="CONDITION_REPLICATE_LIST">List of multiple replicate conditions</option>
            </param>
            <when value="BAM">
                <expand macro="conditions_repeat" format="sam,bam" />
            </when>
            <when value="CXB">
                <expand macro="conditions_repeat" format="cxb" />
            </when>
            <when value="CONDITION_LIST">
                <param name="conditions" label="List of Conditions" type="data_collection" collection_type="list" />
            </when>
            <when value="CONDITION_REPLICATE_LIST">
                <param name="conditions" label="List of Conditions" type="data_collection" collection_type="list:list" />
            </when>
        </conditional>
    </xml>
    <token name="@CONDITION_SAMPLES@"><![CDATA[
#if $in_type.set_in_type in ['BAM', 'CXB']
    #for $condition in $in_type.conditions:
        #set samples = ','.join([str($sample) for $sample in $condition.samples])
        '$samples'
    #end for
#elif $in_type.set_in_type == 'CONDITION_LIST'
    #for $sample in $in_type.conditions:
        '$sample'
    #end for
#elif $in_type.set_in_type == 'CONDITION_REPLICATE_LIST'
    #for $condition_list in $in_type.conditions:
        #set samples = ','.join([str($sample) for $sample in $condition_list])
        '$samples'
    #end for
#end if
    ]]></token>
    <token name="@CONDITION_LABELS@"><![CDATA[
#import re
#if $in_type.set_in_type in ['BAM', 'CXB']
    #set labels = "','".join([str($condition.name) for $condition in $in_type.conditions])
#elif $in_type.set_in_type in ['CONDITION_LIST', 'CONDITION_REPLICATE_LIST']
    #set labels = "','".join([str($condition).replace(',', '_') for $condition in $in_type.conditions.keys()])
#end if
--labels '$labels'
    ]]></token>
    <xml name="cufflinks_gtf_inputs">
        <param format="gtf" name="inputs" type="data" label="GTF file(s) produced by Cufflinks" help="" multiple="true" />
    </xml>
    <token name="@CUFFLINKS_LINK_GTF_INPUTS@"><![CDATA[
## Inputs.
#for $i, $input_file in enumerate($inputs):
    ln -s '${input_file}' input_$i &&
#end for
    ]]></token>
    <token name="@CUFFLINKS_GTF_INPUTS@"><![CDATA[
## Inputs.
#for $i, $input_file in enumerate($inputs):
    'input_$i'
#end for
    ]]></token>
    <token name="@HAS_MULTIPLE_INPUTS@">getattr(inputs, "__len__", [].__len__)() >= 2</token>

    <xml name="citations">
        <citations>
            <citation type="doi">10.1038/nbt.1621</citation>
            <yield/>
        </citations>
    </xml>

</macros>