view crispr_studio.xml @ 0:7346619ad005 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/crispr_studio/ commit d746438ee434696f2867394eca7a93d6ec704320"
author iuc
date Wed, 14 Aug 2019 11:37:55 -0400
parents
children a227c05e0a55
line wrap: on
line source

<?xml version="1.0"?>
<tool id="crispr_studio" name="CRISPR Studio" version="1+galaxy0">
    <description>
        facilitate and accelerate CRISPR array visualization from a GFF3 file generated with CRISPRDetect
    </description>
    <requirements>
        <requirement type="package" version="1">crispr_studio</requirement>
    </requirements>
    <command detect_errors="exit_code">
        <![CDATA[
        ln -s '${input_data}' ./infile &&

        #if $rerun.r == '-r':
            ln -s '${rerun.prev_final}' infile.fasta_fasta36.spacermatch.mcl.final &&
            ln -s '${rerun.prev_svg}' infile.fasta_fasta36.spacermatch.mcl.svg &&
        #end if

        CRISPR_Studio

        #if $order.s_order == 'File':
            -l '${order.isolate_list}'
        #else:
            -s '${order.s_order}'
        #end if

        $f
        $n
        $gU
        $gS
        $rerun.r

        #if $cut_off:
            -c '${cut_off}'
        #end if

        -i ./infile
    ]]></command>
    <inputs>
        <param name="input_data" type="data" format="gff" label="Input sequences" help="gff (GFF3) files are valid"/>
        <conditional name="order">
            <param name='s_order' type="select" label="Order of Isolates" help="Determine order of isolates in figure (-s)">
                <option value="DistMatrix" selected="True">DistMatrix (Order extracted from a distance matrix based on the similarity of the arrays in the isolates.)</option>
                <option value="CRISPRDetect">CRISPRDetect (Order in GFF File)</option>
                <option value="File">By File</option>
            </param>
            <when value="DistMatrix">
            </when>
            <when value="CRISPRDetect">
            </when>
            <when value="File">
                 <param name="isolate_list" type="data" format="txt" optional="true" label="List of Isolates to show" help="Generate the figure with the subset of isolates listed in the file"/>
            </when>
        </conditional>
        <param name="n" argument="-n" truevalue="-n" falsevalue="" type="boolean" label="Show the size of the spacers over the boxed diamonds?" help="We recommend to use this option only for experimental analysis of the data"/>
        <param argument="-f" truevalue="-f" falsevalue="" type="boolean" label="Skip the verification of the fasta file generated from the GFF file?" help="The verification is mainly based on the length of the spacer sequences. If a spacer is 1.5 time shorter or longer than the average spacer size of the dataset, a warning is raised and the script stops (Verification is ran by default)."/>
        <param name="cut_off" type="integer" optional="true" label="Score cutoff for pairing of the spacers"/>
        <param argument="-gU" truevalue="-gU" falsevalue="" type="boolean" label="Gray out unique?" help="The unique spacers will be grayed"/>
        <param argument="-gS" truevalue="-gS" falsevalue="" type="boolean" label="Gray out similar?" help="The conserved spacers will be grayed"/>
        <conditional name="rerun">
            <param argument="-r" type="select" label="Change spacer colour?" help="Use this option to keep the same color attributed to the spacer during a previous analysis">
                <option value="">No</option>
                <option value="-r">Yes</option>
            </param>
            <when value="-r">
                <param name="prev_final" format="tabular" label="Previous spacer.mcl.final" type="data" help="Input a previous .final file you want to retain the colour from"/>
                <param name="prev_svg" format="svg" label="Previous SVG" type="data" help="Input a previous .svg file you want to retain the colour from"/>
            </when>
            <when value="">
            </when>
        </conditional>
        <param name="outputs" type="select" multiple="true" display="checkboxes" label="Additional outputs">
             <option value="out_fasta36">Fasta36</option>
             <option value="out_spacermatch">Spacermatch</option>
             <option value="out_spacermatch_mcl">Spacermatch MCL</option>
             <option value="out_spacermatch_mcl_col">Spacermatch MCL Col</option>
        </param>

    </inputs>
    <outputs>
        <data name="output_fasta" format="tabular" label="${tool.name} on ${on_string}: fasta output" from_work_dir="infile.fasta"/>
        <data name="output_fasta36" format="tabular" label="${tool.name} on ${on_string}: fasta_fast36 output" from_work_dir="infile.fasta_fasta36">
            <filter>outputs and 'out_fasta36' in outputs</filter>
        </data>
        <data name="output_spacermatch" format="tabular" label="${tool.name} on ${on_string}: spacermatch output" from_work_dir="infile.fasta_fasta36.spacermatch">
           <filter>outputs and 'out_spacermatch' in outputs</filter>
        </data>
        <data name="output_spacermatch_mcl" format="tabular" label="${tool.name} on ${on_string}: spacermatch.mcl output" from_work_dir="infile.fasta_fasta36.spacermatch.mcl">
            <filter>outputs and 'out_spacermatch_mcl' in outputs</filter>
        </data>
        <data name="output_spacermatch_mcl_col" format="tabular" label="${tool.name} on ${on_string}: spacermatch.mcl.col output" from_work_dir="infile.fasta_fasta36.spacermatch.mcl.col">
            <filter>outputs and 'out_spacermatch_mcl_col' in outputs</filter>
        </data>
        <data name="output_spacermatch_mcl_final" format="tabular" label="${tool.name} on ${on_string}: spacematch.mcl.final output" from_work_dir="infile.fasta_fasta36.spacermatch.mcl.final"/>
        <data name="output_svg" format="svg" label="${tool.name} on ${on_string}: SVG output" from_work_dir="infile.fasta_fasta36.spacermatch.mcl.svg"/>
    </outputs>
    <tests>
        <test expect_num_outputs="7">
            <param name="input_data" value="crispr_test.gff" ftype="gff"/>
            <param name="outputs" value="out_fasta36,out_spacermatch,out_spacermatch_mcl_col,out_spacermatch_mcl"/>
            <output name="output_fasta" file="crispr_test.gff.fasta"/>
            <output name="output_fasta36">
                <assert_contents>
                    <has_text text="NC_010473"/>
                </assert_contents>
            </output>
            <output name="output_spacermatch" file="crispr_test.gff.fasta_fasta36.spacermatch"/>
            <output name="output_spacermatch_mcl" file="crispr_test.gff.fasta_fasta36.spacermatch.mcl"/>
            <output name="output_spacermatch_mcl_col">
                <assert_contents>
                    <has_text text="NC_010473"/>
                </assert_contents>
            </output>
            <output name="output_spacermatch_mcl_final">
                <assert_contents>
                    <has_text text="NC_010473"/>
                </assert_contents>
            </output>
            <output name="output_svg">
                <assert_contents>
                    <has_text text="svg"/>
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="3">
            <param name="input_data" value="crispr_test_adv.gff" ftype="gff"/>
            <param name="isolate_list" value="test_isolates.txt" ftype="txt"/>
            <param name="n" value="true"/>
            <output name="output_fasta" file="crispr_test_adv.gff.fasta"/>
            <output name="output_spacermatch_mcl_final">
                <assert_contents>
                    <has_text text="NC_010473"/>
                </assert_contents>
            </output>
            <output name="output_svg">
                <assert_contents>
                    <has_text text="svg"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[

**What it does**

CRISPRStudio is a program developed to facilitate and accelerate CRISPR array visualization.
It works by first comparing spacers sequence homology in a dataset, then assigning a two-color-code
to each cluster of spacers and finally writing an svg file, which can be opened in graphics vector editor.

    ]]>
    </help>
    <citations>
        <citation type="bibtex">
@UNPUBLISHED{moineaulab2018,
author = {moineaulab},
title = {CRISPRStudio: Program developed to facilitate and accelerate CRISPR array visualization},
year = {2018},
url = {https://github.com/moineaulab/CRISPRStudio},
}
        </citation>
    </citations>
</tool>