SlideShare a Scribd company logo
1 of 37
Download to read offline
This document contains confidential and proprietary information belonging to Macrogen, Inc.,
which may be used only in connection with the business of Macrogen, Inc.
바이오파이썬으로 만나는 생물정보학
with covid19
Han Joohyun
July 2020
ⓒ 2015, Macrogen, Inc. All Rights Reserved
우리의 목표 with biopython01
covid-19 를 바이오파이썬으로 다루기
1693
covid-19 를 바이오파이썬으로 다루기
지금까지 갈고 닦은 파이썬
실력으로 covid-19를
알아보자!
1) covid-19 genome 서열을 받아서 바이오파이썬으로 서열 다뤄보기
2) covid-19 를 pubmed에서 검색해서 abstract 받아오기 (with 바이오파이썬)
3) covid-19 protein 서열을 받아서 WebLogo 그려보기
169
바이오파이썬이란? (1장)
바이오파이썬이란?
→ 바이오파이썬 (biopython) 은 생물정보학 프로그래밍을 위한 파이썬 라이브러리
바이오파이썬으로 할 수 있는 일들
1) 파싱 작업 (4장, 5장, 6장, 10장, 11장, 12장)
2) 유전체 서열정보를 문자열 수준에서 다루게 해 줌 (4장, 5장, 6장)
3) 웹 정보를 가져올 수 있게 해 줌 (9장)
4) 생물정보학에서 사용하는 툴을 파이썬 레벨에서 다룰 수 있게 해 줌 (7장, 8장)
1695
바이오파이썬이 설치 되었는지 체크
import 오류가 난다면
pip install biopython 을 해준다.
ⓒ 2015, Macrogen, Inc. All Rights Reserved
covid-19 genome 서열을 받아서
바이오파이썬으로 서열 다뤄보기02
1697
코로나 바이러스 서열을 바이오파이썬으로 읽어보자
ncbi 홈페이지에 들어가서 covid19를 검색한다.
https://www.ncbi.nlm.nih.gov/
1698
코로나 바이러스 서열을 바이오파이썬으로 읽어보자
RefSeq genome 클릭
1699
코로나 바이러스 서열을 바이오파이썬으로 읽어보자
Send to: 클릭
File 클릭
Format을 FASTA 로 설정
Create File 클릭
https://www.ncbi.nlm.nih.gov/nuccore/1798174254
16910
코로나 바이러스 서열을 바이오파이썬으로 읽어보자
메모장으로 열어보면 이렇게 생겼다.
16911
코로나 바이러스 서열을 바이오파이썬으로 읽어보자
Bio 안의 SeqIO를 불러온 다음
SeqIO의 read() 메서드를 사용하여 파일을 읽어서 record 변수에 저장합니다.
SeqIO.read() 에는 두 가지 인자가 들어가는데,
첫 번째는 파일 이름, 두 번째는 파일의 종류가 들어갑니다.
이렇게 읽은 record 변수를 출력해봅시다.
16912
코로나 바이러스 서열을 바이오파이썬으로 읽어보자
SeqIO.read() 메서드의 결과로 SeqRecord 객체가 만들어집니다.
파이썬의 내장 명령어인 type 명령어로 확인해볼 수 있습니다.
SeqRecord 객체의 메서드와 속성은 파이썬 내장 명령어인 dir 명령어로 확인해 볼 수 있습니다.
16913
코로나 바이러스 서열을 바이오파이썬으로 읽어보자
SeqRecord 객체의 seq 속성은 SeqRecord가 가지고 있는 서열 정보를 담고 있습니다.
질문! → covid-19 의 서열 길이는 어떻게 될까요?
16914
코로나 바이러스 서열을 바이오파이썬으로 읽어보자
항상
프로그래밍의 결과를
검증해봐야한다!
검증 완료!
16915
코로나 바이러스 서열을 바이오파이썬으로 읽어보자
SeqRecord 객체의 seq 속성은 SeqRecord가 가지고 있는 서열 정보를 담고 있습니다.
질문! → covid-19 의 서열에서 A, C, G, T 의 개수는 각각 어떻게 될까요?
169
코로나 바이러스 서열을 바이오파이썬으로 읽어보자
파이썬 딕셔너리를 사용하여 세면
간단하게 A, C, G, T를 카운트 할 수 있다.
ⓒ 2015, Macrogen, Inc. All Rights Reserved
covid-19 를 pubmed에서 검색해서
abstract 받아오기03
169
covid-19 를 pubmed에서 검색해서 abstract 받아오기 :: 전체 과정
Abstract
→ 논문의 정수가 담겨 있는 부분
Abstract 만 읽어도 어떠한 목적으로 연구를 하였는지 알 수 있음
내가 이 논문을 읽어볼 만한지 알 수 있기도 함
텍스트 처리를 하는 머신러닝 NLP(Natural Language Process)에서
Abstract 부분으로 여러 연구들을 진행함
- 바이오파이썬으로 pubmed 검색하여 abstract 받아오는 전체 과정 정리
1) 바이오파이썬의 Entrez.esearch() 메서드로 covid19를 검색하여 읽음
2) 검색 결과에서 pmid를 가지고 Entrez.read() 메서드에 넣어 논문을 읽음
3) 논문 읽은 결과에서 Abstract가 있으면 pmid와 Abstract를 출력하게 함
Why Abstract?
169
covid-19 를 pubmed에서 검색해서 abstract 받아오기
id@email.com 에는 여러분들의 이메일 주소를 넣으시면 됩니다.
혹시나 결과가 제대로 나오지 않았을 경우 알려주는 역할을 합니다.
retmax로 최대 몇 개 까지 pmid를 받아올 것인지 정할 수 있다.
1) 바이오파이썬의 Entrez.esearch() 메서드로 covid19를 검색하여 읽음
169
covid-19 를 pubmed에서 검색해서 abstract 받아오기
2) 검색 결과에서 pmid를 가지고 Entrez.read() 메서드에 넣어 논문을 읽음
169
covid-19 를 pubmed에서 검색해서 abstract 받아오기
3) 논문 읽은 결과에서 Abstract가 있으면 pmid와 Abstract를 출력하게 함
article 변수에 사전형으로 들어있는 값들을 보고
내가 원하는 정보들을 살펴보고 출력해보자!
169
covid-19 를 pubmed에서 검색해서 abstract 받아오기
3) 논문 읽은 결과에서 Abstract가 있으면 pmid와 Abstract를 출력하게 함
169
covid-19 를 pubmed에서 검색해서 abstract 받아오기 :: 전체 스크립트
ⓒ 2015, Macrogen, Inc. All Rights Reserved
covid-19 protein 서열을 받아서
WebLogo 그려보기04
바이오파이썬으로 만나는 생물정보학 7장
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
https://www.youtube.com/watch?v=Nc4L4i7rlIg
유튜브 검색창에
생물정보학 바이오파이썬
또는
생물정보학 코로나
로 검색하셔서 다음 동영상에서
구독과 좋아요!
부탁드리겠습니다 ^^;;;;
169
covid-19 protein 서열을 받아서 WebLogo 그려보기 :: 전체 과정
- covid19 protein 서열로 WebLogo 그리는 전체 과정
1) ncbi protein 에서 covid envelope 서열을 전체 다운받음
2) 다운 받은 서열에서 바이오파이썬을 이용하여 전체 fasta 파일을 읽고 preprocessing 작업을 함
3) MSA (Multiple Sequence Alignment) 를 진행
4) MSA 결과를 WebLogo 에 넣어 그림 완성
3,4 단계는 바이오파이썬으로도 가능하며 바이오파이썬은 랩핑 형태로 구성되었음
본 실습은 웹에서 구현하는 것으로 함
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
https://www.ncbi.nlm.nih.gov/protein
covid19를 검색합니다
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
NCBI 에서 covid19 아미노산 서열을 받습니다.
본 실습은 envelop protein 서열을 받아서 진행해보겠습니다.
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
Severe acute respiratory syndrome coronavirus 2 envelope protein
https://www.ncbi.nlm.nih.gov/protein/?term=Severe+acute+respiratory+syndrome+coronavirus+2+envelope+protein
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
지금 받은 fasta 파일은
전처리 과정이 필요합니다.
서열중에 X가 있는 경우 제외
각 서열을 unique 하게 출력
description에서 envelope protein만 고르기
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
>QIZ14355.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPFFYVYSRVKNLNSSRVPDLLV
>BCF79926.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV
>QJS53352.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRMCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV
>QJR94919.1 envelope protein [Severe acute respiratory syndrome coronavirus 2
]MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDFLV
>QJR85475.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSFRVPDLLV
>QJQ84210.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVLLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV
>QJF11814.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLF
>QJA42107.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTVLRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV
>QHZ00381.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTAHRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV
>QKO24093.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEKTGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV
>QKI36855.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSCRVPDLLV
>QKI36831.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPYLLV
>QKE45910.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVLDLLV
>QIS60608.1 envelope protein [Severe acute respiratory syndrome coronavirus 2]
MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTARRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV
여러분들을 위해
만들어 놓음!
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
복사한 서열을 붙여 넣고 Submit 을 누름
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
169
covid-19 protein 서열을 받아서 WebLogo 그려보기
완성!
16937
마치며
강사 소개
이름 한주현
소속
전) 마크로젠 데이터분석부
현) 쓰리빌리언 Bioinformatics Engineer
현) 서울대학교 의료정보학 전공 이규언 교수님 연구실
메일 kenneth.jh.han@snu.ac.kr
웹페이지 https://korbillgates.tistory.com
짧은 시간이기에 못다한 얘기들이 많은데
여러분들과 헤어지는게 아쉽네요
필요한 일 있으시면 언제든지 연락주세요 ☺
그럼 나중에 또 만나요 !!

