Mercurial > repos > bgruening > infer_rnaformer
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 |
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> |