view sra_macros.xml @ 25:69ebb7f46e45 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/sra-tools commit a464017f4a599697101dbd26cf5eb902588359b5"
author iuc
date Tue, 27 Apr 2021 08:55:34 +0000
parents e08a7ad4378b
children 83c7d564b128
line wrap: on
line source

<macros>
    <token name="@VERSION@">2.11.0</token>
    <token name="@ACCESSIONS_FROM_FILE@">
        grep '^[[:space:]]*[E|S|D]RR[0-9]\{1,\}[[:space:]]*$'
    </token>
    <token name="@COMPRESS@"><![CDATA[pigz -cqp \${GALAXY_SLOTS:-1}]]></token>
    <token name="@CONFIGURE_RETRY@"><![CDATA[
        export SRA_PREFETCH_RETRIES=3 &&
        export SRA_PREFETCH_ATTEMPT=1 &&
    ]]></token>
    <token name="@COPY_CONFIGFILE@"><![CDATA[
    mkdir -p ~/.ncbi &&
    cp '$user_settings_mkfg' ~/.ncbi/user-settings.mkfg &&
    vdb-config -s "/repository/user/main/public/root=\$PWD" &&
    vdb-config -s "/repository/user/ad/public/root=\$PWD" &&
    vdb-config -s "/repository/user/default-path=\$PWD" &&
    vdb-config -s "/repository/user/main/public/root=\$PWD" &&
    vdb-config -s /http/timeout/read=10000 &&
    ]]></token>
    <token name="@SET_ACCESSIONS@"><![CDATA[
        #if $input.input_select=="file_list":
            #if $input.file_list.is_of_type('sra_manifest.tabular'):
                #set $column = $input.file_list.unsanitized.metadata.column_names.index('Run') + 1
                cut -f $column '$input.file_list'| tail -n +2 > "manifest" &&
            #else
                ln -s '$input.file_list' manifest &&
            #end if
            for acc in `@ACCESSIONS_FROM_FILE@ manifest` ;
            do (
        #elif $input.input_select=="accession_number":
            acc='${input.accession}' && [ ""\$acc" =~ ^[E|S|D]RR[0-9]{1,}$" ] && (
        #end if
    ]]></token>

    <macro name="requirements">
        <requirements>
            <requirement type="package" version="@VERSION@">sra-tools</requirement>
            <requirement type="package" version="1.18.222">awscli</requirement>
            <requirement type="package" version="2.5">pigz</requirement>
            <yield/>
        </requirements>
    </macro>
    <macro name="configfile_hack">
        <configfiles>
            <configfile name="user_settings_mkfg"><![CDATA[
/LIBS/GUID = "3cdc38d0-711a-49ce-9536-f544eaf69eec"
/config/default = "false"
/libs/temp_cache = "."
/tools/prefetch/download_to_cache = "false"
            ]]></configfile>
        </configfiles>
    </macro>
    <macro name="sanitize_query">
        <sanitizer>
            <valid initial="string.printable">
                <remove value=" "/>
                <remove value="&apos;" />
            </valid>
            <mapping initial="none">
                <add source=" " target=""/>
                <add source="&apos;" target="&apos;&quot;&apos;&quot;&apos;" />
            </mapping>
        </sanitizer>
    </macro>
    <macro name="input_conditional">
        <conditional name="input">
            <param name="input_select" type="select" label="select input type">
                <option value="accession_number">SRR accession</option>
                <option value="file_list">List of SRA accession, one per line</option>
                <option value="file">SRA archive in current history</option>
            </param>
            <when value="accession_number">
                <param name="accession" type="text" label="Accession" help="Must start with SRR, DRR or ERR, e.g. SRR925743, ERR343809">
                    <expand macro="sanitize_query" />
                    <validator type="empty_field" message="An accession is required"/>
                </param>
            </when>
            <when value="file">
                <param format="sra" name="file" type="data" label="sra archive"/>
            </when>
            <when value="file_list">
                <param format="txt" name="file_list" type="data" label="sra accession list"/>
            </when>
        </conditional>
    </macro>
    <macro name="alignments">
        <param name="alignments" type="select" value="both" label="Output aligned or unaligned reads" help="Output reads according to their alignment status." argument="--aligned and --unaligned">
            <option value="both">both</option>
            <option value="aligned">aligned only</option>
            <option value="unaligned">unaligned only</option>
        </param>
    </macro>
    <macro name="minMapq">
        <param name="minMapq" type="integer" min="0" max="42" label="Minimum mapping quality" optional="true" help="Minimum mapping quality an alignment has to have, to be dumped." argument="--min-mapq"/>
    </macro>
    <macro name="region">
        <param format="text" name="region" type="text" label="aligned region" optional="true"
               help="Filter by position on genome. Can be either accession.version (ex: NC_000001.10), chromosome name (ex:chr1 or 1) or 1-based coordinates (ex: chr1:1-101)." argument="--aligned-region"/>
    </macro>
    <macro name="matepairDist">
        <param name="matepairDist" type="text" label="mate-pair distance (from-to|unknown)" optional="true"
               help="Filter by distance between matepairs. Use unknown to find matepairs split between the references. Use from-to (inclusive) to limit matepair distance on the same reference" argument="--matepair-distance"/>
    </macro>
    <macro name="citation">
        <citations>
            <citation type="doi">10.1093/nar/gkq1019</citation>
        </citations>
    </macro>
    <token name="@ACCESSION_LIST_HOWTO@">
-----

**How to generate accession lists**

 1. Go to **SRA Run Selector** by clicking this link_
 2. Find the study you are interested in by typing a search term within the **Search** box. This can be a word (e.g., *mitochondria*) or an accession you have gotten from a paper (e.g., *SRR1582967*).
 3. Once you click on the study of interest you will see the number of datasets in this study within the **Related SRA data** box
 4. Click on the Runs number
 5. On the page that would open you will see **Accession List** button
 6. Clicking of this button will produce a file that you will need to upload into Galaxy and use as the input to this tool.
    </token>

    <token name="@SRATOOLS_ATTRRIBUTION@">
Galaxy tool wrapper originally written by Matt Shirley (mdshw5 at gmail.com).
Wrapper modified by Philip Mabon ( philip.mabon at phac-aspc.gc.ca ).
Tool dependencies, clean-up and bug-fixes by Marius van den Beek (m.vandenbeek at gmail.com).
For support and bug reports contact Matt Shirley or Marius van den Beek or go to https://github.com/galaxyproject/tools-iuc.
    </token>
</macros>