一种规模化蛋白质鉴定中的索引加速方法及相应的系统的制作方法

文档序号:6470873阅读:177来源:国知局
专利名称:一种规模化蛋白质鉴定中的索引加速方法及相应的系统的制作方法
技术领域
本发明涉及一种规模化蛋白质鉴定的加速方法,具体的说,涉及一种采用倒排索
弓I重新组织蛋白质数据库从而提高蛋白质鉴定速度的方法。
背景技术
"蛋白质组"(Proteome) —词是由Wilkins等人于1997年首次提出的,用于描述 基因组的蛋白质对应物。蛋白质组描绘了特定生物样品中在给定时刻和给定条件下表达 的蛋白质的全体。顾名思义,蛋白质组学就是对蛋白质组的研究,其最基本的任务就是确 定出哪些蛋白质在生物体内得到了表达、表达量是多少、翻译后修饰以及蛋白与蛋白相互 作用等,由此获得蛋白质水平上关于疾病发生、细胞代谢等过程的整体而全面的认识。在 当前的蛋白质组研究中,基于串联质谱的蛋白质鉴定是最广泛使用的技术之一,参考文献 1《Aebersold, R. and Mann, M. Mass spectrometry-basedproteomics, Nature,2003,422 : 198-207》中对相关的内容有较为详细的说明。 基于串联质谱鉴定蛋白质的基本步骤是首先将混合蛋白样品酶切为肽段,经 过液相色谱分离后,进入质谱仪,得到肽段的实验串联质谱图,然后对质谱图进行分析, 得到对应的肽段序列,最后通过肽到蛋白质归并分析,得到混合蛋白样品中的蛋白质 列表,从而达到对蛋白质进行鉴定的目的。在鉴定产生实验串联质谱的肽序列的过程 中,数据库搜索的方法被广泛采用。如在参考文献2《Eng, J.K. , McCormack, A. L. and Yates, J. R. Anapproach to correlate tandem mass spectral data of peptides with amino acidsequences in a protein database. J Am Soc Mass Spectrom,1994, 5 :976-989》、参考文献3《Perkins, D. N. , Pappin, D. J. , Creasy, D. M. and Cottrell, J. S. Probability—based protein identification by searching sequence databases usingmass spectrometry data. Electrophoresis, 1999, 20 :3551-3567》以及参考文献 4《Field, H. I. , FenyG, D. and Beavis, R. C. RADARS, a bioinformatics solutionthat automates proteome mass spectral analysis, optimises proteinidentification, and archives data in a relational database. Proteomics, 2002, 2 :36_47》中者附采用数据 库搜索的方法实现肽序列的鉴定做了详细说明。 采用数据库搜索的方法通过肽序列鉴定实现蛋白质鉴定的方法主要包括以下步 骤 首先,模拟生物学中的酶切规则将蛋白质数据库中的蛋白质序列切分成肽序列; 然后计算切分得到的各个肽序列的质量;最后利用质谱数据中的母离子质量误差窗口寻找 符合一定质量范围内的肽序列,将符合要求的肽序列输入给打分函数以实现对肽序列的鉴定。 在上述实现方法中,对于每个待鉴定的质谱数据都要重复上述操作,由于这一过 程中存在大量的重复操作而具有执行效率低的缺陷。此外,由于蛋白质序列酶切可能会产 生相同的肽序列,将有重复的肽序列输入给打分函数也会影响鉴定效率。对规模较大的蛋白质数据库和大批量待鉴定的质谱数据,如果采用上述的鉴定方法实现蛋白质鉴定需要花 费大量的时间与空间,整体效率偏低。 由于近年来随着蛋白质数据库的规模不断增长,对非特异性酶切肽段的鉴定需求 不断增加,导致肽序列的规模不断增大,同时,质谱数据的生成速度也在不断增长,因此对 蛋白质的鉴定速度提出了更高的要求。但前述的蛋白质鉴定方法在效率上却有不足,因此 需要对上述的数据库搜索方法加以改进,以加快蛋白质鉴定的速度。考虑到上述方法中的 关键问题在于如何快速地将肽序列与质谱数据的母离子质量误差窗口做匹配操作,因此现 有技术中的常用加速策略是预先对蛋白质数据库进行模拟酶切生成肽序列,根据各个肽序 列的质量对肽序列进行排序并去掉重复的肽序列,然后根据质谱数据的母离子误差窗口在 有序表中做二分查找,从而加快肽序列的查找速度。这种加速方法在理论上具有良好的效 果,但在计算机上实现时却面临如下的技术难点。 由于蛋白质数据库中所具有的蛋白质数目通常数以万计,而由蛋白质所得到的 肽序列数目更可达百万、千万乃至上百亿、上千亿,且肽序列中的重复序列的比例不高,如 Yeast、 Human、 Swiss-prot和NCBInr库中重复肽序列的比例不高于50%。因此,在计算 机内存中无法一次完成对所有肽序列的排序和去冗余。为了解决这一问题,在现有技术 中通常采用外存归并排序的方式创建肽序列词典(有序、无冗余的肽序列集合),例如,软 件SEQUEST(V2. 7)采用该方法将肽序列的质量分成十个等间隔的左闭右开区间,分别是
0Da-1000Da、1000Da-2000Da、......、9000Da-10000Da,对蛋白质数据库中的蛋白质序列模
拟酶切生产肽序列,根据肽序列的质量分别存放在十个临时文件中,然后对各个文件进行 归并排序,排序的同时保留非重复的肽序列并存放肽序列的原始序列。但是,这种方法在时 间与空间性能上仍有较大缺陷。首先,临时文件的划分方法并不合理,对于不同特点的蛋 白质数据库,该方法可能导致肽序列在十个临时文件中分布不均匀;其次,该方法涉及大量 的文件操作,对于规模较大的临时文件需要采用外存排序。测试表明,在普通PC机上创建 NCBInr数据库(约580万条蛋白质序列)的索引,SEQUEST(V2. 7)创建肽序列索引需要时 间约10小时、占用空间约9GB(特异性酶切,质量范围600-8000Da、长度范围4_100、遗漏酶 切位点数为2)。鉴于现有方法在计算机上实现时在时间与空间性能上的缺陷,提供一种时 间更快、空间更省的蛋白质鉴定索引加速方法在实际应用中具有重要意义。

