日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

满分室间质评之GATK Somatic SNV+Indels+CNV+SV(上)

發布時間:2024/3/26 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 满分室间质评之GATK Somatic SNV+Indels+CNV+SV(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

衛計委在2017年,2019年,2020年(還沒有答案)提供標準數據用于腫瘤生信分析的室間質評。這樣預知結果的數據自然是不能放過了,本文嘗試參考GATK Best Practice:Somatic SNVs + Indels ,Cnvkit,Manta的pipeline來完成滿分流程分析,也可以使用標準數據反向判斷GATK Mutect2的實際準確度,算法優劣。

注:本文僅用于學習,距離真正的臨床應用還有相當大距離,歡迎大佬批評指正

**1. 分析流程概覽如下:

2. 本文用到的分析系統及分析流程文件

名稱 (點擊下載)備注
SliverWorkspace 2.0.277363提供運行控制平臺/個人版
FFPE SNV CNV SV V1.workflow分析流程文件,可以一鍵導入分析平臺(點擊查看操作)
當然可以參照圖片中運行腳本,shell里運行,效果也是一樣
最終結果過濾腳本(python2.7 )及編譯版本Illumina_pt2.bed 等用到的bed,intelval等文件
SnvAnnotationFilter.py SNV過濾腳本
CnvAnnotationFilter.py CNV過濾腳本
SvAnnotationFilter.py SV 過濾腳本
QcProcessor.py 獲取整體QC數據的腳本
report_template.docx 分析報告模板
分析結果(pipeline結果與標準答案)result.zip pipeline結果與標準答案

3. 本文用到的原始文件,用fastqc查看質量狀態是clean data,Q值均高于30,這里就不需要去接頭和QC了。

百度網盤:鏈接: https://pan.baidu.com/s/1t9R14aQNP6Xk4tq1wFWJpg 提取碼: u5yp

文件名(按照需要有調整)文件大小MD5
B1701_R1.fq.gz4.85G07d3cdccee41dbb3adf5d2e04ab28e5b
B1701_R2.fq.gz4.77Gc2aa4a8ab784c77423e821b9f7fb00a7
B1701NC_R1.fq.gz3.04G4fc21ad05f9ca8dc93d2749b8369891b
B1701NC_R2.fq.gz3.11Gbc64784f2591a27ceede1727136888b9

4. 本文用到的環境變量(目錄/程序/文件/數值/字符)reference文件和數據庫體積過于龐大請自行下載安裝(如:ftp.broadinstitute.org/Annovar等等)

名稱數值類型
sn1701字符
data/opt/data目錄
result/opt/result目錄
tools.java/opt/jdk1.8.0_162/bin/java程序
tools.bgzip/opt/tabix-0.2.6/bgzip程序
tools.bwa/opt/bwa/bwa程序
tools.cnvkit/usr/local/bin/cnvkit.py程序
tools.fastqc/opt/FastQC/fastqc程序
tools.gatk/opt/ref/gatk-4.1.3.0/gatk程序
tools.manta/opt/manta/dist/bin/configManta.py程序
tools.samtools/opt/samtools/samtools程序
tools.tabix/opt/tabix-0.2.6/tabix程序
tools.annovar/opt/ref/annovar/table_annovar.pl程序
tools.convertor/opt/ref/annovar/convert2annovar.pl程序
cutoff.cnv_max0.5數值
cutoff.cnv_min-0.5數值
cutoff.cnvdep1000數值
cutoff.depth500數值
cutoff.event2數值
cutoff.nvaf0.005數值
cutoff.sv200數值
cutoff.TLOD16數值
cutoff.vaf0.01數值
envis.scatter8數值
envis.threads32數值
envis.memory32G字符
refs.1000G/opt/ref/1000G_phase1.indels.hg19.vcf文件
refs.af_only/opt/ref/af-only-gnomad.raw.sites.hg19.vcf.gz文件
refs.bed/opt/ref/projects/Illumina_pt2.bed文件
refs.interval/opt/ref/projects/Illumina_pt2.interval_list文件
refs.dbsnp/opt/ref/dbsnp_138.hg19.vcf文件
refs.dict/opt/ref/ucsc.hg19.dict文件
refs.gene/opt/ref/hg19_refGene.txt文件
refs.hum/opt/ref/ucsc.hg19.fa文件
refs.mills/opt/ref/Mills_and_1000G_gold_standard.indels.hg19.vcf文件
refs.small.exac/opt/ref/small_exac_common_3_b37.vcf文件

5. 詳細流程分析具體如下(不習慣圖形軟件的使用shell變量+腳本運行也是一樣的)

GATK提供的標準流程從Normal/Tumor的fastq文件開始 map>reorder>sort>mark duplicate>recalibrator>apply BQSR

  • 流程輸入文件

分析流程輸入文件,這里使用變量${sn}表示樣本編號,對室間質評文件名做了調整。

  • Tumor 比對,管道操作給samtools,直接輸出bam格式文件。

  • Reorder Bam
    GATK文檔中這樣的

Not to be confused with SortSam which sorts a SAM or BAM file with a valid sequence dictionary, ReorderSam reorders reads in a SAM/BAM file to match the contig ordering in a provided reference file, as determined by exact name matching of contigs. Reads mapped to contigs absent in the new reference are dropped. Runs substantially faster if the input is an indexed BAM file.

這一步省略其實對最終結果影響不大。

  • Sort

  • MarkDuplicate 標記重復

  • 重新校正堿基質量值第一步,BaseRecalibrator:計算所有需要重校正的reads和特征值,然后把這些信息輸出為校準表文件

  • 重新校正堿基質量值第二步,ApplyBQSR:用第一步得到的校準表文件,重新調整BAM文件中的堿基質量值,并使用這個新的質量值重新輸出一個新的BAM文件。

  • Normal 數據對著Tumor的步驟重復一遍。序列比對

  • Normal Reorder

  • Normal Sort

  • Normal MarkDuplicate

  • Normal BaseRecalibrator

  • Normal ApplyBQSR

  • Tumor GetPileupSummaries

  • Normal GetPileupSummaries

  • CalculateContamination

  • Mutect2

  • FilterMutectCalls 使用GATK提供的過濾器,過濾得到的突變

  • 將過濾后的文件轉換為Annovar注釋所需要的格式

  • 使用Annovar對結果注釋

table_annovar.pl ${result}/${sn}.annovar \/opt/ref/annovar/humandb \-buildver hg19 \-out ${result}/${sn} \-remove \-protocol refGene,avsnp150,esp6500siv2_all,1000g2015aug_all,clinvar_20190305,cosmic89_coding \-operation g,f,f,f,f,f \-nastring NAN
  • 使用自己寫的腳本對注釋后的結果過濾,比如按照室間質評要求,過濾掉突變頻率低于1%,測序深度低于500的突變。對GATK某些過濾器過濾掉的結果進行保留和排除,后面使用IGV進行人工篩選。最終輸出的結果為,${sn}.result.SNV.xls(其實是個csv文件,擴展名改為.xls是便于使用excel打開,很多人都這么干)

  • 使用Manta Call SV,第一步,生成分析腳本文件runWorkflow.py

  • 運行runWorkflow.py獲取SV突變結果

  • 使用自己過濾的腳本文件,對Manta獲取的SV過濾。如根據SOMATICSCORE分數過濾,根據hg19_refGene.txt提供文件,計算突變基因等等。

  • 使用CnvKIt,獲取CNV突變

  • 使用CnvKit畫圖

  • 使用py腳本文件,對CnvKit輸出結果過濾。同樣根據hg19_refGene.txt文件匹配基因,以及發生拷貝數變異的區域的外顯子區域等。

  • 獲取整體QC數據,insertSize,depth等

  • Samtools獲取堿基測序深度
  • Samtools flagstat統計比對信息
  • 使用py腳本文件對以上獲取的數據做統一處理,獲取整體QC狀態結果。

最終結果:

最終結果及各個命令/任務運行時間如下:

整個分析過程耗時 3h 58min 29s,比較耗時,這個版本為了邏輯清晰一些,多數任務都是串行運行,沒有很好利用計算資源。

后續文章會對整個流程進行優化(主要是并行化),最終分析時間在1h 13min左右(提升約3倍)。

GATK 輸出結果中SNV&INDEL的準確度問題,經過反復試驗,不論如何設置過濾參數,最終的結果始終會有假陰性問題,這是GATK(4.1.3.0)中個別過濾器的問題,目前的補救措施是將部分GATK過濾器過濾掉的結果仍然包含在最終結果中,再使用IGV工具人工過濾(官方文檔也是這么推薦的),判斷該結果是否可靠。

總結

以上是生活随笔為你收集整理的满分室间质评之GATK Somatic SNV+Indels+CNV+SV(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。