
Я хочу удалить пробелы (-). Если пробел найден непрерывно >10 во всех >Tem в той же позиции, то удалить все пробелы, а также удалить последовательности или пробел из запроса в той же позиции, которые находятся в Tem. Пример Если пробел в 1-м шаблоне и нет пробела во 2-м шаблоне, то не удалять пробел.
Пример входного файла
>Tem1.pdb
------------------------------------------------------------
--------------------------------GETLGEKWKKKLNQLSRKEFDLYKKSGI
TEVDRTEAKEGLKRGETT-HHAVSRGSAKLQWFVERNMVIPEGRVIDLGCGRGGWSYYCA
>Tem2.pdb
------------------------------------------------------------
--------------------------------GRTLGEQWKEKLNAMSREEFFKYRREAI
IEVDRTEARRARRENNIVGGHPVSRGSAKLRWLVEKGFVSPIGKVIDLGCGRGGWSYYAA
>Query_seq
PKFEKQLGQVMLLVLCAGQLLLMRTTWAFCEVLTLATGPILTLWEGNPGRFWNTTIAVST
ANIFRGSYLAGAGLAFSLIKNAQTPRRGTGTTGETLGEKWKRQLNSLDRKEFEEYKRSGI
LEVDRTEAKSALKDGSKI-KHAVSRGSSKIRWIVERGMVKPKGKVVDLGCGRGGWSYYMA
Наш файл должен выглядеть так
>Temp1
--------------------------------GETLGEKWKKKLNQLSRKEFDLYKKSGI
TEVDRTEAKEGLKRGETT-HHAVSRGSAKLQWFVERNMVIPEGRVIDLGCGRGGWSYYCA
>Temp2
--------------------------------GRTLGEQWKEKLNAMSREEFFKYRREAI
IEVDRTEARRARRENNIVGGHPVSRGSAKLRWLVEKGFVSPIGKVIDLGCGRGGWSYYAA
>Query_se
ANIFRGSYLAGAGLAFSLIKNAQTPRRGTGTTGETLGEKWKRQLNSLDRKEFEEYKRSGI
LEVDRTEAKSALKDGSKI-KHAVSRGSSKIRWIVERGMVKPKGKVVDLGCGRGGWSYYMA
решение1
Это можно сделать на Python:
import re
tem1 = [ "------------------------------------------------------------",
"--------------------------------GETLGEKWKKKLNQLSRKEFDLYKKSGI",
"TEVDRTEAKEGLKRGETT-HHAVSRGSAKLQWFVERNMVIPEGRVIDLGCGRGGWSYYCA"
]
tem2 = [ "------------------------------------------------------------",
"--------------------------------GRTLGEQWKEKLNAMSREEFFKYRREAI",
"IEVDRTEARRARRENNIVGGHPVSRGSAKLRWLVEKGFVSPIGKVIDLGCGRGGWSYYAA"
]
query = [ "PKFEKQLGQVMLLVLCAGQLLLMRTTWAFCEVLTLATGPILTLWEGNPGRFWNTTIAVST",
"ANIFRGSYLAGAGLAFSLIKNAQTPRRGTGTTGETLGEKWKRQLNSLDRKEFEEYKRSGI",
"LEVDRTEAKSALKDGSKI-KHAVSRGSSKIRWIVERGMVKPKGKVVDLGCGRGGWSYYMA"
]
for line in range(2):
if re.search("^-*$", tem1[line]) and re.search("^-*$", tem2[line]):
tem1.pop(line)
tem2.pop(line)
query.pop(line)
print(tem1, tem2, query)
Теперь все, что вам нужно сделать, это проанализировать входной файл и отформатировать выходной файл.