之前分析過的測序數據,數據質量都很好,給了我一個錯覺質控的前后差別不是很大,內心里對質控這一步也就不是很重視,跑完質控有時也懶得看結果,拿到一批測序數據后,也總是忽略了去看測序策略是什么,按照固定的流程用fastqc做質控和trimmomatic去除adpater和低質量的堿基,結果今天翻車了?。?br>
批量跑完了20個數據的ATAC-seq流程,結果發現樣本的比對率參差不齊,有的能達到80-90%,有的卻低于50%,回過頭來找原因發現cleandata中的adpter并沒有去除,也就是說我用的adapter并不是建庫所用的,那么怎么知道這批數據建庫時用的什么adapter呢?
求助了健明師兄,他推薦我使用Trim galore做質控,并且一眼看出我這個測序策略是nextseq(不知道他怎么看出來的)。
查了一下Trim galore,是可以自動檢測adapter,也發現了自己的錯誤,trimmomatic只是針對Illumina高通量測序平臺設計的接頭去除和低質量reads清洗軟件,Nextera的接頭和它是不一樣的(基礎知識很重要?。。。?br>
下面就對Trim galore的下載,安裝和使用做一個簡要介紹,并總結了另外兩個質控軟件Trimmomatic 和cutadapter 的使用。
1. Trim galore簡介
Trim Galore是對FastQC和Cutadapt的包裝。適用于所有高通量測序,包括RRBS(Reduced Representation Bisulfite-Seq ), Illumina、Nextera 和smallRNA測序平臺的雙端和單端數據。主要功能包括兩步:
第一步首先去除低質量堿基,然后去除3' 末端的adapter, 如果沒有指定具體的adapter,程序會自動檢測前1million的序列,然后對比前12-13bp的序列是否符合以下類型的adapter:
- Illumina: AGATCGGAAGAGC
- Small RNA: TGGAATTCTCGG
- Nextera: CTGTCTCTTATA
2. 下載安裝軟件 trim galore
conda安裝:
conda install trim-galore
conda安裝時可以看出依賴的環境很多,我們的大機環境很復雜,我并沒有安裝成功。
下載安裝包安裝:
下載安裝包安裝很簡單,下載后解壓,配置下環境變量就可以使用。
## 需先安裝fastqc和cutadapt
wget https://github.com/FelixKrueger/TrimGalore/archive/0.4.5.tar.gz
tar zxvf 0.4.5.tar.gz
3.使用
# 處理雙端測序結果
echo " trim_galore cut adapters started at $(date)"
trim_galore -q 20 --phred33 --stringency 3 --length 20 -e 0.1 \
--paired $dir/cmp/01raw_data/$fq1 $dir/cmp/01raw_data/$fq2 \
--gzip -o $input_data
echo "trim_galore cut adapters finished at $(date)"
參數說明:
--quality:設定Phred quality score閾值,默認為20。
--phred33::選擇-phred33或者-phred64,表示測序平臺使用的Phred quality score。
--adapter:輸入adapter序列。也可以不輸入,Trim Galore!會自動尋找可能性最高的平臺對應的adapter。自動搜選的平臺三個,也直接顯式輸入這三種平臺,即--illumina、--nextera和--small_rna。
--stringency:設定可以忍受的前后adapter重疊的堿基數,默認為1(非??量蹋?梢赃m度放寬,因為后一個adapter幾乎不可能被測序儀讀到。
--length:設定輸出reads長度閾值,小于設定值會被拋棄。
--paired:對于雙端測序結果,一對reads中,如果有一個被剔除,那么另一個會被同樣拋棄,而不管是否達到標準。
--retain_unpaired:對于雙端測序結果,一對reads中,如果一個read達到標準,但是對應的另一個要被拋棄,達到標準的read會被單獨保存為一個文件。
--gzip和--dont_gzip:清洗后的數據zip打包或者不打包。
--output_dir:輸入目錄。需要提前建立目錄,否則運行會報錯。
-- trim-n : 移除read一端的reads
其他質控方法:
Trimmomatic
Trimmomatic是針對Illumina高通量測序平臺設計的接頭去除和低質量reads清洗軟件。軟件中包括有Illumina平臺常見接頭序列,可以很方便處理單端和雙端RNA-seq數據。Trimmomatic也支持自己設計要去除的接頭序列文件。
運行代碼:
## 雙端測序
echo "trimmomatic cut adapters started at $(date)"
java -jar /software/biosoft/software/Trimmomatic-0.36/trimmomatic-0.36.jar PE -threads 8 $dir/cmp/01raw_data/$fq1 $dir/cmp/01raw_data/$fq2 \
$input_data/$sample\_paired_clean_R1.fastq.gz \
$input_data/$sample\_unpair_clean_R1.fastq.gz \
$input_data/$sample\_paired_clean_R2.fastq.gz \
$input_data/$sample\_unpair_clean_R2.fastq.gz \
ILLUMINACLIP:/software/biosoft/software/Trimmomatic-0.36/adapters/TruSeq3-PE-2.fa:2:30:10:1:true \
LEADING:3 TRAILING:3 SLIDINGWINDOW:4:20 MINLEN:50 TOPHRED33
echo "trimmomatic cut adapters finished at $(date)"
重要參數解釋:
-threads
:設置線程數目。-phred33
:選擇-phred33
或者-phred64
,表示測序平臺使用的Phred quality score。查詢方法:首先,運行FastQC,在結果報告第一項會“猜出”測序平臺。之后,查詢平臺對應Phred列表。-trimlog
:輸出運行日志。日志中包括對每一個read具體選擇數據,所以文件會比較大。ILLUMINACLIP
:跟隨四個參數,分別是:<fastaWithAdaptersEtc>
為adaptesr文件完整路徑(在Trimmomatic的默認安裝目錄下的adapter
,有整理好的);<fastaWithAdaptersEtc>
為seed matches(16bases)在匹配時的最大錯配數目;<palindrome clip threshold>
對于一對reads當得分超過30(約50 bases),seeds會被延伸和固定;<simple clip threshold>
,對于單端reads當得分超過10(約17 bases),seeds會被延伸和固定。LEADING
和TRAILING
:分別為去除read頭部和尾部的低質量(低于quality3)堿基數目。SLIDINGWINDOW
:跟隨兩個參數,分別是<windowSize>
為掃描“窗口”長度;<requiredQuality>
為窗口堿基質量的平均閾值,低于此會被刪除。MINLEN
:設置最短reads數目。需要根據下游alignment軟件設定,比如Bowtie適用于短序列,比如50bp以下;而Bowtie2適用于50bp以上。TopHat 則根據實際使用Bowtie或者Bowtie2選擇。
FastQC
FastQC是用于對二代測序數據質量快速檢驗的工具,可以輸入fastq(fastq.gz)、sam或者bam文件。查看輸出結果解釋??梢月摵蟤ultiqc使用,查看多個qc的報告。
代碼示例:
echo "fastqc started at $(date)"
###method (3)
fastqc -o $dir/cmp/qc $dir/cmp/01raw_data/*gz
#multiqc *fastqc.zip --ignore *.html
echo "fastqc finished at $(date)"
cutadapter
cutadapt -q 30 -b CTGTCTCTTATACACATCTGACGCTGCCGACGA --minimum-length 20 --overlap=5 -o tmpl1.1.fastq --paired-output tmpl1.2.fastq SRR2920469_1.fastq.gz SRR2920469_2.fastq.gz