1) DNA와 프로틴 시퀀스 데이터를 수동 다운로드
2) 파이썬으로 DNA 데이터를 열고 가공하기
3) DNA를 아미노산으로 변환하는 알고리즘
4) 변환한 아미노산 서열과 사이트에서 다운로드한 것이 일치하는지를 비교
1) DNA와 프로틴 시퀀스 데이터를 수동 다운로드
- NCBI(http://ncbi.nlm.nih.gov) 접속
- NM_207618.2 검색
- NM_207618.2.fna 다운로드
2) DNA를 아미노산으로 변환 코드
genetic_code = {
'ATA':'I', 'ATC':'I', 'ATT':'I', 'ATG':'M',
'ACA':'T', 'ACC':'T', 'ACG':'T', 'ACT':'T',
'AAC':'N', 'AAT':'N', 'AAA':'K', 'AAG':'K',
'AGC':'S', 'AGT':'S', 'AGA':'R', 'AGG':'R',
'CTA':'L', 'CTC':'L', 'CTG':'L', 'CTT':'L',
'CCA':'P', 'CCC':'P', 'CCG':'P', 'CCT':'P',
'CAC':'H', 'CAT':'H', 'CAA':'Q', 'CAG':'Q',
'CGA':'R', 'CGC':'R', 'CGG':'R', 'CGT':'R',
'GTA':'V', 'GTC':'V', 'GTG':'V', 'GTT':'V',
'GCA':'A', 'GCC':'A', 'GCG':'A', 'GCT':'A',
'GAC':'D', 'GAT':'D', 'GAA':'E', 'GAG':'E',
'GGA':'G', 'GGC':'G', 'GGG':'G', 'GGT':'G',
'TCA':'S', 'TCC':'S', 'TCG':'S', 'TCT':'S',
'TTC':'F', 'TTT':'F', 'TTA':'L', 'TTG':'L',
'TAC':'Y', 'TAT':'Y', 'TAA':'_', 'TAG':'_',
'TGC':'C', 'TGT':'C', 'TGA':'_', 'TGG':'W',
}
3) 전체 코드
from google.colab import drive
drive.mount('/content/drive')
# In[11]: p.140
def convert(seq):
"""DNA 시퀀스를 아미노산 시퀀스로 변환"""
genetic_code = {
'ATA':'I', 'ATC':'I', 'ATT':'I', 'ATG':'M',
'ACA':'T', 'ACC':'T', 'ACG':'T', 'ACT':'T',
'AAC':'N', 'AAT':'N', 'AAA':'K', 'AAG':'K',
'AGC':'S', 'AGT':'S', 'AGA':'R', 'AGG':'R',
'CTA':'L', 'CTC':'L', 'CTG':'L', 'CTT':'L',
'CCA':'P', 'CCC':'P', 'CCG':'P', 'CCT':'P',
'CAC':'H', 'CAT':'H', 'CAA':'Q', 'CAG':'Q',
'CGA':'R', 'CGC':'R', 'CGG':'R', 'CGT':'R',
'GTA':'V', 'GTC':'V', 'GTG':'V', 'GTT':'V',
'GCA':'A', 'GCC':'A', 'GCG':'A', 'GCT':'A',
'GAC':'D', 'GAT':'D', 'GAA':'E', 'GAG':'E',
'GGA':'G', 'GGC':'G', 'GGG':'G', 'GGT':'G',
'TCA':'S', 'TCC':'S', 'TCG':'S', 'TCT':'S',
'TTC':'F', 'TTT':'F', 'TTA':'L', 'TTG':'L',
'TAC':'Y', 'TAT':'Y', 'TAA':'_', 'TAG':'_',
'TGC':'C', 'TGT':'C', 'TGA':'_', 'TGG':'W',
}
protein = ""
if len(seq) % 3 == 0: # 데이터의 길이가 3의 배수이면 아래를 실행
for i in range(0, len(seq), 3):
codon = seq[i : i+3]
protein += genetic_code[codon]
return protein
convert(dna[20:938])
# print(convert(dna[20:938]))
'교육 > 파이썬빅데이터분석교육' 카테고리의 다른 글
[파이썬]네이버API이용한 크룰링 활용 (0) | 2022.06.07 |
---|---|
[파이썬]공공데이터API 출입국정보크룰링 소스 (0) | 2022.06.02 |
[파이썬]교통사고데이터 분석예제 (0) | 2022.05.26 |
코랩 matplotlib라이브러리에서 한글 깨짐문제 해결방법 (0) | 2022.05.25 |
파이썬 Matplotlib 튜터리얼 (0) | 2022.05.24 |