![파일에서 간격 패턴 제거 [닫기]](https://linux55.com/image/122757/%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EA%B0%84%EA%B2%A9%20%ED%8C%A8%ED%84%B4%20%EC%A0%9C%EA%B1%B0%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
공백(-)을 제거하고 싶습니다. 동일한 위치의 모든 >Tems에서 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)
이제 해야 할 일은 입력 파일을 구문 분석하고 출력 파일의 형식을 지정하는 것뿐입니다.