当前位置: 首页 > 专利查询>山东大学专利>正文

一种生物测序序列快速修剪方法及系统技术方案

技术编号:33274734 阅读:23 留言:0更新日期:2022-04-30 23:33
本发明专利技术提供了一种生物测序序列快速修剪方法及系统,其属于生物信息技术领域,所述方案包括:获取待修剪的生物测序序列;对所述生物测序序列进行读操作、修剪操作以及写操作;其中,基于生产者—消费者模型对所述读操作、修剪操作以及写操作进行解耦,实现异步执行;且所述生物测序序列的格式化过程从读操作中转移到修剪操作中。转移到修剪操作中。转移到修剪操作中。

【技术实现步骤摘要】
一种生物测序序列快速修剪方法及系统


[0001]本专利技术属于生物信息
,尤其涉及一种生物测序序列快速修剪方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]在新一代测序中,要进行测序的核酸序列与接头序列(Adapter)连接,以便被测序仪识别,然而当核酸序列的长度短于测序平台运行的读取长度时,测序得到的基因序列片段(称之为Read)将同时包含需要进行测序的核酸序列以及全部或者部分接头序列。除此之外,在NGS(Next Generation Sequencing:下一代测序)测序中,测序结果的可信度在末尾循环(tail cycle)会变得较低,得到的是一些低质量的测序序列。被测序接头或者低质量的测序过程污染的测序序列经常导致不能满意的下游分析(如基因比对工作等)结果,因此修剪(Trim)测序中的接头以及低质量的数据成为下游分析任务之前不可缺少的环节。
[0004]随着现代测序仪的进步,不断增长的吞吐量和序列长度,为修剪工作提出了新的挑战,当前的一些处理工具的性能(比如速度和准确率)已经难以满足如此规模的测序数据,使得预处理步骤成为了数据分析的瓶颈,一种用于NGS数据预处理的超快的、准确的测序数据接头质量修剪工具仍是迫切需求。
[0005]目前有许多的工具被用于新一代测序数据中的测序接头和低质量数据的修剪工作,比如:Trimmomatic、Fastp、Ktrim等,这些工具采用了不同的Trim算法,实现了NGS测序数据中的Adapter

Trim和Quality

Trim。
[0006]专利技术人发现,Ktrim相比其他几种工具,在NGS短读测序数据上有更好的表现,但是,随着固态硬盘技术的发展和普及,以及磁盘阵列技术的进步,Ktrim当前的处理速率距离硬盘的读写峰值差距较大,无法满足现在对生物数据预处理的性能要求,而且经过测试,Ktrim的线程扩展性并不好,使用四个以上的线程数量程序的处理速度难以继续提高。

技术实现思路

[0007]本专利技术为了解决上述问题,提供了一种生物测序序列快速修剪方法及系统,所述方案通过采用轻量级的I/O框架,大幅度提升了I/O的速率;同时,在此基础上采用了向量化的方式优化了Adapter的寻找过程,有效提高了生物测序序列快速修剪的处理效率。
[0008]根据本专利技术实施例的第一个方面,提供了一种生物测序序列快速修剪方法,包括:获取待修剪的生物测序序列;对所述生物测序序列进行读操作、修剪操作以及写操作;其中,基于生产者—消费者模型对所述读操作、修剪操作以及写操作进行解耦,实现异步执行;且所述生物测序序列的格式化过程从读操作中转移到修剪操作中。
[0009]进一步的,所述读操作、修剪操作以及写操作分别采用独立的线程进行实现,其
中,读线程和写线程均设置有一个,所述修剪线程设置有一个或多个。
[0010]进一步的,所述读操作用于通过读线程对所述生物测序序列按照块方式进行读取,并将读取的块对象存储入第一数据队列中。
[0011]进一步的,所述修剪操作用于通过修剪线程从所述第一数据队列中获取数据,对所述生物测序序列进行格式化,去除生物测序序列中低质量碱基序列和接头序列;同时将处理后的序列存储入第二数据队列中。
[0012]进一步的,在所述修剪线程中获取接头序列包括:将所述生物测序序列中的每个碱基作为一个字符;基于向量寄存器,采用若干次位运算获得预设长度序列数据中接头序列的位置。
[0013]进一步的,所述写操作用于通过写线程从所述第二数据队列中获取处理后的生物测序序列,并进行存储。
[0014]根据本专利技术实施例的第二个方面,提供了一种生物测序序列快速修剪系统,包括:数据获取单元,其用于获取待修剪的生物测序序列;数据处理单元,其用于对所述生物测序序列进行读操作、修剪操作以及写操作;其中,基于生产者—消费者模型对所述读操作、修剪操作以及写操作进行解耦,实现异步执行;且所述生物测序序列的格式化过程从读操作中转移到修剪操作中。
[0015]与现有技术相比,本专利技术的有益效果是:(1)本专利技术提供了一种生物测序序列快速修剪方法及系统,所述方案通过采用轻量级的I/O框架,大幅度提升了I/O的速率;同时,在此基础上采用了向量化的方式优化了Adapter的寻找过程,有效提高了生物测序序列快速修剪的处理效率。
[0016](2)本专利技术解决了Ktrim的IO效率低的问题,将文件数据的输入输出速率改进达到或接近磁盘读写的性能峰值。所述方案通过采用生产者

