comparison swissmodel_api.xml @ 1:f09a77e52ae5 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/main/tools/swissmodel_modelling_api commit d35c7d4dbe93451605d81b8e4fea8923e78b70ae
author iuc
date Sat, 10 Jan 2026 13:17:07 +0000
parents 0c3f56c85e98
children
comparison
equal deleted inserted replaced
0:0c3f56c85e98 1:f09a77e52ae5
1 <tool name="SWISS-MODEL Modelling API" id="swissmodel_modelling_api" profile="21.05" version="2.0.0"> 1 <tool name="SWISS-MODEL Modelling API" id="swissmodel_modelling_api" profile="25.1" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@">
2 <description> 2 <description>
3 Fully automated protein structure homology-modelling 3 Fully automated protein structure homology-modelling
4 </description> 4 </description>
5 <macros>
6 <token name="@TOOL_VERSION@">2.0.0</token>
7 <token name="@VERSION_SUFFIX@">0</token>
8 </macros>
5 <xrefs> 9 <xrefs>
6 <xref type="bio.tools">swiss_model</xref> 10 <xref type="bio.tools">swiss_model</xref>
7 </xrefs> 11 </xrefs>
8 <requirements> 12 <requirements>
9 <requirement type="package" version="3.11">python</requirement> 13 <requirement type="package" version="3.11">python</requirement>
10 <requirement type="package" version="2.32.5">requests</requirement> 14 <requirement type="package" version="2.32.5">requests</requirement>
15 <credentials name="swissmodel_api_credentials" version="1.0" label="SWISS-MODEL API Credentials" description="Credentials for accessing SWISS-MODEL API">
16 <secret name="swissmodel_api_token" inject_as_env="SWISSMODEL_API_TOKEN" optional="false" label="SWISS-MODEL API token" description="Token to authenticate to the SWISS-MODEL API. Can be managed on your https://swissmodel.expasy.org/login_page"/>
17 </credentials>
11 </requirements> 18 </requirements>
12 <command detect_errors="aggressive"><![CDATA[ 19 <command detect_errors="aggressive"><![CDATA[
13 mkdir -p 'output_dir/' 20 mkdir -p 'output_dir/'
14 && python3 '$__tool_directory__/sm_api_wrapper.py' 21 && python3 '$__tool_directory__/sm_api_wrapper.py'
15 $output_format.modelcif 22 $output_format.modelcif
25 --template-sequence '${template_sequence}' 32 --template-sequence '${template_sequence}'
26 #elif $project_type == 'usertemplate' 33 #elif $project_type == 'usertemplate'
27 --template-file '${template_file}' 34 --template-file '${template_file}'
28 #end if 35 #end if
29 '${project.project_type}' 36 '${project.project_type}'
30 '${token}' output_dir 37 output_dir
31 #if $project_type == 'alignment' 38 #if $project_type == 'alignment'
32 '${target_sequence}' 39 '${target_sequence}'
33 #else 40 #else
34 #for $i in $target_list 41 #for $i in $target_list
35 '${i.sequence}' 42 '${i.sequence}'
37 #end if 44 #end if
38 && find output_dir -type f -name '*.gz' -exec gzip -d {} + 45 && find output_dir -type f -name '*.gz' -exec gzip -d {} +
39 ]]> 46 ]]>
40 </command> 47 </command>
41 <inputs> 48 <inputs>
42 <param name="token" type="text" optional="false" label="API token">
43 <help><![CDATA[
44 Token to authenticate to the SWISS-MODEL API. Can be managed on your
45 <a href="https://swissmodel.expasy.org/login_page" target="_blank"> SWISS-MODEL account</a> page.
46 ]]></help>
47 </param>
48 <param name="project_title" type="text" value="Untitled project" optional="true" label="Project title"/> 49 <param name="project_title" type="text" value="Untitled project" optional="true" label="Project title"/>
49 <conditional name="project"> 50 <conditional name="project">
50 <param name="project_type" type="select" value="automodel" optional="false" label="Modelling setup" display="radio"> 51 <param name="project_type" type="select" value="automodel" optional="false" label="Modelling setup" display="radio">
51 <option value="automodel" selected="true">Automodel mode</option> 52 <option value="automodel" selected="true">Automodel mode</option>
52 <option value="alignment">Alignment mode</option> 53 <option value="alignment">Alignment mode</option>
138 <assert_stderr> 139 <assert_stderr>
139 <has_line line="Argument of '&lt;SEQUENCE[S]&gt;' can not be an empty"/> 140 <has_line line="Argument of '&lt;SEQUENCE[S]&gt;' can not be an empty"/>
140 </assert_stderr> 141 </assert_stderr>
141 </test> 142 </test>
142 <!-- with sequences, everything else empty, fail --> 143 <!-- with sequences, everything else empty, fail -->
143 <test expect_exit_code="2" expect_failure="true"> 144 <test expect_exit_code="1" expect_failure="true">
144 <conditional name="project"> 145 <conditional name="project">
145 <repeat name="target_list"> 146 <repeat name="target_list">
146 <param name="sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPVKVSGEVCGL"/> 147 <param name="sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPVKVSGEVCGL"/>
147 </repeat> 148 </repeat>
148 <repeat name="target_list"> 149 <repeat name="target_list">
149 <param name="sequence" value="AKGLHGFHVHEFGDNTNGCMSSGPHFNPYGKE"/> 150 <param name="sequence" value="AKGLHGFHVHEFGDNTNGCMSSGPHFNPYGKE"/>
150 </repeat> 151 </repeat>
151 </conditional> 152 </conditional>
152 <assert_stderr> 153 <assert_stderr>
153 <has_line line="Argument of '&lt;TOKEN&gt;' can not be an empty string"/> 154 <has_line line="SWISS-MODEL token is not provided in credentials!"/>
154 </assert_stderr>
155 </test>
156 <!-- sequence and token (complete automodel job), fail (no real token) -->
157 <test expect_exit_code="1" expect_failure="true">
158 <conditional name="project">
159 <repeat name="target_list">
160 <param name="sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPVKVSGEVCGL"/>
161 </repeat>
162 </conditional>
163 <param name="token" value="NOTAVALIDTOKEN"/>
164 <assert_stderr>
165 <has_line line="RuntimeError: Submitting modelling job failed (401)"/>
166 </assert_stderr> 155 </assert_stderr>
167 </test> 156 </test>
168 <!-- alignment mode tests, as few params as possible, fail --> 157 <!-- alignment mode tests, as few params as possible, fail -->
169 <test expect_exit_code="2" expect_failure="true"> 158 <test expect_exit_code="2" expect_failure="true">
170 <conditional name="project"> 159 <conditional name="project">
214 <assert_stderr> 203 <assert_stderr>
215 <has_line line="Argument of '&lt;SEQUENCE[S]&gt;' can not be an empty"/> 204 <has_line line="Argument of '&lt;SEQUENCE[S]&gt;' can not be an empty"/>
216 </assert_stderr> 205 </assert_stderr>
217 </test> 206 </test>
218 <!-- alignment mode tests, with sequence, fail --> 207 <!-- alignment mode tests, with sequence, fail -->
219 <test expect_exit_code="2" expect_failure="true"> 208 <test expect_exit_code="1" expect_failure="true">
220 <conditional name="project"> 209 <conditional name="project">
221 <param name="assembly_id" value="0"/> 210 <param name="assembly_id" value="0"/>
222 <param name="auth_asym_id" value="A"/> 211 <param name="auth_asym_id" value="A"/>
223 <param name="pdb_id" value="1AKE"/> 212 <param name="pdb_id" value="1AKE"/>
224 <param name="project_type" value="alignment"/> 213 <param name="project_type" value="alignment"/>
225 <param name="target_sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPVKVSG"/> 214 <param name="target_sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPVKVSG"/>
226 <param name="template_seqres_offset" value="0"/> 215 <param name="template_seqres_offset" value="0"/>
227 <param name="template_sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPV"/> 216 <param name="template_sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPV"/>
228 </conditional> 217 </conditional>
229 <assert_stderr> 218 <assert_stderr>
230 <has_line line="Argument of '&lt;TOKEN&gt;' can not be an empty string"/> 219 <has_line line="SWISS-MODEL token is not provided in credentials!"/>
231 </assert_stderr>
232 </test>
233 <!-- alignment mode tests, with token, fail -->
234 <test expect_exit_code="1" expect_failure="true">
235 <conditional name="project">
236 <param name="assembly_id" value="0"/>
237 <param name="auth_asym_id" value="A"/>
238 <param name="pdb_id" value="1AKE"/>
239 <param name="project_type" value="alignment"/>
240 <param name="target_sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPVKVSG"/>
241 <param name="template_seqres_offset" value="0"/>
242 <param name="template_sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPV"/>
243 </conditional>
244 <param name="token" value="NOTAVALIDTOKEN"/>
245 <assert_stderr>
246 <has_line line="RuntimeError: Submitting modelling job failed (401)"/>
247 </assert_stderr> 220 </assert_stderr>
248 </test> 221 </test>
249 <!-- usertemplate mode tests, as few params as possible, fail --> 222 <!-- usertemplate mode tests, as few params as possible, fail -->
250 <test expect_exit_code="2" expect_failure="true"> 223 <test expect_exit_code="2" expect_failure="true">
251 <conditional name="project"> 224 <conditional name="project">
255 <assert_stderr> 228 <assert_stderr>
256 <has_line line="Argument of '&lt;SEQUENCE[S]&gt;' can not be an empty"/> 229 <has_line line="Argument of '&lt;SEQUENCE[S]&gt;' can not be an empty"/>
257 </assert_stderr> 230 </assert_stderr>
258 </test> 231 </test>
259 <!-- usertemplate mode tests, with sequence, fail --> 232 <!-- usertemplate mode tests, with sequence, fail -->
260 <test expect_exit_code="2" expect_failure="true"> 233 <test expect_exit_code="1" expect_failure="true">
261 <conditional name="project"> 234 <conditional name="project">
262 <param name="project_type" value="usertemplate"/> 235 <param name="project_type" value="usertemplate"/>
263 <param name="template_file" value="model_01.pdb"/> 236 <param name="template_file" value="model_01.pdb"/>
264 <repeat name="target_list"> 237 <repeat name="target_list">
265 <param name="sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPVKVSGEVCGL"/> 238 <param name="sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPVKVSGEVCGL"/>
267 <repeat name="target_list"> 240 <repeat name="target_list">
268 <param name="sequence" value="AKGLHGFHVHEFGDNTNGCMSSGPHFNPYGKE"/> 241 <param name="sequence" value="AKGLHGFHVHEFGDNTNGCMSSGPHFNPYGKE"/>
269 </repeat> 242 </repeat>
270 </conditional> 243 </conditional>
271 <assert_stderr> 244 <assert_stderr>
272 <has_line line="Argument of '&lt;TOKEN&gt;' can not be an empty string"/> 245 <has_line line="SWISS-MODEL token is not provided in credentials!"/>
273 </assert_stderr>
274 </test>
275 <!-- usertemplate mode tests, with token, fail -->
276 <test expect_exit_code="1" expect_failure="true">
277 <conditional name="project">
278 <param name="project_type" value="usertemplate"/>
279 <param name="template_file" value="model_01.pdb"/>
280 <repeat name="target_list">
281 <param name="sequence" value="MVVKAVCVINGDAKGTVFFEQESSGTPVKVSGEVCGL"/>
282 </repeat>
283 <repeat name="target_list">
284 <param name="sequence" value="AKGLHGFHVHEFGDNTNGCMSSGPHFNPYGKE"/>
285 </repeat>
286 </conditional>
287 <param name="token" value="NOTAVALIDTOKEN"/>
288 <assert_stderr>
289 <has_line line="RuntimeError: Submitting modelling job failed (401)"/>
290 </assert_stderr> 246 </assert_stderr>
291 </test> 247 </test>
292 </tests> 248 </tests>
293 <help><![CDATA[ 249 <help><![CDATA[
294 The SWISS-MODEL Modelling API tool gives you convenient access to homology models build by `SWISS-MODEL <https://swissmodel.expasy.org>`_ via our `API <https://swissmodel.expasy.org/docs/help#modelling_api>`_. 250 The SWISS-MODEL Modelling API tool gives you convenient access to homology models build by `SWISS-MODEL <https://swissmodel.expasy.org>`_ via our `API <https://swissmodel.expasy.org/docs/help#modelling_api>`_.