Source code for miniworld.utils.kalign_mapping
import torch
[docs]
def kalign_mapping(kalign_output):
with open(kalign_output, 'r') as f:
lines = f.readlines()
query_seq = lines[1].strip()
target_seq = lines[3].strip()
map = {}
query_idx = 0
target_idx = 0
for query_aa, target_aa in zip(query_seq, target_seq):
if query_aa != '-' and target_aa != '-':
map[query_idx] = target_idx
if query_aa != '-':
query_idx += 1
if target_aa != '-':
target_idx += 1
query_map_idx = map.keys()
target_map_idx = map.values()
query_map_idx = torch.tensor(list(query_map_idx))
target_map_idx = torch.tensor(list(target_map_idx))
return query_map_idx, target_map_idx
if __name__ == "__main__":
path = '/home/casp16/run/TS.human/H0217/MiniWorld/kalign/s1.out'
query_idx, target_idx = kalign_mapping(path)