More Related Content

What's hot

優秀なエンジニアとは何か?なりたい将来像に近づく会社の選び方
優秀なエンジニアとは何か?なりたい将来像に近づく会社の選び方優秀なエンジニアとは何か?なりたい将来像に近づく会社の選び方
優秀なエンジニアとは何か?なりたい将来像に近づく会社の選び方Yamaura Koichiro
 
F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~Nobuhisa Koizumi
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたMITSUNARI Shigeo
 
大学でC言語をはじめて触る人へ
大学でC言語をはじめて触る人へ大学でC言語をはじめて触る人へ
大学でC言語をはじめて触る人へssuser3c1023
 
論文の書き方・読み方
論文の書き方・読み方論文の書き方・読み方
論文の書き方・読み方Satoshi Miura
 
クマリンを有する三脚巴状分子の凝集誘起発光についての理論的研究
クマリンを有する三脚巴状分子の凝集誘起発光についての理論的研究クマリンを有する三脚巴状分子の凝集誘起発光についての理論的研究
クマリンを有する三脚巴状分子の凝集誘起発光についての理論的研究Norifumi Yamamoto
 
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...Deep Learning JP
 
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-Deep Learning JP
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐりKazuyuki TAKASE
 
JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011Kris Mok
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
若手・中堅研究者のための科研費
若手・中堅研究者のための科研費若手・中堅研究者のための科研費
若手・中堅研究者のための科研費Yasuhisa Kondo
 
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?Mr. Vengineer
 
