У меня файл последовательности белка выглядит так:
>102L:A MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNAAAKSELDKAIGRNTNGVITKDEAEKLFNQDVDAAVRGILRNAKLKPVYDSLDAVRRAALINMVFQMGETGVAGFTNSLRMLQQKRWDEAAVNLAKSRWYNQTPNRAKRVITTFRTGTWDAYKNL -------------------------------------------------------------------------------------------------------------------------------------------------------------------XX
Первый — название последовательности, второй — фактическая последовательность белка, а первый — индикатор, показывающий, есть ли пропущенные координаты. В этом случае обратите внимание, что в конце есть два «X». Это означает, что последние два остатка последовательности являются «NL», в этом случае отсутствуют координаты.
Кодируя в Python, я хотел бы создать таблицу, которая должна выглядеть так:
- название последовательности
- общее количество отсутствующих координат (которое является числом X)
- диапазон этих отсутствующих координат (который является диапазоном положения этих X) 4) длина последовательности 5) фактическая последовательность
Таким образом, окончательные результаты должны выглядеть так:
>102L:A 2 163-164 164 MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNAAAKSELDKAIGRNTNGVITKDEAEKLFNQDVDAAVRGILRNAKLKPVYDSLDAVRRAALINMVFQMGETGVAGFTNSLRMLQQKRWDEAAVNLAKSRWYNQTPNRAKRVITTFRTGTWDAYKNL
И мой код пока выглядит так:
total_seq = []
with open('sample.txt') as lines:
for l in lines:
split_list = l.split()
# Assign the list number
header = split_list[0] # 1
seq = split_list[1] # 5
disorder = split_list[2]
# count sequence length and total residue of missing coordinates
sequence_length = len(seq) # 4
for x in disorder:
counts = 0
if x == 'X':
counts = counts + 1
total_seq.append([header, seq, str(counts)]) # obviously I haven't finish coding 2 & 3
with open('new_sample.txt', 'a') as f:
for lol in total_seq:
f.write('\n'.join(lol))
Я новичок в питоне, кто-нибудь может помочь?