基因组注释方法、装置、可视化平台和存储介质与流程

文档序号:25286031发布日期:2021-06-01 17:35阅读:122来源:国知局
基因组注释方法、装置、可视化平台和存储介质与流程

本申请涉及生物信息学技术领域,具体涉及一种基因组注释方法、装置、可视化平台和计算机可读存储介质。



背景技术:

基因数据在测序完成后,通常需要经过配套的分析软件进行变异检出分析。其中变异检出分析是指将测序后基因组数据通过与参考基因组进行比较,从而得到与参考序列不一致的碱基位置与变化信息(即变异位点的基础信息)。然而变异位点的基础信息往往不足以进行位点致病性判定来确定致病位点。因此,需要对变异信息进行基因组注释(genomeannotation),达成辅助致病性判定的目的。然而,人类全基因组含有约30亿dna碱基对,而待注释的内容不仅包含单碱基突变(snp),还包括小的插入缺失突变(indel),各数据库中的信息记录十分庞大,并且基因检测具有大样本量并行进行基因组注释的特点,资源消耗大且注释时间久,多样本并行注释效率低下。

申请内容

有鉴于此,本申请实施例中提供了一种基因组注释方法、装置、可视化平台和计算机可读存储介质,以克服现有技术的基因组注释方法资源消耗大且注释时间久、注释效率低下的问题。

第一方面,本申请实施例提供了一种基因组注释方法,该方法包括:

获取待注释的测序数据,将所述测序数据根据基因染色体字段进行拆分,得到多个子测序数据;

将每一个所述子测序数据映射到对应的子单元基因数据库中进行查找分析,得到注释结果;其中所述子单元基因数据库是对已知的基因数据库根据基因染色体字段进行拆分得到的。

第二方面,本申请实施例提供了一种基因组注释装置,该装置包括:测序数据获取模块,用于获取待注释的测序数据;

测序数据拆分模块,用于将所述测序数据根据基因染色体字段进行拆分,得到多个子测序数据;

映射模块,用于将每一个所述子测序数据映射到对应的子单元基因数据库中进行查找分析,得到注释结果;其中所述子单元基因数据库是对已知的基因数据库根据基因染色体字段进行拆分得到的。

第三方面,本申请实施例提供了一种可视化平台,包括:一个或多个客户端;一个或多个服务器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个服务器执行,一个或多个应用程序配置用于执行上述第一方面提供的基因组注释方法。

第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的基因组注释方法。

本申请实施例提供的基因组注释方法、装置、可视化平台和计算机可读存储介质,包括获取待注释的测序数据,将测序数据根据基因染色体字段进行拆分,得到多个子测序数据;然后将每一个子测序数据映射到对应的子单元基因数据库中进行查找分析,从而得到注释结果,其中子单元基因数据库是对已知的基因数据库根据基因染色体字段进行拆分得到的;该基因组注释方法将百亿级数据的基因数据库拆分成数据量较少的子单元基因数据库,然后将待注释的测序数据拆分成与子单元基因数据库大小其类型相同的子测序数据,在进行注释时只需要将子测序数据与其对应的子单元基因数据库进行比较即可,从而大大减少了缩小了查询范围,节约了计算的时间和计算量。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的基因组注释方法的应用场景示意图;

图2为本申请一个实施例提供的基因组注释方法的流程示意图;

图3为本申请一个实施例中提供的映射查找数据的结构示意图;

图4为本申请一个实施例中提供的基因组注释装置的结构示意图;

图5为本申请一个实施例中提供的可视化平台的结构示意图;

图6为本申请一个实施例中提供的计算机可读存储介质的结构示意图。

具体实施方式

下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

名词解释:

1.高通量测序:(英语:high-throughputsequencing),又称“下一代”测序技术("next-generation"sequencingtechnology),以能一次并行对几十万到几百万条dna分子进行序列测定和一般读长较短等为标志。其中测序是指分析特定dna片段的碱基序列,也就是腺嘌呤(a)、胸腺嘧啶(t)、胞嘧啶(c)与鸟嘌呤(g)的排列方式。快速的dna测序方法的出现极大地推动了生物学和医学的研究和发现。

2.散列函数:(英语:hashfunction)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hashvalues,hashcodes,hashsums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲突。在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。

3.基因组:在分子生物学和遗传学领域,基因组是指生物体所有遗传物质的总和。这些遗传物质包括dna或rna(病毒rna)。基因组包括编码dna和非编码dna、线粒体dna和叶绿体dna

