annotate infer_rnaformer.xml @ 0:50a3903370a6 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
author bgruening
date Sun, 26 Jan 2025 08:45:36 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
1 <tool id="infer_rnaformer" name="@EXECUTABLE@" version="@TOOL_VERSION@+galaxy1" profile="22.05">
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
2 <description>Predict the secondary structure of an RNA with RNAformer</description>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
3 <macros>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
4 <import>macros.xml</import>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
5 </macros>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
6 <expand macro="requirements">
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
7 <requirement type="package" version="1.83">biopython</requirement>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
8 </expand>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
9 <command detect_errors="exit_code"><![CDATA[
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
10 mkdir -p './model' &&
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
11 wget -O './model/RNAformer_32M_state_dict_intra_family_finetuned.pth' 'https://ml.informatik.uni-freiburg.de/research-artifacts/RNAformer/models/RNAformer_32M_state_dict_intra_family_finetuned.pth'
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
12 &&
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
13 wget -O './model/RNAformer_32M_config_intra_family_finetuned.yml' 'https://ml.informatik.uni-freiburg.de/research-artifacts/RNAformer/models/RNAformer_32M_config_intra_family_finetuned.yml'
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
14 &&
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
15 python '$script_file' > '$output'
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
16 ]]></command>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
17 <configfiles>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
18 <configfile name="script_file"><![CDATA[import RNAformer
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
19 import os
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
20 import argparse
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
21 import torch
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
22 import urllib.request
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
23 import logging
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
24 from collections import defaultdict
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
25 import torch.cuda
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
26 import loralib as lora
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
27 from RNAformer.model.RNAformer import RiboFormer
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
28 from RNAformer.utils.configuration import Config
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
29
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
30 from Bio import SeqIO
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
31
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
32 import logging
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
33 import sys
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
34
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
35 def is_valid_rna_sequence(sequence):
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
36 """Check if the sequence contains only RNA bases."""
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
37 valid_bases = {'A', 'C', 'G', 'U', 'N'} # Include 'N' if unknown bases are allowed
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
38 return all(base in valid_bases for base in sequence.upper())
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
39
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
40 config_file_path = 'model/RNAformer_32M_config_intra_family_finetuned.yml'
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
41 model_file_path = 'model/RNAformer_32M_state_dict_intra_family_finetuned.pth'
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
42
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
43 config = Config(config_file=config_file_path)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
44 config.RNAformer.cycling = 6
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
45 model = RiboFormer(config.RNAformer)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
46 state_dict_file = model_file_path
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
47
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
48 #if str($input_type.input_type) == 'True'
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
49 fasta_path = '$input_type.fasta_input'
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
50 sequences = [str(record.seq) for record in SeqIO.parse(fasta_path, 'fasta')]
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
51 #else
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
52 sequence_string = "$input_type.rna_input_string"
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
53 sequences = [seq.strip() for seq in sequence_string.split(',')]
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
54 #end if
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
55
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
56 for seq in sequences:
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
57 if not is_valid_rna_sequence(seq):
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
58 print(f"Invalid RNA sequence detected: {seq}. Please ensure only RNA sequences are used as input.", file=sys.stderr)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
59 sys.exit(1)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
60
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
61 lora_config = {
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
62 "r": config.r,
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
63 "lora_alpha": config.lora_alpha,
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
64 "lora_dropout": config.lora_dropout,
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
65 }
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
66
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
67 with torch.no_grad():
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
68 for name, module in model.named_modules():
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
69 if any(replace_key in name for replace_key in config.replace_layer):
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
70 parent = model.get_submodule(".".join(name.split(".")[:-1]))
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
71 target_name = name.split(".")[-1]
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
72 target = model.get_submodule(name)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
73 if isinstance(target, torch.nn.Linear) and "qkv" in name:
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
74 new_module = lora.MergedLinear(target.in_features, target.out_features,
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
75 bias=target.bias is not None,
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
76 enable_lora=[True, True, True], **lora_config)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
77 new_module.weight.copy_(target.weight)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
78 if target.bias is not None:
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
79 new_module.bias.copy_(target.bias)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
80 elif isinstance(target, torch.nn.Linear):
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
81 new_module = lora.Linear(target.in_features, target.out_features,
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
82 bias=target.bias is not None, **lora_config)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
83 new_module.weight.copy_(target.weight)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
84 if target.bias is not None:
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
85 new_module.bias.copy_(target.bias)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
86
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
87 elif isinstance(target, torch.nn.Conv2d):
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
88 kernel_size = target.kernel_size[0]
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
89 new_module = lora.Conv2d(target.in_channels, target.out_channels, kernel_size,
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
90 padding=(kernel_size - 1) // 2, bias=target.bias is not None,
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
91 **lora_config)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
92
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
93 new_module.conv.weight.copy_(target.weight)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
94 if target.bias is not None:
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
95 new_module.conv.bias.copy_(target.bias)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
96 setattr(parent, target_name, new_module)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
97
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
98 state_dict = torch.load(state_dict_file, map_location=torch.device('cpu'))
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
99
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
100 model.load_state_dict(state_dict, strict=True)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
101 model_name = state_dict_file.split(".pth")[0]
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
102
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
103 if torch.cuda.is_available():
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
104 model = model.cuda()
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
105
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
106 # check GPU can do bf16
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
107 if torch.cuda.is_bf16_supported():
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
108 model = model.bfloat16()
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
109 else:
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
110 model = model.half()
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
111
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
112 model.eval()
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
113 predicted_structures = []
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
114
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
115 orig_seq = ""
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
116
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
117 for sequence in sequences:
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
118 with torch.no_grad():
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
119 device = "cpu"
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
120
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
121 seq_vocab = ['A', 'C', 'G', 'U', 'N']
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
122 seq_stoi = dict(zip(seq_vocab, range(len(seq_vocab))))
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
123
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
124 pdb_sample = 1
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
125
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
126 length = len(sequence)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
127 src_seq = torch.LongTensor(list(map(seq_stoi.get, sequence)))
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
128
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
129 orig_seq = sequence
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
130
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
131 sample = {}
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
132 sample['src_seq'] = src_seq.clone()
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
133 sample['length'] = torch.LongTensor([length])[0]
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
134 sample['pdb_sample'] = torch.LongTensor([pdb_sample])[0]
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
135
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
136 sequence = sample['src_seq'].unsqueeze(0).to(device)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
137 src_len = torch.LongTensor([sequence.shape[-1]]).to(device)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
138 pdb_sample = torch.FloatTensor([[1]]).to(device)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
139
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
140 logits, pair_mask = model(sequence, src_len, pdb_sample)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
141
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
142 pred_mat = torch.sigmoid(logits[0, :, :, -1]) > 0.5
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
143
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
144 pos_id = torch.where(pred_mat == True)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
145 pos1_id = pos_id[0].cpu().tolist()
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
146 pos2_id = pos_id[1].cpu().tolist()
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
147 predicted_structure = f"Pairing index 1: {pos1_id} \nPairing index 2: {pos2_id}"
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
148 pairs = [[a, b] for a, b in zip(pos1_id, pos2_id)]
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
149
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
150 seqlen = len(sample['src_seq'])
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
151 dot_bracket =['.'] * seqlen
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
152 pk_count = 0
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
153 pk_list = []
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
154 for i in range(len(pos1_id)):
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
155 open_index = pos1_id[i]
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
156 close_index = pos2_id[i]
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
157
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
158 if 0 <= open_index < len(dot_bracket) and 0 <= close_index < len(dot_bracket):
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
159 if dot_bracket[open_index] == '.' and dot_bracket[close_index] == '.':
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
160 dot_bracket[open_index] = '('
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
161 dot_bracket[close_index] = ')'
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
162 else:
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
163 ## pseudoknots or multiplets present in structure- cannot represent with dot-bracket
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
164 pk_count += 1
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
165 pk_list.append(pairs[i])
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
166 dot_bracket_str_pred = ''.join(dot_bracket)
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
167
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
168 print(f"{orig_seq}")
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
169 print(f"Base pairs: {str(pairs)}")
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
170 print(f"Predicted Structure: {dot_bracket_str_pred}")
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
171 if pk_count > 0:
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
172 print(f"NOTE: {pk_count} pseudoknots and/or multiplets present in predicted structure excluded from dot-bracket notation: {pk_list}")
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
173
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
174
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
175
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
176 ]]></configfile>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
177 </configfiles>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
178 <inputs>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
179 <conditional name="input_type">
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
180 <param name="input_type" type="select" label="Input from FASTA file">
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
181 <option value="False">Provide a single RNA sequence string as text</option>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
182 <option value="True">Provide a FASTA file</option>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
183 </param>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
184 <when value="False">
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
185 <param name="rna_input_string" label="Sequence(s) to fold" type="text" value="GCCCGCAUGGUGAAAUCGGUAAACACAUCGCACUAAUGCGCCGCCUCUGGCUUGCCGGUUCAAGUCCGGCUGCGGGCACCA" help="Enter RNA sequences. Separate multiple RNA sequences by commas.">
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
186 <sanitizer>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
187 <valid>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
188 <add value="ACGUacgu,"/>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
189 </valid>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
190 </sanitizer>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
191 </param>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
192 </when>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
193 <when value="True">
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
194 <param format="fasta" name="fasta_input" type="data" label="Sequence to fold (FASTA file)"/>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
195 </when>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
196 </conditional>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
197 </inputs>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
198 <outputs>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
199 <data name="output" format="txt" label="output"/>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
200 </outputs>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
201 <tests>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
202 <test>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
203 <param name="input_type" value="False"/>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
204 <param name="rna_input_string" value="GCCCGCAUGGUGAAAUCGGUAAACACAUCGCACUAAUGCGCCGCCUCUGGCUUGCCGGUUCAAGUCCGGCUGCGGGCACCA"/>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
205 <output name="output" file="rna_2d_pred_out.txt"/>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
206 </test>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
207 <test>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
208 <param name="input_type" value="True"/>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
209 <param name="fasta_input" value="fasta_input1.fa"/>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
210 <output name="output" file="rna_2d_pred_FASTA.txt"/>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
211 </test>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
212 </tests>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
213 <help><![CDATA[
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
214 **RNAformer**
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
215 This tool reads RNA sequences and predicts their secondary structure using RNAformer. Note that unlike conventional methods, RNAformer is capable of predicting all possible secondary structure motifs, including pseudoknots and multiplets. These cannot be represented in dot-bracket notation and thus the output will be partial in these cases, excluding these which will be noted in the output file below the (partial) dot-bracket structure.
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
216
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
217 **Input format**
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
218
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
219 RNAformer requires one or more RNA sequences either as a single FASTA file or as plain text.
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
220
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
221 **Outputs**
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
222
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
223 - Predicted secondary structure as a text file containing the following:
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
224 - RNA input sequence
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
225 - Base pairs of predicted secondary structure
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
226 - Predicted secondary structure in dot-bracket notation
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
227 ]]></help>
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
228 <expand macro="citations" />
50a3903370a6 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/rnaformer commit 81ae3a5a824f820d2ee4212dcacb334b3dabd683
bgruening
parents:
diff changeset
229 </tool>