分享

等位基因不平衡空间模型鉴定单细胞体细胞突变

 生物_医药_科研 2019-08-31

摘要:单细胞技术的最新进展使得能够非常详细地解释细胞异质性。然而,由于在DNA提取和全基因组扩增过程中产生的偏差和伪影,包括等位基因不平衡和丢失,单细胞DNA测序数据的分析仍然具有挑战性。

       在这里,我们提出了一个框架,通过利用邻域杂合单核苷酸多态性的等位基因频率,在单细胞全基因组测序数据的任何给定位置统计估计等位基因特异性扩增失衡。得到的等位基因不平衡谱对于确定观察到的突变的变异等位基因部分是否与真实变体的预期分数一致是至关重要的。该方法在SCAN-SNV(SNV单细胞分析)中实现,大大改善了单个细胞中体细胞变体的鉴定。我们的等位基因平衡框架广泛适用于任何可能表现出等位基因失衡的数据中任何变体类型的基因型分析。

    

scDNA-seq分析由于同源等位基因的不平衡扩增(等位基因失衡)和影响大部分初始DNA的早期伪影而变得复杂。一个 MDA是一个非线性放大过程。通过复制置换的DNA链可立即用于重复的复制循环,这可导致同源等位基因之间的不平衡扩增。单细胞测序深度是等位基因特异性测序深度的总和,由堆积深度图表示。粉红色:母体等位基因的测序深度; 蓝色:父本等位基因。b提取方案中的常规DNA损伤可能不成比例地影响单细胞DNA。由于自发错误不可能在多个分子上独立复发,因此大量DNA损伤大部分被淘汰。然而,单个细胞基因组的损伤会影响初始模板的大量(25%;单链错误)。在理想化的MDA过程中,MDA复制DNA的所有四个初始链(两个分子)以产生八个链(四个分子)。随机聚合酶错误掺入错误会影响8条DNA链中的1条,影响12.5%的DNA。C等位不平衡会影响真正的突变和伪影的VAF。过度扩增具有早期单链损伤(红色)的等位基因可以将人工制品膨胀为类似突变的VAF,而真正的突变(绿色)可以降低至低VAF。d由于随机抽样效应,没有等位基因不平衡,杂合SNV VAF将紧密分布在50%左右。然而,等位基因失衡导致scDNA-seq中的VAF显着过度分散,对称性约为50%。

等位基因平衡模型有助于识别单细胞伪影。a单个细胞伪影(左,绿色)获得高VAF(44%)。该区域受等位基因不平衡的影响,hSNP证实VAF为94%(右,蓝色)。候选sSNV应该呈现VAF≈6%或VAF≈94%。b MDA聚合酶(绿色)从属于一个等位基因(黑色)的模板DNA中随机解离,产生各种长度的扩增子(灰色)。附近的位点很可能被相同的聚合酶扩增,但更远的位点的概率会降低。这在邻近位点(蓝色,橙色)之间产生等位基因特异性扩增水平的相关性。该过程在两个同源等位基因上独立发生,导致小基因组基因座中的稳定等位基因平衡。c长扩增子导致等位基因特异性读取深度(蓝色,父本等位基因;粉红色,母本等位基因)沿基因组变化更慢。当每个等位基因更稳定时,等位基因平衡也是如此。AB相关函数量化等位基因平衡稳定性。dAB建模和估计的例证。可以根据hSNP是否包含参考或变体支持碱基将读数分配给等位基因。这允许在hSNP处估计等位基因特异性深度,并因此估计AB。使用由AB相关函数参数化的高斯过程推断出hSNP基因座外的AB(粗黑线)。二项式读取采样模型确定推断的AB曲线应该跟随有噪声的hSNP测量值的接近程度(误差条:95%置信区间)。定相hSNP允许将父本SNP(蓝色)VAF调整至(1-VAF)以与周围的母体SNP一致,这是产生长程等位基因平衡估计所必需的。尽管达到非常高的VAF,所示的候选sSNV可能是错误的,因为它与局部放大平衡不匹配。e AB模型应用于(a)中所示的候选sSNV周围的200kb窗口VAF = 44%时的伪影(红色)与模型的估计AB为89%(黑线)非常不一致,并且远低于95%概率间隔(灰色包络线)。

SCAN-SNV FDR调整策略。在单细胞中扩增之前,50%的DNA支持体细胞SNV和hSNP。两种突变类型的VAF分布的形状应该是相似的,因为两者同样受等位基因不平衡的影响,但候选sSNV组(红线)中的伪像通常在低VAF下与hSNP(黑线)相比产生富集。候选sSNV(绿色区域)中未知真实突变数量的VAF应与hSNP类似地分布。真实sSNV的总数N(虚线)的潜在值可以通过首先根据hSNP VAF 分布N个突变然后确保每个VAF的预测sSNV数量不超过该VAF处的候选者数来评估。最大的这样的N提供了体细胞突变数量的上限。给定N,可以估计任何VAF中sSNV之间的伪影部分的下限。

