Sentieon | 应用教程:唯一分子标识符(UMI)

简介: **Sentieon®工具通过UMI处理NGS数据,减少PCR误差和提高变异检测准确性。流程包括:umi extract(提取UMI标签),bwa mem对齐,umi consensus(创建一致性分子),再次对齐并排序。umi extract根据读取结构提取条形码,umi consensus生成共识Fastq,最终比对产生用于变异调用的BAM文件。该流程适用于体细胞突变检测,推荐使用TNscope®。日志提供质量控制信息,如组大小直方图和双工统计。**

介绍

本文介绍了使用Sentieon®工具处理下一代测序数据的方法,同时利用分子条码信息(也称为唯一分子索引或UMI)。分子条码可以在测序之前在模板DNA分子的末端引入唯一标签,从而大大减少PCR重复和测序错误对变异调用过程的影响。

Sentieon®工具提供从读数据中提取UMI标签和执行基于条码的一致性生成的功能。此流程预期输入是无适配器的条形码化读取数据。UMI一致性流程的输出是一个包含从条形码读数据派生出的一致性分子的BAM文件。这些一致性分子可以作为大多数变异调用软件的输入。

Sentieon® UMI流程

整体UMI流程结构

Sentieon®提供了两个用于UMI NGS数据处理的实用工具:

umi extract:从已删除适配器的未对齐输入读取中提取UMI标签
umi consensus:在对齐输入上,具备条码感知的重复删除和一致性调用
Sentieon®建议使用以下典型的UMI处理流程(图1):

使用工具umi extract从未对齐的输入读取中提取UMI标签

使用Sentieon®bwa mem将其对齐到参考基因组

使用工具umi consensus进行UMI一致性调用

使用Sentieon®bwa mem将一致性读取对齐并排序到参考基因组

分子1.png

图1 Sentieon® UMI处理流程


以下是一个代码示例。每个组件的详细信息将在后续部分进行解释。

js sentieon umi extract \ 8M12S+T,+T \ sample_R1.fastq.gz \ sample_R2.fastq.gz | \ sentieon bwa mem \ -R "@RG\tID:$GROUP\tSM:$SAMPLE\tLB:$LIBRARY\tPL:$PLATFORM" \ -t $NT \ -K $BWA_K_SIZE \ -p \ -C \ $REF \ - | \ sentieon umi consensus \ -o sample_consensus.fastq.gz sentieon bwa mem \ -R "@RG\tID:$GROUP\tSM:$SAMPLE\tLB:$LIBRARY\tPL:$PLATFORM" \ -t $NT \ -K $BWA_K_SIZE \ -p \ -C \ $REF \ sample_consensus.fastq.gz | \ sentieon util sort \ -i - \ -o sample_consensus.bam \ --sam2bam --umi_post_process

确定读取结构并提取条形码序列
作为第一步,您需要从输入读取中提取条形码序列。这可以使用Sentieon®umi extract命令来完成,它会从读取中提取条形码序列信息,并将其添加到读取描述中。如前所述,在运行umi标签提取之前,应从输入读取中删除适配器序列。这可以由其他第三方工具来完成。

umi extract的输出是以交错的R1和R2读取的FASTQ格式。默认情况下,提取命令的输出将发送到标准输出,除非通过选项-o进行其他定义。

umi extract命令的语法如下:

js sentieon umi extract [options] read_structure fastq1 [fastq2] [fastq3]

js Options: -o Output file (default: stdout) -d Turn on duplex mode --umi_tag Logic umi tag (default 'XR')

umi extract命令的第一个参数定义了读取结构。对于成对读取,应该用逗号','分隔的两个读取结构进行指定。

读取结构由定义。数字可以是任何数字或'+',用于指示读取结尾。可能的操作符包括:

T模板序列

M分子条码序列

S应忽略的一系列碱基

使用-d选项可以提取双链UMI并标记其起源的链。双链UMI提取需要对两个链都指定相同的读取结构。

作为示例,以下命令演示了在成对读取上进行单端UMI提取。在这种情况下,成对读取中的第一个读取包含一个8bp的分子条码,后面是一个12bp的间隔序列,然后是模板序列。第二个读取只包含模板序列。成对读取将在输出文件中交错排列。请注意,在此示例中,输出被导向压缩为FASTQ文件的gzip。一般来说,我们建议将输出直接导向下一步(Sentieon®bwa mem)。

