https://rosalind.info/problems/gc/
ROSALIND | Computing GC Content
It appears that your browser has JavaScript disabled. Rosalind requires your browser to be JavaScript enabled. Computing GC Content solved by 31087 2012년 8월 3일 12:00:00 오전 by Rosalind Team Topics: String Algorithms Identifying Unknown DNA Quickly
rosalind.info
이 문제는 FASTA 파일이 주어지면 파일 안의 서열 중 가장 높은 GC 비율을 가진 서열의 ID와 그 서열의 GC 비율을 출력하면 되는 문제이다. 문제 자체는 어렵지 않지만 특정 모듈 없이 FASTA 파일을 다루는 것은 약간 난해한 일이다. 그렇기에 필자는 Biopython 모듈을 이용하여 문제를 풀었다.
from Bio import SeqIO #바이오파이썬의 모듈
fasta_list = SeqIO.parse(r'파일경로','fasta')#파일을 fasta형식으로 읽음
Max_=-1
for a in fasta_list:#파일 안의 여러 서열
GC=0
seqA = a.seq
for c in seqA:#서열에서
if c == 'C' or c=='G':#GC개수 세기
GC+=1
GCc=GC/len(seqA)#GC비율
if GCc > Max_:#최대인지 비교
Max_=GCc
MaxID=a.id
print(MaxID)
print(Max_*100)#비율이기에 100을 곱함
'문제해결(PS) > ROSALIND' 카테고리의 다른 글
Mortal Fibonacci Rabbits(수명이 있는 피보나치 토끼들) (0) | 2024.07.27 |
---|---|
Consensus and Profile(공통서열과 프로파일) (0) | 2024.07.26 |
Mendel's First Law(맨델의 첫 번째 법칙) (0) | 2024.07.21 |
Counting Point Mutations(점 돌연변이 세기) (0) | 2024.07.21 |
ROSALIND란? (1) | 2024.07.20 |