SCAN-SNV工作流程。GATK HaplotypeCaller确定具有非参考证据的位点,并从批量中发现种系或克隆hSNP。分阶段hSNP用作训练集以学习AB相关模式,预测候选sSNV基因座处的AB并估计人工流行率。只有通过所有过滤器的候选sSNV才被报告为推定的突变。

评估SCAN-SNV的性能

难以验证scDNA-seq数据中的体细胞SNV,因为在WGA期间消耗单个细胞的基因组,即,DNA提取和扩增不能被复制以识别伪像。通过对未用于初始测序的过量扩增DNA进行深度测序来验证推定的sSNV可以通过在扩增的DNA中引入的人工制品来混淆; 通过非常高深度的扩增子测序在原始组织中进行验证是可能的3但仅适用于VAF不太小的克隆sSNV。因此,我们使用两种方法评估SCAN-SNV和其他呼叫者:合成数据集和同类细胞系统。


合成二倍体结构和性能。一个合成二倍体X染色体(chrX)通过合并chrX产生从两个雄性供体的单个细胞进行读取。在提取chrX读数后,去除假常染色体区域(PAR)并在chrX的半合子区域上鉴定SNP和sSNV。新的随机放置的体细胞突变被掺入读数中。对第二个雄性供体重复该过程,并合并两组读数以产生合成二倍体(SD)。b每个SD包含1000个加标突变,其他SD共享750个突变。例如,250个尖峰由所有SD共享,另外250个由四个SD共享,依此类推。C每个点代表一个SD上的genotyper性能。只有尖峰突变用于计算灵敏度。假阳性率是FP的数量除以chrX上的非PAR兆碱基的数量。d私有尖峰的掺入灵敏度(克隆性= 1),两个样本共享的尖峰(克隆性= 2)等。