js sentieon umi extract 8M12S+T,+T \ sample_R1.fastq.gz \ sample_R2.fastq.gz | \ gzip -c \ > sample_extracted_pair.fastq.gz

以下命令演示了双链UMI提取,其中两个读取均包含4bp的分子条码,后跟模板序列。

js sentieon umi extract \ -d \ 4M+T,4M+T \ sample_R1.fastq.gz \ sample_R2.fastq.gz | \ gzip -c \ > sample_extracted_pair.fastq.gz

以下是一个使用案例,当UMI序列已经在一个单独的FASTQ文件sample_I1.fastq.gz中时。在运行这种模式下,只允许有一个额外的UMI索引读取。UMI索引读取应该不包含模板序列。这种模式不允许双链UMI提取。

js sentieon umi extract \ "+M,+T,+T" \ sample_I1.fastq.gz \ sample_R1.fastq.gz \ sample_R2.fastq.gz | \ gzip -c \ > sample_extracted_pair.fastq.gz

umi extract的输出包含额外的标签。默认情况下,FASTQ输出包含XR标签,该标签将用于umi consensus。

分子2.png

表格40 umi extract生成的额外标签

对参考基因组的比对

可以使用bwa mem将交错的fastq文件对齐到参考基因组。使用-p选项来指定输入文件为交错的fastq文件,而-C选项将导致将fastq描述中的条形码标签附加到读取的SAM记录中。

sentieon bwa mem \
  -R "@RG\tID:$GROUP\tSM:$SAMPLE\tLB:$LIBRARY\tPL:$PLATFORM" \
  -t $NT \
  -K $BWA_K_SIZE \
  -p \
  -C \
  $REF \
  sample_extracted_pair.fastq.gz > sample_aligned.sam

共识分子的创建

流程的下一个阶段是使用Sentieon® umi consensus从已对齐的带条形码标记的读取中创建共识分子。

其语法如下:umi consensus

umi consensus [-i input] [options] -o output
Options for umi_consensus:
  -i, --input           Input file (default: stdin SAM)
  -o, --output          Output file
      --input_format    SAM/BAM/CRAM
      --umi_tag         Logic UMI tag (default:'XR')
      --copy_tags       List of tags to be copied (default: XR,RX,MI,BI,BD,XZ)
      --read_name_prefix
                        Read name prefix (default: 'UMI-')

默认情况下,umi consensus将从标准输入以SAM格式读取输入。可以使用选项来覆盖默认值,指定输入文件和除SAM之外的文件格式的选项。输出是一个包含共识分子的交错的fastq文件,可以通过Sentieon®重新映射。

下面是一个示例:umi consensus --input --input_format umi consensus bwa mem

cat sample_aligned.sam | \
  sentieon umi consensus \
  -o sample_consensus.fastq.gz

生成的输出会生成以下额外的标签umi consensus

分子3.png

表格41:umi consensus的输出fastq标签

报告没有BI/BD标签的共识读取

默认情况下,umi consensus会重新校准INDEL错误率,并将这些信息存储在BI/BD标签中。可以通过从--copy_tags选项中删除BI/BD标签来关闭这个建模步骤。因此,如果不希望在报告的共识读中包含BI/BD标签,可以将这些标签从--copy_tags选项中移除。

cat sample_aligned.sam | \
  sentieon umi consensus \
  --copy_tags XR,RX,MI,XZ \
  -o sample_consensus.fastq.gz

共识读取到参考基因组的比对

可以使用Sentieon®将交错的fastq比对到参考基因组上。与之前的比对类似,选项和选项是必需的。将输出导入Sentieon®,将会生成用于变异调用的输出BAM文件。选项用于指示工具执行共识读取的必要后处理操作。umi consensus bwa mem -p -C util sort --umi_post_process

sentieon bwa mem \
  -R "@RG\tID:$GROUP\tSM:$SAMPLE\tLB:$LIBRARY\tPL:$PLATFORM" \
  -t $NT \
  -K $BWA_K_SIZE \
  -p \
  -C \
  $REF \
  sample_consensus.fastq.gz | \
sentieon util sort \
  -i - \
  -o sample_consensus.bam \
  --sam2bam --umi_post_process

从共识读取中进行变异调用

