데이터분석/Bioinformatics

[한주현님강의] DNA 분석 파이프라인(2)

묘걍 2023. 10. 18. 18:55

Genome Analysis Tutorial - 툴 설치

📚 툴 설치

  • BWA2: FASTQ 리드를 기준 서열에 mapping해주는 툴
  • Samtools: BAM 파일을 다루는 툴
  • GATK4: BAM 파일에서 변이를 calling하여 VCF를 생성하는 툴

👉🏻 BWA2 설치

1️⃣ 첫 번째 방법

✅ 툴을 위한 디렉토리를 만들기

홈 디렉토리에서 진행

mkdir 명령어를 통해 tool이라는 디렉토리 생성

cd를 통해 tool 디렉토리로 이동

이동 완료

 

✅ 명령어 실행하기

다음 명령어들을 순서대로 터미널 창에 붙여넣기 한다

curl -L https://github.com/bwa-mem2/bwa-mem2/releases/download/v2.0pre2/bwa-mem2-2.0pre2_x64-linux.tar.bz2 | tar jxf -

cd bwa-mem2-2.0pre2_x64-linux

./bwa-mem2

명령어 출처: https://github.com/KennethJHan/GenomeAnalysisTutorial

 

GitHub - KennethJHan/GenomeAnalysisTutorial: Genome Analysis Pipeline for Lecture

Genome Analysis Pipeline for Lecture. Contribute to KennethJHan/GenomeAnalysisTutorial development by creating an account on GitHub.

github.com

첫 번째 명령어 실행 후 ll로 확인

bwa-mem2-2.0pre2_x64-linux 폴더로 들어가 (두 번째 명령어)

ll로 확인

세 번째 명령어 실행

위와 같이 나오면 성공!

 

(1번에서 다음과 같이 오류가 나면 2번을 사용하여 설치한다)

출처: 강사님 화면

2️⃣ 두 번째 방법

git clone --recursive https://github.com/bwa-mem2/bwa-mem2

cd bwa-mem2

make

./bwa-mem2

(강사님은 WSL에서 실행했을 때 오류가 나서 두 번째 방법으로 하셨다는데, 나도 WSL인데 1번으로 잘 됐다)

 

👉🏻 Samtools 설치

지난번에 설치했음

https://dev-study-501.tistory.com/151

 

[한주헌님강의] 생물정보학 리눅스 툴 설치하기 (samtools), bam파일 보는 방법 + WSL2 우분투 설치 방

👉🏻 오늘 설치할 툴 samtools BAM파일을 다루는 툴 BAM파일은 FASTQ를 맵핑한 파일 포맷 👉🏻 리눅스 툴 설치의 어려움 윈도우에서 설치하던 것 처럼 더블클릭으로 쉽게 되지 않는다 리눅스에서는

dev-study-501.tistory.com

 

👉🏻 GATK4 설치

그냥 파일 다운 받고 압축 풀면 끝!

wget https://github.com/broadinstitute/gatk/releases/download/4.2.0.0/gatk-4.2.0.0.zip

unzip gatk-4.2.0.0.zip

명령어 출처: https://github.com/KennethJHan/GenomeAnalysisTutorial

 

GitHub - KennethJHan/GenomeAnalysisTutorial: Genome Analysis Pipeline for Lecture

Genome Analysis Pipeline for Lecture. Contribute to KennethJHan/GenomeAnalysisTutorial development by creating an account on GitHub.

github.com

tool 폴더로 돌아가

첫 번째 명령어 입력

(갑자기 의문이 든게 samtools도 tool 폴더에 해야하나..? 저번 영상 보고 미리 따라해서 다른 곳에 있을텐데)

 

ll로 확인해보면

zip파일이 있다

 

두 번째 명령어를 실행해서 압축을 풀어주면 된다

unzip이 설치되어있지 않다고 해서

설치를 먼저했다. 리눅스 처음 사용하는 사람들은 이런 오류 결과 잘 살펴야 할 것 같다

패스워드를 입력하고 나면 설치 완료

다시 두 번째 명령어를 입력하면

압축이 풀린다

압축이 풀린 후 ll로 확인해보면