消费者模型实现读线程、工作线程以及写线程之间解耦、异步和速度平衡;同时,将数据格式化的任务从读线程转移到工作线程,将写回数据准备的任务从写线程转移到工作线程来最大可能地保证读线程和写线程的速度。
[0017](3)本专利技术所述方案使用数据池DataPool重复利用chunk对象,减少对象的创建与销毁,减少创建对象的开销;同时,在读线程、工作线程以及写线程之间传递数据时,尽可能使用数据的指针,而不进行数据复制,有效减少了内存拷贝的开销;(4)本专利技术所述方案在整个工作流程中的读线程、工作线程(即修剪线程)以及写线程均只创建一次,直到完成其所有的任务后才销毁,有效减少了线程创建的开销。
[0018]本专利技术附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0019]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0020]图1为本专利技术实施例中所述的读线程和工作线程(即Trim线程)之间chunk对象流转示意图;图2为本专利技术实施例中所述的工作线程(即Trim线程)和写线程之间的关系示意
图;图3为本专利技术实施例中所述的轻量级IO框架结构示意图;图4为本专利技术实施例中所述的整体框架示意图。
具体实施方式
[0021]下面结合附图与实施例对本专利技术做进一步说明。
[0022]应该指出,以下详细说明都是示例性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。
[0023]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0024]在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。
[0025]术语解释:Adapter:接头序列,是指在生物序列测序过程中因测序技术或者测序平台原因测得的额外序列片段。
...

【技术保护点】

【技术特征摘要】
1.一种生物测序序列快速修剪方法,其特征在于,包括:获取待修剪的生物测序序列;对所述生物测序序列进行读操作、修剪操作以及写操作;其中,基于生产者—消费者模型对所述读操作、修剪操作以及写操作进行解耦,实现异步执行;且所述生物测序序列的格式化过程从读操作中转移到修剪操作中。2.如权利要求1所述的一种生物测序序列快速修剪方法,其特征在于,所述读操作、修剪操作以及写操作分别采用独立的线程进行实现,其中,读线程和写线程均设置有一个,所述修剪线程设置有一个或多个。3.如权利要求1所述的一种生物测序序列快速修剪方法,其特征在于,所述读操作用于通过读线程对所述生物测序序列按照块方式进行读取,并将读取的块对象存储入第一数据队列中。4.如权利要求3所述的一种生物测序序列快速修剪方法,其特征在于,所述块对象的创建引入数据池思想,仅创建预设数量的块对象进行重复使用。5.如权利要求1所述的一种生物测序序列快速修剪方法,其特征在于,所述修剪操作用于通过修剪线程从所述第一数据队列中获取数据,对所述生物测序序列进行格式化,去除生物测序序列中低质量碱基序列和接头序列;同时将处理后的序列...

【专利技术属性】
技术研发人员:刘卫国王明凯殷泽坤张浩
申请(专利权)人:山东大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1