diff kmindex_query.xml @ 1:5ff85ac22974 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/kmindex commit 6e165c3acaf1cda32e0c51a72b89eca059a93e3a
author iuc
date Wed, 11 Mar 2026 11:36:47 +0000
parents 58820a4096c1
children
line wrap: on
line diff
--- a/kmindex_query.xml	Fri Feb 06 10:19:30 2026 +0000
+++ b/kmindex_query.xml	Wed Mar 11 11:36:47 2026 +0000
@@ -1,4 +1,4 @@
-<tool id="kmindex_query" name="kmindex query" version="@VERSION@" profile="@PROFILE@">
+<tool id="kmindex_query" name="kmindex query" version="@TOOL_VERSION@+galaxy1" profile="@PROFILE@">
     <description>query k-mer index with sequencing data</description>
     <macros>
         <import>macros.xml</import>
@@ -8,7 +8,7 @@
     <expand macro="requirements"/>
     <expand macro="version_command"/>
     <command detect_errors="exit_code"><![CDATA[
-        ## Run kmindex query
+        ## Run kmindex query2
         #import re
         #set $identifier = str($fastx.element_identifier)
         #set $safe_name = re.sub('[^\w\-\.]', '_', $identifier)
@@ -24,44 +24,32 @@
         #end if
         #if $db_opts.db_opts_selector == "histdb"
             #set INDEX = $db_opts.histdb.extra_files_path
-        #else:
+        #else
             #set INDEX = $db_opts.kmindex.fields.path
         #end if
         ln -s '$fastx' '$safe_name' &&
-        kmindex query
+        kmindex query2
             --index '$INDEX'
             --fastx '$safe_name'
             --zvalue $zvalue
             --threshold $threshold
             --output query_output
             --format $format
-            #if $single_query:
-                --single-query '$single_query'
-            #end if
-
             $fast
-            --aggregate
             --threads "\${GALAXY_SLOTS:-1}"
             --verbose '$verbose'
-        &&
-        ## Copy appropriate output based on format and aggregation
-        #if $format == 'matrix':
-            cp query_output/abundance_test.tsv '$output'
-        #else
-            cp query_output/all_results.json '$output' || cp query_output/*.json '$output'
-        #end if
     ]]></command>
     <inputs>
         <conditional name="db_opts">
             <param name="db_opts_selector" type="select" label="Kmindex source">
-              <option value="histdb">From your history</option>
-              <option value="db" selected="true">Locally installed kmindex indexes</option>
+                <option value="histdb">From your history</option>
+                <option value="db" selected="true">Locally installed kmindex indexes</option>
             </param>
             <when value="histdb">
-                <param name="histdb" type="data" format="kmindex" optional="false" multiple="false" label="Kmindex" />
+                <param name="histdb" type="data" format="kmindex" label="Kmindex" />
             </when>
             <when value="db">
-                <param name="kmindex" type="select" optional="false" multiple="false" label="kmindex">
+                <param name="kmindex" type="select" label="kmindex">
                     <options from_data_table="kmindex"/>
                 </param>
             </when>
@@ -72,18 +60,19 @@
         <param argument="--format" type="select" label="Output format" help="Format of the output file">
             <option value="json" selected="true">JSON</option>
             <option value="matrix">Matrix</option>
-            <option value="json_vec">JSON vector</option>
         </param>
-        <param argument="--single-query" type="text" value="" optional="true" label="Single query identifier" help="Optional: treat all sequences as a single query with this identifier"/>
         <param argument="--fast" type="boolean" truevalue="--fast" falsevalue="" checked="false" label="Fast mode" help="Keep more pages in cache for faster queries"/>
         <expand macro="common_params"/>
     </inputs>
     <outputs>
-        <data name="output" format="json" label="${tool.name} on ${on_string}: results">
-            <change_format>
-                <when input="format" value="matrix" format="tsv"/>
-            </change_format>
-        </data>
+        <collection name="output_matrix" type="list" label="${tool.name} on ${on_string}: results (matrix)">
+            <filter>format == 'matrix'</filter>
+            <discover_datasets pattern="(?P&lt;designation&gt;.*)\.tsv$" directory="query_output" format="tabular"/>
+        </collection>
+        <collection name="output" type="list" label="${tool.name} on ${on_string}: results (json)">
+            <filter>format != 'matrix'</filter>
+            <discover_datasets pattern="(?P&lt;designation&gt;.*)\.json$" directory="query_output" format="json"/>
+        </collection>
     </outputs>
     <tests>
         <!-- Test 1: Basic JSON query -->
@@ -94,7 +83,9 @@
             </conditional>
             <param name="fastx" value="query1.fasta"/>
             <param name="format" value="json"/>
-            <output name="output" ftype="json" value="expected_query_t1.json" />
+            <output_collection name="output" type="list" count="1">
+                <element name="abundance_test" ftype="json" value="expected_query_t1.json" />
+            </output_collection>
         </test>
         <!-- Test 2: Matrix output format -->
         <test expect_num_outputs="1">
@@ -104,26 +95,11 @@
             </conditional>
             <param name="fastx" value="query1.fasta.gz"/>
             <param name="format" value="matrix"/>
-            <output name="output" ftype="tsv">
-                <assert_contents>
-                    <has_line_matching expression="abundance_test\tMySuperIndex"/>
-                    <has_line_matching expression="abundance_test:query_seq1\t5"/>
-                    <has_line_matching expression="abundance_test:query_seq2\t6"/>
-                    <has_line_matching expression="abundance_test:query_seq3\t2"/>
-                </assert_contents>
-            </output>
+            <output_collection name="output_matrix" type="list" count="1">
+                <element name="abundance_test" ftype="tabular" value="expected_query2_index1.tsv" />
+            </output_collection>
         </test>
-        <!-- Test 3: Json vector output format -->
-        <test expect_num_outputs="1">
-            <conditional name="db_opts">
-                <param name="db_opts_selector" value="histdb"/>
-                <param name="histdb" ftype="kmindex" class="Directory" value="index1" />
-            </conditional>
-            <param name="fastx" value="query2.fastq"/>
-            <param name="format" value="json_vec"/>
-            <output name="output" ftype="json"  value="expected_query_t3.json" />
-        </test>
-        <!-- Test 4: Query with threshold and z-value -->
+        <!-- Test 3: Query with threshold and z-value -->
         <test expect_num_outputs="1">
             <conditional name="db_opts">
                 <param name="db_opts_selector" value="histdb"/>
@@ -133,37 +109,69 @@
             <param name="threshold" value="0.5"/>
             <param name="zvalue" value="5"/>
             <param name="format" value="json"/>
-            <output name="output" ftype="json"  value="expected_query_t4.json" />
+            <output_collection name="output" type="list" count="1">
+                <element name="abundance_test" ftype="json" value="expected_query_t4.json" />
+            </output_collection>
         </test>
-        <!-- Test 5: query pre-built configured indices -->
+        <!-- Test 4: query pre-built configured index1 -->
         <test expect_num_outputs="1">
             <conditional name="db_opts">
                 <param name="db_opts_selector" value="db"/>
-                <param name="kmindex" ftype="kmindex" value="index1" />
+                <param name="kmindex" value="index1" />
+            </conditional>
+            <param name="fastx" value="query1.fasta"/>
+            <param name="format" value="json"/>
+            <output_collection name="output" type="list" count="1">
+                <element name="abundance_test" ftype="json" value="expected_query_t1.json" />
+            </output_collection>
+        </test>
+        <!-- Test 5: query pre-built configured index2 -->
+        <test expect_num_outputs="1">
+            <conditional name="db_opts">
+                <param name="db_opts_selector" value="db"/>
+                <param name="kmindex" value="index2" />
             </conditional>
             <param name="fastx" value="query1.fasta"/>
             <param name="format" value="json"/>
-            <output name="output" ftype="json" value="expected_query_t1.json" />
+            <output_collection name="output" type="list" count="1">
+                <element name="test_index" ftype="json" value="expected_query_t6.json" />
+            </output_collection>
         </test>
-        <!-- Test 6: query pre-built configured indices -->
+        <!-- Test 6: using register index, JSON output -->
         <test expect_num_outputs="1">
             <conditional name="db_opts">
                 <param name="db_opts_selector" value="db"/>
-                <param name="kmindex" ftype="kmindex" value="index2" />
+                <param name="kmindex" ftype="kmindex" value="register" />
             </conditional>
             <param name="fastx" value="query1.fasta"/>
             <param name="format" value="json"/>
-            <output name="output" ftype="json" value="expected_query_t6.json" />
+            <output_collection name="output" type="list" count="2">
+                <element name="index1" ftype="json" value="expected_query2_index1.json" />
+                <element name="index2" ftype="json" value="expected_query2_index2.json" />
+            </output_collection>
+        </test>
+        <!-- Test 7: using register index, matrix output -->
+        <test expect_num_outputs="1">
+            <conditional name="db_opts">
+                <param name="db_opts_selector" value="db"/>
+                <param name="kmindex" ftype="kmindex" value="register" />
+            </conditional>
+            <param name="fastx" value="query1.fasta"/>
+            <param name="format" value="matrix"/>
+            <output_collection name="output_matrix" type="list" count="2">
+                <element name="index1" ftype="tabular" value="expected_query2_index1_register.tsv" />
+                <element name="index2" ftype="tabular" value="expected_query2_index2_register.tsv" />
+            </output_collection>
         </test>
     </tests>
     <help><![CDATA[
 **What it does**
 
-kmindex query searches a pre-built k-mer index to find the percentage of shared k-mers between query sequences and indexed samples.
+kmindex query2 searches a pre-built k-mer index to find the percentage of shared k-mers between query sequences and indexed samples.
 
 **Input**
 
-- A k-mer index (created by kmindex build)
+- A k-mer index (created by kmindex build) or kmindex register
 - Query sequences in FASTA or FASTQ format (can be gzipped)
 
 **Output**
@@ -172,8 +180,6 @@
 
 - **JSON**: Detailed results in JSON format
 - **Matrix**: Tab-separated matrix of query-sample similarities
-- **JSON vector**: JSON vector format for downstream processing
-
 
 **Parameters**