반응형
파이썬으로 실무에 적용 가능할 법한 bioinformatics 연습문제를 만들어서 풀어보겠습니다.
input 데이터를 사용해서 output 형태로 만들면 성공입니다.
INPUT1 : single_linkagne.txt
INPUT 2 : proteins.fasta
1.문제 설명 :
1)INPUT2의 fasta 파일에서 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
반응형
'Python' 카테고리의 다른 글
Python programming for Bioinformatics - 연습문제 4 (0) | 2023.07.24 |
---|---|
Python programming for Bioinformatics - 연습문제 3 (0) | 2023.07.24 |
Python programming for Bioinformatics - 연습문제 1 (0) | 2023.07.24 |
Pandas DataFrame 첫번째 행을 헤더로 지정 (0) | 2022.03.11 |
for 나 while 루프 뒤에 else 블록을 사용하지 말자 (0) | 2022.01.18 |