상세 컨텐츠

본문 제목

바이오파이썬으로 만나는 생물정보학

전체 출간 도서

by 비제이퍼블릭 2019. 3. 11. 12:24

본문





바이오파이썬으로 만나는 생물정보학


부제 파이썬 프로그래밍을 통해 풀어보는 생명의 구조

저자 한주현

 

출간/배본가능일 2019322

정가 26,000

페이지 312

판형 크라운판 (173 * 230)

ISBN 979-11-86697-81-8 (93000)

 



 

책 소개


실제로 현업에서 사용하는 바이오파이썬 모듈과 100개의 프로그래밍 예제를 통해

생물정보학 파이썬 프로그래밍의 기초를 쌓을 수 있는 도서!

 

쏟아지는 생물정보 빅데이터를 처리함에 있어 배우기 쉽고 원하는 결과를 신속하게 만들어 낼 수 있는 파이썬은 이 시대의 단연 인기 있는 언어다. 바이오파이썬은 파이썬 라이브러리 중 하나로 유전체 데이터 서열을 읽거나 생물정보 데이터 다루기, NCBI와 같은 웹 정보 가져오기 그리고 생물정보 분석 툴 실행 등의 기능을 할 수 있다.

 

본 도서에서는 각 장마다 바이오파이썬의 모듈들을 학습할 것이다. 실무에서 뛰고 있는 의생명연구자 및 생물정보학에 관심이 있는 분들이 연구에 즉시 활용할 수 있도록 실제 생물정보 데이터를 가지고 예제와 연습문제를 꾸려보았다. 또한 기초 생물정보학 파이썬 프로그래밍의 실력 향상을 위해 100개 문항의 연습문제도 구성하였다. 각 장의 내용을 학습하고 연습 문항을 해결하다 보면 각종 생물정보 문제를 손쉽게 해결할 수 있으리라 믿어 의심치 않는다.

 


이 책의 특징


• 실제 생물정보학 예제를 활용한 바이오파이썬 모듈의 학습

• 실전과 같은 예제와 연습 문항으로 즉시 현업에 활용 가능

100개의 파이썬 문항으로 기초 생물정보학 프로그래밍 연습

 

이 책이 필요한 독자


• 바이오파이썬으로 생물정보학을 배우고 싶은 의생명연구자

• 파이썬으로 생물정보학 데이터를 다루고 싶은 개발자

• 실제 코딩 문제를 해결하며 생물정보학 파이썬 프로그래밍 실력을 올리고 싶은 학습자

 


독자대상

초중급

 


소스코드 다운로드

https://github.com/bjpublic/biopython

 


저자 소개



한주현


