codon = {}
# codon์ ํด๋นํ๋ ์๋ฏธ๋ ธ์ฐ ๋์ ๋๋ฆฌ์ ์ ์ฅํ๊ธฐ
with open("aa_codon.txt", "r") as f:
for line in f.readlines():
aa = line.split()
for i in range(0, len(aa), 2):
codon[aa[i]] = aa[i+1]
# rna๋ฅผ protein์ผ๋ก ๋ฒ์ญํด์ฃผ๋ ํจ์
def translation(rna):
protein = ''
for i in range(0, len(rna), 3):
protein += codon[rna[i:i+3]]
return protein.replace('Stop', '')
# ํ ์คํธ์ผ์ด์ค ๊ฐ์ ธ์ค๊ธฐ
with open("rosalind_splc.txt") as f:
seqs = []
seq = ''
for line in f.readlines():
if line.startswith('>'):
if seq: # ์์ฑ๋ dna ์์ด ์ ์ฅํ๊ธฐ
seqs.append(seq)
seq = ''
else:
seq += line.strip()
if seq: # ์์ฑ๋ dna ์์ด ์ ์ฅํ๊ธฐ
seqs.append(seq)
dna = seqs[0] # ์ฒซ๋ฒ์งธ ์์ด์ด dna ์์ด์
for i in range(1, len(seqs)): # ๋๋จธ์ง ์์ด์ด intron์
dna = ''.join(dna.split(seqs[i])) # intron ์์ด ๋นผ์ฃผ๊ธฐ ์์ชฝ์ exon ์ด์ด ๋ถ์ฌ์ฃผ๊ธฐ
rna = dna.upper().replace('T', 'U') # T๋ฅผ U๋ก ๋ฐ๊ฟ์ผ๋ก์ dna -> rna
print(translation(rna)) # rna ์์ด ๋จ๋ฐฑ์ง๋ก ๋ฒ์ญํ๊ธฐ
๋๊ธ