본문 바로가기
Python

Python programming for Bioinformatics - 연습문제 2

by 코딩하는 미토콘드리아 bioinformatics 2023. 7. 24.
반응형

파이썬으로 실무에 적용 가능할 법한 bioinformatics 연습문제를 만들어서 풀어보겠습니다.

input 데이터를 사용해서 output 형태로 만들면 성공입니다.

 

INPUT1 : single_linkagne.txt

single_linkagne.txt
0.01MB

 

 

INPUT 2 : proteins.fasta

proteins.fasta
0.50MB

1.문제 설명 :
1)INPUT2fasta 파일에서 INPUT1 파일의 ID 에 해당하는 sequence를 가져와 새로운 파일을 만든다.

OUTPUT

 

2. 결과 파일:

  INPUT1 에서 나온 ID 순서로 파일을 만든다.

(RAT_38,  HUMAN_168, HUMAN_214 순서가 되야겠죠? )

 

=> 결과는 644개의 sequence 파일이 만들어진다.

 

코드 설명

import os

if not os.path.exists("result"):
	os.makedirs("result")

f = open("./proteins.fasta")
f = f.readlines()

adict = {}

for i in range(0,len(f)):
	if f[i][0] ==">":
		title = f[i].replace("\n","")
		adict[f[i].replace("\n","")] = []

	else:
		adict[title].append(f[i])


id = open("./single_linkagne.txt")
id_content = id.readline()
id_split = id_content.split(" ")[:-1]

for i in id_split:
	f = open(f"./result/{i}.txt","a")
	f.write(">"+i)
	f.write("\n")
	f.write("".join(adict[">"+i]))
	f.close()

id.close()

result

반응형