파이썬을 사랑하는 생물정보학자로 현업에서 유전체 데이터 분석 업무를 맡고 있다. 포스트게놈다부처유전체사업 예비 전문가 교육 프로그램에서 파이썬 프로그래밍을 강의하였고, 생물정보학자의 블로그(https://korbillgates.tistory.com)를 운영하며 오프라인 및 온라인에서 생물정보학을 알리기 위해 노력 중이다. 공역서로 <니콜라스 볼커 이야기>가 있다.

 



목차

 

섹션 1. 바이오파이썬

 

1장 바이오파이썬 소개

1.1 바이오파이썬이란

1.2 바이오파이썬으로 할 수 있는 일들

1.3 정리

1.4 연습문제

 

2장 바이오파이썬 설치

2.1 아나콘다파이썬 설치

2.2 바이오파이썬 설치 여부 확인

2.3 바이오파이썬 설치(윈도우)

2.4 바이오파이썬 설치(/리눅스)

2.5 바이오파이썬 버전 업그레이드

2.6 바이오파이썬 삭제

2.7 Jupyter Notebook

2.8 연습문제

 

3장 생물정보학 파일 포맷 소개

3.1 FASTA/FASTQ

3.2 SAM/BAM

3.3 BED

3.4 VCF

3.5 GenBank

3.6 XML

3.7 JSON

3.8 정리

3.9 연습문제

 

4장 유전자 서열 다루어보기 : Sequence 객체

4.1 TATA Box

4.2 객체란

4.3 Sequence 객체 소개

4.4 Sequence 객체 다루기

4.5 Bio.SeqUtils 모듈 활용

4.6 정리

4.7 연습문제

 

5 Sequence record 객체

5.1 SeqRecord 객체

5.2 SeqRecord 객체의 속성

5.3 SeqRecord 객체 만들기

5.4 SeqRecord 객체 간 비교하기

5.5 정리

5.6 연습문제

 

6 FASTA, FASTQ, GenBank 파일 : Sequence 읽기

6.1 SeqIO 모듈로 Sequence 파일을 읽는 두 가지 방법 - FASTA 파일 읽기

6.2 SeqIO.parse() 메서드로 FASTQ 파일 읽기

6.3 GenBank 파일 읽기

6.4 인터넷을 통한 파일 읽기 : CCR5 유전자와 HIV 저항성

6.5 정리

6.6 연습문제

 

7장 인간과 다른 동물은 얼마나 다를까? 종 간 차이점의 비밀: Multiple Sequence Alignment

7.1 Multiple Sequence Alignment 준비 과정

7.2 Multiple Sequence Alignment 파일 읽기

7.3 Alignment 다루기

7.4 Alignment MUSCLE

7.5 WebLogo로 보존 서열 알아보기

7.6 계통수 그려보기

7.7 정리

7.8 연습문제

 

8장 원인 불명의 환자에서 나온 미지의 종 찾기 : BLAST

8.1 미지의 종 발견

8.2 웹브라우저에서 NCBI BLAST 실행

8.3 바이오파이썬으로 BLAST 실행

8.4 정리

8.5 연습문제

 

9 NCBI 데이터베이스

9.1 Entrez

9.2 EFetch: 소아마비를 일으키는 poliovirus 데이터 읽기

9.3 EInfo: Entrez의 데이터베이스 목록

9.4 ESearch : Entrez 데이터베이스를 검색

9.5 정리

9.6 연습문제

 

10장 단백질의 세계로 : Swiss-Prot ExPASy

10.1 Swiss-Prot

10.2 ExPASy

10.3 정리

10.4 연습문제

 

11장 계통분류학 분석 : Bio.Phylo

11.1 계통분류학

11.2 Newick 포맷 설명

11.3 바이오파이썬 Phylo 모듈

11.4 Phylo 모듈로 계통수 그리기

11.5 정리

11.6 연습문제

 

12장 시스템생물학 지도 : KEGG

12.1 KEGG

12.2 해당 과정

12.3 KEGG 객체 파싱

12.4 KEGG API 사용법

12.5 정리

12.6 연습문제

 

13장 바이오파이썬 활용 연습문제

 

 

 

섹션 2. 생물정보학 파이썬 프로그래밍

 

1. 프로그래밍 시작

문항 1) Hello, Bioinformatics

문항 2) 변수 사용

문항 3) 연산자 소개

문항 4) if - else 조건문

문항 5) if - elif - else 조건문

문항 6) for

문항 7) 중첩이 있는 for

문항 8) while

문항 9) 함수

문항 10) 함수 - 함수에 값 전달

문항 11) 함수 - 함수에서 값의 반환

문항 12) 함수 - 함수에 값 전달과 반환값 받기

문항 13) 하드코딩 피하기, 사용자로부터 값 받기

문항 14) 사용자로부터 값 받기 활용

문항 15) 커맨드라인에서 인수 입력받기

문항 16) 파일 읽기

문항 17) 파일 쓰기

문항 18) 주석 달기

문항 19) 예외 처리하기 - 디버깅

문항 20) 예외 처리하기 - 여러 오류들 처리하기

 

2. 자료형 다루기

2.1 문자열

문항 21) 문자열 더하기

문항 22) 문자열 반복하여 더하기

문항 23) 문자열에서 n번째 문자 출력하기

문항 24) 문자열 슬라이싱

문항 25) 문자열 길이 구하기

문항 26) 문자열 대소문자 변환하기

문항 27) 문자열 n씩 건너뛰며 출력하기

문항 28) 문자열을 n개씩 나누어 출력하기

문항 29) 문자열 순서를 거꾸로 뒤집어 출력하기

문항 30) 문자열 바꾸기

문항 31) 역상보 서열(reverse complement sequence) 만들기

문항 32) 문자열에서 특정 문자가 있는지 확인하기

문항 33) 문자열에서 특정 문자의 index 번호 출력하기

문항 34) 문자열에서 특정 문자 개수 세기

문항 35) 문자열에서 특정 문자를 다른 문자로 교체하기

문항 36) 문자열에서 단어 개수 세기

 

2.2 숫자

문항 37) 주어진 수의 제곱근 구하기

문항 38) 주어진 수의 절댓값 구하기

문항 39) 주어진 수의 로그값 구하기

문항 40) 주어진 수의 자연로그값 구하기

문항 41) 밑이 다른 로그값 구하기

문항 42) 주어진 수의 반올림값 구하기 - 실수

문항 43) 주어진 수의 반올림값 구하기 - 정수

문항 44) 난수 만들기

문항 45) 로또 번호 생성기

문항 46) 문자열에서 숫자만 골라내기

 

2.3 리스트

문항 47) 리스트 길이 구하기

