首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

介绍

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

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

Sentieon UMI流程

整体UMI流程结构

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

umi extract:从已删除接头的未比对输入读段中提取UMI标签。

umi consensus:在比对输入文件上,具备条码感知的去重和一致性调用。

Sentieon建议使用以下典型的UMI处理流程(图1):

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

使用Sentieonbwa mem将其对齐到参考基因组。

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

使用Sentieonbwa mem将一致性读段进行比对并排序。

图1 Sentieon UMI处理流程

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

1sentieon umi extract \

2  8M12S+T,+T \

3  sample_R1.fastq.gz \

4  sample_R2.fastq.gz | \

5sentieon bwa mem \

6  -R "@RG\tID:$GROUP\tSM:$SAMPLE\tLB:$LIBRARY\tPL:$PLATFORM" \

7  -t $NT \

8  -K $BWA_K_SIZE \

9  -p \

10  -C \

11  $REF \

12  - | \

13sentieon umi consensus \

14  -o sample_consensus.fastq.gz

15

16sentieon bwa mem \

17  -R "@RG\tID:$GROUP\tSM:$SAMPLE\tLB:$LIBRARY\tPL:$PLATFORM" \

18  -t $NT \

19  -K $BWA_K_SIZE \

20  -p \

21  -C \

22  $REF \

23  sample_consensus.fastq.gz | \

24sentieon util sort \

25  -i - \

26  -o sample_consensus.bam \

27  --sam2bam --umi_post_process

确定读段结构并提取barcode序列

作为第一步,您需要从输入读段中提取barcode序列。这可以使用Sentieonumi extract命令来完成,它会从读段中提取barcode序列信息,并将其添加到读段描述中。如前所述,在运行umi标签提取之前,应从输入读段中删除接头序列。这可以由其他第三方工具来完成。

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

umi extract命令的语法如下:

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

2

3Options:

4  -o      Output file (default: stdout)

5  -d      Turn on duplex mode

6  --umi_tag   Logic umi tag (default 'XR')

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

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

T 模板序列。

M 分子条码序列。

S 应忽略的一系列碱基。

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

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

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

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

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

参考基因组比对

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

共识分子的创建

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

其语法如下:umi consensus

1umi consensus [-i input] [options] -o output

2

3Options for umi_consensus:

4  -i, --input           Input file (default: stdin SAM)

5  -o, --output          Output file

6      --input_format    SAM/BAM/CRAM

7      --umi_tag         Logic UMI tag (default:'XR')

8      --copy_tags       List of tags to be copied (default: XR,RX,MI,BI,BD,XZ)

9      --read_name_prefix

10                        Read name prefix (default: 'UMI-' )

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

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

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

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

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

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

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OqCssz4X0PIAY2EJ7YnqvIGA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券