- 작성 : 2023.05.08
primer를 잘라내는 프로그램은 여러 개가 개발되었다. 그중에서 대표적인 몇몇의 프로그램을 비교해 보자.
참고로 모두 큰 차이가 존재하진 않는다! 이 프로그램들의 목적은 primer를 제거하는 것임으로 그 이상의 의의를 두지 말자.
| Cutadapt
- 논문 : Cutadapt Removes Adapter Sequences From High-Throughput Sequencing Reads. 2011
- 인용수 20,605(2023.05.08 기준)
Cutadapt란 NGS데이터 전반에서 사용되는 파이썬 기반의 도구이다. True seq, illuminz, SMART등의 여러 시퀀서의 아웃풋 결과물을 다룰 수 있다.
Cutadapt 설치 및 사용해 보기
conda update -n base -c conda-forge conda # 업데이트
conda create -n cutadaptenv cutadapt
conda activate cutadaptenv
- Cutadapt 사용 예시(illumina sequencer)
cutadapt \
-g ~~ \# forward 서열의 5' primer
-G ~~ \# forward 서열의 3' primer
-a ~~ \# reverse 서열의 3' primer
-A ~~ \# reverse 서열의 5' primer
--minimum-length 20 \# 최소 잘라낼 길이
-Q 20 -q 20 \# forward와 reverse 서열의 QC 기준을 20으로 잡음
FASTQ_1.fastq.gz \# input forward 서열 위치
FASTQ_2.fastq.gz \# input reverse 서열 위치
-o cutadapt/FASTQ_1.fastq.gz \# output forward 서열 위치
--paired-output cutadapt/FASTQ_2.fastq.gz # output reverse 서열 위치
+) 자세한 tutorial
| Trimmomatic
- 논문제목 : Trimmomatic: a flexible trimmer for Illumina sequence data. Bioinformatics. 2014
- 인용수 40,539 (2023.05.08 기준)
- 홈페이지 : http://www.usadellab.org/cms/?page=trimmomatic
- 일루미나 시퀀싱 장비의 결과물을 전문적으로 다루는 프로그램으로, command line 기반의 프로그램이다.
Trimmomatic 설치 및 사용해 보기
- Trimmomatic 설치
1. 홈페이지 접속
2. Downloading trimmomatic에서 원하는 버전의 binary 파일 다운로드 -> 압축 풀기
http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.39.zip
unzip -d Trimmomatic-0.39.zip Trimmomatic-0.39/
- 총 3개의 파일이 있다. 이중 adapter폴더에 내가 사용하고자 하는 어뎁터 서열을 .fa 파일로 저장해 둔다.
3. Trimmomatic 실행하기
- 일단 Trimmomatic 만 실행해보자
java -jar ~/trimmomatic-0.39/trimmomatic-0.39.jar
잘 실행되는 것을 볼 수 있다.
- 일루미나 사의 paired end파일일 경우 adapter를 잘라내는 과정은 아래와 같다.
java -jar ~/trimmomatic-0.39/trimmomatic-0.39.jar \# 프로그램 실행
PE\# paired-end 서열
Input_1.fastq.gz Input_2.fastq.gz \# input 파일
-baseout Output \# output파일이 저장될때 이름 형식
ILLUMINACLIP: ~/trimmomatic-0.39/adapters/primer_example.fa:2:30:10 \# 제거할 어뎁터 서열
LEADING:3 \# leading low quality나 N base를 버려라
TRAILING:3 \# trailing low quality나 N base를 버려라
SLIDINGWINDOW:4:15 \# 4base를 기준으로 스캔하고 QC 15밑에는 버려라
MINLEN:36 # 36bp이하 리드는 버려라
# Input Read Pairs: 39475 Both Surviving: 1538 (3.90%) Forward Only Surviving: 12120 (30.70%) Reverse Only Surviving: 1678 (4.25%) Dropped: 24139 (61.15%)
자세한 옵션은 아래와 같다.
ILLUMINACLIP:<fastaWithAdaptersEtc>:<seed mismatches>:<palindrome clip threshold>:<simple clip threshold>
- fastaWithAdaptersEtc: 사용하고자 하는 primer서열이 담긴 fa파일
- seedMismatches: primer와 read의 최대 불일치 base 수
- palindromeClipThreshold: PE에서 adapter가 연결된 read들이 정확하게 패치하는 염기 수(specifies how accurate the match between the two 'adapter ligated' reads must be for PE palindrome read alignment.)
- simpleClipThreshold: adapter와 read 간의 정확한 일치가 어느 정도 base 수여야 하는지
SLIDINGWINDOW:<windowSize>:<requiredQuality>
- windowSize: specifies the number of bases to average across
- requiredQuality: specifies the average quality required.
LEADING:<quality>
- quality: Specifies the minimum quality required to keep a base.
TRAILING:<quality>
- quality: Specifies the minimum quality required to keep a base.
CROP:<length>
- 유지되었으면 하는 read길이 입력
HEADCROP:<length>
- read의 시작 부분부터 잘라내고자 하는 길이 입력
MINLEN:<length>
- read의 최소 base 수
| 참고
- 텍사스 대학교의 bioinformatics team : https://wikis.utexas.edu/display/bioiteam/Trimmomatic+-+GVA2020
- http://www.usadellab.org/cms/?page=trimmomatic
- https://slequime.github.io/HTS-tutorial/trimming-trimmomatic.html
현재 Cutadapt가 가장 간편해서 쓰고 있는데, 결과물을 보니 제거가 되지 않는 reverse 서열의 primer가 일부 관찰되었다.
이 후에 trimmomatic으로 제거한 후 비교해봐야 겠다.
기존의 primer제거 전후는 Dada2의 ITS tutorial을 참고하길 바란다.