来自UMI共识流程的BAM文件已经准备好进行变异调用的分析。不应执行重复标记或基质质量调整的其他步骤,因为UMI共识步骤本质上是PCR重复标记和基质质量再校准的结合。

虽然可以使用任何体细胞突变调用程序与共识读取一起使用,但出于其对低频变异检测的高敏感性,我们推荐使用TNscope®。

UMI共识读取的日记
输出的日志包含关于输入读取的统计信息,可用于质量控制。目前提供的两个信息是:umi consensus

组大小直方图:组大小是在一个组中支持一个共识读取的原始读取数量。该直方图显示了具有特定组大小的UMI共识读取的数量,并可用于检测问题:

如果单体比例(组大小为1的UMI共识)过高,则很难准确建模PCR错误率并改善质量分数。

相反,如果每个UMI组的平均读取数过高,这可能表示文库制备中的输入DNA量过低,这将导致共识读取的覆盖范围较低。

双工统计:使用双工UMI标签,可以通过比较R1和R2读取中的UMI标签,识别来自DNA每条链的读取,并识别样本制备过程中引起的错误。日志中报告的数字表示单链或双链共识读取的数量,按以下代码进行分组:umi consensus

组代码1:无互补UMI组的单链共识。

组代码2:有来自两个互补UMI组的双链共识。

组代码3:R1和R2读取的UMI序列相同。在这种情况下,依靠插入物的链确定输入读取是否来自同一链。此组进一步细分为:umi consensus

组代码31:所有读取来自同一链的单链共识。

组代码32:来自DNA两条链的双链共识。

目录
相关文章
|
4月前
|
机器学习/深度学习 数据采集 监控
Python基于BP神经网络算法实现家用热水器用户行为分析与事件识别
Python基于BP神经网络算法实现家用热水器用户行为分析与事件识别
107 2
|
6月前
|
机器学习/深度学习 人工智能 算法
【Python毕业设计】python基于CatBoost模型的混凝土强度预测研究(源码+数据集+毕业论文)【独一无二】
【Python毕业设计】python基于CatBoost模型的混凝土强度预测研究(源码+数据集+毕业论文)【独一无二】
102 0
|
机器学习/深度学习 监控 搜索推荐
提升UMI分析精度和计算效率:Sentieon UMI分子标记处理模块
提升UMI分析精度和计算效率:Sentieon UMI分子标记处理模块
146 0
|
数据采集 数据可视化 大数据
渐进式学习:如何用R和GO富集可视化捕捉生命的关键信号?
本文还将提供一些使用R和GO富集可视化的基本方法和技巧,并以实例说明如何从生物大数据中捕捉关键信号。最后,我们将讨论GO富集可视化在生物信息学中的未来发展和可能的研究方向。
215 0
|
人工智能 自然语言处理 知识图谱
Uni-Mol:分子3D表示学习框架和预训练模型项目原作解读
Uni-Mol:分子3D表示学习框架和预训练模型项目原作解读
216 0
|
达摩院 API C++
MindOpt--C++语言-对一个简单的混合整数规划问题建模求解
MindOpt是达摩院决策智能实验室研究的一款优化求解器,目前在优化求解线性规划问题这一功能上取得不错的成绩,希望大家能够帮我们多多打磨其他功能(混合整数线性规划、二次规划、半定规划目前都在公测),让我们的MindOpt在优化求解器这板块成为国产之光。
MindOpt--C++语言-对一个简单的混合整数规划问题建模求解
|
Python
Hap-Eval:Sentieon团队开发的开源结构变异SV准确率评估工具
Hap-eval基于单倍型 (haplotype) 对两组SV结果进行比较,首先会将比较区块内的SV拼接成单倍型序列,如果SV的结果中有定相信息,在这一步也可以被利用;然后这些单倍型序列被用来建立一个矩阵,进行结果判断。
162 0
Hap-Eval:Sentieon团队开发的开源结构变异SV准确率评估工具
产品分享:Qt数学函数公式学科工具,当前版本v1.0.0
产品分享:Qt数学函数公式学科工具,当前版本v1.0.0
产品分享:Qt数学函数公式学科工具,当前版本v1.0.0
|
vr&ar
【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 1 ) ★★
【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 1 ) ★★
323 0
【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 1 ) ★★
|
vr&ar
【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 2 ) ★★
【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 2 ) ★★
237 0
【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 2 ) ★★
下一篇
无影云桌面