
Ich möchte Lücken (-) entfernen. Wenn eine Lücke kontinuierlich >10 in allen >Tem an derselben Position gefunden wird, dann werden alle Lücken entfernt und auch die Sequenzen oder Lücken aus der Abfrage an derselben Position entfernt, die in Tem sind. Beispiel: Wenn eine Lücke in der 1. Vorlage und keine Lücke in der 2. Vorlage ist, dann wird die Lücke nicht entfernt.
Beispiel einer Eingabedatei
>Tem1.pdb
------------------------------------------------------------
--------------------------------GETLGEKWKKKLNQLSRKEFDLYKKSGI
TEVDRTEAKEGLKRGETT-HHAVSRGSAKLQWFVERNMVIPEGRVIDLGCGRGGWSYYCA
>Tem2.pdb
------------------------------------------------------------
--------------------------------GRTLGEQWKEKLNAMSREEFFKYRREAI
IEVDRTEARRARRENNIVGGHPVSRGSAKLRWLVEKGFVSPIGKVIDLGCGRGGWSYYAA
>Query_seq
PKFEKQLGQVMLLVLCAGQLLLMRTTWAFCEVLTLATGPILTLWEGNPGRFWNTTIAVST
ANIFRGSYLAGAGLAFSLIKNAQTPRRGTGTTGETLGEKWKRQLNSLDRKEFEEYKRSGI
LEVDRTEAKSALKDGSKI-KHAVSRGSSKIRWIVERGMVKPKGKVVDLGCGRGGWSYYMA
Unsere Datei sollte so aussehen
>Temp1
--------------------------------GETLGEKWKKKLNQLSRKEFDLYKKSGI
TEVDRTEAKEGLKRGETT-HHAVSRGSAKLQWFVERNMVIPEGRVIDLGCGRGGWSYYCA
>Temp2
--------------------------------GRTLGEQWKEKLNAMSREEFFKYRREAI
IEVDRTEARRARRENNIVGGHPVSRGSAKLRWLVEKGFVSPIGKVIDLGCGRGGWSYYAA
>Query_se
ANIFRGSYLAGAGLAFSLIKNAQTPRRGTGTTGETLGEKWKRQLNSLDRKEFEEYKRSGI
LEVDRTEAKSALKDGSKI-KHAVSRGSSKIRWIVERGMVKPKGKVVDLGCGRGGWSYYMA
Antwort1
Sie können dies in Python tun:
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)
Jetzt müssen Sie nur noch Ihre Eingabedatei analysieren und Ihre Ausgabedatei formatieren