view hivclustering.xml @ 0:ef842bb94d1f draft default tip

planemo upload for repository https://github.com/veg/hivclustering/ commit 7d666f963da2c5e3b17c313526cc6169f3242c3c
author iuc
date Thu, 14 Jun 2018 07:04:38 -0400
parents
children
line wrap: on
line source

<?xml version="1.0"?>
<tool id="hivclustering" name="Make inferences" version="@VERSION@.0">
    <description>on HIV-1 transmission networks using HIVClustering</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
        hivnetworkcsv --input '$input' $cluster $multiple_edges $singletons $centralities
            --threshold $threshold --exclude $exclude --triangles $triangles --format $format
            #if $contamination.contaminants != 'ignore':
                --contaminants $contamination.contaminants
                --contaminant-file '$contamination.contaminant_file'
            #end if
            #if $edges.edge_filtering != 'ignore':
                --edge-filtering $edges.edge_filtering
                --sequences '$sequences'
            #end if
            #if $uds:
                --uds '$uds'
            #end if
            #if $edi:
                --edi '$edi'
            #end if
            #if $old_edi:
                --old_edi '$old_edi'
            #end if
            #if $resistance:
                --resistance '$resistance'
            #end if
            #if $attributes:
                --attributes '$attributes'
            #end if
            #if $filter:
                --filter '$filter'
            #end if
            --json > hivcluster.json
        ]]>
    </command>
    <inputs>
        <param argument="--input" type="data" format="csv" multiple="True" label="Input file with inferred links"/>
        <conditional name="contamination">
            <param argument="--contaminants" type="select" label="How to treat contamination">
                <option value="ignore" selected="True">Do nothing</option>
                <option value="report">Report</option>
                <option value="remove">Remove</option>
            </param>
            <when value="ignore"/>
            <when value="report">
                <param name="contaminant_file" argument="--contaminant-file" type="data" format="tabular" label="Input file with contaminant IDs"/>
            </when>
            <when value="remove">
                <param name="contaminant_file" argument="--contaminant-file" type="data" format="tabular" label="Input file with contaminant IDs"/>
            </when>
        </conditional>
        <conditional name="edges">
            <param name="edge_filtering" argument="--edge-filtering" type="select" label="Compute edge support and mark edges">
                <option value="ignore" selected="True">Do not mark</option>
                <option value="report">For display</option>
                <option value="remove">For removal</option>
            </param>
            <when value="ignore"/>
            <when value="report">
                <param argument="--sequences" type="data" format="fasta" multiple="True" label="Input multi-sequence alignment"/>
            </when>
            <when value="remove">
                <param argument="--sequences" type="data" format="fasta" multiple="True" label="Input multi-sequence alignment"/>
            </when>
        </conditional>
        <param argument="--uds" type="data" format="csv" optional="True" label="Input file with UDS data"/>
        <param argument="--edi" type="data" format="json" optional="True" label="Input JSON with clinical information"/>
        <param argument="--old_edi" type="data" format="csv" optional="True" label="Legacy EDI dates in CSV format"/>
        <param argument="--resistance" type="data" format="csv" optional="True" label="Resistance annotation in JSON format"/>
        <param argument="--attributes" type="data" format="csv" optional="True" label="Input CSV with node attributes"/>
        <param argument="--filter" type="data" format="text" optional="True" label="File with IDs to cluster, one per line"/>
        <param argument="--format" type="select" label="Sequence ID format">
            <option value="AEH">AEH</option>
            <option value="LANL">LANL</option>
            <option value="plain">plain</option>
        </param>
        <param argument="--cluster" type="boolean" truevalue="--cluster hivcluster.csv" falsevalue="" label="Output a CSV file with cluster assignments for each sequence"/>
        <param name="multiple_edges" argument="--multiple-edges" type="boolean" truevalue="--multiple-edges" falsevalue="" label="Permit multiple edges to link the same pair of nodes in the network"/>
        <param argument="--singletons" type="boolean" truevalue="--singletons" falsevalue="" label="Include singletons in output"/>
        <param argument="--centralities" type="boolean" truevalue="--centralities" falsevalue="" label="Output a CSV file with node centralities"/>
        <param argument="--threshold" type="float" value="0.015" label="Only count edges where the distance is less than this threshold"/>
        <param argument="--exclude" type="integer" value="1959" label="Only consider sequences isolated after this year"/>
        <param argument="--triangles" type="integer" value="65536" label="Maximum number of triangles to consider in each filtering pass"/>
    </inputs>
    <outputs>
        <data name="graph" from_work_dir="hivcluster.json" format="hivtrace"/>
    </outputs>
    <tests>
        <test>
            <param name="input" value="hivclustering-in1.csv" ftype="csv"/>
            <param name="format" value="plain"/>
            <param name="threshold" value="0.8"/>
            <param name="json" value="True"/>
            <output name="graph" ftype="hivtrace">
                <assert_contents>
                    <has_text text="Cluster sizes"/>
                </assert_contents>
            </output>
        </test>
        <test>
            <param name="input" value="hivclustering-in2.csv" ftype="csv"/>
            <param name="format" value="plain"/>
            <param name="threshold" value="0.8"/>
            <param name="json" value="True"/>
            <output name="graph" ftype="hivtrace">
                <assert_contents>
                    <has_text text="Cluster sizes"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
HIVClustering
-------------

A python library that makes inferences on HIV-1 transmission networks.
        ]]></help>
    <expand macro="citations"/>
</tool>