Mercurial > repos > iuc > fur
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
