view pear.xml @ 3:b4c6f054210a draft default tip

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/pear commit 6e869b3e13ed7b012b270f14fce812613642e5f2"
author iuc
date Mon, 04 Apr 2022 08:31:45 +0000
parents 2f804526f5fd
children
line wrap: on
line source

<tool id="iuc_pear" name="Pear" version="@TOOL_VERSION@.@VERSION_SUFFIX@" profile="20.09">
    <description>Paired-End read merger</description>
    <macros>
        <token name="@TOOL_VERSION@">0.9.6</token>
        <token name="@VERSION_SUFFIX@">2</token>
        <xml name="format_action">
            <actions>
                <conditional name="library.type">
                    <when value="paired">
                        <action type="format">
                            <option type="from_param" name="library.forward" param_attribute="ext" />
                        </action>
                    </when>
                    <when value="paired_collection">
                        <action type="format">
                            <option type="from_param" name="library.input_collection" param_attribute="forward.ext" />
                        </action>
                    </when>
                </conditional>
            </actions>
        </xml>
    </macros>
    <xrefs>
        <xref type="bio.tools">pear</xref>
    </xrefs>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">pear</requirement>
    </requirements>
    <stdio>
        <exit_code range="1:" />
        <exit_code range=":-1" />
        <regex match="Error:" />
        <regex match="Exception:" />
    </stdio>
    <command>
