본문 바로가기

파이썬 아미노산 번역

@enable79972021. 11. 26. 21:53
반응형

2026.05.27 소스코드 버그 수정

#made by enable7997

genetic_code = {
    "Phe": ["UUU", "UUC"],
    "Leu": ["UUA", "UUG", "CUU", "CUC", "CUA", "CUG"],
    "Ser": ["UCU", "ICC", "UCA", "UCG", "AGU", "AGC"],
    "Tyr": ["UAU", "UAC"],
    "Stop": ["UAA", "UAG", "UGA"],
    "Cys": ["UGU", "UGC"],
    "Trp": ["UGG"],
    "Pro": ["CCU", "CCC", "CCA", "CCG"],
    "His": ["CAU", "CAC"],
    "Gln": ["CAA", "CAG"],
    "Arg": ["CGU", "CGC", "CGA", "CGG", "AGA", "AGG"],
    "Ile": ["AUU", "AUC", "AUA"],
    "Met": ["AUG"],
    "Thr": ["ACU", "ACC", "ACA", "ACG"],
    "Asn": ["AAU", "AAC"],
    "Lys": ["AAA", "AAG"],
    "Val": ["GUU", "GUC", "GUA", "GUG"],
    "Ala": ["GCU", "GCC", "GCA", "GCG"],
    "Asp": ["GAU", "GAC"],
    "Glu": ["GAA", "GAG"],
    "Gly": ["GGU", "GGC", "GGA", "GGG"]
}

def get_key(val):
    for key, value in genetic_code.items():
        if val in value:
            return key
    return "no key"

genetic_list = []
tmp = 0

code = input("유전코드를 입력하세요 : ").upper()
"""
if "AUG" in code:
    tmp = code.index("AUG")
else:
    print("아미노산 번역 오류")
    quit()
"""

for x in range(tmp, len(code) - 2, 3):
    codon = code[x:x+3]
    amino_acid = get_key(codon)
    
    if amino_acid == "Stop":
        break
    
    if amino_acid != "no key":
        genetic_list.append(amino_acid)
    else:
        print(f"알 수 없는 코돈 발견 / 아미노산 번역 오류 : {codon}")

print(genetic_list)

 

참고 사이트 : https://kg-m-s-a-k-mol-cd.tistory.com/m/255

 

C언어 코딩_Central Dogma(1)_코돈 입력 시 아미노산 출력

시작하게 된 배경  과제하던 중에 너무 고통스러워서 도피처를 찾고 있던 와중에 갑자기 Central Dogma가 생각났다. 그렇게 DNA, mRNA, Amino acid sequence를 결과로 나타내는 코드를 만들어 보고 싶어져서

kg-m-s-a-k-mol-cd.tistory.com

 

반응형
목차