SCAN-SNV性能由同类细胞系统评估。来自人成纤维细胞系10 12个单细胞衍生的样品体细胞突变定义为在细胞系体内未观察到的突变。包含三个非常密切相关的样品的亲缘细胞系统模拟单个细胞的生物学复制并且能够进行评估。真正的突变(绿色恒星)很可能得到几个类似样本的支持; 然而,scDNA-seq工件应该是私有的。b具有非亲缘支持的亲属样本中的sSNV可以是亚克隆sSNV。如果是,则继承亚克隆sSNV的每个单细胞样品提供独立的VAF测量。对于真正的亚克隆突变,许多样品的平均VAF应为~50%。C单细胞基因在亲缘细胞IL-12上的表现。TRE敏感性,三重专用站点(TRE)的百分比恢复; FDR,被归类为可能FP的总呼叫的一部分。d sSNV呼叫两个基因型分子都被VAF分类并根据13个样本中的哪一个包含对该突变的读支持而被分类为TRE,可能是TP或可能是FP。三重独家(TRE)网站是所有同类样本支持的高质量网站,没有其他样本。Monovar以单样本模式运行。(下图)hSNP VAF为sSNV提供参考分布。e在亲缘细胞IL-12中TRE和基因调用的三核苷酸突变特征。Monovar以单样本模式运行。箭头表示产生均聚物的突变背景。f与(相同)c)对于亲缘细胞IL-11。g对于亲缘细胞IL-11 与(d相同hSNPs和TRE sSNV的VAF分布与IL-12非常不同,表明扩增或细胞质量存在显着差异。

SNV

用于全基因组扩增单细胞中SNV发现的体细胞基因组。

安装

SCAN-SNV作为conda包分发。安装需要conda包管理工具和Linux风格的操作系统。

操作系统已测试

  • GNU / Linux,内核版本3.10.0,CentOS 7.请注意,预编译的SHAPEIT2二进制文件仅适用于Linux系统,但原则上可以使用其他定相算法。

  • Ubuntu 16.04.4 LTS AWS实例。

注意此安装过程和演示已在Amazon Web Services Ubuntu 16.04.4 LTS实例上成功运行。

安装miniconda

$ wget https://repo./miniconda/Miniconda3-latest-Linux-x86_64.sh$ bash Miniconda3-latest-Linux-x86_64.sh# Accept the license by typing 'yes'# Choose an install prefix (the default is often fine)# Choose to run conda init (enter yes a second time during script)# Log-out and back in to source .bashrc and put conda on $PATH

安装SCAN-SNV

为SCAN-SNV创建一个conda环境

$ conda deactivate   # The 'base' environment will be active after login$ conda create -n scansnv$ conda activate scansnv

安装scansnv包

$ conda install -c bioconda -c conda-forge/label/cf201901 -c jluquette scansnv

注册您的GATK安装

$ wget 'https://software./gatk/download/auth?package=GATK-archive&version=3.8-1-0-gf15c1c3ef' -O GenomeAnalysisTK-3.8-1-0-gf15c1c3ef.tar.bz2$ tar xjvf GenomeAnalysisTK-3.8-1-0-gf15c1c3ef.tar.bz2$ gatk-register GenomeAnalysisTK-3.8-1-0-gf15c1c3ef/GenomeAnalysisTK.jar# Test the install$ gatk --version# Above should print 3.8-1-0-gf15c1c3ef

下载外部数据依赖项

SCAN-SNV已在NCBI人参考构建37上进行了测试。

下载参考基因组。

$ wget ftp://gsapubftp-anonymous@ftp./bundle/b37/human_g1k_v37_decoy.fasta.gz$ wget ftp://gsapubftp-anonymous@ftp./bundle/b37/human_g1k_v37_decoy.fasta.fai.gz$ wget ftp://gsapubftp-anonymous@ftp./bundle/b37/human_g1k_v37_decoy.dict.gz

下载dbSNP。请注意,在发布中使用了dbSNP build 147(仅限常见变体)。但是,NCBI不保证长期托管dbSNP构建,因此我们建议下载Broad的GATK资源包中包含的dbSNP版本。要使用dbSNP的其他版本,您需要生成一个tribble索引(见下文)。

$ wget ftp://gsapubftp-anonymous@ftp./bundle/b37/dbsnp_138.b37.vcf.gz$ wget ftp://gsapubftp-anonymous@ftp./bundle/b37/dbsnp_138.b37.vcf.idx.gz

下载SHAPEIT的单倍型参考面板。

$ wget https://mathgen.stats./impute/1000GP_Phase3.tgz$ wget https://mathgen.stats./impute/1000GP_Phase3_chrX.tgz

解压缩所有内容并将chrX SHAPEIT文件移动到主SHAPEIT目录中。

$ gunzip *.gz$ tar xzvf 1000GP_Phase3.tgz$ tar xzvf 1000GP_Phase3_chrX.tgz$ mv genetic_map_chrX_* 1000GP_Phase3_chrX* 1000GP_Phase3

运行SCAN-SNV演示

下载演示chr22 BAM。

$ wget http://compbio.med./scan-snv/hunamp.chr22.bam$ wget http://compbio.med./scan-snv/hunamp.chr22.bam.bai$ wget http://compbio.med./scan-snv/il-12.chr22.bam$ wget http://compbio.med./scan-snv/il-12.chr22.bam.bai

运行SCAN-SNV。将/ path / to / ...的实例替换为上面下载的路径。通过将分析限制在1 MB的chr22段并使用不切实际的粗网格进行协方差函数拟合,该演示在单核计算机上运行大约5分钟。

scansnv \    --ref /path/to/human_g1k_v37_decoy.fasta \    --dbsnp /path/to/dbsnp_138.b37.vcf \    --shapeit-panel /path/to/1000GP_Phase3 \    --regions 22:30000001-31000000 \    --output-dir demo \    --bam hunamp hunamp.chr22.bam \    --bam h25 il-12.chr22.bam  \    --sc-sample h25 \    --bulk-sample hunamp \    --abmodel-chunks 1 \    --abmodel-samples-per-chunk 10000 \    --abmodel-hsnp-chunk-size 50 \    --hsnp-spikein-replicates 5 \    --joblimit 1 --resume

有关scansnv -h参数的详细信息,请参阅

SCAN-SNV完成后,Rdata文件中提供单个样本结果demo/scansnv/[single_cell_sample_name]/somatic_genotypes.rda通过SCAN-SNV呼叫阈值的SNV将pass=TRUE在 somatic数据帧中具有(见下文)。

注意:即将推出VCF输出选项。

# Called sSNVs can be extracted from the data frame viaR> load('demo/scansnv/[single_cell_sample_name]/somatic_genotypes.rda')R> somatic[somatic$pass,]# The demo should not produce any passing variants.

警告!

  • BAM 关联的样本名称必须与BAM中的SM标记匹配。

  • conda activate在运行SCAN-SNV之前,conda环境(在这些指令中名为scansnv)必须始终为d。

  • 真实世界的分析需要并行化。

    • 在具有多个核心的计算机上,增加--joblimit参数将并行运行多个分析部分。

    • 对于具有分布式资源管理软件(例如,SLURM)的集群,SCAN-SNV暴露了Snakemake的并行化选项 --cluster--drmaa

使用自定义dbSNP版本

为dbSNP生成Tribble索引

对于GATK,dbSNP VCF必须由Tribble(不是 tabix)索引。GATK资源包中的dbSNP已经编入索引。如果您希望使用不同的dbSNP版本,则可以将该文件编入索引igvtools

$ conda install -c bioconda igvtools$ igvtools index /path/to/your/dbsnp.vcf
学习笔记:多元线形回归中的交互效应
美国一名病理学家误诊被指控过失杀人罪,3000多个错误诊断
100个皮肤病理经典案例六: 多形性红斑
Trinity2015转录组分析工具安装教程
单细胞测序分析那家强,这些工具那个是蓝翔?

如果您觉得有价值,请把此文放到您朋友圈,大家都会感谢你

                                                                                 看完别忘了点“在看”哦

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多