学习使用一款数据质控软件(Trimmomatic)
寫在前面
Trimmomatic工具是用于illumina二代測序數據的reads處理,主要對接頭(adapter)序列和低質量序列進行過濾。下面是使用該工具處理雙端測序(PE)數據時,常用參數的一些說明。
參考文檔
- Trimmomatic工具的參考文獻
- Trimmomatic工具官網
- Trimmomatic工具使用手冊
軟件使用
-
執行命令
## 雙端測序數據使用方法 # 使用v0.32版本: 1. java -jar trimmomatic-0.32.jar PE \ 2. [-threads <threads>] \ 3. [-phred33|-phred64] \ 4. [-trimlog <trimLogFile>] \ 5. [<inputFile1> <inputFile2>] \ 6. [<outputFile1P> <outputFile1U> <outputFile2P> <outputFile2U>] \ 7. [ILLUMINACLIP:<fastaWithAdaptersEtc>:<seed mismatches>:<palindrome clip threshold>:<simple clip threshold>:<minAdapterLength>:<keepBothReads>] \ 8. [SLIDINGWINDOW:<windowSize>:<requiredQuality>] \ 9. [LEADING:<quality>] \ 10. [TRAILING:<quality>] \ 11. [MINLEN:<length>]# 舉例: 1. java -jar trimmomatic-0.32.jar PE \ 2. -threads 16 \ 3. -phred33 \ 4. -trimlog trim.log \ 5. input_forward_R1.fq.gz input_reverse_R2.fq.gz \ 6. output_forward_paired_R1.fq.gz output_forward_unpaired_R1.fq.gz output_reverse_paired_R2.fq.gz output_reverse_unpaired_R2.fq.gz \ 7. ILLUMINACLIP:TruSeq3-PE.fa:2:30:10:8:true \ 8. SLIDINGWINDOW:5:20 \ 9. LEADING:3 \ 10. TRAILING:3 \ 11. MINLEN:36 -
參數說明
PE 設置使用trimmomatic處理雙端數據,單端數據用(‘SE’)
-thread 16 設置線程數為16
-phred33 設置堿基的質量格式(默認-phred64,自v0.32版本之后可自動識別是phred33還是phred64)
-trimlog trim.log 設置trimmommatic工具處理的日志文件為’trim.log’,每兩行為一對reads信息-
生成的日志文件’trim.log’包含5列信息:
1) read名稱2) 切除后剩余的read長度3) 切除后第一個堿基所在位置(0-base),也就是起始位置切除了幾個堿基4) 切除后最后一個堿基所在位置5) read末尾切除了幾個堿基# 由于該生成文件較大,如后續步驟不需該文件信息,可考慮不設置
input_forward_R1.fq.gz 輸入的forward正向鏈R1對應的fastq文件
input_reverse_R2.fq.gz 輸入的reverse反向鏈R2對應的fastq文件
output_forward_paired_R1.fq.gz 處理后輸出的R1對應reads成對fastq文件
output_forward_unpaired_R1.fq.gz 處理后輸出的R1對應reads不成對的fastq文件
output_reverse_paired_R2.fq.gz 處理后輸出的R2對應reads成對fastq文件
output_reverse_unpaired_R2.fq.gz 處理后輸出的R2對應reads不成對的fastq文件
ILLUMINACLIP:TruSeq3-PE.fa:2:30:10:8:true 切除illumina接頭參數設置。說明ILLUMINACLIP的各參數之前,先解釋一下要使用的兩種切除接頭的模式和比對分值計算方法 -
-
Simple mode, simple模式,它可用于切除任何序列(any technical sequence, 暫且稱之為污染序列)。該模式的方法是將污染序列直接與一條read進行比對(局部比對),將進行下面4個步驟(情形):
Simple mode是根據與污染序列的比對情況判斷切除序列A) 污染序列3'端的一部分與read5'端有overlap,去除整條read;B) 污染序列從read的5'端開始能與read完全overlap, 去除整條read;C) 污染序列在read中間有overlap,5'端一部分沒有overlap的保留,overlap的部分及之后的進行切除;D) 污染序列3'端的一部分與read有overlap,切除overlap部分.
-
Palindrome mode,palindrome模式,它僅用于read測穿(read-through)的情形, 該模式的方法是:在識別接頭序列之前,先將接頭序列加在成對reads起始(‘adapter ligated’ read,read-with-adapter, 暫且稱加adapter后的這對reads為a-R1和a-R2),再將a-R1和a-R2進行比對(全局比對)。 該模式將進行如下4個步驟(情形):
Palindrome mode: 是根據a-R1, a-R2的overlap判斷切除的序列A) overlap是在接頭序列與reads的起始之間,即overlap只有接頭序列,沒有有用的信息,這種情形將這兩條read都整條去除;B) overlap有一部分是DNA插入片段,一部分是整個接頭序列,該情形會將這對reads從overlap序列及剩余序列(3'端)切除;C) overlap中有接頭序列的一小部分,與B)相同方式切除;D) overlap中不存在接頭序列.
再說明一下比對分值的計算方法:
match:匹配一個堿基加分,分值為$log_10{4}$(約等于0.602);mismatch: 錯配一個堿基減分,分值為Q/10,其中,Q為對應堿基的堿基質量值,由于一般堿基質量值區間為: [0-40],即錯配的罰分值區間[0-4]。該分值公式說明堿基質量越高的堿基出現錯配時罰分越多.## 例如:# 12bp的接頭序列能夠完全比對到read上的分值為:12 * 0.602 ≈ 7;# 25bp的接頭序列完全比對到read上的分值為:25 * 0.602 ≈ 15;# a-R1和a-R2有50bp完全匹配的分值為50 * 0.602 ≈ 30.下面是ILLUMINACLIP的各參數說明:
":<fastaWithAdaptersEtc>:<seed mismatches>:<palindrome clip threshold>:<simple clip threshold>:<minAdapterLength>:<keepBothReads>"- ":TruSeq3-PE.fa" # <fastaWithAdaptersEtc>是fasta格式的接頭序列文件路徑- ":2" # <seed mismatches>是將接頭序列的一段(不超過16bp)作為seed,與reads進行比對,能夠容忍的最大錯配(mismatch)數,這里是最多2個錯配- ":30" # <palindrome clip threshold>是 a-R1, a-R2的比對分值閾值,達到閾值,才進行切除,這里設置閾值為30(大約比對50bp堿基)- ":10" # <simple clip threshold>是任意(接頭)序列與read比對最低分閾值,大于這個閾值,才進行切除,這里設置閾值為10(大約比對17bp堿基)- ":8" # <minAdapterLength>只作用于Palindrome模式,是設置檢測到接頭序列的最小長度(默認為8,甚至可設置為1)- ":true" # <keepBothReads>只作用于palindrome模式,是設置是否保留反向鏈,這里是說去除接頭序列后,由于正反鏈包含相同的序列信息(盡管序列是反向互補的),默認情況(":false")下會去除反向鏈,設置為":True"則保留反向鏈
SLIDINGWINDOW:5:20 設置滑動窗口閾值,以為5bp為窗口,這5bp堿基的平均質量值低于20,要進行切除
LEADING:3 設置從reads起始開始,去除質量低于閾值或為'N'的堿基,直到達到閾值不再去除,這里設置閾值為3
TRAILING:3 設置從reads末尾開始,去除質量低于閾值的堿基或為'N'的堿基直到達到閾值不再去除,這里設置閾值為3,這種方法是去除特定的illumina平臺低質量區域(由于illumina會將低質量堿基標記為2),官方操作文檔中建議使用 SLIDINGWINDOW 或 MAXINFO代替[這里未給出MAXINFO參數說明] )
MINLEN:36 設置read切除后的最短長度,這里設置長度至少為36bp,長度小于36bp的reads被去除
總結
以上是生活随笔為你收集整理的学习使用一款数据质控软件(Trimmomatic)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网站消息通知设计
- 下一篇: SET NOCOUNT { ON | O