view hisat2_macros.xml @ 14:526b91fbde60 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hisat2 commit 5d57e4f6fdaed9e042c334fbe76f3f41ceb4fbc2
author iuc
date Wed, 19 Jul 2017 04:57:27 -0400
parents f4fa77189eb0
children d5fe9aead222
line wrap: on
line source

<?xml version="1.0"?>
<macros>
    <xml name="single_paired_selector">
        <param name="paired_selector" type="select" label="Single end or paired reads?">
            <option value="paired">Paired reads</option>
            <option value="single">Unpaired reads</option>
        </param>
    </xml>
    <xml name="paired_input_conditional" tokens="ftype">
        <conditional name="paired">
            <expand macro="single_paired_selector" />
            <when value="paired">
                <conditional name="collection" label="Data structure">
                    <param name="collection_selector" type="select" label="Input is structured as" help="If a list of pairs is selected, HISAT2 will run in batch mode over each pair in the list, producing a list of output bam files">
                        <option value="files">Individual files</option>
                        <option value="collection">Pair collection or list of pairs</option>
                    </param>
                    <when value="collection">
                        <param name="reads" type="data_collection" collection_type="paired" format="@FTYPE@" label="Paired reads" />
                    </when>
                    <when value="files">
                        <param name="forward" type="data" format="@FTYPE@" label="Forward reads" />
                        <param name="reverse" type="data" format="@FTYPE@" label="Reverse reads" />
                    </when>
                </conditional>
                <expand macro="paired_end_conditional" />
                <expand macro="paired_end_output" />
            </when>
            <when value="single">
                <param name="reads" type="data" format="@FTYPE@" label="Reads" />
                <param name="unaligned_file" argument="--un-gz" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" />
                <param name="aligned_file" argument="--al-gz" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write aligned reads (in fastq format) to separate file(s)" />
            </when>
        </conditional>
    </xml>
    <xml name="paired_end_conditional">
        <conditional name="paired_end_options">
            <param name="paired_end_options_selector" type="select" label="Paired-end options">
                <option value="defaults">Use default values</option>
                <option value="advanced">Specify paired-end parameters</option>
            </param>
            <when value="defaults" />
            <when value="advanced">
                <param name="no_mixed" type="boolean" truevalue="--no-mixed" falsevalue="" label="Disable alignments of individual mates" help="By default, when hisat cannot find a concordant or discordant alignment for a pair, it then tries to find alignments for the individual mates. This option disables that behavior" />
                <param name="no_discordant" type="boolean" truevalue="--no-discordant" falsevalue="" label="Disable alignments of individual mates" help="By default, hisat looks for discordant alignments if it cannot find any concordant alignments. A discordant alignment is an alignment where both mates align uniquely, but that does not satisfy the paired-end constraints (--fr/--rf/--ff, -I, -X). This option disables that behavior" />
                <param name="skip_reverse" type="boolean" truevalue="--norc" falsevalue="" label="Skip reference strand of reference" help="If --norc is specified, hisat will not attempt to align unpaired reads against the reverse-complement (Crick) reference strand. In paired-end mode, --nofw and --norc pertain to the fragments; i.e. specifying --nofw causes hisat to explore only those paired-end configurations corresponding to fragments from the reverse-complement (Crick) strand" />
            </when>
        </conditional>
    </xml>
    <xml name="paired_end_output">
        <param name="unaligned_file" argument="--un-conc-gz" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write unaligned reads (in fastq format) to separate file(s)" />
        <param name="aligned_file" argument="--al-conc-gz" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write aligned reads (in fastq format) to separate file(s)" />
    </xml>
    <token name="@paired_end_options@">
        #if str( $input_format.paired.unaligned_file ) == "true":
            #if $compressed == "GZ":
                --un-conc-gz '${output_unaligned_reads_l}'
            #else if $compressed == "BZ2":
                --un-conc-bz2 '${output_unaligned_reads_l}'
            #else:
                --un-conc '${output_unaligned_reads_l}'
            #end if
        #end if
        #if str( $input_format.paired.aligned_file ) == "true":
            #if $compressed == "GZ":
                --al-conc-gz '${output_aligned_reads_l}'
            #else if $compressed == "BZ2"
                --al-conc-bz2 '${output_aligned_reads_l}'
            #else:
                --al-conc '${output_aligned_reads_l}'
            #end if
        #end if
        #if str($input_format.paired.paired_end_options.paired_end_options_selector) == 'advanced':
            ${input_format.paired.paired_end_options.no_mixed}
            ${input_format.paired.paired_end_options.no_discordant}
        #end if
    </token>
    <token name="@strandedness_parameters@">
        #if str($spliced_options.spliced_options_selector) == "advanced":
            #if str($spliced_options.rna_strandness).strip() != '':
                --rna-strandness $spliced_options.rna_strandness
            #end if
        #end if
    </token>
    <token name="@FASTQGZ_SETUP@">
