重測(cè)序數(shù)據(jù)(簡(jiǎn)化基因組和非簡(jiǎn)化基因組)的Clean data 到snp-indel的vcf步驟

最近有多個(gè)朋友問(wèn)我關(guān)于二代重測(cè)序數(shù)據(jù)的分析問(wèn)題(clean data 到vcf),我寫(xiě)了一個(gè)完整的步驟如下,若你是多個(gè)樣品進(jìn)行分析,最好是寫(xiě)

循環(huán)語(yǔ)句,這里我僅舉一個(gè)例子“sample1”作為樣品進(jìn)行腳本編寫(xiě)。

############? 中國(guó)科學(xué)院植物研究所? ?#####################

############? 孟慶霖? ?#########

##2021-6-10 參考基因組索引構(gòu)建

#第一步 bwa

cd /datapool/.../raw/ref/

bwa index ref.fa

#第二步samtools生成.fai文件

samtools faidx ref.fa > ref.fa.fai

#第三步 gatk 生成.dict文件

gatk CreateSequenceDictionary \

-R ref.fa \

-O ref.dict

#到此,參考基因組的index構(gòu)建完成。

###############################################

##下面開(kāi)始fq(clean data)文件到vcf文件的生成

#1生成bam

bwa mem -M -t 4 -R "@RG\tID:sample1\tSM:sample1\tPL:illumina" \

ref.fa sample1_1.fq.gz sample1_2.fq.gz > | \

samtools view -bS - > sample1.bam


#2對(duì)bam進(jìn)行sort

gatk --java-options "-Xmx15g" SortSam \

-I sample1.bam \

--SORT_ORDER coordinate \

-O sample1.sort.bam

##這一步只是說(shuō)明可以對(duì)sam進(jìn)行sort,如果你是bam,就直接sort就行

##gatk也可以對(duì)sam進(jìn)行sort

gatk --java-options "-Xmx15g" SortSam \

-I sample1.sam \

--SORT_ORDER coordinate \

-O sample1.sort.sam


#3對(duì)bam文件標(biāo)記pcr重復(fù)

##若是簡(jiǎn)化基因組測(cè)序,則不要進(jìn)行這一步的運(yùn)算

gatk --java-options "-Xmx15g" \

MarkDuplicates \

-I sample1.sort.bam \

--METRICS_FILE sample1.metrics.txt \

-O sample1.sort.md.bam


#4對(duì)3獲得bam進(jìn)行index

samtools index -@ 4 sample1.sort.md.bam

#5gatk call vcf變異

gatk --java-options "-Xmx15g" \

HaplotypeCaller \

-R ref.fa \

--emit-ref-confidence GVCF \

-I sample1.sort.md.bam \

-O sample1.g.vcf

gatk --java-options "-Xmx15g" \

GenotypeGVCFs \

-R ref.fa \

-V sample1.g.vcf \

-O sample1.raw.vcf


#6合并多個(gè)樣品的vcf文件,其-I順序即樣品在vcf中的排列順序

gatk --java-options "-Xmx15g" \

MergeVcfs \

-I sample1.raw.vcf \

-I sample2.raw.vcf \

-I sample3.raw.vcf \

...

-O all.raw.vcf


#7對(duì)vcf進(jìn)行硬過(guò)濾

gatk --java-options "-Xmx15g" \

VariantFiltration \

-R ref.fa \

-V all.raw.vcf \

--filter-expression \

"AC<2||QD<2.0||FS>60.0||MQ<40.0||MQRankSum < -12.5||ReadPosRankSum < -8.0 " \

--filter-name "ref.fa-name" \

-O all.raw.H.vcf? #H=硬過(guò)濾“hard”

grep "#" all.raw.H.vcf > all.raw.HP.vcf

grep "PASS" all.raw.H.vcf >> all.raw.HP.vcf

gatk --java-options "-Xmx15g" \

IndexFeatureFile \

-F all.raw.HP.vcf


#8將indel和snp分開(kāi)

gatk --java-options "-Xmx15g" \

-R ref.fa --STRICT false \

-I all.raw.HP.vcf \

--INDEL_OUTPUT all.raw.HP.indel.vcf \

--SNP_OUTPUT all.raw.HP.snp.vcf

最后:如果你運(yùn)行過(guò)程出錯(cuò)了=>首先,核對(duì)是否完全按照我編寫(xiě)的腳本進(jìn)行;其次,查看是否路徑設(shè)對(duì)了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容