debar-去噪COI-5P条形码数据

卡梅隆·纽金特

图书馆(禁止)

介绍

德巴是一个R包,用于消除动物DNA条形码标记细胞色素c氧化酶I(COI-5P,或COI的五素部分)的高通量测序数据。该软件包旨在检测和纠正测序器输出中的插入和删除错误。这是通过将输入序列与轮廓隐马尔可夫模型进行比较来实现的使用维特比算法(德巴尔取决于R包的功能蚜虫用于运行Viterbi算法)。通过引入占位符字符,可以删除插入的碱基对和删除的碱基配对。由于PHMM是COI条码的概率表示,因此修正并不总是完美的。出于这个原因德巴检查与报告的indel站点相邻的碱基对,将它们转换为占位符字符(默认为任意方向的7bp,可以禁用此功能)。测试表明,这种审查可以恢复正确的序列长度,并在绝大多数时间(>95%)掩盖错误的碱基对。

实施

该软件包设计用于检测和纠正测序仪输出中的插入和删除错误。这是通过将输入序列与轮廓隐马尔可夫模型进行比较来实现的使用维特比算法。此比较生成的Viterbi路径用于识别存在插入或删除错误的位置。下面是该软件包如何以这种方式更正indels的一个小示例:

#更正插入#此序列中的“G”是插入“ATCATGATC”#将序列与PHMM进行比较,生成Viterbi路径#“G”被指定为隐藏状态“insert”,由路径中的2表示"111112111"#debar使用这些信息来改变序列,删除G“ATGATATG”

对于删除错误,执行反向操作并插入占位符。

依赖关系

德巴依赖于这个蚜虫包裹用于与COI-5P核苷酸PHMM进行序列比较。包裹是一项要求,因为序列在内部转换为“DNAbin”对象。包裹亮片用于在需要时获得输入序列的反向补码。这个平行该软件包还需要用于去噪过程的并行化。

使用软件包

序列列表去噪

在R中处理序列数据时,德巴可以应用于一组读取(链接到给定样本的读取或来自给定集群序列集的读取)。请注意,为了获得最佳性能,应该已经根据质量对读取进行了解复用、解复用和过滤。序列列表可以用去索引列表功能。

退出(_O)= 去噪_list(不包括_列表)

去噪_list按顺序操作,因此并行化以提高性能。这个堆芯参数允许用户指定进程应该并行化的核心数。

退出(_O)= 去索引列表(不包括_列表,堆芯= 4)

传递选项keep_alpardes=假去噪_list该函数将把所有输出放在一个公共的读取框中。这允许组合输出列表以生成一致序列。

ex_out=去噪_list(ex_nt_list,keep_alpards=FALSE)

获得共识序列

德巴可以通过去除组分读取中的误差并确保所有数据符合已知的扩增子结构来为样本提供更准确的一致序列。去噪过程产生一系列未经校正的序列读取,如果读取来自单个样本或一组足够相似的元条码输出,则可以将其组合以获得生物信息一致性。审查过程在大多数情况下有效地消除了indel错误,也恢复了序列的适当长度。这是以个人信息缺失为代价的。结合给定样本或扩增变异体的去噪序列,可以在大多数情况下使用同意_顺序功能。

条形码输出= 同意_顺序(不包括(_O))
#给定样本debar输出的截断示例#更正索引并用“N”占位符覆盖区域CTCTACTTGNNNNNNNNNNAGCAGGAATAGTGGAATAGCTTTAAGTTTACATCGCTGAACTAGGTCTNNNNNNNN NNNNNTGCAGGAATAGTGGAATAGCTTTAAGTTTATAATTCGCTGGAACTAGT公司CTCTACTTTATTTTTGGTGCATAGCAGGAATAGTGGAATAGCTTTAAGTTTNNNNNNNNNNAACTAGGT#以下分配给样本(条形码)或OTU聚类(元条形码)#从去噪读取的一致性中可以获得去噪条形码CTCTACTTATTTTGGTGCATAGCAGGAATAGTGGAATAGCTTTAAGTTTATAATTCGCGAACTAGGT

注:如果您有兴趣确定哪些一致序列不符合COI扩增子结构,而不是对序列进行去噪,那么考虑使用德巴尔的姊妹套餐:线圈

文件到文件去噪

该程序包含包装器函数去噪_文件这允许用户在一个步骤中运行整个去噪器管道(对于执行完整管道,有定量的默认值,但强烈建议用户适应去噪管道选项,以确保参数对其给定数据集和分析目标有意义)。

只需要指定输入和输出文件。默认情况下,程序会读入输入文件,通过去噪算法运行每个序列,然后将去噪后的序列输出到指定的输出文件。去噪管道包含某些规则(用户可以控制-有关这些参数的详细信息,请参阅下文),这些规则导致某些序列被完全拒绝保留_拒绝选项允许用户将这些被拒绝的序列输出到另一个文件以供进一步检查。该程序还有一个生成简单日志文件的选项,通过简单地指定进程应使用的内核数,允许多核执行去噪管道。此外,您可以键入?去噪查看可以传递给去噪_文件包装器函数(下面将详细介绍参数)。

数据结构

德巴可以对来自fasta和fastq文件或其gzipped等效文件的输入进行操作。为了演示工作流程,德巴包含三个示例文件。

#以下示例文件用作vignette中的输入
fastq示例文件= system.file(系统文件)('外部数据/coi_sequel_data_subset.fastq.gz',包装= “禁止”)

#debar中还提供了其他示例数据:
#fastq_example_file=system.file('extdata/coi_sequel_data_subset.fastq',package='debar')
#fasta_example_file=system.file('extdata/coi_sequel_data_subset.fasta',package='debar')

文件到文件示例

#注释-为了避免生成输出文件,不会运行此代码块!
#
#带有噪声序列数据的输入文件是fastq_example_file。
#输出文件为“example_Output.fastq”
#如果您确实希望运行这些示例,请仔细检查您的工作目录!
去噪_文件(fastq_example_file,文件名= “example_output.fastq”)

去噪_文件(快速q示例文件,文件名= “多分辨率示例输出.fastq”,多芯= 8,日志文件(_F)= 真的,保留项目(_R)= 真的)

参数组合-速度和精度的权衡

文件到文件的去噪也可以跨多个CPU内核并行进行。输入文件中每个序列的去噪都是单独进行的,因此使用多个核将大致减少完成去噪所需的时间,降噪时间是使用核数的一个因子。如果您要对完整的测序器输出进行去噪处理,建议您尽可能多地使用内核。例如,在64核服务器(所有默认参数)上对160000个序列读取进行降噪大约需要1小时42分钟,而在只有8核的笔记本电脑上则需要将近14小时!

#当任务高度并行时,debar工作得最好去噪_file(fastq_example_file,filename=“multicreexample_output.fastq”,multicore=8,log_file=TRUE,keep_rejects=TRUE)#将多核参数设置为可用的CPU内核数

某些参数选择可以进一步提高德巴可以处理数据,但需要进行某些权衡(在处理您自己的数据时,这可能值得考虑,也可能不值得考虑)。通过禁用方向检查(dir_check)来提供最显著的速度改进。默认情况下,读取的正向和反向称赞都与PHMM进行比较,如果您的数据仅由正向读取组成,那么禁用此选项将导致处理减少30-50%。其他速度/精度权衡可用,并在程序包渐晕图的“推荐参数组合”部分进行讨论。

致谢

该软件的开发资金由加拿大政府通过Genome Canada和Ontario Genomics以及安大略研究基金在生物信息学和计算生物学方面提供。资助者在该软件的研究设计或准备过程中没有扮演任何角色。