天天看點

2021.01.07丨使用fastp統計樣品品質結果

  • 各位小夥伴在對測序樣品進行質控的時候,首選基本上都是fastQC,他能能夠生成許多圖檔直覺地展示質控結果。
    • 2021.01.07丨使用fastp統計樣品品質結果
  • 然而,當我們有多個樣品,希望對其結果以表格形式進行展示的時候,fastQC能提供的資訊就比較少了,比如GC含量精确到小數點,或者Q30等等
    • fastQC能統計到的基本資訊
    • 2021.01.07丨使用fastp統計樣品品質結果
    • 我們希望得到的統計結果
      • 2021.01.07丨使用fastp統計樣品品質結果
  • 那麼如何能夠批量統計到更詳細的質控資訊呢?fastp工具和這篇文章腳本的必要性就産生了,它可以統計測序資料較多的資訊并以.json形式進行展示。
    • 我們用Editplus打開fastp.json檔案,可以看到fastp對測序資料有詳細的統計情況
      • 2021.01.07丨使用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()
                   
    • 檔案結果展示
      • 2021.01.07丨使用fastp統計樣品品質結果
  • 最後直接複制粘貼到RNA-seq的表格模闆上面即可。

繼續閱讀