문항 48) 리스트의 n번째 출력하기

문항 49) 리스트 슬라이싱하기

문항 50) 리스트를 건너뛰며 슬라이싱하기

문항 51) 리스트를 거꾸로 뒤집기

문항 52) 리스트 오름차순 정렬하기

문항 53) 리스트 내림차순 정렬하기

문항 54) 리스트에 요소 추가하기

문항 55) 리스트의 특정 위치에 요소 추가하기

문항 56) 리스트 요소 제거하기

문항 57) 리스트의 특정 요소 개수 세기

문항 58) 리스트 내부의 최댓값 구하기

문항 59) 리스트 내부의 최솟값 구하기

문항 60) 리스트 내부의 모든 요소 합 구하기

문항 61) 리스트 내부의 모든 요소 평균 구하기

문항 62) 문자열의 특정 구분자를 기준으로 리스트 만들기

문항 63) 리스트를 특정 구분자 기준으로 문자열 만들기

문항 64) 리스트 섞기

 

2.4 사전

문항 65) 파이썬 사전 형태 알아보기

문항 66) 사전 만들기

문항 67) 사전에서 요소 제거하기

문항 68) 사전에 키값이 있는지 확인하기

문항 69) 사전을 이용하여 아미노산 서열의 종류 개수 세기

문항 70) 사전 키 출력하기

문항 71) 사전 값 출력하기

문항 72) 사전 키-값 모두 출력하기

문항 73) 사전 값을 기준으로 정렬하기

 

2.5 세트

문항 74) 세트 만들기

문항 75) 세트 합집합 구하기

문항 76) 세트 교집합 구하기

문항 77) 세트 여집합 구하기

 

2.6 튜플

문항 78) 튜플 만들기

문항 79) 튜플의 특성

 

3. 클래스

문항 80) 객체 만드기

문항 81) 객체의 속성

문항 82) 객체의 메서드

문항 83) 객체의 생성자 (__init__)

문항 84) 객체의 소멸자 (__del__)

문항 85) 객체의 덧셈 (__add__)

문항 86) 객체의 비교 (__gt__)

 

4. 알고리즘 소개

문항 87) 재귀 알고리즘 구현하기

문항 88) 동적계획법 구현하기

문항 89) 알고리즘 활용 - kmer 만들기

문항 90) 알고리즘 활용 - Palindrome 찾기

 

5. 생물정보학 파일 다루기

5.1 FASTA

문항 91) FASTA 파일에서 염기 개수 세기

문항 92) FASTA 파일에서 레코드 개수 세기

 

5.2 VCF

문항 93) VCF 파일 소개 - VCF 파일에서 header data 분리하기

문항 94) VCF 파일에서 샘플 개수 세기

문항 95) VCF 파일에서 Filter PASS만 골라내기

문항 96) VCF 파일에서 변이 개수 세기

문항 97) VCF 파일에서 SNP, InDel 개수 세기

문항 98) VCF파일에서 dbSNP에 발견된 변이 개수 구하기

문항 99) VCF파일에서 Ts/Tv 비율 구하기

 

5.3 BED

문항 100) BED 파일이 담고 있는 전체 영역 구하기

 

 


출판사 리뷰

 


최근 4차 산업혁명과 맞물려 컴퓨터 프로그래밍에 대한 관심이 매우 크다. 이러한 관심에 힘입어 컴퓨터공학 전공자들은 물론 컴퓨터가 아닌 타 분야 연구자 및 대학생 심지어 중고등학생들도 프로그래밍에 관심을 갖고 학습하고 있다. 생물정보학 분야에서도 파이썬은 확고한 입지를 확보하였는데 이는 다른 프로그래밍 언어들보다 인기가 높고 사용자가 많은 언어이다 보니 기존 라이브러리들을 활용하여 자신의 연구에 쉽고 빠르게 적용할 수 있기 때문이다.

 

본서는 파이썬과 바이오파이썬을 활용하여 생물정보학적 문제를 해결하고 생물정보학 파이썬 프로그래밍 실력을 높이고 싶은 독자를 대상으로 한다. 본서로 학습하기 위해서는 생물학과 컴퓨터 프로그래밍의 기초 지식이 필요하다. 기준이 높지는 않으니 걱정하지는 말자. 컴퓨터 프로그래밍에 대한 기초 지식은 파이썬 스크립트를 작성하고 실행하는 방법을 아는 정도면 된다. 생물학 지식이 필요한 경우도 고등학교 수준 정도이면 충분하며 각 장의 초반에서 설명할 것이다. 본서가 독자 여러분의 목적에 도움이 될 수 있기를 희망한다.


관련글 더보기

댓글 영역