gatk-4.2.0.0라는 폴더가 생성되어 있는 것을 확인할 수 있고

해당 폴더로 이동해

ll로 안의 내용을 살펴보면

다음과 같이 나온다

 

✅ 실행확인해보기

- GATK는 Java로 실행

- 로컬에서 실행하기 때문에 gatk-package-4.2.0.0-local.jar 파일을 활용

나는 java가 설치되어있지 않아 다음 결과가 나왔다

결과 메시지는 여러 버전의 Java 런타임 환경(JRE)을 설치할 수 있는 옵션을 제시하고 있습니다. 모두 설치할 필요는 없습니다.
다만, 자바 애플리케이션 또는 프로젝트가 특정 버전의 Java를 요구한다면, 그 버전을 설치하는 것이 좋습니다. 그렇지 않고, 일반적인 용도로 Java를 사용하려면, "default-jre"를 설치하는 것이 간단합니다.
다음 명령어로 default-jre를 설치할 수 있습니다:
sudo apt install default-jre​

이 명령어를 실행하면 우분투 저장소에서 기본으로 제공하는 Java 버전이 설치됩니다.
만약 특정 버전의 Java가 필요하다면, 해당 버전의 **openjdk**를 선택하여 설치하면 됩니다.

그래서 디폴트로 설치했다

다시 마지막 명령어를 실행해보면

이렇게 결과가 잘 나오는 것을 볼 수 있다

 

 

Genome Analysis Tutorial - 전체 workflow

출처: 강사님 화면

1️⃣ Sample에서 실험을 통해 DNA 추출

2️⃣ 추출한 DNA는 랜덤으로 자름

3️⃣ DNA 서열을 읽을 수 있는 시퀀서에 넣을 수 있는 형태인 Library로 제작

4️⃣ 제작된 Library는 시퀀서에 넣음

5️⃣ 시퀀서가 DNA 조각을 읽고

6️⃣ Read라는 DNA를 읽은 한 단위가 나옴

     - Read로 나온 파일 포맷을 FASTQ라고 함

출처: 강사님 화면

7️⃣ 각 Read를 기준서열(Reference sequence)와 비교

8️⃣ 유사도가 높은 지점을 붙임

     = Mapping, Align이라고 함

     - BWA: Mapping/Align을 진행해주는 툴

     - BAM: Align이 된 형태를 저장하는 파일 포맷

9️⃣ 실험 과정에서 발생한 Duplication(중복 리드)을 제거하거나 표시한다

     - 중복 리드가 있으면 나중에 변이를 찾는 과정에 영향을 준다

     - Picard라는 툴을 많이 썼었음

     - 이번 실습에서는 Samtools를 사용할 것

출처: 강사님 화면

- Duplication을 다 표시한 BAM 파일은 변이를 찾을 준비가 되었다

🔟GATK 툴: variant calling (변이 추출)

     - 변이: 기준 서열과 비교했을 때 다른 염기

                 위 그림에서 기준 서열은 T인데 A라는 염기가 발견됨

                 = chr 1 T A (chromosome1번의 기준이 T였는데 A가 됐다)

     - chromosome 1 ~ XY까지 variant calling

1️⃣1️⃣ VCF 파일이 나옴

     - Annotation: (각 포지션에서) 어떤 생물학적 의미가 있는지 알아보기 위해 정보를 붙이는 과정

     - Annotation진행 툴: SnpEff, ANNOVAR, VEP ...

 

👉🏻 강의에서 배울 것

- Raw DATA인 FASTQ에서 BWA 툴을 사용하여 reference의 Mapping을 진행

- 그 결과로 나온 BAM 파일에서 Duplication Marking

- GATK툴을 통해 Variant Calling 진행

- 최종적으로 VCF가 나옴

❗ 유전체에서 변이를 찾아내는 과정

 

출처: 강사님 화면

 

 

 

 

 

 

 

 

 

 

 

 

 

 

출처:  https://youtu.be/jf4rkoXr4nk?si=bW1LKEfp1aGVWs6l

https://youtu.be/0enU9hBK7bY?si=84rOv4iRvAP1WZ2Z