view pbmm2.xml @ 1:f4ec47f1a8da draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/pbmm2 commit 037e03be14baed6dbb55af7830dc0e61d1a48862
author iuc
date Mon, 13 Mar 2023 11:34:01 +0000
parents 29eec6c7bab2
children 55b7b257e12f
line wrap: on
line source

<tool id="pbmm2" name="pbmm2" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>map PacBio reads to a reference genome.</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="xrefs"/>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
        ## set up files
        #set reads_fn = 'reads.' + $reads.ext
        ln -s '$reads' '$reads_fn' &&

        #if $reference_source.reference_source_selector == 'history':
            #set ref_fn = 'reference.fa'
            ln -f -s '$reference_source.ref_file' '$ref_fn' &&
        #else:
            #set ref_fn = $reference_source.ref_file.fields.path
        #end if

        ## run pbmm2
        pbmm2 align 
        -j \${GALAXY_SLOTS:-4}
        '$reads_fn' 
        '$ref_fn'
        out.aligned.bam
        --sort
    ]]></command>
    <inputs>
        <!-- from tools-iuc minimap2 wrapper -->
        <conditional name="reference_source">
            <param name="reference_source_selector" type="select" label="Will you select a reference genome from your history or use a built-in index?">
                <option value="cached">Use a built-in genome index</option>
                <option value="history">Use a genome from history and build index</option>
            </param>
            <when value="cached">
                <param name="ref_file" type="select" label="Using reference genome" help="Select genome from the list">
                    <options from_data_table="all_fasta">
                        <filter type="sort_by" column="2" />
                        <validator type="no_options" message="No reference genomes are available" />
                    </options>
                    <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/>
                </param>
            </when>
            <when value="history">
                <param name="ref_file" type="data" format="fasta" label="Use the following dataset as the reference sequence" help="You can upload a FASTA sequence to the history and use it as reference" />
            </when>
        </conditional>
        <param type="data" name="reads" format="fastq,fastq.gz,fasta,fasta.gz,bam" label="reads" help="PacBio reads in BAM or [gzipped] fasta or fastq format." />
    </inputs>
    <outputs>
        <data name="bam" format="bam" from_work_dir="out.aligned.bam" label="${tool.name} on ${on_string} (BAM file)" />
    </outputs>
    <tests>
        <!-- test1: basic test -->
        <test expect_num_outputs="1">
            <param name="reference_source_selector" value="history" />
            <param name="ref_file" ftype="fasta" value="bnd-ref.fasta"/>
            <param name="reads" value="bnd.bam"/>
            <output name="bam">
                <assert_contents>
                    <has_size value="2778" delta="200" />
                </assert_contents>
            </output>
        </test>
        <!-- test2: map some reads for use with pbgcpp -->
        <test expect_num_outputs="1">
            <param name="reference_source_selector" value="history" />
            <param name="ref_file" ftype="fasta" value="All4mer.V2.01_Insert.fa"/>
            <param name="reads" value="out.aligned_subreads.bam"/>
            <output name="bam">
                <assert_contents>
                    <has_size value="539464" delta="50000" />
                </assert_contents>
            </output>
        </test>
        <!-- test3: cached genome -->
        <test>
            <param name="reference_source_selector" value="cached" />
            <param name="ref_file" value="bnd-ref"/>
            <param name="reads" value="bnd.bam"/>
            <output name="bam">
                <assert_contents>
                    <has_size value="2778" delta="200" />
                </assert_contents>
            </output>
        </test>
    </tests>
        <help><![CDATA[
**What it does**

A minimap2 wrapper for PacBio data: native PacBio data in ⇨ native
PacBio BAM out.

--------------

pbmm2 is Pacific Biosciences’ wrapper for
`minimap2 <https://github.com/lh3/minimap2>`__\ ’s C API. It supports
native PacBio input. Output can be used directly for polishing using
`pbgcpp <root?tool_id=pbgcpp>`__.

**Input**: PacBio reads in bam or [gzipped] fasta or fastq format.
**NOTE**: to use the output of pbmm2 for pbgcpp (GenomicConsensus), you
have to provide PacBio CLR reads in bam format. You can use pbmm2 to
align other types of PacBio reads in [gzipped] fasta or fastq format,
but you can’t use the output for pbgcpp (GenomicConsensus).

**Output**: A **sorted** PacBio BAM file, suitable for use with
pbgcpp (previously known as GenomicConsensus).

        ]]></help>
    <expand macro="creator"/>
</tool>