200718 덕성여대 강의 - 한주현
바이오파이썬으로 분석하는 covid19
covid19 genome 서열 받아서 바이오파이썬으로 다루기
covid19를 pubmed에서 검색해서 abstract 받아오기
covid19 protein 서열 받아서 weblogo 그려보기
강연문의
한주현 kenneth.jh.han@snu.ac.kr
블로그 https://korbillgates.tistory.com
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장)
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 의 서열 길이는 어떻게 될까요?
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를 출력하게 함
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 단계는 바이오파이썬으로도 가능하며 바이오파이썬은 랩핑 형태로 구성되었음
본 실습은 웹에서 구현하는 것으로 함
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
여러분들을 위해
만들어 놓음!
37. 16937
마치며
강사 소개
이름 한주현
소속
전) 마크로젠 데이터분석부
현) 쓰리빌리언 Bioinformatics Engineer
현) 서울대학교 의료정보학 전공 이규언 교수님 연구실
메일 kenneth.jh.han@snu.ac.kr
웹페이지 https://korbillgates.tistory.com
짧은 시간이기에 못다한 얘기들이 많은데
여러분들과 헤어지는게 아쉽네요
필요한 일 있으시면 언제든지 연락주세요 ☺
그럼 나중에 또 만나요 !!