- 各位小夥伴在對測序樣品進行質控的時候,首選基本上都是fastQC,他能能夠生成許多圖檔直覺地展示質控結果。
- 然而,當我們有多個樣品,希望對其結果以表格形式進行展示的時候,fastQC能提供的資訊就比較少了,比如GC含量精确到小數點,或者Q30等等
- fastQC能統計到的基本資訊
- 我們希望得到的統計結果
- 那麼如何能夠批量統計到更詳細的質控資訊呢?fastp工具和這篇文章腳本的必要性就産生了,它可以統計測序資料較多的資訊并以.json形式進行展示。
- 我們用Editplus打開fastp.json檔案,可以看到fastp對測序資料有詳細的統計情況
- 我們用Editplus打開fastp.json檔案,可以看到fastp對測序資料有詳細的統計情況
- 資料整理流程
- step.1下載下傳并安裝fastp
-
conda install fastp
-
- step.2使用fastp擷取統計檔案
-
for i in *_val_1.fq.gz; #周遊所有樣品R1測序資料 do i=${i%_val_1.fq.gz*};#擷取樣品名稱 fastp -w 8 -i ${i}_val_1.fq.gz -o ${i}_1 -I ${i}_val_2.fq.gz -O ${i}_2 -j ${i}.json # rm -rf ${i}_1 ${i}_2 #删除指控後結果(之前沒做過trim可以保留) done
-
- step.3擷取統計結果
-
import re import os newfile_name = 'fastp_stat' desktop_path = '/home/yangxin/project/rna_seq/refer_rna_seq/6_8_CGRSH201026_20201215/01.data/trim_QC/' file_path = desktop_path+newfile_name+'.txt' newfile = open(file_path,'w') for root,dirs,files in os.walk(r"/home/yangxin/project/rna_seq/refer_rna_seq/6_8_CGRSH201026_20201215/01.data/trim_QC"): for file in files: if ".json" in file: #擷取檔案路徑 print(os.path.join(root,file)) fastp_file = open(os.path.join(root,file),'r') genome_line = fastp_file.readlines() total_reads = re.sub("\D","",genome_line[14]) total_bases = re.sub("\D","",genome_line[15]) Q30_tmp_rates = re.sub("\D","",genome_line[19]) Q30_rates = Q30_tmp_rates[2:] Q30_rates = int(Q30_rates) *0.0001 GC_connects = re.sub("\D","",genome_line[22]) GC_connects = int(GC_connects) *0.0001 file_name = file.replace('.json','') result_stat = file_name+"\t"+total_reads+"\t"+total_bases+"\t"+'%.2f'%Q30_rates+"\t"+'%.2f'%GC_connects+"\n" print(result_stat) newfile.write(result_stat) newfile.close() fastp_file.close()
-
- 檔案結果展示
- step.1下載下傳并安裝fastp
- 最後直接複制粘貼到RNA-seq的表格模闆上面即可。