changeset 0:003e5886304d draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/fur commit 24966e011387cb768be93e3aaf0de97b5fc3e5ef
author iuc
date Mon, 16 Feb 2026 12:14:40 +0000
parents
children
files fur.xml macros.xml test-data/exp_unique_regions_default.fasta test-data/exp_unique_regions_n150.fasta test-data/neighbor_0.fa test-data/target_0.fa test-data/target_1.fa
diffstat 6 files changed, 130 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fur.xml	Mon Feb 16 12:14:40 2026 +0000
@@ -0,0 +1,103 @@
+<tool id="fur" name="Fur" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
+    <description>find unique genomic regions from target and neighbor genomes</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <xrefs>
+        <xref type="bio.tools">fur</xref>
+    </xrefs>
+    <expand macro="requirements"/>
+    <version_command>fur -v</version_command>
+    <command><![CDATA[
+mkdir -p 'work/targets' 'work/neighbors' 'out' &&
+#for $target_index, $target in enumerate($t):
+    ln -s '$target' 'work/targets/target_${target_index}.fa' &&
+#end for
+
+#for $neighbor_index, $neighbor in enumerate($n):
+    ln -s '$neighbor' 'work/neighbors/neighbor_${neighbor_index}.fa' &&
+#end for
+
+makeFurDb
+    -t 'work/targets'
+    -n 'work/neighbors'
+    -d 'work/fur.db'
+    -T "\${GALAXY_SLOTS:-1}"
+    2> 'out/summary.txt' &&
+
+fur -d 'work/fur.db'
+    -w '$analysis.window_length'
+    -q '$analysis.quantile'
+    -e '$analysis.evalue'
+    -n '$analysis.min_region_length'
+    -t "\${GALAXY_SLOTS:-1}"
+    $analysis.exact_matches_only
+    $analysis.megablast_only
+    $analysis.mask_neighbors
+> 'out/unique_regions.fasta' 2>> 'out/summary.txt'
+    ]]></command>
+    <inputs>
+        <param argument="-t" type="data" multiple="true" format="fasta" label="Target genome FASTA files" help="One or more target genomes used to discover shared unique regions."/>
+        <param argument="-n" type="data" multiple="true" format="fasta" label="Neighbor genome FASTA files" help="One or more closely related neighbor genomes used for subtraction."/>
+        <section name="analysis" title="Analysis options" expanded="true">
+            <param argument="-w" name="window_length" type="integer" min="1" value="80" label="Sliding window length" help="Window size used in the first subtraction step."/>
+            <param argument="-q" name="quantile" type="float" min="0" max="1" value="0.1" label="Quantile of match length distribution" help="Lower values are more stringent in the first subtraction step."/>
+            <param argument="-e" name="evalue" type="float" min="0" value="1e-5" label="BLAST E-value" help="E-value threshold used in the final subtraction step."/>
+            <param argument="-n" name="min_region_length" type="integer" min="1" value="100" label="Minimum region length" help="Only regions with at least this many nucleotides are reported."/>
+            <param argument="-x" name="exact_matches_only" type="boolean" truevalue="-x" falsevalue="" checked="false" label="Keep only exact matches during target intersection"/>
+            <param argument="-m" name="megablast_only" type="boolean" truevalue="-m" falsevalue="" checked="false" label="Use only megablast for the final subtraction"/>
+            <param argument="-M" name="mask_neighbors" type="boolean" truevalue="-M" falsevalue="" checked="false" label="Enable masked BLAST database search" help="Recommended for mammalian genomes when masking information is available."/>
+        </section>
+    </inputs>
+    <outputs>
+        <data name="unique_regions" format="fasta" from_work_dir="out/unique_regions.fasta" label="${tool.name} on ${on_string}: unique regions"/>
+        <data name="summary" format="txt" from_work_dir="out/summary.txt" label="${tool.name} on ${on_string}: run summary"/>
+    </outputs>
+    <tests>
+        <test expect_num_outputs="2">
+            <param name="t" value="target_0.fa,target_1.fa" ftype="fasta"/>
+            <param name="n" value="neighbor_0.fa" ftype="fasta"/>
+            <output name="unique_regions" file="exp_unique_regions_default.fasta"/>
+            <output name="summary">
+                <assert_contents>
+                    <has_text text="Subtraction_2"/>
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="2">
+            <param name="t" value="target_0.fa,target_1.fa" ftype="fasta"/>
+            <param name="n" value="neighbor_0.fa" ftype="fasta"/>
+            <section name="analysis">
+                <param name="min_region_length" value="150"/>
+            </section>
+            <output name="unique_regions" file="exp_unique_regions_n150.fasta"/>
+            <output name="summary">
+                <assert_contents>
+                    <has_text text="Intersection           0"/>
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help format="markdown"><![CDATA[
+`Fur` discovers genomic regions that are shared by target genomes but absent from neighbor genomes.
+
+This wrapper runs the full Fur workflow in one step:
+
+1. Build a temporary Fur database with `makeFurDb` from target and neighbor FASTA collections.
+2. Run `fur` on that database to report unique regions.
+
+### Inputs
+
+- **Target genome FASTA files**: one or more genomes that define the group of interest.
+- **Neighbor genome FASTA files**: one or more related genomes that should not contain the marker.
+
+### Outputs
+
+- **Unique regions**: FASTA file with candidate marker regions.
+- **Run summary**: textual report from `makeFurDb` and `fur`, including per-step counts.
+
+### Notes
+- The temporary Fur database is created inside the job working directory and is not retained as an output.
+    ]]></help>
+    <expand macro="citations"/>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Mon Feb 16 12:14:40 2026 +0000
@@ -0,0 +1,18 @@
+<macros>
+    <token name="@TOOL_VERSION@">4.3</token>
+    <token name="@VERSION_SUFFIX@">0</token>
+    <token name="@PROFILE@">25.0</token>
+
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="@TOOL_VERSION@">fur</requirement>
+        </requirements>
+    </xml>
+
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.1093/bioinformatics/btab022</citation>
+            <citation type="doi">10.1093/bioadv/vbae113</citation>
+        </citations>
+    </xml>
+</macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/exp_unique_regions_default.fasta	Mon Feb 16 12:14:40 2026 +0000
@@ -0,0 +1,3 @@
+>target1_(46..184)   0
+CACTGATCGTAGCTAGTCGATGCTAGTCAGTACGTGCACTGATCGTAGCTAGTCGATGCTAGTCAGTACG
+TGCACTGATCGTAGCTAGTCGATGCTAGTCAGTACGTGCACTGATCGTAGCTAGTCGATGCTAGTCAGT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/neighbor_0.fa	Mon Feb 16 12:14:40 2026 +0000
@@ -0,0 +1,2 @@
+>neighbor1
+ATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATATAT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/target_0.fa	Mon Feb 16 12:14:40 2026 +0000
@@ -0,0 +1,2 @@
+>target1
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGTGCACTGATCGTAGCTAGTCGATGCTAGTCAGTACGTGCACTGATCGTAGCTAGTCGATGCTAGTCAGTACGTGCACTGATCGTAGCTAGTCGATGCTAGTCAGTACGTGCACTGATCGTAGCTAGTCGATGCTAGTCAGTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/target_1.fa	Mon Feb 16 12:14:40 2026 +0000
@@ -0,0 +1,2 @@
+>target2
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCACGTGCACTGATCGTAGCTAGTCGATGCTAGTCAGTACGTGCACTGATCGTAGCTAGTCGATGCTAGTCAGTACGTGCACTGATCGTAGCTAGTCGATGCTAGTCAGTACGTGCACTGATCGTAGCTAGTCGATGCTAGTCAGTGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG