본문 바로가기
Python

Rosalind - Translating RNA into Protein

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

문제 설명:

출처:https://www.expii.com/t/messenger-rna-mrna-overview-role-in-translation-10218

DNA는 복제되어서 RNA로 전사(transcription)된 후,번역(translocation)을 통해 단백질로 됩니다.

이때 염기서열에 대응하는 아미노산을 합하여 단백질을 생성합니다.

염기 4개 중에 3개의 염기가 모인것을 코돈(codon) 이라 하는데, 4개의 염기종류가 3개씩 모이므로 4x4x4=64,즉 64개의 코돈이 있고, 64개의 코돈들이 20개의 아미노산으로 encoding 됩니다. 

 

진핵생물의 경우,항상 5-AUG(met) 으로 시작하고 start codon 이 첫 아미노산으로 정해서 reading 하게 됩니다.이후 stop codon UAG, UGA, UAA 에서 종결 됩니다. 

 
코드:

s = "AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA"

result=[]
protein={'AUG':'M','UUU':'F','UUC':'F','UUA':'L','UUG':'L','UCU':'S',
                 'UCC':'S','UCA':'S','UCG':'S','CUU': 'L','AUU': 'I','GUU': 'V',
                 'CUC': 'L','AUC': 'I','GUC': 'V','CUA': 'L','AUA': 'I','GUA': 'V',
                 'CUG': 'L','GUG': 'V','CCU': 'P', 'ACU': 'T','GCU': 'A','CCC': 'P',
                 'ACC': 'T','GCC': 'A','CCA': 'P','ACA': 'T','GCA': 'A','CCG': 'P',
                 'ACG': 'T','GCG': 'A','UAU': 'Y','CAU': 'H','AAU': 'N','GAU': 'D',
                 'UAC': 'Y','CAC': 'H','AAC': 'N','GAC': 'D','UAA': '*','CAA': 'Q',
                 'AAA': 'K','GAA': 'E','UAG': '*','CAG': 'Q','AAG': 'K','GAG': 'E',
                 'UGU': 'C','CGU': 'R','AGU': 'S','GGU': 'G','UGC': 'C','CGC': 'R',
                 'AGC': 'S','GGC': 'G','UGA': '*','CGA': 'R','AGA': 'R','GGA': 'G',
                 'UGG': 'W','CGG': 'R','AGG': 'R','GGG': 'G'}

#start and stop codon 
for i in range(s.find('AUG'),len(s),3): 
    if s[i:i+3]=="UAG" or s[i:i+3]=="UGA" or s[i:i+3]=="UAA":
        break
    else:
        result.append(protein[s[i:i+3]])
print(''.join(result))
#result
MAMAPRTEINSTRING
반응형

'Python' 카테고리의 다른 글

Rosalind - Consensus and Profile  (2) 2023.10.15
Rosalind - Finding a Motif in DNA  (0) 2023.10.15
Rosalind - Mendel's First Law  (0) 2023.09.30
Rosalind - Counting Point Mutations  (0) 2023.09.23
Rosalind - Computing GC Content  (0) 2023.09.14