4.基因突变:(mutation,即突变)在生物学上的含义是指细胞中的遗传基因(通常指存在于细胞核中的去氧核糖核酸)发生的改变。它包括单个碱基改变所引起的点突变,或多个碱基的缺失、重复和插入。原因可以是细胞分裂时遗传基因的复制发生错误、或受化学物质、基因毒性、辐射或病毒的影响。

5.点突变:(pointmutation)是突变的一种类型,在遗传材料dna或rna中,会使单一个碱基核苷酸替换成另一种核苷酸。通常这个术语也包括只有作用于单一碱基对的插入或删除。

6.基础信息注释:如:变异位置、基因、转录本编号、碱基变化、氨基酸变化等;

7.预测软件结果注释:通过生物信息学相关算法,对变异进行功能危害性预测。预测和通路分析有助于发现潜在的新基因和位点。

8.人群变异频率注释:作为重要参考工具,通过公开权威的数据库中记录可以用于获取某变异在大规模人群中的发生频率。

9.突变相关疾病注释:将变异、临床表型、实证数据以及功能注解与分析等四个方面的信息,通过专家评审,形成的遗传变异-临床表型相关的数据库。

为了更详细说明本申请,下面结合附图对本申请提供的一种基因组注释方法、装置、终端设备和计算机存储介质,进行具体地描述。

请参考图1,图1示出了本申请实施例提供的基因组注释方法的应用场景的示意图,该应用场景包括本申请实施例提供的终端设备100,终端设备100可以是具有显示屏的各种电子设备(如102、104、106和108的结构图),包括但不限于智能手机和计算机设备,其中计算机设备可以是台式计算机、便携式计算机、膝上型计算机、平板电脑等设备中的至少一种。终端设备100可以泛指多个终端设备中的一个,本实施例仅以终端设备100来举例说明。本领域技术人员可以知晓,上述终端设备的数量可以更多或更少。比如上述终端设备可以仅为几个,或者上述终端设备为几十个或几百个,或者更多数量,本申请实施例对终端设备的数量和类型不加以限定。终端设备100可以用来执行本申请实施例中提供的一种基因组注释方法。

在一种可选的实施方式中,该应用场景包括本申请实施例提供的终端设备100之外,还可以包括服务器,其中服务器与终端设备之间设置有网络。网络用于在终端设备和服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

应该理解,终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器可以是多个服务器组成的服务器分布式系统等。其中,终端设备通过网络与服务器交互,以接收或发送消息等。服务器可以是提供各种服务的服务器。其中服务器可以用来执行本申请实施例中提供的一种基因组注释方法的步骤。此外,终端设备在执行本申请实施例中提供的一种基因组注释方法时,可以将一部分步骤在终端设备执行,一部分步骤在服务器执行,在这里不进行限定。

基于此,本申请实施例中提供了一种基因组注释方法。请参阅图2,图2示出了本申请实施例提供的一种基因组注释方法的流程示意图,以该方法应用于图1中的终端设备为例进行说明,包括以下步骤:

步骤102,获取待注释的测序数据,将测序数据根据基因染色体字段进行拆分,得到多个子测序数据;

其中,待注释的测序数据是指是指任意需要进行基因组注释的样本进行高通量测序而得到的数据。测序数据是一些(即很多条)序列,通常为vcf文件,是一种是用于描述snp(单个碱基上的变异),indel(插入缺失标记)和sv(结构变异位点)结果的文本文件。

基因染色体字段,又称为基因染色体位置坐标字段,包括染色体号、染色体位置、碱基突变前、碱基突变后等字段。

步骤104,将每一个子测序数据映射到对应的子单元基因数据库中进行查找分析,得到注释结果;其中子单元基因数据库是对已知的基因数据库根据基因染色体字段进行拆分得到的。

其中,已知的基因组数据库就是指目前公开的所有与基因组注释有关的数据库;可以是人类、动物甚至是病原体等的基因组数据库。此外,子单元基因数据库是对已知的基因组数据库根据染色体字段进行拆分而形成的,

另外,在对待注释的测序数据和已知的基因组数据库进行拆分时采用的基因染色体字段应该是相同的,并且拆分后形成的子测序数据与子单元基因数据库的大小相同;其中拆分后形成的子测序数据和子单元基因数据库可以认为是一种数据矩阵,大小相同是指矩阵纵横排列的数据量相同。

将每一个子测序数据映射到对应的子单元基因数据库是指将每一个子测序数据映射到与自身拆分字段相同,且大小相同的子单元基因数据库中。

