Mercurial > repos > tduigou > seq_from_db
diff seq_form_db.xml @ 0:934050a8037e draft
planemo upload for repository https://github.com/brsynth/galaxytools/tree/main/tools commit af45e5e0e81535ab0423b0bcff8b5b220bb9b4d0-dirty
| author | tduigou |
|---|---|
| date | Thu, 17 Jul 2025 09:34:14 +0000 |
| parents | |
| children | 54e716c11b71 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/seq_form_db.xml Thu Jul 17 09:34:14 2025 +0000 @@ -0,0 +1,222 @@ +<tool id="seq_form_db" name="Get sequences Data From DB" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09"> + <description>Import fragment's data from an accessible DB and export it as .gb files</description> + <macros> + <token name="@VERSION_SUFFIX@">1</token> + <token name="@TOOL_VERSION@">0.2.0</token> + </macros> + <requirements> + <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[ + mkdir 'outdir' && + python '$__tool_directory__/get_db_info.py' + --input '$input' + --use_json_paramers '$json_use.use_json_paramers' + #if not $json_use.use_json_paramers: + --sequence_column '$json_use.sequence_column' + --annotation_columns '$json_use.annotation_columns' + --db_uri '$json_use.db_uri' + --table '$json_use.table' + --fragment_column '$json_use.fragment_column' + #else: + --json_conf '$json_use.json_conf' + #end if + --output 'outdir' + ]]></command> + <inputs> + <param name="input" type="data" format="csv" label="Input CSV File" /> + <conditional name="json_use"> + <param name="use_json_paramers" type="boolean" checked='false' label="Use parameters from JSON" help="extract parameters from json file" /> + <when value="false"> + <param name="table" type="text" label="DB Table Name" optional="false" /> + <param name="sequence_column" type="text" label="DB Column Contains Sequence For ganbank File" optional="false" /> + <param name="annotation_columns" type="text" label="DB Column Contains Annotation For Ganbank File" optional="false" /> + <param name="fragment_column" type="text" label="DB IDs Column Name" optional="false" /> + <param name="db_uri" type="text" label="DB Connection URI" help="postgresql://user_name:password@host:port/path/to/database" optional="false" /> + </when> + <when value="true"> + <param name="json_conf" type="data" format='json' label="DB config as a json file" help="JSON file specifying the database URI, table name and the column names for annotation and sequence data" optional="false" /> + </when> + </conditional> + </inputs> + <outputs> + <collection name="output_gb" type="list" label="GenBank Files collection" > + <discover_datasets pattern="(?P<name>.*).gb" format="genbank" directory="outdir" /> + </collection> + </outputs> + <tests> + <!--manual parameters--> + <test> + <param name="input" value="2-step-golden_gate_plan.csv" /> + <conditional name="json_use"> + <param name='use_json_paramers' value='false' /> + <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" /> + </conditional> + <output_collection name="output_gb" type="list" count="12"> + <element name="part_A"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_B"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_C"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_D"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_E"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_F"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_G"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_H"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_I"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_J"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_K"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_L"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + </output_collection> + </test> + <!--JSON parameters--> + <test> + <param name="input" value="2-step-golden_gate_plan.csv" /> + <conditional name="json_use"> + <param name="use_json_paramers" value='true'/> + <param name="json_conf" value="test-JSON.json" /> + </conditional> + <output_collection name="output_gb" type="list" count="12"> + <element name="part_A"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_B"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_C"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_D"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_E"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_F"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_G"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_H"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_I"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_J"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_K"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + <element name="part_L"> + <assert_contents> + <has_n_lines min="10" /> + </assert_contents> + </element> + </output_collection> + </test> + </tests> + + <help><![CDATA[ +Get sequences Data From DB +========================== + +Implemented a system to generate GenBank (.gb) files for ADN fragments in CSV input, based on data retrieved from an accessible database via URI requests. + +**Parameters**: +--------------- +* **Use parameters from JSON**: Yes/No parameter to ask user if he wants to set parameters manually or using JSON file. +* **Input CSV File**: Assembly CSV contains construct IDs in the first column and their corresponding fragments in the following columns. (Without Header) +* **DB Table Name**: Name of the target table in the database. +* **DB Column Contains Sequence For ganbank File**: Column storing sequence data, expected to start with "ORIGIN". +* **DB Column Contains Annotation For Ganbank File**: Column containing annotation data, starting with "FEATURES" and including "LOCUS" information. Other metadata is optional. +* **DB IDs Column Name**: Column holding the unique fragment IDs. +* **DB Connection URI**: URI used to connect to the database (e.g., postgresql://user_name:pass@localhost:5432/test_fragments_db). + ]]></help> + <citations> + <citation type="bibtex"> + @unpublished{seq_form_db + author = {Ramiz Khaled}, + title = {{seq_form_db}}, + url = {https://github.com/brsynth/}, + } + </citation> + </citations> +</tool>