发明内容
本发明的目的是克服现有技术在计算机上对肽序列的排序和去冗余所要花费的 时间较长、效率较低的缺陷,从而提供一种能够有效提高蛋白质鉴定效率的相关方法。
为了实现上述目的,本发明提供了一种规模化蛋白质鉴定中的索引加速方法,包 括 步骤1)、根据计算机内存空间的大小,预先将肽序列按照质量的大小分成多个质
量范围段,使得对一个质量范围段内肽序列的处理可以在计算机内存中完成;
步骤2)、对蛋白质数据库做模拟酶切,将所得到的在一个质量范围段内的肽序列 保存在所述计算机内存中,并在所述计算机内存中完成对所保存肽序列的排序、去冗余以 及建立词典和倒排表的操作; 步骤3)、对其余质量范围段重复上述步骤2)中的操作,为所述的每个质量范围段建立词典和倒排表。 上述技术方案中,所述的步骤1)包括
步骤1-1)、为肽序列设定质量区间; 步骤l-2)、为用于记录肽序列数量的计数窗口设定大小,并结合步骤1)所设定的质量区间设定计数窗口的数目以及各个计数窗口的范围; 步骤1-3)、对蛋白质数据库做模拟酶切,根据模拟酶切所得到的肽序列的质量计算肽序列在各个计数窗口内的数量; 步骤1-4)、根据计算机内存的大小得到在计算机内存中一次可处理的肽序列的数量,根据在所述计算机内存中一次可处理的肽序列的数量以及步骤1-3)所得到的肽序列在各个计数窗口内的数量,得到在计算机内存中一次处理的肽序列的质量范围段。
上述技术方案中,在所述的步骤1-3)中,所述的根据模拟酶切所得到的肽序列的质量计算肽序列在各个计数窗口内的数量包括 步骤1-3-1)、对模拟酶切所得到的一个肽序列,计算该肽序列的质量,将所得到的
质量与各个计数窗口的范围相比较,为比较结果一致的计数窗口增加计数值; 步骤1-3-2)、对模拟酶切所得到的所有肽序列重复上述操作,得到所述序列在各
个计数窗口内的数量。 上述技术方案中,所述的步骤1-4)包括 步骤1-4-1)、根据计算机内存的大小与每个肽序列记录的大小,得到在计算机内存中一次可处理的肽序列的数量; 步骤1-4-2)、将肽序列在计数窗口内的数量与在计算机内存中一次可处理的肽序列的数量进行比较,若肽序列在连续N个计数窗口内的数量小于在计算机内存中一次可处理的肽序列的数量,且肽序列在连续N+1个计数窗口内的数量大于在计算机内存中一次可处理的肽序列的数量,则将所述N个计数窗口所对应的质量范围作为计算机内存一次处理的肽序列的质量范围段,其中的N为正整数。N个连续窗口第一次从第一个计数窗口开始,然后从第N+l个计数窗口开始,以此类推。 上述技术方案中,在所述的步骤2)中,所述的排序操作包括将所述的肽序列按
照质量大小的顺序做排列,当所述肽序列的质量相同时,根据表示肽序列的结构体中肽序
列起始位置和长度从蛋白质数据库中读取肽序列,然后根据字典序排序。 上述技术方案中,所述的肽序列用一个标准的定长结构体表示,所述结构体由18
个字节组成,包括肽序列在原始蛋白质数据库中的出现位置、肽序列长度、肽序列质量、遗
漏酶切位点数、该肽序列对应的蛋白质在数据库中位置以及指向倒排表位置的指针。
上述技术方案中,在所述的步骤2)中,采用位向量实现所述的去冗余操作;其中, 所述位向量中的一位代表在一个质量范围段内的中的一个肽序列是否为冗余序
列,在对质量范围段内的多个肽序列依次扫描时,若某一种肽序列是第一次出现,则在所述
位向量中将对应位的值设为l,若某一种肽序列不是第一次出现,则在所述位向量中将对应
位的值设为0。 上述技术方案中,在所述的步骤2)中,所述的去冗余以及建立词典和倒排表的操作包括 步骤2-l)、扫描位向量,找到标记为非重复的肽序列,将肽序列结构体中指向倒排表位置的指针指向当前倒排表文件的尾部; 步骤2-2)、将该肽序列结构体中的部分信息写入到肽序列词典文件中,所述部分信息包括肽序列在原始蛋白质数据库中的出现位置、肽序列长度、肽序列质量、遗漏酶切位点数、指向倒排表位置的指针; 步骤2-3)、计算该肽序列在蛋白质数据库中出现的蛋白质的数目,将所得到的值写入倒排表文件的尾部,同时把对应的蛋白质在数据库中的位置写入所述倒排表中;
步骤2-4)、继续扫描所述位向量,重复上述步骤2-2)以及2_3)直到所述位向量的尾部。 上述技术方案中,在所述的步骤2-3)中,所述的计算该序列在蛋白质数据库中出现的蛋白质的数目包括 从所述位向量的当前位向后扫描直到遇到下一个值为1的位,读取当前位到下一个值为1的位之间的肽序列,按照所述结构体中所述的该肽序列对应的蛋白质在数据库中位置对所述肽序列做排序,然后顺序遍历计算该值的个数,其中将重复的算作一次,即可得到该序列在蛋白质数据库中出现的蛋白质的数目。 本发明还提供了一种规模化蛋白质鉴定中的索引加速系统,包括质量区间设定模块、计数窗口设定模块、肽序列质量分布计算模块、肽序列质量范围段划分模块、词典和倒排表创建模块。其中, 所述的质量区间设定模块为肽序列设定质量区间; 所述的计数窗口设定模块为用于记录肽序列数量的计数窗口设定大小,并结合质量区间设定模块所设定的质量区间设定计数窗口的数目以及各个计数窗口的范围;
所述的肽序列质量分布计算模块对蛋白质数据库做模拟酶切,根据模拟酶切所得到的肽序列的质量计算肽序列在各个计数窗口内的数量; 所述的肽序列质量范围段划分模块根据计算机内存的大小得到在计算机内存中一次可处理的肽序列的数量,根据在所述计算机内存中一次可处理的肽序列的数量以及由肽序列质量分布计算模块所得到的肽序列在各个计数窗口内的数量,得到多个在计算机内存中可一次处理的肽序列的质量范围段; 所述的词典和倒排表创建模块对蛋白质数据库做模拟酶切,将所得到的在一个质
量范围段内的肽序列保存在所述计算机内存中,并在所述计算机内存中完成对所保存肽序
列的排序、去冗余以及建立词典和倒排表的操作。 本发明又提供了一种规模化蛋白质鉴定方法,包括 步骤1)、采用所述的索引加速方法创建肽序列的词典和倒排表; 步骤2)、利用待鉴定的质谱数据中的母离子质量误差窗口从所述的肽序列的词典
和倒排表中寻找符合一定质量范围内的肽序列,将符合要求的肽序列输入给打分函数以实
现对肽序列的鉴定; 步骤3)、通过对所述肽序列的鉴定实现对蛋白质的鉴定。 本发明又提供了一种规模化蛋白质鉴定系统,其特征在于,包括规模化蛋白质鉴定中的索引加速系统、肽序列鉴定模块以及蛋白质鉴定模块;其中, 所述的肽序列鉴定模块利用待鉴定的质谱数据中的母离子质量误差窗口从所述的肽序列的词典和倒排表中寻找符合一定质量范围内的肽序列,将符合要求的肽序列输入给打分函数以实现对肽序列的鉴定; 所述的蛋白质鉴定模块通过对所述肽序列的鉴定实现对蛋白质的鉴定。
本发明的优点在于 1、本发明通过预先计算肽序列质量分布密度,根据内存动态划分每次索引的肽序列质量范围,将词典和倒排表的创建过程全部放在内存中完成,保证高效率的创建索引。
2、本发明在索引创建过程中,每次在内存中保留一定质量范围的索引,不需要产生临时文件,空间消耗低。 3、本发明中的肽序列用定长结构表示,有利于存储和查询。 4、本发明采用位向量来标记肽序列是否为冗余序列,避免在肽序列数组中删除元素; 5、本发明采用倒排索引的结构重新组织蛋白质数据库,有效地提高了根据质谱数据母离子质量误差窗口查询肽序列的效率,同时提高查询包含某条肽序列的所有蛋白质的效率。


