模型性能
在该网址:https://github.com/Sentieon/sentieon-dnascope-ml上可以了解到最新的 DNAscope模型的性能和运行时间。
请在https://github.com/Sentieon/sentieon-models上下载最新模型。
在DNAscope中使用机器学习模型
DNAscope中机器学习模型的目标
从201808.01版本开始,DNAscope允许使用一种模型来进行变异调用,通过改进候选检测和过滤,提高准确性。
Sentieon可以提供使用GIAB真实数据子集训练的模型,您可以在https://github.com/genome-in-a-bottle找到模型。该模型是将样本HG001和HG005通过Sentieon BWA-mem对齐和Sentieon去重处理的流程,并使用变异调用结果来校准模型以适应真实数据集而创建的。
将机器学习模型与DNAscope结合使用
有两个单独的命令用于调用变异并应用机器学习模型。输入的BAM文件应该来自一个仅执行了比对和去重的流程,以匹配模型创建的方法论。
PCRFREE=true #PCRFREE=true means the sample is PCRFree, change it to false for PCR samples.if [ "$PCRFREE" = true ] ; then sentieon driver -t NUMBER_THREADS -r REFERENCE -i DEDUPED_BAM \ --algo DNAscope [ -d dbSNP ] --pcr_indel_model none \ --model ML_MODEL/dnascope.model TMP_VARIANT_VCFelse sentieon driver -t NUMBER_THREADS -r REFERENCE -i DEDUPED_BAM \ --algo DNAscope [ -d dbSNP ] --model ML_MODEL/dnascope.model \ TMP_VARIANT_VCFfisentieon driver -t NUMBER_THREADS -r REFERENCE --algo DNAModelApply \ --model ML_MODEL/dnascope.model -v TMP_VARIANT_VCF VARIANT_VCF
注意:
如果您使用的数据不含PCR,则在运行时添加选项非常重要。--pcr_indel_model NONEDNAscope
根据是否涉及PCR,使用不同的先验概率来查找显著的INDEL变异,这可以通过选项来控制。默认设置适用于PCR样本。因此,对于无PCR样本,设置是很重要的。DNAscope--pcr_indel_model--pcr_indel_model--pcr_indel_model none
以下是命令所需的输入:
NUMBER_THREADS:计算中将使用的计算机线程数。我们建议该数量不超过您系统中可用的计算核心数量。
REFERENCE:参考FASTA文件的位置。您应该确保该参考文件与映射阶段使用的文件相同。
DEDUPED_BAM:输入BAM文件的位置。
TMP_VARIANT_VCF:DNAscope的变异调用输出的位置和文件名。这是一个临时文件。
VARIANT_VCF:变异调用输出的位置和文件名。将创建相应的索引文件。该工具将使用.gz扩展名输出一个压缩文件。
ML_MODEL:机器学习模型文件的位置。在DNAscope命令中,该模型将用于确定变异调用中使用的设置。
以下是命令可选的输入:
dbSNP:单核苷酸多态性数据库(dbSNP)的位置,该数据库将用于标记已知变异。您只能使用一个dbSNP文件。
使用DNAscope生成GVCF输出文件
从202112.04版本开始,DNAscope允许使用模型以Genomic VCF (GVCF)格式生成变异调用。GVCF格式包含有关在正在处理的样本中为参考等位基因正纯合的位点的附加信息。最近训练过的DNAscope模型是必需的,并且使用Sentieon version 202112.01或更早版本训练的DNAscope模型将导致错误。
要调用变异和应用机器学习模型,需要运行两个独立的命令。输入的BAM文件应来自仅进行了比对和去重复的流程,以匹配模型创建的方法论。
PCRFREE=true #PCRFREE=true means the sample is PCRFree, change it to false for PCR samples.if [ "$PCRFREE" = true ] ; then sentieon driver -t NUMBER_THREADS -r REFERENCE -i DEDUPED_BAM \ --algo DNAscope [ -d dbSNP ] --pcr_indel_model none \ --model ML_MODEL/dnascope.model --emit_mode gvcf TMP_VARIANT_GVCFelse sentieon driver -t NUMBER_THREADS -r REFERENCE -i DEDUPED_BAM \ --algo DNAscope [ -d dbSNP ] --model ML_MODEL/dnascope.model \ --emit_mode gvcf TMP_VARIANT_GVCFfisentieon driver -t NUMBER_THREADS -r REFERENCE --algo DNAModelApply \ --model ML_MODEL/dnascope.model -v TMP_VARIANT_GVCF VARIANT_GVCF
注意:
如果您使用的数据不含PCR,则在运行时添加选项非常重要。--pcr_indel_model NONEDNAscope
根据是否涉及PCR,使用不同的先验概率来查找显著的INDEL变异,这可以通过选项来控制。默认设置适用于PCR样本。因此,对于无PCR样本,设置是很重要的。DNAscope--pcr_indel_model--pcr_indel_model--pcr_indel_model none
以下是命令所需的输入:
NUMBER_THREADS:计算中将使用的计算机线程数。我们建议该数量不超过您系统中可用的计算核心数量。
REFERENCE:参考FASTA文件的位置。您应该确保该参考文件与映射阶段使用的文件相同。
DEDUPED_BAM:输入BAM文件的位置。
TMP_VARIANT_VCF:DNAscope的变异调用输出的位置和文件名。这是一个临时文件。
VARIANT_VCF:变异调用输出的位置和文件名。将创建相应的索引文件。该工具将使用.gz扩展名输出一个压缩文件。
ML_MODEL:机器学习模型文件的位置。在DNAscope命令中,该模型将用于确定变异调用中使用的设置。
以下是命令可选的输入:
dbSNP:单核苷酸多态性数据库(dbSNP)的位置,该数据库将用于标记已知变异。您只能使用一个dbSNP文件。
使用Sentieon version 202112.06及更高版本中的GVCFtyper算法,可以对GVCF输出文件进行单独或与其他样本的GVCF进行联合基因分型,并输出单个样本或多个样本的VCF文件。
sentieon driver -r REFERENCE --algo GVCFtyper \-v s1_VARIANT_GVCF -v s2_VARIANT_GVCF -v s3_VARIANT_GVCF VARIANT_VCF
通过以下网址您可以查阅到Sentieon手册以获取有关GVCFtyper算法的详细信息:
https://support.sentieon.com/manual/usages/general/#gvcftyper-algorithm
注意:
GVCFtyper可以将来自多个测序平台的DNAscope GVCF基因型转化为单个多样本VCF。
GVCFtyper不支持将使用机器学习模型生成的DNAscope GVCFs与未使用机器学习模型的DNAscope GVCFs或其他工具生成的GVCFs混合进行联合基因分型。
机器学习模型的局限性
当使用带有机器学习模型的DNAscope时,即使软件不会报错,大部分DNAscope的选项也不应该使用。特别是应避免使用以下选项:
--var_type BND:使用带有机器学习模型的DNAscope与结构变异调用是不兼容的。请避免在这种情况下使用结构变异调用选项。
此外,如果使用了包括INDEL重对齐或BQSR等附加阶段的流程生成的输入BAM文件,可能会降低性能,因为这些阶段的影响已经融入到模型中。因此,建议避免在这种情况下使用经过这些额外阶段处理的BAM文件作为输入。
领取专属 10元无门槛券
私享最新 技术干货