Bioinformatics/Sequencing data

[MultiQC] conda를 사용한 간단한 설치 및 실행

김해김씨99대손 2024. 6. 7. 14:59

 

 

 

🟧 NGS data workflow 

보통 연구실에서는 시퀀서 가격이 비싸다 보니, 회사에 시퀀싱을 맞기게 됩니다. 이때 결과물로 raw data와 NGS report를 전송해 주는데, 이 안에 기본적인 QC정보를 담고 있습니다.

그러나 이  보고서는 raw data가 쓸 만 한지 평가해 주진 않습니다. 그러므로 NGS데이터 분석에서 가장 중요한 것은 Raw data가 신뢰할 만한 것인지 판단하는 것입니다. 

 

 

Nizar Drou et al., Next-Generation Sequencing Analysis Resources, NYU Center (https://cgsb.gitbooks.io/ngs-analysis/content/)

 

이를 위해 가장 대중적으로 사용되는 프로그램에는 fastQC와 multiQC가 있습니다. 

 

 

 

 

🟧 설치 및 실행하기 

multiQC는 fastQC의 보고서를 하나로 합쳐주는 것으로, 실제 QC분석은 fastQC에서 구동됩니다. 

- fastqc 홈페이지: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/

- multiqc 홈페이지: https://multiqc.info/docs/#installing-multiqc

 

다운로드 방법에는 여러 가지가 있지만, 이 중에서 conda를 사용해 보겠습니다. 

# 1. python > 3.8
conda create --name py3.11 python=3.11
conda activate py3.11

# 2. install fastqc
conda install fastqc

# 3. install multiqc
conda install multiqc

# 4. run fastqc
fastqc -o results/ *.fastq.gz

# 5. run multiqc
multiqc results/

 

 

🟧 예제 보고서 확인하기 

MultiQC 홈페이지에서 예제 보고서를 확인할 수 있다. 

- RNAseq: https://multiqc.info/example-reports/rna-seq/

- Whole-Genome Seq: https://multiqc.info/example-reports/whole-genome-seq/

 

각 데이터에 따라 평가되는 속성이 일부 다르다. 아래 보고서는 fungi ITS1의 paired-end 서열 fastq파일의 분석 보고서이다. 

 

 

General Statistics

 

가장 위에 있는 General Statistics를 통해 주요 통계정보를 한눈에 볼 수 있다. 

- Configure columns에서 보여주는 옵션을 추가할 수 있다. 

 

 

 

 

 

FastQC

하나의 샘플에 몇 개의 read가 존재하는지 보여준다. 이때 중복되는 서열은 “Duplicate Reads”로 표시된다.

그러나 분석을 위해 모두 50dp로 잘려서 비교된다. 그러니 read수만 확인하고 넘어가자.

 

 

 

 

 

Sequence Quality Histograms

각 염기 위치에 따른 평균 품질 점수를 보여준다. 마우스를 가져가 대면 해당 샘플의 이름을 알 수 있다.

- Green = good quality 

- Oragne = resonable quality 

- Red = poor quality 

 

전체 6개 중 하나의 샘플만 경고 수준이며, 나머지는 fail 수준임을 알 수 있다. 0bp 부분을 마우스로 박스 모양을 만들어서 확대해 보자.

앞부분의 퀄리티가 하락하는 것으로 보아 잘리지 않은 primer의 위치로 보인다.

 

 

 

 

 

Per Sequence Quality Scores

 

각 샘플에서 품질 점수에 따른 빈도를 보여준다.

- Warning = 평균 QC < 27

- Failure = 평균 QC < 20

 

 

 

 

Per Base Sequence Content

염기 위치에 따라 4개의 DNA염기 call 비율을 나타난다.

- warning = A와 T 또는 G와 C의 차이가 10%보다 클 경우 경고

- failure =   A와 T, 또는 G와 C의 차이가 20%보다 크면 quality fail

 

 

 

 

Per Sequence GC Content

각 read에 따른 GC 비율의 평균값을 나타낸다. 일반적으로 GC 양은 정규분포를 따른다.

- 그러나 6개의 샘플은 모두 정규 분포를 따르지 않음

 

 

 

 

 

Per Base N Content

N의 개수를 나타낸다. N은 시퀀서가 품질에 대한 확신이 없을 때 나타나는 결괏값이다.

- warning = 5 % 이상의 N

- failure = 20 % 이상의 N

 

 

 

 

 

Sequence Length Distribution

서열의 길이를 나타낸다.

- Miseq을 사용하여 시퀀싱 된 샘플로 대부분이 300bp의 길이를 가진다.

 

 

 

 

 

Sequence Duplication Levels

중복된 서열의 비율을 나타낸다. 75bp이상인 read는 모두 50bp로 잘린 후 분석된다.

- warning = 중복되지 않는 sequence가 전체의 20 % 이상을 차지

- failure   = 중복되지 않는 sequence가 전체의 50 % 이상을 차지

 

중복된 서열이 많을수록 PCR에 의한 Bias의 결과로 추정된다. 그러나 Amplicon데이터 특성상 마이크로바이옴 결과에서는 중복 값이 많을 수 있다. 

 

 

 

 

Overrepresented sequences by sample

- 0.1% 이상의 중복된 서열의 비율을 나타낸다. 길이가 길면 50bp로 잘린 후 분석된다.

 

 

 

 

Top overrepresented sequences

 

최소 0.1% 이상의 서열의 복제 수준을 나타냄

 

 

 

 

Adapter Content

기존에 알려진 adapter서열을 검색하여 샘플 내에 얼마나 존재하는지 확인한다. 좋은 데이터는 adapter가 존재하지 않는다.

- Warning = 5% > adapter

- Failure = 10 % > adapter

 

 

 

 

Status Checks

 

전체적인 결과가 정상인지 fail인지 알려준다.

 

 

After quality filtering 

위 6개 파일은 결과적으로 좋지 못한 퀄리티를 나타낸다. 그렇다면 Adapter를 자르고 QC를 평균 30 이상인 read만 남긴다면? 

 

filtering 전/후

 

확실히 파일 샘플의 평균 quality는 좋아졌다.

 

 

 

- Dulication과 Overrepresented는 Amplicon데이터를 50 bp로 잘라서 확인하기 때문에 중복이 많은 건 어쩔 수 없는 결과이다. 

- Per base sequence와 Adapter Content는 좋아졌지만, 오히려 Per Tile Sequence Quality는 안 좋아졌다. 

 

 

 

 

 

 

 

🟧 참고 

- https://www.youtube.com/watch?v=1YkkRGrfw5k

- https://m.blog.naver.com/pickyu2/222980753788

 

반응형