comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:934050a8037e
1 <tool id="seq_form_db" name="Get sequences Data From DB" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09">
2 <description>Import fragment's data from an accessible DB and export it as .gb files</description>
3 <macros>
4 <token name="@VERSION_SUFFIX@">1</token>
5 <token name="@TOOL_VERSION@">0.2.0</token>
6 </macros>
7 <requirements>
8 <requirement type="package" version="2.2.3">pandas</requirement>
9 <requirement type="package" version="2.0.40">sqlalchemy</requirement>
10 <requirement type="package" version="2.9.9">psycopg2</requirement>
11 <requirement type="package" version="1.85">biopython</requirement>
12 </requirements>
13 <command detect_errors="exit_code"><![CDATA[
14 mkdir 'outdir' &&
15 python '$__tool_directory__/get_db_info.py'
16 --input '$input'
17 --use_json_paramers '$json_use.use_json_paramers'
18 #if not $json_use.use_json_paramers:
19 --sequence_column '$json_use.sequence_column'
20 --annotation_columns '$json_use.annotation_columns'
21 --db_uri '$json_use.db_uri'
22 --table '$json_use.table'
23 --fragment_column '$json_use.fragment_column'
24 #else:
25 --json_conf '$json_use.json_conf'
26 #end if
27 --output 'outdir'
28 ]]></command>
29 <inputs>
30 <param name="input" type="data" format="csv" label="Input CSV File" />
31 <conditional name="json_use">
32 <param name="use_json_paramers" type="boolean" checked='false' label="Use parameters from JSON" help="extract parameters from json file" />
33 <when value="false">
34 <param name="table" type="text" label="DB Table Name" optional="false" />
35 <param name="sequence_column" type="text" label="DB Column Contains Sequence For ganbank File" optional="false" />
36 <param name="annotation_columns" type="text" label="DB Column Contains Annotation For Ganbank File" optional="false" />
37 <param name="fragment_column" type="text" label="DB IDs Column Name" optional="false" />
38 <param name="db_uri" type="text" label="DB Connection URI" help="postgresql://user_name:password@host:port/path/to/database" optional="false" />
39 </when>
40 <when value="true">
41 <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" />
42 </when>
43 </conditional>
44 </inputs>
45 <outputs>
46 <collection name="output_gb" type="list" label="GenBank Files collection" >
47 <discover_datasets pattern="(?P&lt;name&gt;.*).gb" format="genbank" directory="outdir" />
48 </collection>
49 </outputs>
50 <tests>
51 <!--manual parameters-->
52 <test>
53 <param name="input" value="2-step-golden_gate_plan.csv" />
54 <conditional name="json_use">
55 <param name='use_json_paramers' value='false' />
56 <param name="table" value="sample" />
57 <param name="sequence_column" value="sequence" />
58 <param name="annotation_columns" value="annotation" />
59 <param name="fragment_column" value="fragment" />
60 <param name="db_uri" value="postgresql://postgres:RK17@localhost:5432/test_fragments_db" />
61 </conditional>
62 <output_collection name="output_gb" type="list" count="12">
63 <element name="part_A">
64 <assert_contents>
65 <has_n_lines min="10" />
66 </assert_contents>
67 </element>
68 <element name="part_B">
69 <assert_contents>
70 <has_n_lines min="10" />
71 </assert_contents>
72 </element>
73 <element name="part_C">
74 <assert_contents>
75 <has_n_lines min="10" />
76 </assert_contents>
77 </element>
78 <element name="part_D">
79 <assert_contents>
80 <has_n_lines min="10" />
81 </assert_contents>
82 </element>
83 <element name="part_E">
84 <assert_contents>
85 <has_n_lines min="10" />
86 </assert_contents>
87 </element>
88 <element name="part_F">
89 <assert_contents>
90 <has_n_lines min="10" />
91 </assert_contents>
92 </element>
93 <element name="part_G">
94 <assert_contents>
95 <has_n_lines min="10" />
96 </assert_contents>
97 </element>
98 <element name="part_H">
99 <assert_contents>
100 <has_n_lines min="10" />
101 </assert_contents>
102 </element>
103 <element name="part_I">
104 <assert_contents>
105 <has_n_lines min="10" />
106 </assert_contents>
107 </element>
108 <element name="part_J">
109 <assert_contents>
110 <has_n_lines min="10" />
111 </assert_contents>
112 </element>
113 <element name="part_K">
114 <assert_contents>
115 <has_n_lines min="10" />
116 </assert_contents>
117 </element>
118 <element name="part_L">
119 <assert_contents>
120 <has_n_lines min="10" />
121 </assert_contents>
122 </element>
123 </output_collection>
124 </test>
125 <!--JSON parameters-->
126 <test>
127 <param name="input" value="2-step-golden_gate_plan.csv" />
128 <conditional name="json_use">
129 <param name="use_json_paramers" value='true'/>
130 <param name="json_conf" value="test-JSON.json" />
131 </conditional>
132 <output_collection name="output_gb" type="list" count="12">
133 <element name="part_A">
134 <assert_contents>
135 <has_n_lines min="10" />
136 </assert_contents>
137 </element>
138 <element name="part_B">
139 <assert_contents>
140 <has_n_lines min="10" />
141 </assert_contents>
142 </element>
143 <element name="part_C">
144 <assert_contents>
145 <has_n_lines min="10" />
146 </assert_contents>
147 </element>
148 <element name="part_D">
149 <assert_contents>
150 <has_n_lines min="10" />
151 </assert_contents>
152 </element>
153 <element name="part_E">
154 <assert_contents>
155 <has_n_lines min="10" />
156 </assert_contents>
157 </element>
158 <element name="part_F">
159 <assert_contents>
160 <has_n_lines min="10" />
161 </assert_contents>
162 </element>
163 <element name="part_G">
164 <assert_contents>
165 <has_n_lines min="10" />
166 </assert_contents>
167 </element>
168 <element name="part_H">
169 <assert_contents>
170 <has_n_lines min="10" />
171 </assert_contents>
172 </element>
173 <element name="part_I">
174 <assert_contents>
175 <has_n_lines min="10" />
176 </assert_contents>
177 </element>
178 <element name="part_J">
179 <assert_contents>
180 <has_n_lines min="10" />
181 </assert_contents>
182 </element>
183 <element name="part_K">
184 <assert_contents>
185 <has_n_lines min="10" />
186 </assert_contents>
187 </element>
188 <element name="part_L">
189 <assert_contents>
190 <has_n_lines min="10" />
191 </assert_contents>
192 </element>
193 </output_collection>
194 </test>
195 </tests>
196
197 <help><![CDATA[
198 Get sequences Data From DB
199 ==========================
200
201 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.
202
203 **Parameters**:
204 ---------------
205 * **Use parameters from JSON**: Yes/No parameter to ask user if he wants to set parameters manually or using JSON file.
206 * **Input CSV File**: Assembly CSV contains construct IDs in the first column and their corresponding fragments in the following columns. (Without Header)
207 * **DB Table Name**: Name of the target table in the database.
208 * **DB Column Contains Sequence For ganbank File**: Column storing sequence data, expected to start with "ORIGIN".
209 * **DB Column Contains Annotation For Ganbank File**: Column containing annotation data, starting with "FEATURES" and including "LOCUS" information. Other metadata is optional.
210 * **DB IDs Column Name**: Column holding the unique fragment IDs.
211 * **DB Connection URI**: URI used to connect to the database (e.g., postgresql://user_name:pass@localhost:5432/test_fragments_db).
212 ]]></help>
213 <citations>
214 <citation type="bibtex">
215 @unpublished{seq_form_db
216 author = {Ramiz Khaled},
217 title = {{seq_form_db}},
218 url = {https://github.com/brsynth/},
219 }
220 </citation>
221 </citations>
222 </tool>