파일에서 간격 패턴 제거

파일에서 간격 패턴 제거

공백(-)을 제거하고 싶습니다. 동일한 위치의 모든 >Tem에서 간격이 연속 >10인 경우 모든 간격을 제거하고 Tem에 있는 동일한 위치의 쿼리에서 시퀀스 또는 간격도 제거합니다. 예 첫 번째 템플릿에 간격이 있고 두 번째 템플릿에 간격이 없으면 간격을 제거하지 마십시오.
입력 파일의 예

>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)

이제 해야 할 일은 입력 파일을 구문 분석하고 출력 파일의 형식을 지정하는 것뿐입니다.

관련 정보