changeset 0:f11370aba286 draft

planemo upload for repository https://github.com/genouest/galaxy-tools/tree/master/tools/logol commit 9ab3e793622c860adb69b1272927620abd106e73
author genouest
date Wed, 06 Jun 2018 10:35:32 -0400
parents
children 08a6fd2620b3
files logol.xml test-data/logol_results.zip test-data/logol_results_multi_format.zip test-data/primer.fasta test-data/primer.lgd test-data/primer.logol
diffstat 6 files changed, 262 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/logol.xml	Wed Jun 06 10:35:32 2018 -0400
@@ -0,0 +1,143 @@
+<?xml version="1.0"?>
+<tool id="logol_wrapper" name="Logol" version="1.7.8">
+    <description>Biological patterns matching</description>
+    <requirements>
+        <requirement type="package" version="1.7.8=1">logol</requirement>
+        <requirement type="package" version="6.0">unzip</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+
+        ## generate properties file
+        echo -e "minSplitSize=2000000\nmaxResultSize=0\nmaxMatchSize=0\nworkingDir=.\ndir.result=.\nmaxSpacerLength=0\nmaxLength=0\nminLength=2\nparentStrategy=1\nnbProcessor=1\nnbJobs=1\nmaxSolutions=100\nminTreeIndex=2\nsuffix.tool = 2" > logol.properties
+
+        &&
+
+        LogolMultiExec.sh
+        #if str( $options_input.options_input_selector ) == "model":
+            -m ${options_input.m}
+        #else
+            -g ${options_input.g}
+        #end if
+
+        -${type}
+        -s ${s}
+        -max ${max}
+
+        ${fasta}
+        ${gff}
+        ${all}
+
+        -maxmatchsize ${maxmatchsize}
+        -maxspacer ${maxspacer}
+        -lmax ${lmax}
+        -lmin ${lmin}
+
+        ${forcesplit}
+
+        -conf logol.properties
+
+        -out 'logol_results.zip'
+
+        > ${log_file}
+
+        &&
+
+        unzip logol_results.zip
+
+    ]]></command>
+
+    <inputs>
+        <conditional name="options_input">
+            <param name="options_input_selector" type="select" label="Logol pattern type">
+                <option value="model" selected="True">Logol pattern model</option>
+                <option value="grammar">Logol pattern grammar</option>
+            </param>
+            <when value="model">
+                <param argument="-m" type="data" format="txt" label="Logol pattern model" help="Pattern model designed by LogolDesigner" />
+            </when>
+            <when value="grammar">
+                <param argument="-g" type="data" format="txt" label="Logol pattern grammar" help="Logol Grammar file" />
+            </when>
+        </conditional>
+
+        <param name="type" type="select" format="text">
+            <label>Type of personal data file</label>
+            <option value="dna">DNA</option>
+            <option value="rna">RNA</option>
+            <option value="protein">PROTEIN</option>
+        </param>
+
+        <param argument="-s" type="data" format="fasta" label="Read from file" help="Fasta sequence to analyse" />
+
+        <param argument="-max" type="integer" value="100" label="Maximum number of result matches"/>
+        <param argument="-fasta" type="boolean" truevalue="-fasta" falsevalue="" label="Add fasta conversion to result archive" checked="False" value="False"/>
+        <param argument="-gff" type="boolean" truevalue="-gff" falsevalue="" label="Add gff conversion to result archive" checked="False" value="False"/>
+        <param argument="-all" type="boolean" truevalue="-all" falsevalue="" label="Search sequence in both directions" checked="False" value="False"/>
+        <param argument="-maxmatchsize" type="integer" value="0" label="Maximum size of a match (0 is no limit)"/>
+        <param argument="-maxspacer" type="integer" value="0" label="Maximum size of a spacer (0 is no limit)"/>
+        <param argument="-lmax" type="integer" value="0" label="Maximum size of a word (0 is no limit)"/>
+        <param argument="-lmin" type="integer" value="2" label="Minimum size of a word"/>
+        <param argument="-forcesplit" truevalue="-forcesplit" falsevalue="" type="boolean" label="Allow sequence cut (if several models are defined in rule, all models will look for pattern in same sequence range" checked="False" value="False"/>
+        <param name="zip" type="boolean" label="Generate zip archive with all files" checked="False" value="False" help="Zip file contains all xml and fasta/gff files if conversion is activated"/>
+
+    </inputs>
+    <outputs>
+        <data format="txt" name="log_file" label="Log : ${tool.name} on ${on_string}" />
+        <data format="zip" name="logol_results_archive" from_work_dir="logol_results.zip" label="Compressed files : ${tool.name} on ${on_string}">
+            <filter>zip</filter>
+        </data>
+        <collection name="logol_results" type="list" label="XML files: ${tool.name} on ${on_string}">
+            <discover_datasets pattern="(?P&lt;designation&gt;.+)\.xml$" ext="xml" visible="false" />
+        </collection>
+        <collection name="logol_results_gff" type="list" label="GFF files: ${tool.name} on ${on_string}">
+            <discover_datasets pattern="(?P&lt;designation&gt;.+)\.xml\.gff" ext="gff" visible="false" />
+            <filter>gff</filter>
+        </collection>
+        <collection name="logol_results_fasta" type="list" label="Fasta files: ${tool.name} on ${on_string}">
+            <discover_datasets pattern="(?P&lt;designation&gt;.+)\.xml\.fasta" ext="fasta" visible="false" />
+            <filter>fasta</filter>
+        </collection>
+    </outputs>
+    <tests>
+        <test>
+            <param name="s" value="primer.fasta" />
+            <conditional name="options_input">
+                <param name="options_input_selector" value="grammar"/>
+                <param name="g" value="primer.logol" />
+            </conditional>
+            <param name="zip" value="True" />
+            <output name="logol_results_archive" compare="sim_size" file="logol_results.zip" />
+        </test>
+        <test>
+            <param name="s" value="primer.fasta" />
+            <conditional name="options_input">
+                <param name="options_input_selector" value="grammar"/>
+                <param name="g" value="primer.logol" />
+            </conditional>
+            <param name="gff" value="True" />
+            <param name="fasta" value="True" />
+            <param name="forcesplit" value="True" />
+            <param name="all" value="True" />
+            <param name="zip" value="True" />
+            <output name="logol_results_archive" compare="sim_size" file="logol_results_multi_format.zip" />
+        </test>
+    </tests>
+
+    <help><![CDATA[
+
+Logol is a pattern matching grammar language and a set of tools to search a pattern in a sequence (nucleic or proteic).
+
+It includes a Linux command line tool and a graphical designer.
+
+http://logol.genouest.org/web/app.php/logol
+
+-------------------------------------------------------------------------
+
+Software is free and open source, under CeCILL license
+
+
+    ]]></help>
+    <citations>
+          <citation type="doi">10.1007/978-3-319-09192-1_4</citation>
+    </citations>
+</tool>
Binary file test-data/logol_results.zip has changed
Binary file test-data/logol_results_multi_format.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/primer.fasta	Wed Jun 06 10:35:32 2018 -0400
@@ -0,0 +1,2 @@
+>sample sequence
+ccaaaacgtacgtttttttccccccccaaaacgtacgtttttttcccccc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/primer.lgd	Wed Jun 06 10:35:32 2018 -0400
@@ -0,0 +1,113 @@
+<mxGraphModel>
+  <root>
+    <Workflow label="MyWorkflow" description="" href="" id="0">
+      <mxCell/>
+    </Workflow>
+    <Layer label="Default Layer" id="1">
+      <mxCell parent="0"/>
+    </Layer>
+    <Start label="model1" description="" name="model1" parameters="" id="7">
+      <mxCell style="actor" parent="1" vertex="1">
+        <mxGeometry x="130" y="160" width="32" height="32" as="geometry"/>
+      </mxCell>
+    </Start>
+    <Variable label="acgt" description="find acgt" overlap="" morphism="" data="" neg_begin="" stg_begin="" neg_end="" stg_end="" neg_size="" stg_optimalsize="" stg_size="" stg_content="&quot;acgt&quot;" stg_save="" neg_cost="" stc_cost="" neg_dist="" stc_dist="" id="8">
+      <mxCell style="rounded" parent="1" vertex="1">
+        <mxGeometry x="260" y="170" width="72" height="32" as="geometry"/>
+      </mxCell>
+    </Variable>
+    <End label="Terminate" description="" href="" id="9">
+      <mxCell style="symbol;image=images/symbols/terminate.png" parent="1" vertex="1">
+        <mxGeometry x="750" y="170" width="32" height="32" as="geometry"/>
+      </mxCell>
+    </End>
+    <Edge label="" description="" id="10">
+      <mxCell parent="1" source="7" target="8" edge="1">
+        <mxGeometry relative="1" as="geometry"/>
+      </mxCell>
+    </Edge>
+    <Rule label="rule" description="" id="13">
+      <mxCell style="ellipse" parent="1" vertex="1">
+        <mxGeometry x="150" y="70" width="32" height="32" as="geometry"/>
+      </mxCell>
+    </Rule>
+    <Model label="model" description="" parameters="" overlap="" name="model1" id="14">
+      <mxCell style="ellipse" parent="1" vertex="1">
+        <mxGeometry x="270" y="70" width="72" height="32" as="geometry"/>
+      </mxCell>
+    </Model>
+    <End label="Terminate" description="" href="" id="15">
+      <mxCell style="symbol;image=images/symbols/terminate.png" parent="1" vertex="1">
+        <mxGeometry x="470" y="70" width="32" height="32" as="geometry"/>
+      </mxCell>
+    </End>
+    <Edge label="" description="" id="16">
+      <mxCell parent="1" source="13" target="14" edge="1">
+        <mxGeometry relative="1" as="geometry"/>
+      </mxCell>
+    </Edge>
+    <Edge label="" description="" id="17">
+      <mxCell parent="1" source="14" target="15" edge="1">
+        <mxGeometry relative="1" as="geometry"/>
+      </mxCell>
+    </Edge>
+    <Variable label="acgtwitherror" description="acgt with errors" overlap="" negdata="" morphism="" data="" neg_begin="" stg_begin="" neg_end="" stg_end="" neg_size="" stg_optimalsize="" stg_size="" stg_content="&quot;acgt&quot;" stg_save="" neg_cost="" stc_cost="1" neg_dist="" stc_dist="" stc_alphabet="" stc_alphabetpercent="" id="18">
+      <mxCell style="rounded" vertex="1" parent="1">
+        <mxGeometry x="470" y="170" width="72" height="32" as="geometry"/>
+      </mxCell>
+    </Variable>
+    <Spacer label="Spacer-max10" description="" stg_begin="" stg_end="" stg_size="1,10" id="19">
+      <mxCell style="rhombus" vertex="1" parent="1">
+        <mxGeometry x="380" y="170" width="32" height="32" as="geometry"/>
+      </mxCell>
+    </Spacer>
+    <Task label="repeat" description="" nb_repeat="3" overlap="" spacer="" id="20">
+      <mxCell style="symbol;image=images/symbols/fork.png" vertex="1" parent="1">
+        <mxGeometry x="620" y="270" width="32" height="32" as="geometry"/>
+      </mxCell>
+    </Task>
+    <Variable label="acgtloop" description="" overlap="" negdata="" morphism="" data="" neg_begin="" stg_begin="" neg_end="" stg_end="" neg_size="" stg_optimalsize="" stg_size="" stg_content="&quot;acgt&quot;" stg_save="" neg_cost="" stc_cost="1" neg_dist="" stc_dist="" stc_alphabet="" stc_alphabetpercent="" id="21">
+      <mxCell style="rounded" vertex="1" parent="1">
+        <mxGeometry x="610" y="170" width="72" height="32" as="geometry"/>
+      </mxCell>
+    </Variable>
+    <Edge label="" description="" id="22">
+      <mxCell edge="1" parent="1" source="8" target="19">
+        <mxGeometry relative="1" as="geometry"/>
+      </mxCell>
+    </Edge>
+    <Edge label="" description="" id="23">
+      <mxCell edge="1" parent="1" source="19" target="18">
+        <mxGeometry relative="1" as="geometry"/>
+      </mxCell>
+    </Edge>
+    <Edge label="" description="" id="24">
+      <mxCell edge="1" parent="1" source="18" target="21">
+        <mxGeometry relative="1" as="geometry"/>
+      </mxCell>
+    </Edge>
+    <Edge label="" description="" id="25">
+      <mxCell edge="1" parent="1" source="21" target="9">
+        <mxGeometry relative="1" as="geometry"/>
+      </mxCell>
+    </Edge>
+    <Edge label="" description="" id="26">
+      <mxCell edge="1" parent="1" source="21" target="20">
+        <mxGeometry relative="1" as="geometry">
+          <Array as="points">
+            <mxPoint x="700" y="240"/>
+          </Array>
+        </mxGeometry>
+      </mxCell>
+    </Edge>
+    <Edge label="" description="" id="27">
+      <mxCell edge="1" parent="1" source="20" target="21">
+        <mxGeometry relative="1" as="geometry">
+          <Array as="points">
+            <mxPoint x="580" y="250"/>
+          </Array>
+        </mxGeometry>
+      </mxCell>
+    </Edge>
+  </root>
+</mxGraphModel>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/primer.logol	Wed Jun 06 10:35:32 2018 -0400
@@ -0,0 +1,4 @@
+def:{
+}
+mod1()==>"aaa","acgt":{_R1},?R1
+mod1()==*>SEQ1