comparison sm_api_wrapper.py @ 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
284 metavar="<PROJECT TYPE>", 284 metavar="<PROJECT TYPE>",
285 ) 285 )
286 metas = { 286 metas = {
287 "outdir": "<OUTPUT DIRECTORY>", 287 "outdir": "<OUTPUT DIRECTORY>",
288 "target_sequences": "<SEQUENCE[S]>", 288 "target_sequences": "<SEQUENCE[S]>",
289 "token": "<TOKEN>",
290 } 289 }
291 parser.add_argument(
292 "token",
293 help="Authentication token for SWISS-MODEL",
294 metavar=metas["token"],
295 )
296 parser.add_argument( 290 parser.add_argument(
297 "outdir", 291 "outdir",
298 help="Directory to store results in", 292 help="Directory to store results in",
299 metavar=metas["outdir"], 293 metavar=metas["outdir"],
300 ) 294 )
375 369
376 def _main(): 370 def _main():
377 """Run as script.""" 371 """Run as script."""
378 opts = _parse_args() 372 opts = _parse_args()
379 373
374 token = os.getenv("SWISSMODEL_API_TOKEN")
375 if not token:
376 print(
377 "SWISS-MODEL token is not provided in credentials!",
378 file=sys.stderr,
379 )
380 sys.exit(1)
380 target_sequences = _defastarise_targets(opts.target_sequences) 381 target_sequences = _defastarise_targets(opts.target_sequences)
381 # determine class 382 # determine class
382 whsprr = None 383 whsprr = None
383 if opts.project_type.lower() == "automodel": 384 if opts.project_type.lower() == "automodel":
384 whsprr = _AutoModelWhisperer( 385 whsprr = _AutoModelWhisperer(
385 target_sequences, opts.token, project_title=opts.project_title 386 target_sequences, token, project_title=opts.project_title
386 ) 387 )
387 elif opts.project_type.lower() == "alignment": 388 elif opts.project_type.lower() == "alignment":
388 template_sequence = _defastarise_targets([opts.template_sequence]) 389 template_sequence = _defastarise_targets([opts.template_sequence])
389 assert len(template_sequence) == 1 390 assert len(template_sequence) == 1
390 template_sequence = template_sequence[0] 391 template_sequence = template_sequence[0]
391 whsprr = _AlignmentWhisperer( 392 whsprr = _AlignmentWhisperer(
392 target_sequences, 393 target_sequences,
393 opts.token, 394 token,
394 template_sequence, 395 template_sequence,
395 opts.template_seqres_offset, 396 opts.template_seqres_offset,
396 opts.pdb_id, 397 opts.pdb_id,
397 opts.auth_asym_id, 398 opts.auth_asym_id,
398 opts.assembly_id, 399 opts.assembly_id,
399 project_title=opts.project_title, 400 project_title=opts.project_title,
400 ) 401 )
401 elif opts.project_type.lower() == "usertemplate": 402 elif opts.project_type.lower() == "usertemplate":
402 whsprr = _UserTemplateWhisperer( 403 whsprr = _UserTemplateWhisperer(
403 target_sequences, 404 target_sequences,
404 opts.token, 405 token,
405 opts.template_file, 406 opts.template_file,
406 project_title=opts.project_title, 407 project_title=opts.project_title,
407 ) 408 )
408 else: 409 else:
409 raise RuntimeError( 410 raise RuntimeError(