번역서
생명정보학 알고리즘¶
파이썬으로 구현하는 생명정보학 알고리즘
목차¶
-
1장. 서문
- 1.1 들어가며
- 1.2 생명정보학이란?
- 1.3 책의 구성
-
2장. 파이썬 소개
- 2.1 파이썬의 특징
- 2.2 변수와 미리 정의된 함수
- 2.3 파이썬 코드 작성하기
- 2.4 파이썬 프로그램 개발
- 2.5 객체지향 프로그래밍
- 2.6 사전 정의된 클래스 및 메서드
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
3장. 세포 및 분자생물학의 기초
- 3.1 세포: 생명의 기본 단위
- 3.2 유전자 정보: 핵산
- 3.3 유전자: 유전 정보의 이산 단위
- 3.4 인간 유전체
- 3.5 생물 자원 및 데이터베이스
- 참고 문헌과 추가 자료
- 연습 문제
-
4장. 생물학적 서열의 기본적 처리
- 4.1 생물학적 서열: 표현과 기본 알고리즘
- 4.2 전사와 역상보
- 4.3 번역
- 4.4 가능성 있는 유전자 찾기: 오픈 리딩 프레임
- 4.5 하나로 합체
- 4.6 생물학 서열의 클래스
- 4.7 바이오파이썬으로 서열 처리
- 4.8 바이오파이썬의 서열 주석 객체
- 연습 문제와 프로그래밍 프로젝트
-
5장. 서열 데이터에서 패턴 찾기
- 5.1 소개: 생명정보학에서 패턴 찾기의 중요성
- 5.2 고정된 패턴을 찾는 단순한 알고리즘
- 5.3 휴리스틱 알고리즘: 보이어-무어
- 5.4 결정적 유한 오토마타
- 5.5 정규표현식으로 유연한 패턴 찾기
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
6장. 쌍 서열 정렬
- 6.1 소개: 서열 비교와 서열 정렬
- 6.2 시각화 정렬: 점 도표
- 6.3 서열 정렬의 최적화 문제
- 6.4 전역 정렬을 위한 동적 프로그래밍 알고리즘
- 6.5 지역 정렬을 위한 동적 프로그래밍 알고리즘
- 6.6 서열 정렬의 특별한 경우
- 6.7 바이오파이썬을 활용한 쌍 서열 정렬
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
7장. 데이터베이스에서 유사한 서열 찾기
- 7.1 소개
- 7.2 BLAST 알고리즘과 프로그램
- 7.3 구현한 BLAST 이식
- 7.4 바이오파이썬을 통한 BLAST 사용
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
8장. 다중 서열 정렬
- 8.1 소개: 문제 정의와 복잡도
- 8.2 다중 서열 정렬의 알고리즘 최적화 클래스
- 8.3 점진적 정렬을 파이썬에서 구현
- 8.4 바이오파이썬으로 정렬 다루기
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
9장. 계통학 분석
- 9.1 소개: 문제 정의 및 연관성
- 9.2 계통학적 분석을 위한 알고리즘 클래스
- 9.3 파이썬으로 거리 기반 알고리즘 구현
- 9.4 계통학 분석을 위한 바이오파이썬
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
10장. 모티프 발견 알고리즘
- 10.1 소개: 문제 정의와 관련성
- 10.2 브루트 포스 알고리즘: 완전 탐색
- 10.3 분기 및 경계 알고리즘
- 10.4 휴리스틱 알고리즘
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
11장. 확률적 모티프와 알고리즘
- 11.1 확률 모티프 표현 및 검색
- 11.2 확률 알고리즘: 기댓값 최대화
- 11.3 모티프 발견을 위한 깁스 샘플링
- 11.4 바이오파이썬의 확률 모티프
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
12장. 은닉 마르코프 모델
- 12.1 소개: 은닉 마르코프 모델이란 무엇인가?
- 12.2 파이썬으로 알고리즘 구현
- 12.3 데이터베이스 검색을 위한 은닉 마르코프 모델
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
13장. 그래프: 개념과 알고리즘
- 13.1 그래프: 정의와 표현
- 13.2 파이썬 클래스 그래프
- 13.3 인접 노드와 차수
- 13.4 경로, 탐색, 거리
- 13.5 사이클
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
14장. 그래프와 생물학적 네트워크
- 14.1 소개
- 14.2 네트워크를 그래프로 표현
- 14.3 네트워크 위상 분석
- 14.4 대사작용 가능성 평가
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
15장. 게놈으로 리드 어셈블리: 그래프 기반 알고리즘
- 15.1 게놈 어셈블리 소개 및 관련한 도전들
- 15.2 오버랩 그래프와 해밀턴 사이클
- 15.3 드브루인 그래프와 오일러 경로
- 15.4 실제 게놈 어셈블리
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
16장. 참조 유전자 서열에 리드 어셈블리
- 16.1 소개: 서열 일치 문제의 정의와 응용법
- 16.2 패턴 전처리: 트라이
- 16.3 서열의 전처리: 접미사 트리
- 16.4 버로우즈 휠러 변환
- 참고 문헌과 추가 자료
- 연습 문제와 프로그래밍 프로젝트
-
17장. 더 읽을거리
- 17.1 추천하는 생명정보학 서적
- 17.2 논문 및 학회
- 17.3 정규 교육 과정
- 17.4 온라인 교육 자료
생명과학을 위한 딥러닝¶
생물학, 유전체학, 신약 개발에 적용하는 실무 딥러닝
- 분자 데이터에 머신러닝을 적용하는 방법
- 딥러닝으로 유전학/유전체학 분석하기
- 딥러닝으로 생물물리학 시스템 이해
- DeepChem 라이브러리 소개
- 딥러닝을 사용한 현미경 이미지 분석
- 딥러닝을 사용한 의료 이미지 분석
- VAE와 GAN 모델
- 머신러닝 모델의 작동 원리 해석
목차¶
-
1장. 왜 생명과학인가?
- 딥러닝은 왜 필요한가?
- 현대 생명과학은 빅데이터를 다룬다
- 무엇을 배우는가?
-
2장. 딥러닝 소개
- 선형 모델
- 다층 퍼셉트론
- 모델 학습하기
- 검증하기
- 정규화
- 하이퍼파라미터 최적화
- 다른 유형의 모델들
- 합성곱 신경망
- 순환 신경망
-
3장. DeepChem을 이용한 머신러닝
- DeepChem의 기본 데이터셋
- 독성 분자 예측 모델 만들기
- MNIST 데이터셋으로 필기 인식 모델 만들기
- MNIST 필기 인식 데이터셋
- 합성곱 신경망으로 필기 인식하기
- 소프트맥스와 소프트맥스 교차 엔트로피
-
4장. 분자 수준 데이터 다루기
- 분자란 무엇인가?
- 분자 간 결합
- 분자 그래프
- 분자 구조
- 분자 카이랄성
- 분자 데이터 피처화
- SMILES 문자열과 RDKit
- 확장 연결 지문
- 분자 표현자
- 그래프 합성곱
- 용해도 예측 모델
- MoleculeNet
- SMARTS 문자열
- 분자란 무엇인가?
-
5장. 생물물리학과 머신러닝
- 단백질의 구조
- 단백질 서열
- 단백질 3차원 구조를 예측할 수 있을까?
- 단백질-리간드 결합
- 생물물리학적 피처화
- 그리드 피처화
- 원자 피처화
- 생물물리학 데이터 사례 연구
- PDBBind 데이터셋
- PDBBind 데이터셋 피처화
- 단백질의 구조
-
6장. 유전학과 딥러닝
- DNA, RNA, 단백질
- 실제 세포 내에서 일어나는 일
- 전사인자의 결합
- 전사인자의 결합을 예측하는 합성곱 모델
- 염색질 접근성
- RNA 간섭
-
7장. 현미경을 위한 딥러닝
- 현미경에 대한 간략한 소개
- 현대의 광학현미경
- 회절 한계
- 전자현미경과 원자현미경
- 초고해상도 현미경
- 딥러닝과 회절 한계
- 현미경을 위한 시료 준비
- 시료 염색하기
- 시료 고정
- 시료 절편 가공
- 형광현미경
- 시료 준비 과정의 영향
- 딥러닝 활용법
- 세포수 측정
- 세포주란 무엇인가?
- 세포 구별하기
- 머신러닝과 실험
- 현미경에 대한 간략한 소개
-
8장. 의료 체계를 위한 딥러닝
- 컴퓨터 지원 질병 진단
- 베이즈 네트워크를 이용한 불확실성 예측
- 전자 건강 기록
- ICD-10 코드
- 비지도 학습이란 무엇인가?
- 거대 전자 건강 기록 데이터베이스의 위험성
- 방사선학을 위한 딥러닝
- X선 촬영과 CT 촬영
- 조직학
- MRI 촬영
- 치료법으로서의 머신러닝
- 당뇨망막병증
-
9장. 생성 모델
- VAE
- GAN
- 생명과학에 생성 모델 응용하기
- 신약 후보 물질 찾기
- 단백질 엔지니어링
- 과학적 발견을 위한 도구
- 생성 모델의 미래
- 생성 모델 사용하기
- 생성 모델 결과 분석
-
10장. 딥러닝 모델의 해석
- 예측값 설명하기
- 입력값 최적화하기
- 불확실성 예측하기
- 해석 가능성, 설명 가능성, 실제 결과
-
11장. 가상 선별검사
- 예측 모델을 위한 데이터셋 준비
- 머신러닝 모델 학습하기
- 예측을 위한 데이터셋 준비하기
- 예측 모델 적용하기
-
12장. 딥러닝의 미래와 전망
- 질병 진단
- 맞춤 의학
- 신약 개발
- 생물학 연구
구입처¶
파이썬을 활용한 생명정보학 2/e¶
- 지은이: 티아구 안타오
- 옮긴이: 김태윤
- 출판사: 에이콘 출판
원제 : Bioinformatics with Python Cookbook - Second Edition
생명정보학 데이터를 파이썬 프로그래밍 기법과 프레임워크를 사용해 처리한다. 차세대 염기서열 분석, 유전체학, 메타지노믹스(metagenomics), 집단 유전학, 계통 발생학, 프로테오믹스(proteomics)의 내용을 다룬다. 다양한 파이썬 도구와 라이브러리로 데이터를 변환, 분석, 시각화하는 최신 프로그래밍 기법을 배운다. 차세대 염기서열 분석 데이터의 필터링(filtering) 기술과 병렬처리 프레임워크(framework)인 대스크(Dask)와 스파크(Spark)도 소개한다.
목차¶
-
1장. 파이썬과 주변 생태계
- 소개
- 아나콘다를 사용한 필요 소프트웨어 설치
- 도커를 사용한 필요 소프트웨어 설치
- rpy2를 통해 R과 인터페이스 만들기
- 주피터 노트북에서 R 매직 명령어 사용하기
-
2장. 차세대 염기서열 분석
- 소개
- NCBI와 진뱅크 데이터베이스 둘러보기
- 염기서열 분석의 기초
- 배우기
- FASTQ 파일 다루기
- 정렬 데이터 다루기
- VCF 파일 데이터 분석하기
- 게놈 접근성과 SNP 데이터 필터하기
- HTSeq로 NGS 데이터 처리하기
-
3장. 게놈 데이터 다루기
- 소개
- 좋은 품질의 참조 게놈 다루기
- 낮은 품질의 참조 게놈 다루기
- 게놈 주석 살펴보기
- 게놈 주석으로 원하는 유전자 추출하기
- Ensembl REST API로 오소로그검색
- Ensembl REST API로 유전자 온톨로지 정보 검색
-
4장. 집단유전학
- 소개
- PLINK 형식 데이터셋 관리하기
- Genepop 파일 형식 소개
- Bio.PopGen으로 데이터셋 탐색하기
- F - 통계 계산하기
- 주성분 분석하기
- ADMIXTURE 프로그램으로 집단 구조 조사하기
-
5장. 집단유전학 시뮬레이션
- 소개
- 순방향 시뮬레이터 소개
- 선택 시뮬레이션
- 섬 모델과 디딤돌 모델을 사용한 시뮬레이션
- 복잡한 집단 통계 모델 만들기
-
6장. 계통 발생학
- 소개
- 계통 발생학 분석을 위한 데이터셋 준비
- 유전자와 게놈 데이터 정렬
- 서열 데이터 비교하기
- 계통수 그리기
- 재귀적으로 계통수 다루기
- 계통수 시각화하기
-
7장. 단백질 데이터 뱅크 사용하기
- 소개
- 데이터베이스에서 단백질 정보 찾기
- Bio.PDB 소개
- PDB 파일에서 더 많은 정보 추출하기
- PDB 파일에서 분자간 거리 계산
- 기하학적 계산하기
- PyMOL로 애니메이션 만들기
- Biopython을 사용해 mmCIF 파일 파싱하기
-
8장. 생명정보학 파이프라인
- 소개
- 갤럭시 서버 소개
- API를 사용해 갤럭시 사용하기
- 갤럭시 도구 개발
- 일반적인 파이프라인 사용법
- Airflow를 사용해 유전변이 분석 파이프라인 만들기
-
9장. 파이썬으로 유전체 빅데이터 다루기
- 소개
- HDF5 데이터 형식
- 대스크 라이브러리로 병렬분산처리
- 파케이 데이터 형식
- 스파크 라이브러리로 병렬분산처리
- 사이썬과 눔바로 코드 최적화
-
10장. 생명정보학의 다른 주제들
- 소개
- QIIME2로 메타지노믹스 분석하기
- 생식세포계열로 공통 염색체 찾기
- REST API로 GBIF 데이터베이스 사용하기
- GBIF의 지리 참조 데이터 다루기
- 사이토스케이프로 단백질 네트워크 시각화
-
11장. 고급 차세대 염기서열 분석
- 소개
- 분석을 위한 데이터셋 준비하기
- 멘델리언 오류로 데이터 품질 관리
- 의사 결정 나무를 사용한 데이터 탐색
- 표준 통계로 데이터 탐색
- 주석 데이터로 생물학적 특성 찾기