各言語の k-means 比較
各言語の k-means 比較各言語の k-means 比較
各言語の k-means 比較y-uti
 
学振特別研究員になるために~2024年度申請版
 学振特別研究員になるために~2024年度申請版 学振特別研究員になるために~2024年度申請版
学振特別研究員になるために~2024年度申請版Masahito Ohue
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSSyusuke shibui
 
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)Takafumi Sakakibara
 
C#でわかる こわくないMonad
C#でわかる こわくないMonadC#でわかる こわくないMonad
C#でわかる こわくないMonadKouji Matsui
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Yasutomo Kawanishi
 

What's hot (20)

優秀なエンジニアとは何か?なりたい将来像に近づく会社の選び方
優秀なエンジニアとは何か?なりたい将来像に近づく会社の選び方優秀なエンジニアとは何か?なりたい将来像に近づく会社の選び方
優秀なエンジニアとは何か?なりたい将来像に近づく会社の選び方
 
F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
大学でC言語をはじめて触る人へ
大学でC言語をはじめて触る人へ大学でC言語をはじめて触る人へ
大学でC言語をはじめて触る人へ
 
論文の書き方・読み方
論文の書き方・読み方論文の書き方・読み方
論文の書き方・読み方
 
クマリンを有する三脚巴状分子の凝集誘起発光についての理論的研究
クマリンを有する三脚巴状分子の凝集誘起発光についての理論的研究クマリンを有する三脚巴状分子の凝集誘起発光についての理論的研究
クマリンを有する三脚巴状分子の凝集誘起発光についての理論的研究
 
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
 
BERT入門
BERT入門BERT入門
BERT入門
 
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
 
JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)
 
若手・中堅研究者のための科研費
若手・中堅研究者のための科研費若手・中堅研究者のための科研費
若手・中堅研究者のための科研費
 
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
 
各言語の k-means 比較
各言語の k-means 比較各言語の k-means 比較
各言語の k-means 比較
 
学振特別研究員になるために~2024年度申請版
 学振特別研究員になるために~2024年度申請版 学振特別研究員になるために~2024年度申請版
学振特別研究員になるために~2024年度申請版
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSS
 
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)
 
C#でわかる こわくないMonad
C#でわかる こわくないMonadC#でわかる こわくないMonad
C#でわかる こわくないMonad
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
 

More from Joohyun Han

201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의Joohyun Han
 
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연Joohyun Han
 
200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의 200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의 Joohyun Han
 
200523 서울여대 BI 코딩실무 강의 자료
200523 서울여대 BI 코딩실무 강의 자료200523 서울여대 BI 코딩실무 강의 자료
200523 서울여대 BI 코딩실무 강의 자료Joohyun Han
 
Bioinformaitcs Web Programming - Han Joohyun
Bioinformaitcs Web Programming - Han JoohyunBioinformaitcs Web Programming - Han Joohyun
Bioinformaitcs Web Programming - Han JoohyunJoohyun Han
 
Bioinformatics Python Programming by HanJoohyun, Jul08, 2019
Bioinformatics Python Programming by HanJoohyun, Jul08, 2019Bioinformatics Python Programming by HanJoohyun, Jul08, 2019
Bioinformatics Python Programming by HanJoohyun, Jul08, 2019Joohyun Han
 

More from Joohyun Han (6)

201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의
 
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
 
200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의 200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의
 
200523 서울여대 BI 코딩실무 강의 자료
200523 서울여대 BI 코딩실무 강의 자료200523 서울여대 BI 코딩실무 강의 자료
200523 서울여대 BI 코딩실무 강의 자료
 
Bioinformaitcs Web Programming - Han Joohyun
Bioinformaitcs Web Programming - Han JoohyunBioinformaitcs Web Programming - Han Joohyun
Bioinformaitcs Web Programming - Han Joohyun
 
Bioinformatics Python Programming by HanJoohyun, Jul08, 2019
Bioinformatics Python Programming by HanJoohyun, Jul08, 2019Bioinformatics Python Programming by HanJoohyun, Jul08, 2019
Bioinformatics Python Programming by HanJoohyun, Jul08, 2019
 