<![CDATA[
    pear
        #if str( $library.type ) == "paired":
            -f "$library.forward"
            -r "$library.reverse"
            #if $library.forward.is_of_type( 'fastqillumina' ):
                --phred-base 64
            #else:
                --phred-base 33
            #end if
        #else
            ## prepare collection
            -f "$library.input_collection.forward"
            -r "$library.input_collection.reverse"
            #if $library.input_collection.forward.is_of_type( 'fastqillumina' ):
                --phred-base 64
            #else:
                --phred-base 33
            #end if
        #end if

        --output pear
        --p-value $pvalue
        --min-overlap $min_overlap
        #if int($max_assembly_length) > 0:
            --max-asm-length $max_assembly_length
        #end if
        --min-asm-length $min_assembly_length
        --min-trim-length $min_trim_length
        --quality-theshold $quality_threshold
        --max-uncalled-base $max_uncalled_base
        --test-method $test_method
        --empirical-freqs $empirical_freqs
        -j "\${GALAXY_SLOTS:-8}"
        --score-method $score_method
        --cap $cap
        $nbase
]]>
    </command>
    <inputs>
        <conditional name="library">
            <param name="type" type="select" label="Dataset type">
              <option value="paired">Paired-end</option>
              <option value="paired_collection">Paired-end Dataset Collection</option>
            </param>
            <when value="paired">
                <param name="forward" type="data" format="fastqillumina,fastqsanger"
                    label="Name of file that contains the forward paired-end reads" help="-f" />
                <param name="reverse" type="data" format="fastqillumina,fastqsanger"
                    label="Name of file that contains the reverse paired-end reads" help="-r" />
            </when>
            <when value="paired_collection">
                <param name="input_collection" format="fastqillumina,fastqsanger"
                    type="data_collection" collection_type="paired"
                    label="FASTQ Paired Dataset" help="Nucleotide-space: Must have PHRED-scaled quality values. (-f and -r)" />
            </when>
        </conditional>

        <!-- optional -->
        <param name="pvalue" type="float" value="0.01" min="0" optional="true" max="1" label="Specify a p-value for the statistical test"
            help="If the computed p-value of a possible assembly exceeds the specified p-value then the paired-end read will not be assembled. Setting 1.0 disables the test. (--p-value)" />

        <param name="min_overlap" type="integer" value="10" optional="true" label="Minimum overlap size"
            help="The minimum overlap may be set to 1 when the statistical test is used. However, further restricting the minimum overlap size to a proper value may reduce false-positive assembles. (--min-overlap)" />

        <param name="max_assembly_length" type="integer" value="0" optional="true" label="Maximum possible length of the assembled sequences"
            help="Setting this value to 0 disables the restriction and assembled sequences may be arbitrary long. (--max-assembly-length)" />

        <param name="min_assembly_length" type="integer" value="50" optional="true" label="Minimum possible length of the assembled sequences"
            help="Setting this value to 0 disables the restriction and assembled sequences may be arbitrary short. (--min-assembly-length)" />

        <param name="min_trim_length" type="integer" value="1" optional="true" label="Minimum length of reads after trimming the low quality part"
            help="See option -q. (--min-trim-length)" />

        <param name="quality_threshold" type="integer" value="0" optional="true" label="Quality score threshold for trimming the low quality part of a read"
                help="If the quality scores of two consecutive bases are strictly less than the specified threshold, the rest of the read will be trimmed. (--quality-threshold)" />

        <param name="max_uncalled_base" type="float" value="1.0" min="0" optional="true" max="1" label="Maximal proportion of uncalled bases in a read"
            help="Setting this value to 0 will cause PEAR to discard all reads containing uncalled bases. The other extreme setting is 1 which causes PEAR to process all reads independent on the number of uncalled bases. (--max-uncalled-base)" />

        <param name="cap" type="integer" value="40" optional="true" label="Specify  the upper bound for the resulting quality score"
            help="If set to zero, capping is disabled. (--cap)" />

        <param name="test_method" type="select" label="Type of statistical test" help="(--test-method)">
            <option value="1" selected="true">Given the minimum allowed overlap, test using the highest OES (1)</option>
            <option value="2">Use the acceptance probability (2)</option>
        </param>

        <param name="empirical_freqs" type="boolean" truevalue="-e" falsevalue="" checked="false"
            label="Disable empirical base frequencies" help="(--empirical-freqs)" />
        <param name="nbase" type="boolean" truevalue="--nbase" falsevalue="" checked="false"
            label="Use N base if uncertain" help="When  merging a base-pair that consists of two non-equal bases out of which none is degenerate, set the merged base to N and use the highest quality score of the two bases. (--nbase)" />

        <param name="score_method" type="select" label="Scoring method" help="(--score-method)">
            <option value="1">OES with +1 for match and -1 for mismatch</option>
            <option value="2" selected="true">Assembly score (AS) use +1 for match and -1 for mismatch multiplied by base quality scores</option>
            <option value="3">Ignore quality scores and use +1 for a match and -1 for a mismatch</option>
        </param>

        <param name="outputs" type="select" optional="false" multiple="true" label="Output files">
            <option value="assembled" selected="true">Assembled reads</option>
            <option value="unassembled_forward">Forward unassembled reads</option>
            <option value="unassembled_reverse">Reverse unassembled reads</option>
            <option value="discarded">Discarded reads</option>
        </param>
    </inputs>
    <outputs>
        <data name="assembled_reads" from_work_dir="pear.assembled.fastq" label="${tool.name} on ${on_string}: Assembled reads">
            <expand macro="format_action"/>
            <filter>'assembled' in outputs</filter>
        </data>
        <data format="auto" name="unassembled_forward_reads" from_work_dir="pear.unassembled.forward.fastq" label="${tool.name} on ${on_string}: Unassembled forward reads">
            <expand macro="format_action"/>
            <filter>'unassembled_forward' in outputs</filter>
        </data>
        <data format="auto" name="unassembled_reverse_reads" from_work_dir="pear.unassembled.reverse.fastq" label="${tool.name} on ${on_string}: Unassembled reverse reads">
            <expand macro="format_action"/>
            <filter>'unassembled_reverse' in outputs</filter>
        </data>
        <data format="auto" name="discarded_reads" from_work_dir="pear.discarded.fastq" label="${tool.name} on ${on_string}: Discarded reads">
            <expand macro="format_action"/>
            <filter>'discarded' in outputs</filter>
        </data>
    </outputs>
    <tests>
        <test expect_num_outputs="2">
            <conditional name="library">
                <param name="type" value="paired"/>
                <param name="forward" value="forward.fastq" ftype="fastqsanger" />
                <param name="reverse" value="reverse.fastq" ftype="fastqsanger" />
            </conditional>
            <param name="min_overlap" value="10" />
            <param name="min_assembly_length" value="50" />
            <param name="cap" value="0" />
            <param name="outputs" value="assembled,unassembled_forward" />
            <output name="assembled_reads" file="pear_assembled_results1.fastq" ftype="fastqsanger"/>
            <output name="unassembled_forward_reads" file="pear_unassembled_forward_results1.fastq" ftype="fastqsanger"/>
        </test>
        <!-- same test as before using collection input and fastqillumina 
             (even if it isn't) .. therefore only loose check of outputs -->
        <test expect_num_outputs="2">
            <conditional name="library">
                <param name="type" value="paired_collection"/>
                <param name="input_collection">
                    <collection type="paired">
                        <element name="forward" value="forward.fastq" ftype="fastqillumina" />
                        <element name="reverse" value="reverse.fastq" ftype="fastqillumina" />
                    </collection>
                </param>
            </conditional>
            <param name="min_overlap" value="10" />
            <param name="min_assembly_length" value="50" />
            <param name="cap" value="0" />
            <param name="outputs" value="assembled,unassembled_forward" />
            <output name="assembled_reads" ftype="fastqillumina">
                <assert_contents>
                    <has_line_matching expression="@.*"/>
                </assert_contents>
            </output>
            <output name="unassembled_forward_reads" ftype="fastqillumina">
                <assert_contents>
                    <has_line_matching expression="@.*"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help>
<![CDATA[

**What it does**

PEAR_ is an ultrafast, memory-efficient and highly accurate pair-end read merger.
PEAR evaluates all possible paired-end read overlaps and without requiring the target fragment
size as input. In addition, it implements a statistical test for minimizing false-positive results.
Together with a highly optimized implementation, it can merge millions of paired end reads within a couple of minutes
on a standard desktop computer.

For more information please look at the documentation_ and `github repository`_.

.. _PEAR: https://sco.h-its.org/exelixis/web/software/pear/
.. _documentation: https://sco.h-its.org/exelixis/web/software/pear/doc.html
.. _github repository: https://github.com/tseemann/PEAR

Please note that PEAR is released under the
[CC Attribution-NonCommercial-ShareAlike](https://creativecommons.org/licenses/by-nc-sa/3.0/) license
and that commercial partners should obtain a license.

]]>
  </help>
  <citations>
      <citation type="doi">10.1093/bioinformatics/btt593</citation>
  </citations>
</tool>