<![CDATA[
        #set compressed="False"
        #if str($input_format.paired.paired_selector) == 'paired':
            #if str($input_format.paired.collection.collection_selector) == 'collection':
                #if $input_format.paired.collection.reads.forward.is_of_type("fastq.gz", "fastqsanger.gz"):
                    #set read1 = "input_f.fastq.gz"
                    #set compressed = "GZ"
                #else if $input_format.paired.collection.reads.forward.is_of_type("fastq.bz2", "fastqsanger.bz2"):
                    #set read1 = "input_f.fastq.bz2"
                    #set compressed = "BZ2"
                #else:
                    #set read1 = "input_f.fastq"
                #end if
                ln -f -s '${input_format.paired.collection.reads.forward}' ${read1} &&

                #if $input_format.paired.collection.reads.reverse.is_of_type("fastq.gz", "fastqsanger.gz"):
                    #set read2 = "input_r.fastq.gz"
                    #set compressed = "GZ"
                #else if $input_format.paired.collection.reads.reverse.is_of_type("fastq.bz2", "fastqsanger.bz2"):
                    #set read2 = "input_r.fastq.bz2"
                    #set compressed = "BZ2"
                #else:
                    #set read2 = "input_r.fastq"
                #end if
                ln -f -s '${input_format.paired.collection.reads.reverse}' ${read2} &&
            #else:
                #if $input_format.paired.collection.forward.is_of_type("fastq.gz", "fastqsanger.gz"):
                    #set read1 = "input_f.fastq.gz"
                    #set compressed = "GZ"
                #else if $input_format.paired.collection.forward.is_of_type("fastq.bz2", "fastqsanger.bz2"):
                    #set read1 = "input_f.fastq.bz2"
                    #set compressed = "BZ2"
                #else:
                    #set read1 = "input_f.fastq"
                #end if
                ln -f -s '${input_format.paired.collection.forward}' ${read1} &&

                #if $input_format.paired.collection.reverse.is_of_type("fastq.gz", "fastqsanger.gz"):
                    #set read2 = "input_r.fastq.gz"
                    #set compressed = "GZ"
                #else if $input_format.paired.collection.reverse.is_of_type("fastq.bz2", "fastqsanger.bz2"):
                    #set read2 = "input_r.fastq.bz2"
                    #set compressed = "BZ2"
                #else:
                    #set read2 = "input_r.fastq"
                #end if
                ln -f -s '${input_format.paired.collection.reverse}' ${read2} &&
            #end if
        #else:
            #if $input_format.paired.reads.is_of_type("fastq.gz", "fastqsanger.gz"):
                #set read1 = "input_f.fastq.gz"
                #set compressed = "GZ"
            #else if $input_format.paired.reads.is_of_type("fastq.bz2", "fastqsanger.bz2"):
                #set read1 = "input_f.fastq.bz2"
                #set compressed = "BZ2"
            #else:
                #set read1 = "input_f.fastq"
            #end if
            ln -s '${input_format.paired.reads}' ${read1} &&
        #end if
]]>
    </token>
</macros>