200718 덕성여대 생물정보학 강의 :: 바이오파이썬 covid-19

  • 1. This document contains confidential and proprietary information belonging to Macrogen, Inc., which may be used only in connection with the business of Macrogen, Inc. 바이오파이썬으로 만나는 생물정보학 with covid19 Han Joohyun July 2020
  • 2. ⓒ 2015, Macrogen, Inc. All Rights Reserved 우리의 목표 with biopython01 covid-19 를 바이오파이썬으로 다루기
  • 3. 1693 covid-19 를 바이오파이썬으로 다루기 지금까지 갈고 닦은 파이썬 실력으로 covid-19를 알아보자! 1) covid-19 genome 서열을 받아서 바이오파이썬으로 서열 다뤄보기 2) covid-19 를 pubmed에서 검색해서 abstract 받아오기 (with 바이오파이썬) 3) covid-19 protein 서열을 받아서 WebLogo 그려보기
  • 4. 169 바이오파이썬이란? (1장) 바이오파이썬이란? → 바이오파이썬 (biopython) 은 생물정보학 프로그래밍을 위한 파이썬 라이브러리 바이오파이썬으로 할 수 있는 일들 1) 파싱 작업 (4장, 5장, 6장, 10장, 11장, 12장) 2) 유전체 서열정보를 문자열 수준에서 다루게 해 줌 (4장, 5장, 6장) 3) 웹 정보를 가져올 수 있게 해 줌 (9장) 4) 생물정보학에서 사용하는 툴을 파이썬 레벨에서 다룰 수 있게 해 줌 (7장, 8장)
  • 5. 1695 바이오파이썬이 설치 되었는지 체크 import 오류가 난다면 pip install biopython 을 해준다.
  • 6. ⓒ 2015, Macrogen, Inc. All Rights Reserved covid-19 genome 서열을 받아서 바이오파이썬으로 서열 다뤄보기02
  • 7. 1697 코로나 바이러스 서열을 바이오파이썬으로 읽어보자 ncbi 홈페이지에 들어가서 covid19를 검색한다. https://www.ncbi.nlm.nih.gov/
  • 8. 1698 코로나 바이러스 서열을 바이오파이썬으로 읽어보자 RefSeq genome 클릭
  • 9. 1699 코로나 바이러스 서열을 바이오파이썬으로 읽어보자 Send to: 클릭 File 클릭 Format을 FASTA 로 설정 Create File 클릭 https://www.ncbi.nlm.nih.gov/nuccore/1798174254
  • 10. 16910 코로나 바이러스 서열을 바이오파이썬으로 읽어보자 메모장으로 열어보면 이렇게 생겼다.
  • 11. 16911 코로나 바이러스 서열을 바이오파이썬으로 읽어보자 Bio 안의 SeqIO를 불러온 다음 SeqIO의 read() 메서드를 사용하여 파일을 읽어서 record 변수에 저장합니다. SeqIO.read() 에는 두 가지 인자가 들어가는데, 첫 번째는 파일 이름, 두 번째는 파일의 종류가 들어갑니다. 이렇게 읽은 record 변수를 출력해봅시다.
  • 12. 16912 코로나 바이러스 서열을 바이오파이썬으로 읽어보자 SeqIO.read() 메서드의 결과로 SeqRecord 객체가 만들어집니다. 파이썬의 내장 명령어인 type 명령어로 확인해볼 수 있습니다. SeqRecord 객체의 메서드와 속성은 파이썬 내장 명령어인 dir 명령어로 확인해 볼 수 있습니다.
  • 13. 16913 코로나 바이러스 서열을 바이오파이썬으로 읽어보자 SeqRecord 객체의 seq 속성은 SeqRecord가 가지고 있는 서열 정보를 담고 있습니다. 질문! → covid-19 의 서열 길이는 어떻게 될까요?
  • 14. 16914 코로나 바이러스 서열을 바이오파이썬으로 읽어보자 항상 프로그래밍의 결과를 검증해봐야한다! 검증 완료!
  • 15. 16915 코로나 바이러스 서열을 바이오파이썬으로 읽어보자 SeqRecord 객체의 seq 속성은 SeqRecord가 가지고 있는 서열 정보를 담고 있습니다. 질문! → covid-19 의 서열에서 A, C, G, T 의 개수는 각각 어떻게 될까요?
  • 16. 169 코로나 바이러스 서열을 바이오파이썬으로 읽어보자 파이썬 딕셔너리를 사용하여 세면 간단하게 A, C, G, T를 카운트 할 수 있다.
  • 17. ⓒ 2015, Macrogen, Inc. All Rights Reserved covid-19 를 pubmed에서 검색해서 abstract 받아오기03
  • 18. 169 covid-19 를 pubmed에서 검색해서 abstract 받아오기 :: 전체 과정 Abstract → 논문의 정수가 담겨 있는 부분 Abstract 만 읽어도 어떠한 목적으로 연구를 하였는지 알 수 있음 내가 이 논문을 읽어볼 만한지 알 수 있기도 함 텍스트 처리를 하는 머신러닝 NLP(Natural Language Process)에서 Abstract 부분으로 여러 연구들을 진행함 - 바이오파이썬으로 pubmed 검색하여 abstract 받아오는 전체 과정 정리 1) 바이오파이썬의 Entrez.esearch() 메서드로 covid19를 검색하여 읽음 2) 검색 결과에서 pmid를 가지고 Entrez.read() 메서드에 넣어 논문을 읽음 3) 논문 읽은 결과에서 Abstract가 있으면 pmid와 Abstract를 출력하게 함 Why Abstract?
  • 19. 169 covid-19 를 pubmed에서 검색해서 abstract 받아오기 id@email.com 에는 여러분들의 이메일 주소를 넣으시면 됩니다. 혹시나 결과가 제대로 나오지 않았을 경우 알려주는 역할을 합니다. retmax로 최대 몇 개 까지 pmid를 받아올 것인지 정할 수 있다. 1) 바이오파이썬의 Entrez.esearch() 메서드로 covid19를 검색하여 읽음
  • 20. 169 covid-19 를 pubmed에서 검색해서 abstract 받아오기 2) 검색 결과에서 pmid를 가지고 Entrez.read() 메서드에 넣어 논문을 읽음
  • 21. 169 covid-19 를 pubmed에서 검색해서 abstract 받아오기 3) 논문 읽은 결과에서 Abstract가 있으면 pmid와 Abstract를 출력하게 함 article 변수에 사전형으로 들어있는 값들을 보고 내가 원하는 정보들을 살펴보고 출력해보자!
  • 22. 169 covid-19 를 pubmed에서 검색해서 abstract 받아오기 3) 논문 읽은 결과에서 Abstract가 있으면 pmid와 Abstract를 출력하게 함
  • 23. 169 covid-19 를 pubmed에서 검색해서 abstract 받아오기 :: 전체 스크립트
  • 24. ⓒ 2015, Macrogen, Inc. All Rights Reserved covid-19 protein 서열을 받아서 WebLogo 그려보기04 바이오파이썬으로 만나는 생물정보학 7장
  • 25. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기 https://www.youtube.com/watch?v=Nc4L4i7rlIg 유튜브 검색창에 생물정보학 바이오파이썬 또는 생물정보학 코로나 로 검색하셔서 다음 동영상에서 구독과 좋아요! 부탁드리겠습니다 ^^;;;;
  • 26. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기 :: 전체 과정 - covid19 protein 서열로 WebLogo 그리는 전체 과정 1) ncbi protein 에서 covid envelope 서열을 전체 다운받음 2) 다운 받은 서열에서 바이오파이썬을 이용하여 전체 fasta 파일을 읽고 preprocessing 작업을 함 3) MSA (Multiple Sequence Alignment) 를 진행 4) MSA 결과를 WebLogo 에 넣어 그림 완성 3,4 단계는 바이오파이썬으로도 가능하며 바이오파이썬은 랩핑 형태로 구성되었음 본 실습은 웹에서 구현하는 것으로 함
  • 27. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기 https://www.ncbi.nlm.nih.gov/protein covid19를 검색합니다
  • 28. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기 NCBI 에서 covid19 아미노산 서열을 받습니다. 본 실습은 envelop protein 서열을 받아서 진행해보겠습니다.
  • 29. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기 Severe acute respiratory syndrome coronavirus 2 envelope protein https://www.ncbi.nlm.nih.gov/protein/?term=Severe+acute+respiratory+syndrome+coronavirus+2+envelope+protein
  • 30. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기 지금 받은 fasta 파일은 전처리 과정이 필요합니다. 서열중에 X가 있는 경우 제외 각 서열을 unique 하게 출력 description에서 envelope protein만 고르기
  • 31. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기 >QIZ14355.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPFFYVYSRVKNLNSSRVPDLLV >BCF79926.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV >QJS53352.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRMCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV >QJR94919.1 envelope protein [Severe acute respiratory syndrome coronavirus 2 ]MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDFLV >QJR85475.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSFRVPDLLV >QJQ84210.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVLLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV >QJF11814.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLF >QJA42107.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTVLRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV >QHZ00381.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTAHRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV >QKO24093.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEKTGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV >QKI36855.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSCRVPDLLV >QKI36831.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPYLLV >QKE45910.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTALRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVLDLLV >QIS60608.1 envelope protein [Severe acute respiratory syndrome coronavirus 2] MYSFVSEETGTLIVNSVLLFLAFVVFLLVTLAILTARRLCAYCCNIVNVSLVKPSFYVYSRVKNLNSSRVPDLLV 여러분들을 위해 만들어 놓음!
  • 32. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기 복사한 서열을 붙여 넣고 Submit 을 누름
  • 33. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기
  • 34. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기
  • 35. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기
  • 36. 169 covid-19 protein 서열을 받아서 WebLogo 그려보기 완성!
  • 37. 16937 마치며 강사 소개 이름 한주현 소속 전) 마크로젠 데이터분석부 현) 쓰리빌리언 Bioinformatics Engineer 현) 서울대학교 의료정보학 전공 이규언 교수님 연구실 메일 kenneth.jh.han@snu.ac.kr 웹페이지 https://korbillgates.tistory.com 짧은 시간이기에 못다한 얘기들이 많은데 여러분들과 헤어지는게 아쉽네요 필요한 일 있으시면 언제든지 연락주세요 ☺ 그럼 나중에 또 만나요 !!