view cuff_macros.xml @ 5:3d8071386667 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tool_collections/cufflinks/cuffdiff commit a0b0845a9d1b3e7ecdeacd1e606133617e3918bd"
author iuc
date Tue, 16 Jun 2020 16:57:20 +0000
parents e20b05db0839
children 986b6cbd0f59
line wrap: on
line source

<macros>
  <token name="@VERSION@">2.2.1</token>

  <xml name="requirements">
    <requirements>
      <requirement type="package" version="2.2.1">cufflinks</requirement>
      <yield />
    </requirements>
  </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">
            <repeat name="conditions" title="Condition" min="2">
                <param name="name" label="Condition name" type="text"/>
                <param name="samples" label="Replicates" type="data" format="sam,bam" multiple="true"/>
            </repeat>
        </when>
        <when value="CXB">
            <repeat name="conditions" title="Condition" min="2">
                <param name="name" label="Condition name" type="text"/>
                <param name="samples" label="Replicates" type="data" format="cxb" multiple="true"/>
            </repeat>
        </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@">
            #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@">
            #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( map(lambda x: re.sub('[^\w\-_]', '_', x), $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@">
            ## 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>