diff get_DB_data.xml @ 4:61158f32e5c3 draft

planemo upload for repository https://github.com/brsynth commit 6ae809b563b40bcdb6be2e74fe2a84ddad5484ae
author tduigou
date Fri, 18 Apr 2025 09:56:13 +0000
parents 72e99f02308e
children a52626182172
line wrap: on
line diff
--- a/get_DB_data.xml	Fri Apr 11 13:22:51 2025 +0000
+++ b/get_DB_data.xml	Fri Apr 18 09:56:13 2025 +0000
@@ -8,35 +8,79 @@
         <requirement type="package" version="2.2.3">pandas</requirement>
         <requirement type="package" version="2.0.40">sqlalchemy</requirement>
         <requirement type="package" version="2.9.9">psycopg2</requirement>
+        <requirement type="package" version="1.85">biopython</requirement>
     </requirements>
     <command detect_errors="exit_code"><![CDATA[
-        python '$__tool_directory__/get_db_info.py' 
+        mkdir 'outdir' &&
+        python '$__tool_directory__/get_db_info.py'
             --input '$input' 
+            --sequence_column '$sequence_column'
+            --annotation_columns '$annotation_columns'
             --db_uri '$db_uri' 
             --table '$table' 
             --fragment_column '$fragment_column'
-            --output '$output'
+            --output 'outdir'
+            --output_missing '$output_missing'
     ]]></command>
     <inputs> 
         <param name="input" type="data" format="csv" label="Input CSV file" />
         <param name="table" type="text" label="Database Table Name" optional="false" />
+        <param name="sequence_column" type="text" label="DB column contains sequence for ganbank file" />
+        <param name="annotation_columns" type="text" label="DB column contains annotation for ganbank file" />
         <param name="fragment_column" type="text" label="Database Fragments Column Name" optional="false" />
         <param name="db_uri" type="text" label="Database Connection URI" help="postgresql+psycopg2://username:password@db_container_name:port/database" optional="false" />
     </inputs>    
     <outputs>
-        <data name="output" format="json" label="DB Annotated Fragments (json)">
+        <collection name="output_gb" type="list" label="GenBank Files collection" >
+            <discover_datasets pattern="(?P&lt;name&gt;.*).gb" format="genbank" directory="outdir" />
+        </collection>
+        <data name="output_missing" format="txt" label="DB Missing Fragments (txt)">
         </data>
     </outputs>
-    <!--python get_DB_info.py -input 'test-data/test_input.csv' -db_uri 'postgresql://postgres:RK17@localhost:5432/test_fragments_db' -table 'sample' -fragment_column 'fragment' -output 'test-data/output.json'-->
     <tests>
+    <!--python get_db_info.py -input 'test-data/test_input.csv' -sequence_column 'sequence' -annotation_column 'annotation' -db_uri 'postgresql://postgres:RK17@localhost:5432/test_fragments_db' -table 'sample' -fragment_column 'fragment' -output 'test-data/output' -output_missing 'test-data/output.txt'-->
         <test> 
             <param name="input" value="test_input.csv" />
             <param name="table" value="sample" />
+            <param name="sequence_column" value="sequence" />
+            <param name="annotation_columns" value="annotation" />
             <param name="fragment_column" value="fragment" />
             <param name="db_uri" value="postgresql://postgres:RK17@localhost:5432/test_fragments_db" />
-            <output name="output" file="output_annotations.json" ftype="json" />
+            <output_collection name="output_gb" type="list" count="4">
+                <element name="ACP10001AaCbbBS">
+                    <assert_contents>
+                     <has_n_lines min="3" />
+                    </assert_contents>
+                </element>
+                <element name="CFP10002AaCbbBS">
+                    <assert_contents>
+                     <has_n_lines min="3" />
+                    </assert_contents>
+                </element>
+                <element name="QWE10004AaCbbBS">
+                    <assert_contents>
+                     <has_n_lines min="3" />
+                    </assert_contents>
+                </element>
+                <element name="XYZ10003AaCbbBS">
+                    <assert_contents>
+                     <has_n_lines min="3" />
+                    </assert_contents>
+                </element>
+            </output_collection>
+        </test>
+     <!--python get_db_info.py -input 'test-data/test_missing_input.csv' -sequence_column 'sequence' -annotation_column 'annotation' -db_uri 'postgresql://postgres:RK17@localhost:5432/test_fragments_db' -table 'sample' -fragment_column 'fragment' -output 'test-data/output' -output_missing 'test-data/output.txt'-->
+        <test> 
+            <param name="input" value="test_missing_input.csv" />
+            <param name="table" value="sample" />
+            <param name="sequence_column" value="sequence" />
+            <param name="annotation_columns" value="annotation" />
+            <param name="fragment_column" value="fragment" />
+            <param name="db_uri" value="postgresql://postgres:RK17@localhost:5432/test_fragments_db" />
+            <output name="output_missing" file="output_annotations.txt" ftype="txt" />
         </test>
     </tests>
+    
     <help><![CDATA[
 Pick Data From DB
 ===================