图1为现有技术中蛋白质鉴定过程的示意图; 图2为在一个实施例中所涉及的蛋白质数据库中对蛋白质的数据表示方式的示例; 图3为在一个实施例中对蛋白质序列做模拟酶切的示意图; 图4为在一个实施例中对肽序列根据质量划分在不同的计数窗口的示意图; 图5为在一个实施例中如何由蛋白质序列生成肽序列词典和倒排表的示意图; 图6为本发明的规模化蛋白质鉴定中的索引加速方法的流程图。
具体实施例方式
在对本发明进行说明前,对于本发明中所涉及的一些名词进行解释 肽序列词典一种用于存放非重复肽序列的文件。 一般而言,肽序列的存储方式通
常有两种第一,以实际的序列存储;第二,以具有定长特性的结构体存储,包括指针和长
度,指针指向肽序列在原始数据库中出现的位置,长度表示了肽序列长度,通过该结构可以
在蛋白质数据库中读取肽序列。本发明的肽序列词典以第二种存储方式存放肽序列信息并
包括一个指向倒排表的指针。 倒排表一种用于存储肽序列和蛋白质的对应关系的文件。 一个肽序列可能在若干个蛋白质中出现,倒排表的一条记录存放一个肽段出现过的蛋白质数目,用N表示,然后顺序存放这N个蛋白质在蛋白质数据库中的起始位置。 倒排索引前述的肽序列词典和倒排表在本发明中被统称为倒排索引,并在本发明中简称为索引。 下面结合附图和具体实施方式
对本发明作进一步详细描述。 在本发明的一个实施例中,以一个蛋白质数据库为例,对如何快速地实现对蛋白质的鉴定进行说明。在本实施例中,蛋白质数据库以无结构的FASTA格式存放蛋白质信息,如图2所示,蛋白质数据库中关于蛋白质的一条记录包括蛋白质名称(AC)、蛋白质描述(DE)和蛋白质序列(SQ)。每条记录以字符"〉"开始,到第一个空格处的内容是AC, AC之后直到本行结束的内容是DE,下一行开始到下一个字符"〉"之间的内容是SQ。例如,在图2的第一条记录中,"YAL002W"为AC,"VPS8 SGDID :S0000002"是DE,而该条记录中后面的内容都为SQ。需要特别指出的是,在SQ中的每个字母代表一种类型的氨基酸,多个字母在一起形成蛋白质序列。 由于本发明的主要目的是提高针对肽序列的查询效率,因此,在给定蛋白质数据库后,需要由蛋白质数据库中的蛋白质序列来得到肽序列。这一由蛋白质序列得到肽序列的过程被称为模拟酶切。在本发明的整个实现过程中,涉及到多次模拟酶切操作,为了方便理解,首先对模拟酶切的实现过程统一进行说明。 模拟酶切实质上是模拟生物实验中对蛋白质序列所做的酶切操作。生物学中有多种对蛋白质序列做酶切的方法,以常用的胰蛋白酶和特异性酶切为例,在对蛋白质序列进行酶切时,在赖氨酸(K)和精氨酸(R)的C端切断,得到对应的肽序列,其中的赖氨酸(K)和精氨酸(R)也被称为酶切位点。相应的,在模拟酶切时,就要在由字母组成的蛋白质序列中,当遇到K或R时,将K或R之前的一段字母从整段字母中分离出来(包括K或R),所得到的这段字母就代表了酶切得到的肽序列。如图3所示,在一个蛋白质序列"AAIKGKIDVCIVHKAEPTIRNTDGRTA"中,当遇到字母"K"或"R"时,就对字母作酶切位点的标记(如图中的下划线"_"),然后对这些字母进行切分,从而得到"AAIK"、"GK"、"IDVCIVHK"、"AEPTIR"、"NTDGR"以及"TA"等肽序列。 值得注意的是,在实际的生物学实验中,对蛋白质进行酶切会有遗漏酶切的现象存在,例如,假设图3中所涉及的蛋白质序列中的"AAIKGK"的第一个"K"被遗漏,从而得到了遗漏酶切肽序列"AAIKGK"。对于这种现象,如果用户事先指定了遗漏酶切位点数,假设为l,则对于前述的具有一个遗漏酶切位点的肽序列也要保留,即允许肽序列中最多可以有一个酶切位点,只有当蛋白质序列中的遗漏酶切位点数超出了用户设定的值时(如肽序列中有两个酶切位点),才会对遗漏的酶切位点做酶切操作。遗漏酶切位点的现象会产生新的肽序列,如果按照类似于SEQUEST软件的存储方式将表示肽序列的字母直接存储,则可能会大量增加存储肽序列时所需要的空间。 由于以序列形式存放具有遗漏酶切位点的肽序列会导致存储大量冗余的序列,因此在本发明中可以用一个标准的定长结构体表示模拟酶切后所得到的肽序列,该结构体用18个字节(Byte)表示,它包括肽序列在原始蛋白质数据库中的出现位置(size_t)、肽序列长度(unsigned char)、肽序列质量(size_t)、遗漏酶切位点数(unsigned char)、该肽序列对应的蛋白质在数据库中位置(size—t)、指向倒排表位置的指针(size_t)。通过标准的定长结构体来表示、存储肽序列后,即使遗漏酶切肽序列很长,也可以用一个较短、固定长度的数据来表示遗漏酶切肽序列,减少了对存储空间的需求。而且由于肽序列长度在20以上的比例要多于20以下比例,因此也能够有效地节省存储空间。此外,采用标准的定长结构体表示肽序列可以根据ID(序号)直接找到肽序列,在后续的二分查找时比较容易实现,无需像非定长结构那样通过建立一级索引来实现根据ID查找肽序列。
以上是对模拟酶切以及模拟酶切所得到的肽序列的表示方法的举例说明,本发明所涉及的模拟酶切并不局限于上述说明中所提到的具体实例,现有技术中的其它模拟酶切实现方式都可应用于本发明。此外,在本发明中,模拟酶切在多次实现时可以存在差异。例如,在一次模拟酶切中,可以只是简单地计算模拟酶切后得到的肽序列的质量,而不对肽序列的其它信息加以保存;而在另一次模拟酶切中,则要对模拟酶切后的肽序列按照上述的标准定长结构体的要求对相应信息进行存储。对模拟酶切的具体实现将根据需要而定。
在前述的模拟酶切的基础上,如图6所示,本发明采用如下操作建立蛋白质数据库的索引 为所要统计的肽序列设定最小质量和最大质量,后续操作只对在最小质量和最大质量区间内的肽序列进行;设定计数窗口的大小,并结合前述的质量范围设定计数窗口的数目以及每个计数窗口的范围;对蛋白质数据库进行一个模拟酶切,不保留肽序列,只计算肽序列的质量,根据所得到的肽序列的质量计算肽序列在各个计数窗口内的数量;根据计算机内存的容量计算一次可以处理的肽序列的数量,然后根据各个计数窗口内肽序列的数量得到在计算机内存中一次处理的肽序列的质量范围;最后,对蛋白质数据库做模拟酶切,将模拟酶切所得到的肽序列按照所划定的质量范围进行区分,分别将一个质量范围内的肽序列进行包括排序、去冗余、建词典和倒排表在内的操作。 为了方便理解,结合一个具体的实例加以说明。假设在前面所列举的蛋白质数据库中的蛋白质序列在模拟酶切后所得到的肽序列的质量大致在400Da-10000Da范围内,因此为肽序列所设定的质量范围在400Da-10000Da之间,即最小质量为400Da,最大质量为10000Da。然后将肽序列的计数窗口的大小设定为10Da,结合前述的质量范围可以知道计数窗口的数目以及每个计数窗口的范围,即有计数窗口 960个((10000-400) /10),各个计数
窗口的范围为400Da-410Da、410Da-420Da,......,9980Da-9990Da,9990Da-10000Da,所有
窗口都是左闭右开区间。 接着对蛋白质数据库做一个模拟酶切,在这一模拟酶切过程中不保留肽序列,只计算肽序列的质量。根据对肽序列质量的计算结果可以知道某一肽序列在哪个质量范围内,从而为这一质量范围所对应的计数窗口中的计数器加1 。例如,在图4中,质量为400. 15的肽序列EVDG按照如下公式计算(400. 15-400)/10 = 0,由此可知该肽序列属于第一计数窗口,为该计数窗口所对应的计数器O加1。对模拟酶切所得到的所有肽序列都做上述操作,就可以记录肽序列在各个计数窗口内的数量。在此基础上,可以计算在内存中一次操作所涉及的肽序列质量的最大范围。 假设在本实施例中所采用的计算机的内存大小为512MB,而从前面的说明中知道,每个肽序列记录的大小为18B,因此,在计算机内存中一次可以处理的肽序列数目在理论上含约28M条(512MB/18B)。与此同时,通过前面的计算,也已经知道各个计数窗口中所记录的对应质量范围内的肽序列的条数,如在第一个计数窗口 (对应400Da-410Da)中记录有100条肽序列,在第二个计数窗口 (对应410Da-420Da)中记录有200条肽序列,将这些计数窗口中所记录的肽序列的数目依次相加,若第一到第十个计数窗口中所记录的肽序列相加后小于28M,而第一到第十一个计数窗口中所记录的肽序列相加后大于28M,则将第一到第十个计数窗口中所具有的肽序列分为一段。依次类推,将后续的计数窗口分别做如
上的分段处理,从而得到多个肽序列质量段。如400Da-1400Da, 1400Da-2400Da,......,
9000Da-10000Da。 上述过程所得到的肽序列质量段表明在内存中一次可处理的肽序列的质量范围,但此时计算机中并没有保留肽序列。因此,需要在计算机内存中再次对蛋白质数据库做模拟酶切,然后将模拟酶切所得到的肽序列的质量与计算机内存当前所处理的肽序列的质量范围进行比较,只有质量在所述质量范围内的肽序列才子以保留。例如,假设计算机内存当前所要处理的肽序列的质量范围为400Da-1400Da,则只有在这个范围的肽序列才保存在内存中。对蛋白质数据库经过完整扫描后,在当前质量范围内的肽序列都保存在计算机内存中,此时,再对这些肽序列做排序、去除重复序列、生成词典和倒排表的操作。在排序时,将一个质量段内的肽序列,约28M个,按照质量从小到大的顺序为肽序列排序,如果肽序列间的质量相同,则根据结构体中的肽序列起始位置和长度从蛋白质数据库中读取肽序列,然后根据字典序排序。以图5为例,假设肽序列由三个蛋白质序列"IQPSKANME"、"DEARIQPSK"、"CSNKANME"模拟酶切得到,将肽序列按照质量排序,按照质量从小到大的顺序包括"CSNK"、"ANME"、"A画E"、"DEAR"、"IQPSK"、"IQPSK"。上述的肽序列除了包含质量信息外,还包括其来自哪个蛋白质的信息,在图5中用蛋白质序号表示。
对肽序列完成排序操作后,还要去除冗余肽序列。所述的冗余肽序列是指肽序列段中的重复肽序列。为了去除冗余肽序列,可以借助一个位向量,该位向量代表了一个质量段内的肽序列,位向量中的一位代表了该质量段内的一个肽序列是否为冗余序列。顺次扫描肽序列,如果某一条肽序列第一次出现(与前一个序列比较,不同为第一次出现),则在位向量中将对应位的值设为l,表示该肽序列并非重复肽序列;如某一条肽序列不是第一次出现(与前一个序列比较,相同则不是第一次出现),则在位向量中将对应位的值设为O,表示该肽序列属于重复肽序列。对于图5中所描述的肽序列段,其位向量为110110。
在去除冗余肽序列的过程中,扫描位向量,找到标记为非重复(即位向量为1)的肽序列,将肽序列结构体中指向倒排表位置的指针指向当前倒排表文件尾(即该肽序列对应的蛋白质信息写入倒排表时的起始位置),然后将该肽序列结构体中部分信息写入到肽序列词典文件,包括肽序列在原始蛋白质数据库中的出现位置(size—t)、肽序列长度(unsigned char)、肽序列质量(size_t)、遗漏酶切位点数(unsigned char)、指向倒排表位置的指针(size_t);然后计算该肽序列在蛋白质数据库中出现的蛋白质的数目从位向量的当前位(值为l),向后扫描直到遇到下一个值为1的位,读取该范围的肽序列,按照结构体中"对应蛋白质在数据库中位置"排序,然后顺序遍历计算该值的个数(重复的算一次),即为该序列在蛋白质数据库中出现的蛋白质的数目,将该值写入倒排表文件尾,同时把对应的蛋白质在数据库中的位置写入倒排表尾;最后继续扫描位向量,重复上面两步操作直到位向量尾,则对一个质量段内的的肽序列词典和倒排表的创建过程完成。
对图5所示的肽序列根据位向量以及上述步骤可创建肽序列词典和倒排表,从图中可以看出,该词典包括"CSNK"、"ANME "、"DEAR"、" IQPSK"四个肽序列,并在倒排表中对相应肽序列的出现次数、在何种蛋白质序列中出现都做了相应的记录。例如,对于肽序列"ANME",它在蛋白质序列中的次数为2,分别出现在第一个蛋白质序列和第三个蛋白质序列中。需要说明的是,为了方便理解,在图5以及上述的说明中,都直接以字母的方式表示肽序列,如"CSNK",但实际存储的是前面所提到的肽序列在原始蛋白质数据库中出现的位置(size—t)、肽序列长度(unsigned char)、肽序列的质量(size_t)、遗漏酶切位点数(unsigned char)、指向倒排表位置的指针(size_t)等信息。 以上对肽序列的排序、去冗余、建词典和倒排表的操作都是以一个质量范围内的肽序列为例所做的说明,对于蛋白质数据库中的其它质量范围的肽序列都可以按照类似的方式各自建立词典和倒排表。 在前述方法的基础上,本发明还可以提供相应的索引加速系统,该系统中包括质量区间设定模块、计数窗口设定模块、肽序列质量分布计算模块、肽序列质量范围段划分模块、词典和倒排表创建模块;其中, 所述的质量区间设定模块为肽序列设定质量区间; 所述的计数窗口设定模块为用于记录肽序列数量的计数窗口设定大小,并结合质量区间设定模块所设定的质量区间设定计数窗口的数目以及各个计数窗口的范围;
所述的肽序列质量分布计算模块对蛋白质数据库做模拟酶切,根据模拟酶切所得到的肽序列的质量计算肽序列在各个计数窗口内的数量; 所述的肽序列质量范围段划分模块根据计算机内存的大小得到在计算机内存中一次可处理的肽序列的数量,根据在所述计算机内存中一次可处理的肽序列的数量以及由肽序列质量分布计算模块所得到的肽序列在各个计数窗口内的数量,得到多个在计算机内存中一次可处理的肽序列的质量范围段; 所述的词典和倒排表创建模块对蛋白质数据库做模拟酶切,将所得到的在一个质量范围段内的肽序列保存在所述计算机内存中,并在所述计算机内存中完成对所保存肽序列的排序、去冗余以及建立词典和倒排表的操作。 在建立索引后,利用所得到的索引可以快速地实现对规模化蛋白质的鉴定。 一种规模化蛋白质鉴定方法包括首先采用前述的索引加速方法创建肽序列的词典和倒排表;然后利用待鉴定的质谱数据中的母离子质量误差窗口从所述的肽序列的词典和倒排表中寻找符合一定质量范围内的肽序列,将符合要求的肽序列输入给打分函数以实现对肽序列的鉴定;最后通过对所述肽序列的鉴定实现对蛋白质的鉴定。 本发明除了前述的规模化蛋白质鉴定方法外,还可以提供与该方法相适应的规模化蛋白质鉴定系统,包括前述的规模化蛋白质鉴定中的索引加速系统、肽序列鉴定模块以及蛋白质鉴定模块;其中, 所述的肽序列鉴定模块利用待鉴定的质谱数据中的母离子质量误差窗口从所述的肽序列的词典和倒排表中寻找符合一定质量范围内的肽序列,将符合要求的肽序列输入给打分函数以实现对肽序列的鉴定; 所述的蛋白质鉴定模块通过对所述肽序列的鉴定实现对蛋白质的鉴定。 在上述的各个方法和系统中,由于与对蛋白质数据库做模拟酶切相比,对肽序列
做排序、去冗余、建词典和倒排表的操作所要花费的时间更长,所要花费的代价更大,因此,
在本发明中尽管对蛋白质数据库做了多次的模拟酶切,但在执行效率上仍有较大的提高。
与背景技术中所提到的现有技术相比,采用本发明的方法在普通PC机上创建NCBInr数据库(约580万条蛋白质序列)的索引只需要时间约2.5小时、占用空间约8GB(特异性酶切,质量范围600-8000Da、长度范围4_100、遗漏酶切位点数为2),在时间效率上有很大的提高。 最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
一种规模化蛋白质鉴定中的索引加速方法,包括步骤1)、根据计算机内存空间的大小,预先将肽序列按照质量的大小分成多个质量范围段,使得在所述计算机内存中一次可对一个质量范围段内的肽序列进行处理;步骤2)、对蛋白质数据库做模拟酶切,将所得到的在一个质量范围段内的肽序列保存在所述计算机内存中,并在所述计算机内存中完成对所保存肽序列的排序、去冗余以及建立词典和倒排表的操作;步骤3)、对其余质量范围段重复上述步骤2)中的操作,为所述的每个质量范围段建立词典和倒排表。
2. 根据权利要求1所述的规模化蛋白质鉴定中的索引加速方法,其特征在于,所述的 步骤1)包括步骤1-1)、为肽序列设定质量区间;步骤l-2)、为用于记录肽序列数量的计数窗口设定大小,并结合步骤1)所设定的质量 区间设定计数窗口的数目以及各个计数窗口的范围;步骤1-3)、对蛋白质数据库做模拟酶切,根据模拟酶切所得到的肽序列的质量计算肽 序列在各个计数窗口内的数量;步骤1-4)、根据计算机内存的大小得到计算机内存一次可处理的肽序列的数量,根据 在所述计算机内存中一次可处理的肽序列的数量以及步骤1-3)所得到的肽序列在各个计 数窗口内的数量,得到计算机内存一次处理的肽序列的质量范围段。
3. 根据权利要求2所述的规模化蛋白质鉴定中的索引加速方法,其特征在于,在所述 的步骤1-3)中,所述的根据模拟酶切所得到的肽序列的质量计算肽序列在各个计数窗口 内的数量包括步骤1-3-1)、对模拟酶切所得到的一个肽序列,计算该肽序列的质量,将所得到的质量 与各个计数窗口的范围相比较,为比较结果一致的计数窗口增加计数值;步骤1-3-2)、对模拟酶切所得到的所有肽序列重复上述操作,得到所述序列在各个计 数窗口内的数量。
4. 根据权利要求2所述的规模化蛋白质鉴定中的索引加速方法,其特征在于,所述的 步骤1-4)包括步骤1-4-1)、根据计算机内存的大小与每个肽序列记录的大小,得到在计算机内存中 一次可处理的肽序列的数量;步骤1-4-2)、将肽序列在计数窗口内的数量与在计算机内存中一次可处理的肽序列的 数量进行比较,若肽序列在N个计数窗口内的数量小于在计算机内存中一次可处理的肽序 列的数量,且肽序列在N+l个计数窗口内的数量大于在计算机内存中一次可处理的肽序列 的数量,则将所述N个计数窗口所对应的质量范围作为计算机内存一次处理的肽序列的质 量范围段,其中的N为正整数。
5. 根据权利要求1所述的规模化蛋白质鉴定中的索引加速方法,其特征在于,在所述 的步骤2)中,所述的排序操作包括将所述的肽序列按照质量大小的顺序做排列,当所述 肽序列的质量相同时,根据结构体中的肽序列起始位置和长度从蛋白质数据库中读取肽序 列,然后根据字典序排序。
6. 根据权利要求1所述的规模化蛋白质鉴定中的索引加速方法,其特征在于,所述的肽序列用一个标准的定长结构体表示,所述结构体由18个字节组成,包括肽序列在原始 蛋白质数据库中的出现位置、肽序列长度、肽序列质量、遗漏酶切位点数、该肽序列对应的 蛋白质在数据库中位置以及指向倒排表位置的指针。
7. 根据权利要求6所述的规模化蛋白质鉴定中的索引加速方法,其特征在于,在所述 的步骤2)中,采用位向量实现所述的去冗余操作;其中,所述位向量中的一位代表在一个质量范围段内的一个肽序列是否为冗余序列,在对质 量范围段内的多个肽序列依次扫描时,若某一种肽序列是第一次出现,则在所述位向量中 将对应位的值设为l,若某一种肽序列不是第一次出现,则在所述位向量中将对应位的值设为0。
8. 根据权利要求7所述的规模化蛋白质鉴定中的索引加速方法,其特征在于,在所述 的步骤2)中,所述的去冗余以及建立词典和倒排表的操作包括步骤2-l)、扫描位向量,找到标记为非重复肽序列的肽序列,将肽序列结构体中指向倒 排表位置的指针指向当前倒排表文件的尾部;步骤2-2)、将该肽序列结构体中的部分信息写入到肽序列词典文件中,所述部分信息 包括肽序列在原始蛋白质数据库中的出现位置、肽序列长度、肽序列质量、遗漏酶切位点 数、指向倒排表位置的指针;步骤2-3)、计算该肽序列在蛋白质数据库中出现的蛋白质的数目,将所得到的值写入 倒排表文件的尾部,同时把对应的蛋白质在数据库中的位置写入所述倒排表中;步骤2-4)、继续扫描所述位向量,重复上述步骤2-2)以及2-3)直到所述位向量的尾部。
9. 根据权利要求8所述的规模化蛋白质鉴定中的索引加速方法,其特征在于,在所述 的步骤2-3)中,所述的计算该序列在蛋白质数据库中出现的蛋白质的数目包括从所述位向量的当前位向后扫描直到遇到下一个值为1的位,读取当前位到下一个值 为1的位之间的肽序列,按照所述结构体中所述的该肽序列对应的蛋白质在数据库中位置 对所述肽序列做排序,然后顺序遍历计算该值的个数,其中将重复的算作一次,即可得到该 序列在蛋白质数据库中出现的蛋白质的数目。
10. —种规模化蛋白质鉴定中的索引加速系统,其特征在于,包括质量区间设定模块、 计数窗口设定模块、肽序列质量分布计算模块、肽序列质量范围段划分模块、词典和倒排表 创建模块;其中,所述的质量区间设定模块为肽序列设定质量区间;所述的计数窗口设定模块为用于记录肽序列数量的计数窗口设定大小,并结合质量区 间设定模块所设定的质量区间设定计数窗口的数目以及各个计数窗口的范围;所述的肽序列质量分布计算模块对蛋白质数据库做模拟酶切,根据模拟酶切所得到的 肽序列的质量计算肽序列在各个计数窗口内的数量;所述的肽序列质量范围段划分模块根据计算机内存的大小得到在计算机内存中一次 可处理的肽序列的数量,根据在所述计算机内存中一次可处理的肽序列的数量以及由肽序 列质量分布计算模块所得到的肽序列在各个计数窗口内的数量,得到多个在计算机内存中 一次可处理的肽序列的质量范围段;所述的词典和倒排表创建模块对蛋白质数据库做模拟酶切,将所得到的在一个质量范围段内的肽序列保存在所述计算机内存中,并在所述计算机内存中完成对所保存肽序列的 排序、去冗余以及建立词典和倒排表的操作。
11. 一种规模化蛋白质鉴定方法,包括步骤1)、采用权利要求1-9之一的索引加速方法创建肽序列的词典和倒排表;步骤2)、利用待鉴定的质谱数据中的母离子质量误差窗口从所述的肽序列的词典和倒排表中寻找符合一定质量范围内的肽序列,将符合要求的肽序列输入给打分函数以实现对肽序列的鉴定;步骤3)、通过对所述肽序列的鉴定实现对蛋白质的鉴定。
12. —种规模化蛋白质鉴定系统,其特征在于,包括权利要求IO所述的规模化蛋白质 鉴定中的索引加速系统、肽序列鉴定模块以及蛋白质鉴定模块;其中,所述的肽序列鉴定模块利用待鉴定的质谱数据中的母离子质量误差窗口从所述的肽 序列的词典和倒排表中寻找符合一定质量范围内的肽序列,将符合要求的肽序列输入给打 分函数以实现对肽序列的鉴定;所述的蛋白质鉴定模块通过对所述肽序列的鉴定实现对蛋白质的鉴定。
全文摘要
本发明提供一种规模化蛋白质鉴定中的索引加速方法,包括为肽序列设定质量区间;为计数窗口设定大小,并结合质量区间设定计数窗口的数目以及各个计数窗口的范围;对蛋白质数据库做模拟酶切,根据模拟酶切所得到的肽序列的质量计算肽序列在各个计数窗口内的数量;根据计算机内存的大小得到在计算机内存中一次可处理的肽序列的数量,结合肽序列在各个计数窗口内的数量,得到在计算机内存中一次处理的肽序列的质量范围段;对蛋白质数据库做模拟酶切,将所得到的在一个质量范围段内的肽序列保存在计算机内存中,并在计算机内存中完成对所保存肽序列的排序、去冗余以及建立词典和倒排表的操作;为每个质量范围段建立词典和倒排表。
文档编号G06F19/00GK101714187SQ20081022368
公开日2010年5月26日 申请日期2008年10月7日 优先权日2008年10月7日
发明者付岩, 刘超, 孙瑞祥, 李德泉, 李由, 王乐珩, 王文平, 王海鹏, 秀丽蕴, 袁作飞, 贺思敏, 迟浩 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1