为了便于理解,给出一个详细的实施例。假设有一些基因组数据库ga,gb,gc......gz,对其进行拆分分别得到子单元基因数据库ga1,ga2,ga3,......gan(即ga对应的单元基因数据库)、gb1,gb2,gb3,......gbn(即gb对应的单元基因数据库)、gc1,gc2,gc3,......gcn(即gc对应的单元基因数据库)......gz1,gz2,gz3,......gzn(即gz对应的单元基因数据库),有一个待注释的测序数据va(其中待注释的测序数据有很多个,在此仅以一个为例进行说明),对va进行拆分得到va(1,0),va(1,1),va(1,2)......va(1,n);然后将va(1,0),va(1,1),va(1,2),......va(1,n)对应映射到对应的子单元基因数据库中进行查找分析,其结果如图3所示,其中映射查找va(1,0)只会到ga1gb1gc1......的数据库内查找,依次类推va(1,1)到ga2gb2gc2......从而大幅缩小查找范围。

本申请实施例提供的基因组注释方法,包括获取待注释的测序数据,将测序数据根据基因染色体字段进行拆分,得到多个子测序数据;然后将每一个子测序数据映射到对应的子单元基因数据库中进行查找分析,从而得到注释结果,其中子单元基因数据库是对已知的基因数据库根据基因染色体字段进行拆分得到的;该基因组注释方法将百亿级数据的基因数据库拆分成数据量较少的子单元基因数据库,然后将待注释的测序数据拆分成与子单元基因数据库大小其类型相同的子测序数据,在进行注释时只需要将子测序数据与其对应的子单元基因数据库进行比较即可,从而大大减少了缩小了查询范围,节约了计算的时间和计算量。

在一个实施例中,子单元基因数据库通过以下方式获得:

获取已知的基因组数据库、基因染色体字段和子单元数据量参数;根据基因染色体字段和子单元数据量参数对每一个基因组数据库进行拆分,得到子单元基因数据库。

在一个实施例中,子单元基因数据库通过以下公式计算得到:

其中,ga1,ga2,ga3,......gan分别表示子单元基因数据库;x表示基因染色体字段;p表示子单元数据量参数,用于调整子单元基因数据库的大小。

其中,子单元数据量参数是指用来调整子单元数据量或者说子单元的数据矩阵大小的参数。在实际应用中根据实际库数据量设置一般为23~210。在对已知的基因组数据库进行拆分时不仅要考虑基因染色体字段,还要考虑子单元基因数据库的大小。

在一些实施例中,待注释的测序数据包括多个vcf文件,子测序数据包括子单元vcf文件;在将测序数据根据基因染色体字段进行拆分,得到多个子测序数据的步骤中,包括:对每一个vcf文件根据文件变量参数进行拆分,得到多个子vcf文件;根据基因染色体字段和子单元数据量参数对每一个子vcf文件进行拆分,得到多个子单元vcf文件。

在一些实施例中,子vcf文件通过以下公式获得:

其中,va表示第a个vcf文件,va1,va2,va3,......van分别表示子vcf文件,k表示文件变量参数。

具体而言,待注释的测序数据包括多个vcf文件,例如va,vb,vc......vz。在一种可选的实施方式中,每次读取vcf文件个数可以是不相同的,具体可以根据服务器硬件配置条件确定。

其中,文件变量参数是指用来调整子vcf文件大小的参数。具体地,在获得vcf文件文件后,需要先对文件进行拆分;通常采用来对文件进行拆分,其中va表示第a个vcf文件,va1,va2,va3,......van分别表示子vcf文件,k表示文件变量参数。在此仅以va为例进行说明,对于其他的vcf文件拆分方法与va相同;另外,对于不同的vcf文件进行拆分时文件变量参数k的取值可以相同也可以不相同,具体的根据实际需求进行确定。

在对vcf文件拆分完成生产子vcf文件后,需要对子vcf文件采用基因染色体字段和子单元数据量参数进行拆分。例如:

其中,va1表示第a1个子vcf文件,va(1,0),va(1,1),va(1,2),......va(1,n)分别表示子单元vcf文件,x表示基因染色体字段;p表示子单元数据量参数。

在一些实施例中,在将每一个子测序数据映射到对应的子单元基因数据库中进行查找分析的步骤中,包括:采用hash算法将每一个子测序数据射到对应的子单元基因数据库中进行查找分析。

具体地,hash算法,即哈希算法,是将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。一般用于快速查找和加密算法。在本实施例中在将每一个子测序数据映射到对应的子单元基因数据库中进行查找分析的过程中采用hash算法能快速地完成数据查找。

在一个实施例中,还包括:在将测序数据根据基因染色体字段进行拆分和/或将每一个子测序数据映射到对应的子单元基因数据库中进行查找分析的过程是在分布式系统上完成的。

分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。在本实施例中,在将测序数据根据基因染色体字段进行拆分以及将每一个子测序数据映射到对应的子单元基因数据库中进行查找分析的过程采用分布式系统,可以大大增强数据处理量以及减少数据处理时间。

