일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- BLaST
- 시그모이드
- 서열정렬
- AP
- SVM
- 인공지능 수학
- 자바
- bioinformatics
- 딥러닝
- 파이썬
- 인공신경망
- 생명정보학
- 오류역전파
- Java
- Kaggle
- 바이오파이썬
- 캐글
- 알파폴드
- ncbi
- 생물정보학
- AP Computer Science A
- CNN
- 인공지능
- COVID
- 바이오인포매틱스
- 결정트리
- 이항분포
- 행렬
- 블록체인
- MERS
- Today
- Total
데이터 과학
COVID-19: Biopython으로 단백질 식별하는 방법 (Kaggle) 본문
우선 이글은 Kaggle에 올라온 바이오파이썬에 대한 서술입니다.
Kaggle에는 몇가지의 바이오파이썬에 대한 소스가 올라와 있는데 그 중 몇개의 소스를 소개하겠습니다.
NCBI에서 핵산을 찾는 방법과 블라스트(BLAST) 사용법 정도는 알고 있는 것이 좋을 것 같습니다.
https://www.kaggle.com/amiiiney/covid-19-proteins-identification-with-biopython
COVID-19: Proteins identification with Biopython
Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources
www.kaggle.com
위 링크에 접속하면 COVID19 바이러스 단백질, SARS, MERS와 박쥐코로나 바이러스에 대한 비교연구를 진행합니다.
COVID-19: Proteins identification with Biopython 라는 주제로 바이오파이썬 코딩이 되어 있습니다.
>>>from Bio.SeqRecord import SeqRecord
>>>from Bio import SeqIO
>>>covid19 = SeqIO.read('MN908947.fasta', "fasta")
MN908947.fasta 파일은 NCBI에서 검색하거나 아래 파일을 참고하면 됩니다.
>>>print(f'The genome of the virus causing Covid-19 (known as SARS-CoV-2) consists of {len(covid19)} genetic bases or letters.')
The genome of the virus causing Covid-19 (known as SARS-CoV-2) consists of 29903 genetic bases or letters.
MN908947.fasta는 29903 개의 핵산을 가지고 있습니다.
서열을 처음부터 200개만 화면에 나타낼 경우는 다음과 같은 명령어를 입력하면 됩니다.
>>>covid_DNA= covid19.seq
>>>print( covid_DNA[:200])
ATTAAAGGTTTATACCTTCCCAGGTAACAAACCAACCAACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGACAGGACACGAGTAACTCGTCTATCTTCTGCAGGCTGCTTACGGT
핵산
>>>DNA= covid_DNA
>>>nucleotides={}
>>>for n in DNA:
>>> if n in nucleotides:
>>> nucleotides[n] += 1
>>> else:
>>> nucleotides[n] = 1
>>>print(nucleotides)
{'A': 8954, 'T': 9594, 'G': 5863, 'C': 5492}
- 전사 (Transcrition)
DNA에서부터 RNA로 전사되는 과정으로 이후에 단백질로 합성되기전까지의 내용으로 T 대신에 U로 전사되는 서열을 표시합니다.
>>>covid_mRNA = covid_DNA.transcribe()
>>>print(covid_mRNA[:100])
AUUAAAGGUUUAUACCUUCCCAGGUAACAAACCAACCAACUUUCGAUCUCUUGUAGAUCUGUUCUCUAAACGAACUUUAAAAUCUGUGUGGCUGUCACUC
>>>print(f'Covid-19 DNA: {covid_DNA[:50]}')
>>>print(f'Covid-19 RNA: {covid_mRNA[:50]}')
Covid-19 DNA: ATTAAAGGTTTATACCTTCCCAGGTAACAAACCAACCAACTTTCGATCTC
Covid-19 RNA: AUUAAAGGUUUAUACCUUCCCAGGUAACAAACCAACCAACUUUCGAUCUC
- 번역 (Translation)
코돈(codon)으로 3개의 아미노산의 합성을 반영하는 코드로 아미노산으로의 번역으로 나타낼 수 있습니다.
>>>covid_aa = covid_mRNA.translate()
>>>print(covid_aa[:99])
IKGLYLPR*QTNQLSISCRSVL*TNFKICVAVTRLHA*CTHAV*LITNYCR*QDTSNSSIFCRLLTVSSVLQPIISTSRFRPGVTER*DGEPCPWFQRE
>>>print(f"Covid-19's genome has {len(covid_aa)} amino acids")
Covid-19's genome has 9967 amino acids
>>>import pandas as pd
>>>import seaborn as sns
>>>Proteins = covid_aa.split('*')
>>>proteinas=pd.DataFrame(Proteins)
>>>proteinas['amino acid sequence'] = proteinas[0].apply(str)
>>>proteinas['Protein length'] = proteinas[0].apply(len)
>>>proteinas.rename(columns={0: "sequence"}, inplace=True)
>>>pro=proteinas.drop('sequence', axis=1)
>>>pro_= pro.sort_values(by=['Protein length'], ascending=False)
>>>pd.options.display.max_colwidth = 80
>>>cm = sns.light_palette("green", as_cmap=True)
>>>s = pro_.style.background_gradient(cmap=cm)
>>>s
>>>pro_
CTIVFKRVCGVSAARLTPCGTGTSTDVVYRAFDIYNDKVAGFAKFLKTNCCRFQEKDEDDNLIDSYFVVKRHTFSN... | 2701 |
ASAQRSQITLHINELMDLFMRIFTIGTVTLKQGEIKDATPSDFVRATATIPIQASLPFGWLIVGVALLAVFQSASK... | 290 |
TNMKIILFLALITLATCELYHYQECVRGTTVLLKEPCSSGTYEGNSPFHPLADNKFALTCFSTQFAFACPDGVKHV... | 123 |
AQADEYELMYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSS... | 83 |
QQMFHLVDFQVTIAEILLIIMRTFKVSIWNLDYIINLIIKNLSKSLTENKYSQLDEEQPMEID | 63 |
... | ... |
- BLAST (basic local alignment search tool)
PSI -블라스트에 접속합니다.
https://www.ebi.ac.uk/Tools/sss/psiblast/
PSI-BLAST < Sequence Similarity Searching < EMBL-EBI
PSI-BLAST allows users to construct and perform a NCBI BLAST search with a custom, position-specific, scoring matrix which can help find distant evolutionary relationships. Users can specify pattern files to restrict search results using the PHI-BLAST func
www.ebi.ac.uk
아래 아미노산 서열 83개를 복사해서 PSI 블라스트에서 검색을 합니다.
AQADEYELMYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV
검색된 결과는 다음과 같습니다.
PSI-BLAST Results Summary
Tools > Sequence Similarity Searching > PSI-BLAST Results for job psiblast-I20210715-080357-0241-13827134-p1m
www.ebi.ac.uk
ORF (opren reading frame)
mRNA로 전사되어 단백질로 번역되는 부분을 ORF라고 합니다.
시작코돈과 종결코돈까지의 내용인데 COVID-19애서 나타나는 ORF 염기 서열 분석은 지난 실험에 대한 내용을 찾아 보면 됩니다.
블라스트와 MEGA-X 염기서열 분석 비교 관련
블라스트에서 나오는 염기서열 비교결과와 Clustal-W에서 나오는 염기서열 비교 결과는 다른데 그 이유는 알고리즘이 다르기 때문이다. 니들만 브뉘쉬 알고리즘과 스미스 워터만 알고리즘의 차이
tsyoon.tistory.com
ORF에 대한 내용은 위키나 다른 웹사이트에서도 다루는 내용이니 그 내용들을 참고하면 되겠습니다.
https://ko.wikipedia.org/wiki/%EC%98%A4%ED%94%88_%EB%A6%AC%EB%94%A9_%ED%94%84%EB%A0%88%EC%9E%84
오픈 리딩 프레임 - 위키백과, 우리 모두의 백과사전
분자유전학에서 오픈 리딩 프레임(open reading frame, ORF)은 mRNA로 전사되어 단백질이 될 가능성이 있는 염기서열들을 의미하며, 1. 어떤 ATG(AUG) 서열을 시작으로 보는지에 따라 2. 염기서열을 3개씩
ko.wikipedia.org
https://ko.wikipedia.org/wiki/GC_%ED%95%A8%EB%9F%89
GC 함량 - 위키백과, 우리 모두의 백과사전
분자생물학 및 유전학에서, GC 함량(구아닌-사이토신 함량, GC-content)은 DNA 또는 RNA에서의 구아닌과 사이토신의 백분율이다.[1] GC 함량은 DNA의 아데닌과 티민, RNA의 아데닌과 유라실을 포함하여 암
ko.wikipedia.org
GC 아일랜드 이야기들에 대한 분석도 중요한 연구내용중에 하나인데 GC 비율이 높을 수록 안정화 되어 있다라고 할 수 있습니다. 이에 대한 내용도 위키나 다른 사이트들을 참고하면 되겠습니다.
오래전에 GC 아일랜드에 대한 실험을 진행했는데 이에 대한 내용은 구글링에서 찾아 볼 수 있습니다.
CDS (codig seguence)를 찾아봄으로 코돈의 시작과 정지코돈을 찾아 볼 수 있습니다. CDS는 단백질의 아미노산 서열에 해당하는 뉴클레오티드의 서열입니다.
이 정도의 내용으로 Biopython으로 단백질 식별하는 방법 이라는 주제로 Kaggle에 올라온 바이오파이썬에 대한 내용을 대략적으로 살펴 보았습니다.
주피터 노트북에 하나씩 실습해보면 그리 어렵지 않은 내용입니다. 중간 중간에 Pandas 라이브러리도 사용해서 도식화도 해 보면서 데이터를 시각화하기도 합니다.
이외에 여러가지 바이오파이썬을 이용한 분석방법이 있습니다. 하나하나씩 살펴보면 바이오파이썬을 학습하는데 많은 도움이 될 것이라고 봅니다.
https://www.kaggle.com/freddieta/rna-similarity-sars-mers-cov2
RNA Similarity_SARS_MERS_COV2
Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources
www.kaggle.com
https://www.kaggle.com/bretts/sars-cov-2
SARS-CoV-2
Explore and run machine learning code with Kaggle Notebooks | Using data from no data sources
www.kaggle.com
https://www.kaggle.com/bhageshcodebeast/biopython-covid19-data-analysis-3d-visualization
Biopython-Covid19 Data Analysis & 3D Visualization
Explore and run machine learning code with Kaggle Notebooks | Using data from [Private Datasource]
www.kaggle.com
https://www.kaggle.com/eugeniaanello/biopraticals
BioPraticals
Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources
www.kaggle.com
'생명정보학 & 화학정보학 > 바이오파이썬' 카테고리의 다른 글
GenBank 정보 불러오기 (2) | 2021.08.15 |
---|---|
바이오파이썬 단백질 분석 : COVID-19 게놈(Genome) (1) | 2021.07.27 |
슬라이싱 시퀀스 (0) | 2021.07.13 |
간단한 예제 (1) | 2021.07.10 |
바이오 파이썬 설치 방법 (1) | 2021.07.09 |