생물정보학/바이오파이썬

단백질 번역하기

곰탱이장 2024. 11. 29. 19:50

https://rosalind.info/problems/ptra/

 

ROSALIND | Protein Translation

It appears that your browser has JavaScript disabled. Rosalind requires your browser to be JavaScript enabled. Protein Translation solved by 1294 The Genetic Code Figure 1. Schematic image of the translation process. Given a nucleotide sequence obtained fr

rosalind.info

 

 생명체의 DNA는 단백질로 번역될 수 있다. 이 때 3개의 RNA가 단백질에 되응되는 코돈표를 이용하여 단백질을 번역한다. 이 때 RNA codon table은 생물종이나 어떤 DNA이냐에 따라 달라질 수 있다.

우리는 BioPython의 translate() 함수를 이용하여 이러한 테이블을 바꿀 수 있다. 이 transalte() 함수는,

translate(서열,table='Standard',stop_symbol='*',to_stop=False)

이 기본이다. 여기서 서열은 말 그대로 번역할 서열, table= 파라미터는 내가 고를 RNA codon table의 종류, stop_symbol= 파라미터는 종결코돈을 어떻게 표현할 것인가?이고 to_stop= 파라미터는 종결코돈을 만나면 번역을 그만둘지를 정한다.

 

위의 ROSALIND문제는 테이블이 어떤 종류냐를 찾는 문제이므로

from Bio.Seq import Seq,translate


with open(r"파일경로",'r') as f:
    DNA = Seq(f.readline().rstrip())
    Peptide = Seq(f.readline().rstrip())

    for i in range(1,16):
        if i==7 or i==8:
            continue
        if translate(DNA,table=i,stop_symbol='') == Peptide:
            print(i)
            break

와 같이 한다. 이 문제는 옛날 문제이기에 몇몇 테이블이 사라졌으므로 현재에도 대응되는 답이 나올 때 까지 문제를 몇 번 돌릴 수 밖에 없다.