view cooc_pubmut.xml @ 1:f193fef5b19d draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/cojac commit 5b54fc7af13196445abda407054e01dd3e5603c6
author iuc
date Mon, 31 Jul 2023 15:23:17 +0000
parents d04ea6b052c5
children ce8b15a55bbe
line wrap: on
line source

<tool id="cooc_pubmut" name="Cojac: pubmut" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"
      profile="@PROFILE@">
    <description>
        pretty-prints cojac mutbamscan co-occurrence results
    </description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="biotools"/>
    <expand macro="requirements">
        <requirement type="package" version="3.1.3">pandoc</requirement>
        <requirement type="package" version="6.2.1">gmp</requirement>
    </expand>
    <expand macro="version"/>
    <command detect_errors="exit_code"><![CDATA[
#if $annotations.availability == 'full':
  #set $voc_config = $annotations.voc_source
  @VOCDIR_COMMAND@
#end if
cojac cooc-pubmut
    #if $annotations.availability == 'full':
      -m voc/
    #end if
    #if $annotations.availability != 'none':
      -a '$annotations.in_amp'
    #end if
    #if $cooc_data.ext == 'json':
      -j '$cooc_data'
    #else
      -y '$cooc_data'
    #end if
    -q
    #if $out_opts.format == 'tsv':
      -o cooc-table.tsv
    #else:
      -o cooc-table.csv
      #if $out_opts.format == 'html':
        && pandoc cooc-table.csv -o cooc-table.html
      #end if
    #end if
    ]]></command>
    <inputs>
        <param name="cooc_data" type="data" format="json,yaml" label="Co-occurrence results generated by mutbamscan"
        help="The tool can work with json- or yaml-formatted output of cojac mutbamscan."/>
        <conditional name="annotations">
            <param name="availability" type="select" label="Available amplicon and lineage annotations"
            help="For best readability of its report the tool requires a per-lineage amplicon info dataset (in yaml format) produced by the mutbamscan tool and the original lineage definitions. If all you have is the per-lineage amplicon info, you can use it to obtain a nearly identical report, but cojac-internal lineage identifiers won't be translated into standard lineage names. With no available annotations a limited report can still be generated, but this is not recommended.">
                <option value="full">per-lineage amplicon info and original lineage definitions</option>
                <option value="amplicon">per-lineage amplicon info only</option>
                <option value="none">no annotations</option>
            </param>
            <when value="full">
                <param name="in_amp" type="data" format="yaml" label="Combined cojac per-amplicon lineage definitions"/>
                <expand macro="vocdir_input"/>
            </when>
            <when value="amplicon">
                <param name="in_amp" type="data" format="yaml" label="Combined per-amplicon lineage definitions"/>
            </when>
            <when value="none" />
        </conditional>
        <section name="out_opts" title="Output formatting" expanded="true">
            <param name="format" type="select" label="Type of output to produce">
                <option value="tsv">Tab-separated (TSV)</option>
                <option value="csv">Comma-separated (CSV)</option>
                <option value="html">HTML (for display in browsers)</option>
            </param>
        </section>
    </inputs>
    <outputs>
        <data name="table_tsv" format="tsv" label="${tool.name} on ${on_string}: Mutation co-occurrence (TSV table)" from_work_dir="cooc-table.tsv">
            <filter>out_opts['format'] == 'tsv'</filter>
        </data>
        <data name="table_csv" format="csv" label="${tool.name} on ${on_string}: Mutation co-occurrence (CSV table)" from_work_dir="cooc-table.csv">
            <filter>out_opts['format'] == 'csv'</filter>
        </data>
        <data name="table_html" format="html" label="${tool.name} on ${on_string}: Mutation co-occurrence (HTML)" from_work_dir="cooc-table.html">
            <filter>out_opts['format'] == 'html'</filter>
        </data>
    </outputs>
    <tests>
        <test expect_num_outputs="1">
            <param name="cooc_data" value="cooc-test111.json"/>
            <conditional name="annotations">
                <conditional name="vocdir_option">
                    <param name="choice" value="custom"/>
                    <param name="voc_file" value="omicron_ba1_mutations.yaml"/>
                </conditional>
                <param name="in_amp" value="amplicons111.yaml"/>
            </conditional>
            <output name="table_tsv" ftype="tsv">
                <assert_contents>
                    <has_text text="Amplicon 76"/>
                    <has_text text="Amplicon 81"/>
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="1">
            <param name="cooc_data" value="cooc-test111.json"/>
            <conditional name="annotations">
                <conditional name="vocdir_option">
                    <param name="choice" value="custom"/>
                    <param name="voc_file" value="omicron_ba1_mutations.yaml"/>
                </conditional>
                <param name="in_amp" value="amplicons111.yaml"/>
            </conditional>
            <section name="out_opts">
                <param name="format" value="csv"/>
            </section>
            <output name="table_csv" ftype="csv">
                <assert_contents>
                    <has_text text="Amplicon 76"/>
                    <has_text text="Amplicon 81"/>
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="1">
            <param name="cooc_data" value="cooc-test111.json"/>
            <conditional name="annotations">
                <conditional name="vocdir_option">
                    <param name="choice" value="custom"/>
                    <param name="voc_file" value="omicron_ba1_mutations.yaml"/>
                </conditional>
                <param name="in_amp" value="amplicons111.yaml"/>
            </conditional>
            <section name="out_opts">
                <param name="format" value="html"/>
            </section>
            <output name="table_html" ftype="html">
                <assert_contents>
                    <has_text text="Amplicon 76"/>
                    <has_text text="Amplicon 81"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
@HELP_HEADER@

Information about **cojac cooc-pubmut**
=======================================

The tool pretty-prints json or yaml output of cojac cooc-mutbamscan.

Hint: The output (unless you select html format) is best viewed in spreadsheet software that understands linebreaks.
    ]]></help>
    <expand macro="citations"/>
</tool>