应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

上述本申请公开的实施例中详细描述了一种基因组注释方法,对于本申请公开的上述方法可采用多种形式的设备实现,因此本申请还公开了对应上述方法的基因组注释装置,下面给出具体的实施例进行详细说明。

请参阅图4,为本申请实施例公开的一种基因组注释装置,主要包括:

测序数据获取模块402,用于获取待注释的测序数据;

测序数据拆分模块404,用于将测序数据根据基因染色体字段进行拆分,得到多个子测序数据;

映射模块406,用于将每一个所述子测序数据映射到对应的子单元基因数据库中进行查找分析,得到注释结果;其中所述子单元基因数据库是对已知的基因数据库根据基因染色体字段进行拆分得到的。

在一个实施例中,还包括:参数获取模块:

参数获取模块,用于获取已知的基因组数据库、基因染色体字段和子单元数据量参数;

测序数据拆分模块,还用于根据基因染色体字段和子单元数据量参数对每一个基因组数据库进行拆分,得到子单元基因数据库。

在一个实施例中,还包括子单元基因数据库获得模块:

子单元基因数据库获得模块,用于通过以下公式计算得到子单元基因数据库:

其中,ga1,ga2,ga3,......gan分别表示子单元基因数据库;x表示基因染色体字段;p表示子单元数据量参数,用于调整子单元基因数据库的大小。

在一些实施例中,待注释的测序数据包括多个vcf文件,子测序数据包括子单元vcf文件;测序数据拆分模块还包括:

vcf文件拆分模块,用于对每一个vcf文件根据文件变量参数进行拆分,得到多个子vcf文件;

子vcf文件拆分模块,用于根据基因染色体字段和子单元数据量参数对每一个子vcf文件进行拆分,得到多个子单元vcf文件。

在一些实施例中,还包括:

子vcf文件获得模块,用于通过以下公式获得子vcf文件:

其中,va表示第a个vcf文件,va1,va2,va3,......van分别表示子vcf文件,k表示文件变量参数。

在一些实施例中,映射模块,还用于采用hash算法将每一个子测序数据射到对应的子单元基因数据库中进行查找分析。

在一个实施例中,测序数据拆分模块还用于在将测序数据根据基因染色体字段进行拆分是在分布式系统上完成的;

和/或

映射模块,还用于将每一个子测序数据映射到对应的子单元基因数据库中进行查找分析的过程是在分布式系统上完成的。

关于基因组注释装置的具体限定可以参见上文中对于方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于终端设备中的处理器中,也可以以软件形式存储于终端设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

请参考图5,图5其示出了本申请实施例提供的一种可视化平台的结构框图。本申请中的可视化平台可以包括一个或多个如下部件:客户端、服务器、存储器(即图中的服务端硬盘)、已知的基因数据库(例如ga、gb、gc)以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器中并被配置为由一个或多个服务器执行,一个或多个应用程序配置用于执行上述应用于终端设备的方法实施例中所描述的方法,也可以配置用于执行上述应用于基因组注释方法实施例中所描述的方法。另外,客户端可以与服务器进行信息交互,例如客户端发送注释请求,在注释完成后,服务器发送注释完成文件至客户端。其中客户端的数量可以是很多个,由wes生成集群;服务器在接收到客户端发送的注释请求时,传输文件至服务器,服务器可以按照队列的方式读取文件(即图中的va~vf),然后将va进行拆分,拆分后与存储在服务端硬盘上的根据已知的基因数据库拆分后形成的子单元基因数据库(图中未示出)进行映射查找,完成注释,然后将注释结果反馈给客户端。

此外,服务器可以包括一个或者多个处理器。处理器利用各种接口和线路连接整个服务器内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行服务器的各种功能和处理数据。可选地,处理器可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器可集成中央处理器(centralprocessingunit,cpu)、埋点数据的上报验证器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器中,单独通过一块通信芯片进行实现。

存储器可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器可用于存储指令、程序、代码、代码集或指令集。存储器可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储可视化平台在使用中所创建的数据等。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端设备的限定,具体的终端设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

综上,本申请实施例提供的可视化平台用于实现前述方法实施例中相应的基因组注释方法,并具有相应的方法实施例的有益效果,在此不再赘述。

请参阅图6,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质60中存储有程序代码,程序代码可被处理器调用执行上述基因组注释方法实施例中所描述的方法,也可以被处理器调用执行上述基因组注释方法实施例中所描述的方法。

计算机可读取存储介质60可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读取存储介质60包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读取存储介质60具有执行上述方法中的任何方法步骤的程序代码62的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码62可以例如以适当形式进行压缩。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1