一种蛋白质鉴定的大规模分布式并行加速方法及其系统的制作方法

文档序号:6332681阅读:162来源:国知局
专利名称:一种蛋白质鉴定的大规模分布式并行加速方法及其系统的制作方法
技术领域
本发明涉及一种规模化蛋白质鉴定的分布式并行加速方法,特别是涉及一种采用分布式并行技术以在多个计算节点上,有效分担搜索任务从而提高蛋白质鉴定速度的方法及其系统。
背景技术
“蛋白质组”(Proteome)描绘了特定生物样品中在给定时刻和给定条件下表达的蛋白质的全体。顾名思义,蛋白质组学就是对蛋白质组的研究,其最基本的任务就是确定出哪些蛋白质在生物体内得到了表达、表达量是多少、翻译后修饰以及蛋白与蛋白相互作用等,由此获得蛋白质水平上关于疾病发生、细胞代谢等过程的整体而全面的认识。在当前的蛋白质组研究中,基于串联质谱的蛋白质鉴定是最广泛使用的技术之一,参考文献1 《Aebersold,R. and Mann, Μ. Mass spectrometry-based proteomics,Nature,2003,422 198-207》中对相关的内容有较为详细的说明。基于串联质谱鉴定蛋白质的基本步骤是首先将混合蛋白样品酶切为肽,经过液相色谱分离后,进入质谱仪,得到肽的实验串联质谱图,然后对质谱图进行分析,得到对应的肽序列,最后通过肽到蛋白质归并分析,得到混合蛋白样品中的蛋白质列表,从而达到对蛋白质进行鉴定的目的。在鉴定产生实验串联质谱的肽序列的过程中,数据库搜索的方法被广泛采用。如在参考文献2 ((Eng, J. K.,McCormack, A. L. and Yates, J. R. An approach to correlate tandemmass spectral data of peptides with amino acid sequences in a protein database. JAm 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 searchingsequence databases using mass spectrometry data. Electrophoresis, 1999,20 :3551_3567》以及参考文献 4《Field,H. I.,Fenyo, D. and Beavis, R. C. RADARS, a bioinformatics solution that automates proteome mass spectral analysis, optimisesprotein identification, and archives data in a relational database. Proteomics, 2002,2 :36_47》中都对采用数据库搜索的方法实现肽序列的鉴定做了详细说明。采用数据库搜索的方法通过肽序列鉴定实现蛋白质鉴定的方法主要包括以下步骤首先,模拟生物学中的酶切规则将蛋白质数据库中的蛋白质序列切分成肽序列;然后计算切分得到的各个肽序列的质量;最后利用质谱数据中的母离子质量误差窗口寻找符合一定质量范围内的肽序列,将符合要求的肽序列输入给打分函数以实现对肽序列的鉴定。由于近年来随着蛋白质数据库的规模不断增长,对非特异性酶切肽的鉴定需求不断增加,导致肽序列的规模不断增大,同时,质谱数据的生成速度也在不断增长,因此对蛋白质的鉴定速度提出了更高的要求。但前述的蛋白质鉴定方法在效率上却有不足,因此需要对上述的数据库搜索方法进行加速。近年来,随着商业集群的廉价和普及,大规模并行计算已经成为科学和工业计算的加速问题的主流解决方案。所谓集群,即将一群计算机用网络以某种结构互连起来,统一调度、协调处理以实现高效并行计算。和早期的统一地址空间的巨型计算机相比,集群中的每个节点都拥有独立的中央处理器、内存和必要外设。集群中的进程可以大规模并行,但彼此之间的通讯代价较高,这也意味着运行在普通电脑上的原有串行或多线程程序,并不天然具有可拓展性,也就是说,将单机程序移植到集群上并不能直接获得加速。必须对现有算法进行重新设计,才能最大程度的利用硬件设施的能力。由于即使在中小规模的集群上加速效果明显的算法,随着集群规模的扩大,其加速效果仍然会不断下降。现有工业计算软件,大多无法在超百核处理器规模下达到线性加速比,在千核处理器以上规模能达到线性加速比的更加少见。除了速度因素,集群的使用还涉及空间因素,使用集群的高性能计算场景常常涉及非常巨大的数据集(例如生物的蛋白质序列,以及待鉴定的海量质谱谱图),这种海量数据集在普通计算机或集群的单节点上甚至无法运行一些常规操作(例如载入内存运行常见的内存排序算法),不得不使用集群硬件系统以及特殊设计的软件算法进行处理。现有蛋白质鉴定搜索引擎大都实现了并行版本。如在参考文献5 《Sadygov, R. G. , Eng, J. , Durr, Ε. , Saraf, Α. , McDonald, H. , MacCoss, Μ. J. , Yates, J.R. 3rd, Code developments to improve the efficiency of automated MS/MS spectrainterpretation. J Proteome Res, 2002,1 :211_215〉〉、参考文献 6 ((Duncan, D. Τ. , Craig, R. , Link, A. J. Parallel tandem -.a program for parallel processing of tandemmass spectra using PVM or MPI and X ! Tandem. J Proteome Res 2005,4: 1842-1847》、参考文献 7 ((Bjornson, R. D.,Carrier ο, N. J.,Colangelo, C.,Sh if man, Μ., Cheung, K. H. , Miller, P. L. , Williams, K. X !! Tandem,an improvedmethod for running X ! tandem in parallel on collections of commodity computers. JProteome Res 2008,7 :293-299》、参考文献 8《Halligan,B. D.,Geiger,J. F.,Vallejos, Α. K.,Greene, Α. S. Twigger, S. N. Low Cost, Scalable Proteomics DataAnalysis Using Amazon ' s Cloud Computing Services and Open Source SearchAlgorithms. J Proteome Res 2009, 8 :3148-3153.》和参考文献 9《Leheng Wang, Wenping Wang, Hao Chi, Yanjie ffu,You Li, Yan Fu,Chen Zhou,Ruixiang Sun,Haipeng Wang,Chao Liu,Zuofei Yuan,Liyun Xiu,He, Si-Min. An efficientparallelization of phosphorylated peptide. Rapid Commun Mass Spectrom. 2010,24 :1791-1798》中都有说明。然而以上的方法都只适用于集群规模较小的情况。一旦处理器规模达到几百甚至超过千核以上,加速效率就开始显著下降,更多硬件投资并不能取得更高的加速比。鉴于现有方法在大规模集群上的不足,提供一种有效的分布式并行加速方法在实际应用中具有重要意义。

发明内容
本发明的目的在于提供一种蛋白质鉴定的大规模分布式并行加速方法及其系统, 用于解决现有技术在达到百核甚至超过千核处理器规模的并行条件下,加速效率不佳的问题。为了实现上述目的,本发明提供一种蛋白质鉴定的大规模分布式并行加速方法, 其特征在于,包括
步骤1,输入蛋白质序列,采用并行处理方法对所述蛋白质序列进行理论酶切得到肽序列,对所述肽序列按照理论母离子质量进行排序、去冗余处理,以创建肽索引文件块, 并根据所述肽索引文件块生成肽索引元数据文件;步骤2,输入质谱谱图,采用并行处理方法对所述质谱谱图按照实验母离子质量进行排序,并将排序后的质谱谱图进行平均划分,得到多个谱图数据块,并根据所述谱图数据块生成质谱元数据文件;步骤3,将所述谱图数据块平均分配给多个主进程,各主进程管理多个从进程,各主进程对所分配的谱图数据块进行排序,依次指派给空闲的从进程进行肽谱匹配鉴定,并当所述肽索引文件块不止一块时,将同一个所述谱图数据块分配给多个从进程,由该多个从进程遍历单块所述肽索引文件块进行肽谱匹配鉴定;步骤4,采用并行处理方法,汇总鉴定结果,利用鉴定到的肽序列推断对应的蛋白质序列,生成输出文件。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,所述步骤1中,还包括11,将所述蛋白质序列平均划分为多个蛋白质序列子文件,每个所述蛋白质序列子文件的容量小于集群节点的本地存储器空间;12,对每个所述蛋白质序列子文件由一个肽索引映射处理器进程处理,所述肽索引映射处理器进程之间相互独立并行处理,所述肽索引映射处理器进程将所处理的蛋白质序列子文件中的每一条蛋白质序列依次进行理论酶切得到肽序列,再将所述肽序列按照质量范围划分到相应的队列中,去除冗余肽序列后,将各个队列存储到不同的肽序列中间文件;13,对不同的质量范围,每个质量范围由一个肽索引归约处理器进程处理,所述肽索引归约处理器进程之间相互独立并行处理,所述肽索引归约处理器进程读取本质量范围内的所有肽序列中间文件中的肽序列,并先按照理论母离子质量大小排列,当所述肽序列的理论母离子质量相同时,再根据所述肽序列的字符串的常规英文字典序排序,排序后去除冗余,创建肽索引文件块;14,收集所有所述肽索引文件块的信息,并根据所述信息生成所述肽索引元数据文件。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,所述步骤12中,还包括当所述蛋白质序列子文件的个数大于集群中处理器核的个数时,或大于所述肽索引映射处理器进程数时,对所述蛋白质序列子文件进行多轮处理,完成任务的肽索引映射处理器进程继续领取新任务,先到先得,直到所有蛋白质序列子文件都处理完。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,所述步骤13中,还包括当所述质量范围的个数大于集群中处理器核的个数时,或大于所述肽索引归约处理器进程数时,对所述质量范围进行多轮处理,完成任务的肽索引归约处理器进程继续领取新任务,先到先得,直到所有所述肽序列中间文件都处理完。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,
所述步骤2中,还包括21,解析所述质谱谱图,将所述质谱谱图平均划分为多个原始数据块,每个所述原始数据块的容量小于集群节点的本地存储器空间;22,对每个所述原始数据块由一个谱图映射处理器进程处理,所述谱图映射处理器进程依次读入所处理的原始数据块中的每一张质谱谱图,按照质量范围将所述质谱谱图划分到相应的队列中,再将各个队列存储到不同的谱图中间文件中;23,对不同的质量范围,每个质量范围由一个谱图归约处理器进程处理,所述谱图归约处理器进程之间相互独立并行处理,所述谱图归约处理器进程将读取本质量范围内的所有谱图中间文件,对输入的质谱谱图先按实验母离子质量大小排列,当实验母离子质量相同时,再根据谱图标题名的常规英文字典序排序,排序后依次存入多块谱图数据块,每块中包含的质谱谱图数目相等;24,收集所有所述质谱数据块的信息,并根据所述信息生成所述质谱元数据文件。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,所述步骤22中,还包括当所述原始数据块的个数大于集群中处理器核的个数时,或大于所述谱图映射处理器进程数时,对所述原始数据块进行多轮处理,完成任务的谱图映射处理器进程继续领取新任务,先到先得,直到所有所述原始数据块都处理完。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,所述步骤23中,还包括当所述质量范围的个数大于集群中处理器核的个数时,或大于所述谱图归约处理器进程数时,对所述质量范围进行多轮处理,完成任务的谱图归约处理器进程继续领取新任务,先到先得,直到所有所述谱图中间文件都处理完。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,所述步骤3中,所述主进程指派空闲的从进程进行肽谱匹配鉴定的步骤包括所述主进程读入所述质谱元数据文件和所述肽索引元数据文件,根据得到的统计信息,将分配给自己负责鉴定的所述谱图数据块按照质量范围从高到低排序,依次指派给所述从进程,如果所述肽索引文件块为多块,则同一所述谱图数据块被指派多次,每次对应一块肽索引文件块;所述从进程采用先到先得的方式领取任务,每当鉴定任务完成,存入鉴定结果子块,与所述主进程通讯,发回所述鉴定结果子块的文件名,并索要下一步任务对应的谱图数据块和肽索引文件块的信息,直到完成所有谱图数据块的鉴定。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,所述步骤3中,所述从进程进行肽谱匹配鉴定的步骤包括所述从进程读入肽索引文件块,在原始肽序列的基础上计算出所发生修饰变化的可能情况,利用待鉴定的谱图数据块中的母离子质量误差窗口寻找符合设定质量范围的修饰肽序列,将符合要求的修饰肽序列输入给肽谱匹配打分算法以实现对肽序列的鉴定。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,所述步骤4中,还包括41、汇总鉴定结果,对每一块所述谱图数据块对应的所有鉴定结果子块,由一个谱图鉴定结果汇总处理器进程负责处理,所述谱图鉴定结果汇总处理器进程之间相互独立并行处理,所述谱图鉴定结果汇总处理器进程读入指定给自己的一块所述谱图数据块的所有鉴定结果子块,把每张质谱谱图的所有的鉴定结果的肽序列按肽谱匹配打分算法的分数排序,保留排名靠前的肽序列信息和分数,存入分块汇总文件。42、读入所有分块汇总文件,把各质谱谱图鉴定结果的肽序列过滤、去冗余,将得到的非冗余肽序列平均分为多组,对每一组非冗余肽序列由一个蛋白质查询处理器进程负责查找对应的蛋白质编号和序列,所述蛋白质查询处理器进程相互独立并行处理,对查找结果运用肽到蛋白质推断算法,生成输出文件。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,所述步骤41中,还包括当所述谱图数据块的个数大于集群中处理器核的个数时,或大于所述谱图鉴定结果汇总处理器进程数时,对所述鉴定结果子块进行多轮处理,完成任务的谱图鉴定结果汇总处理器进程继续领取新任务,先到先得,直到所有所述鉴定结果子块都被处理完。所述的蛋白质鉴定的大规模分布式并行加速方法,其中,所述步骤42中,还包括当所述非冗余肽序列分组的个数大于集群中处理器核的个数时,或大于所述蛋白质查询处理器进程数时,对所述非冗余肽序列分组进行多轮处理,完成任务的蛋白质查询处理器进程继续领取新任务,先到先得,直到所有非冗余肽序列都处理完。为了实现上述目的,本发明还提供一种蛋白质鉴定的大规模分布式并行加速系统,其特征在于,包括肽序列索引模块,用于对输入的蛋白质序列,采用并行处理方法进行理论酶切得到肽序列,对所述肽序列按照理论母离子质量进行排序、去冗余处理,以创建肽索引文件块,并根据所述肽索引文件块生成肽索引元数据文件;谱图数据处理模块,用于对输入的质谱谱图,采用并行处理方法并按照实验母离子质量进行排序,并将排序后的质谱谱图进行平均划分,得到多个谱图数据块,并根据所述谱图数据块生成质谱元数据文件;肽谱匹配鉴定模块,连接所述肽序列索引模块、所述谱图数据处理模块,用于将所述谱图数据块平均分配给各主进程,各主进程管理多个从进程,各主进程对所分配的谱图数据块进行排序,依次指派给空闲的从进程进行肽谱匹配鉴定,并当所述肽索引文件块不止一块时,将同一个所述谱图数据块分配给多个从进程,由多个从进程遍历单块所述肽索引文件块进行肽谱匹配鉴定;结果汇总输出模块,连接所述肽谱匹配鉴定模块,用于采用并行处理方法汇总鉴定结果,利用鉴定到的肽序列推断对应的蛋白质序列,生成输出文件。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述肽序列索引模块,又包括蛋白质序列划分模块,用于将所述蛋白质序列平均划分为多个蛋白质序列子文件,每个所述蛋白质序列子文件的容量小于集群节点的本地存储器空间;肽映射模块,连接所述蛋白质序列划分模块,用于对每个所述蛋白质序列子文件启动一个肽索引映射处理器进程处理,所述肽索引映射处理器进程之间相互独立并行处理,所述肽索引映射处理器进程将所处理的蛋白质序列子文件中的每一条蛋白质序列依次进行理论酶切得到肽序列,再将所述肽序列按照质量范围划分到相应的队列中,去除冗余肽序列后,将各个队列存储到不同的肽序列中间文件;肽归约模块,连接所述肽映射模块,用于对不同的质量范围,每个质量范围由一个肽索引归约处理器进程处理,所述肽索引归约处理器进程之间相互独立并行处理,由所述肽索引归约处理器进程读取本质量范围内的所有肽序列中间文件中的肽序列,并先按照理论母离子质量大小排列,当所述肽序列的理论母离子质量相同时,再根据所述肽序列的字符串的常规英文字典序排序,排序后去除冗余,创建肽索引文件块;肽索引元文件生成模块,连接所述肽归约模块,收集所有所述肽索引文件块的信息,并根据所述信息生成所述肽索引元数据文件。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述肽映射模块,还用于当所述蛋白质序列子文件的个数大于集群中处理器核的个数时,或大于所述肽索引映射处理器进程数时,对所述蛋白质序列子文件进行多轮处理, 完成任务的肽索引映射处理器进程继续领取新任务,先到先得,直到所有蛋白质序列子文件都处理完。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述肽归约模块,还用于当所述质量范围的个数大于集群中处理器核的个数时, 或大于所述肽索引归约处理器进程数时,对所述质量范围进行多轮处理,完成任务的肽索引归约处理器进程继续领取新任务,先到先得,直到所有肽序列中间文件都处理完。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述谱图数据处理模块,又包括谱图划分模块,用于解析所述质谱谱图,将所述质谱谱图平均划分为多个原始数据块,每个所述原始数据块的容量小于集群节点的本地存储器空间;谱图映射模块,连接所述谱图划分模块,用于对每个所述原始数据块由一个谱图映射处理器进程处理,所述谱图映射处理器进程依次读入所处理的原始数据块中的每一张质谱谱图,按照质量范围将所述质谱谱图划分到相应的队列中,再将各个队列存储到不同的谱图中间文件中;谱图归约模块,连接所述谱图映射模块,用于对不同的质量范围,每个质量范围由一个谱图归约处理器进程处理,所述谱图归约处理器进程之间相互独立并行处理,所述谱图归约处理器进程将读取本质量范围内的所有谱图中间文件,对输入的质谱谱图先按实验母离子质量大小排列,当实验母离子质量相同时,再根据谱图标题名的常规英文字典序排序,排序后依次存入多块谱图数据块,每块中包含的质谱谱图数目相等;质谱元数据文件生成模块,连接所述谱图归约模块,用于收集所有所述质谱数据块的信息,并根据所述信息生成所述质谱元数据文件。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述谱图映射模块,还用于当所述原始数据块的个数大于集群中处理器核的个数时,或大于所述谱图映射处理器进程数时,对所述原始数据块进行多轮处理,完成任务的谱图映射处理器进程继续领取新任务,先到先得,直到所有原始数据块都处理完。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述谱图归约模块,还用于当所述质量范围的个数大于集群中处理器核的个数时,或大于所述谱图归约处理器进程数时,对所述质量范围进行多轮处理,完成任务的谱图归约处理器进程继续领取新任务,先到先得,直到所有谱图中间文件都处理完。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述肽谱匹配鉴定模块,还用于由所述主进程读入所述质谱元数据文件和所述肽索引元数据文件,根据得到的统计信息,将分配给自己负责鉴定的所述谱图数据块按照质量范围从高到低排序依次指派给所述从进程,如果所述肽索引文件块为多块,则同一所述谱图数据块被指派多次,每次对应一块肽索引文件块;所述从进程采用先到先得的方式领取任务,每当鉴定任务完成,存入鉴定结果子块,与所述主进程通讯,发回所述鉴定结果子块的文件名,并索要下一步任务对应的谱图数据块和肽索引文件块的信息,直到完成所有谱图数据块的鉴定。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述肽谱匹配鉴定模块,还用于由所述从进程读入所述肽索引文件块,在原始肽序列的基础上计算出所发生修饰变化的可能情况,利用待鉴定的谱图数据块中的母离子质量误差窗口寻找符合设定质量范围的修饰肽序列,将符合要求的修饰肽序列输入给肽谱匹配打分算法以实现对肽序列的鉴定。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述结果汇总输出模块,又包括汇总模块,用于对每一块所述谱图数据块对应的所有鉴定结果子块,由一个谱图鉴定结果汇总处理器进程负责处理,所述谱图鉴定结果汇总处理器进程之间相互独立并行处理,所述谱图鉴定结果汇总处理器进程读入指定给自己的一块所述谱图数据块的所有鉴定结果子块,把每张质谱谱图的所有的鉴定结果的肽序列按肽谱匹配打分算法的分数排序,保留排名靠前的肽序列信息和分数,存入分块汇总文件;过滤推断输出模块,连接所述汇总模块,用于读入所述分块汇总文件,把各质谱谱图鉴定结果的肽序列过滤、去冗余,将得到的非冗余肽序列平均分成多组,对每一组非冗余肽序列由一个蛋白质查询处理器进程负责查找对应的蛋白质编号和序列,所述蛋白质查询处理器进程相互独立并行处理,对查找结果运用肽到蛋白质推断算法,生成输出文件。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述汇总模块,还用于当所述谱图数据块的个数大于集群中处理器核的个数时, 或大于所述谱图鉴定结果汇总处理器进程数时,对所述鉴定结果子块进行多轮处理,完成任务的谱图鉴定结果汇总处理器进程继续领取新任务,先到先得,直到所有鉴定结果子块都被处理完。所述的蛋白质鉴定的大规模分布式并行加速系统,其中,所述过滤推断输出模块,还用于当所述非冗余肽序列分组的个数大于集群中处理器核的个数时,或大于所述蛋白质查询处理器进程数时,对所述非冗余肽序列分组进行多轮处理,完成任务的蛋白质查询处理器进程继续领取新任务,先到先得,直到所有非冗余肽序列都处理完。与现有技术相比,本发明的有益技术效果在于1、本发明通过分布式并行处理蛋白质序列库,使超出单机容量的海量蛋白质序列得以高效进行理论酶切、去除冗余、排序并分块创建肽索引文件块,单块肽索引文件块可载入内存进行高效率遍历。2、本发明通过有序的、去冗余的、分布式的肽序列索引存储组织蛋白质和肽序列, 相对直接搜索蛋白质序列,不仅大大减少了冗余的计算量,而且还合并了母离子质量相同或接近谱图的重叠部分的肽谱匹配操作,从而大大提高了鉴定流程的效率。3、本发明通过分布式并行处理质谱谱图,使超出单机容量的海量质谱谱图得以高效排序并分块创建谱图数据块。产生的谱图数据块便于动态调度并行处理。4、本发明中用多个主进程分担与大量从进程的通讯压力,从而减少了阻塞等待, 大大提高了集群处理器规模达到几百甚至超过千核以上情况下的加速效率。5、本发明采用并行处理的方式汇总鉴定结果,通过肽序列查找所属的蛋白质,并进行肽到蛋白质的推断,大大提高了这一过程速度。


图1为本发明的蛋白质鉴定的大规模分布式并行加速方法的流程图;图2为本发明的蛋白质鉴定的大规模分布式并行加速系统的结构图。
具体实施例方式以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。如图1所示,为本发明的蛋白质鉴定的大规模分布式并行加速方法的流程图,该流程是采用如下操作对蛋白质鉴定进行大规模分布式并行加速,具体步骤如下步骤101,首先设定必要的搜索参数;步骤102,然后输入蛋白质序列,利用集群中的多个处理器进程对蛋白质序列进行理论酶切,将得到的肽序列按理论母离子质量进行排序、去冗余,最终创建肽索引文件块, 并根据肽索引文件块生成肽索引元数据文件;步骤103,接下来解析输入的质谱谱图,利用集群中的多个处理器进程对质谱谱图按照实验母离子质量进行排序,将排序后的质谱谱图按顺序存储到多个谱图数据块当中, 每个谱图数据块中存储的质谱谱图数量是相同的,再根据谱图数据块生成质谱元数据文件;步骤104,然后启动若干个主进程,主进程又各自负责管理更多个从进程,将谱图数据块平均分给各个主进程。每个主进程将分配给自己的谱图数据块按照质量范围从高到低排序,动态指派给空闲的从进程进行肽谱匹配鉴定,如果肽索引文件块不止一块,则同一个谱图数据块还会被分配给多个从进程,由该多个从进程遍历单块肽索引文件块进行肽谱匹配鉴定;步骤105,用并行处理方法,汇总鉴定结果,利用鉴定到的肽序列查找对应的蛋白质序列,进行肽到蛋白质的推断,生成输出文件。上述步骤102中目前常见的比较低效的操作方式为,依次读入蛋白质序列,将其一一进行理论酶切得到肽序列,再将肽序列分块存入一阶临时肽序列块,然后读入一阶临时肽序列块,对每K块合并、去除冗余、按照理论母离子质量排序,输出到二阶临时肽序列块,再读入二阶临时肽序列块,对每K块合并、去除冗余、按照理论母离子质量排序输出到三阶临时肽序列块……反复循环,直到所有数据被合并到一起为止,最后依次读取最终一轮的临时肽序列块,创建肽索引文件块,收集所有肽索引文件块的信息,并根据该信息生成肽索引元数据文件。上述步骤103中目前常见的比较低效的操作方式为,解析质谱谱图,将其依次读入,分块存入一阶临时谱图数据块,然后依次读入一阶临时谱图数据块,对每K块合并、按照实验母离子质量排序,输出到二阶临时谱图数据块,再依次读入二阶临时谱图数据块,进一步合并、按照实验母离子质量排序,输出到三阶临时谱图数据块……反复循环,直到所有数据合并到一起为止,最后依次读取最终一轮的临时谱图数据块,存入若干块谱图数据块, 每块中包含的质谱谱图的数目相等,该数目由输入参数指定,最后收集所有质谱数据块的信息,并根据该信息生成质谱元数据文件。上述步骤104中目前常见的比较低效的操作方式为,单个主进程将谱图数据块依次指派给从进程;从进程采用先到先得的方式领取任务,领取到指定的肽索引文件块的编号后,依次读入所有肽索引文件块,在原始肽序列的基础上计算出所发生修饰变化的可能情况,利用待鉴定的谱图数据块中的母离子质量误差窗口寻找符合设定质量范围的修饰肽序列,将符合要求的修饰肽序列输入给肽谱匹配打分算法以实现对肽序列的鉴定,每当鉴定任务完成,存入鉴定结果子块,与主进程通讯,发回鉴定结果子块的文件名,并索要下一步任务对应的谱图数据块和肽索引文件块的信息,直到完成所有谱图数据块的鉴定。进一步地,上述步骤102中,又包括步骤1021,读入蛋白质序列,将其平均划分为多个蛋白质序列子文件,蛋白质序列子文件的数目可以大于集群中处理器核的个数,每个蛋白质序列子文件的容量必须小于集群节点的本地存储器空间;步骤1022,对每个蛋白质序列子文件启动一个肽索引映射处理器进程(简称为 Peptide Map进程)处理,P印tide Map进程之间相互独立并行处理,P印tideMap进程将所处理的蛋白质序列子文件中的每一条蛋白质序列依次进行理论酶切得到肽序列,再将肽序列按照质量范围划分到相应的队列中,去除冗余肽序列后,将各个队列存储到不同的肽序列中间文件;步骤1023,对不同的质量范围,每个质量范围由一个肽索引归约处理器进程(简称为P印tide Reduce进程)处理,P印tide Reduce进程之间相互独立并行处理,由P印tide Reduce进程读入本质量范围内的所有肽序列中间文件中的肽序列,对肽序列排序,排序操作中,先按照理论母离子质量大小排列,当肽序列的理论母离子质量相同时,再根据肽序列的字符串的常规英文字典序排序,排序后去除冗余,创建肽索引文件块;步骤IOM,该步骤是可选步骤,一个可选项是生成肽到蛋白的倒排索引,所述倒排索引创建算法的具体实现见参考文献10 ((You Li,Hao Chi,Le-HengWang,Hai-Peng Wang, Yan Fu, Zuo-Fei Yuan, Su-Jun Li, Yan-Sheng Liu, Rui-Xiang Sun, Rong Zeng, Si-Min He. “Speeding up tandem mass spectrometrybased database searching by peptide and spectrum indexing. "RapidCommunications in Mass Spectrometry,2010, 24 :807-814.》以及申请号为200810223683. 1的专利申请《一种规模化蛋白质鉴定中的索引加速方法及相应的系统》;步骤1025,收集所有肽索引文件块的信息,并根据该信息生成肽索引元数据文件。在较佳的实施方案中,步骤1022中,当蛋白质序列子文件的个数大于集群中处理器核的个数时,或大于P印tide Map进程数时,对蛋白质序列子文件进行多轮处理,完成任务的P印tide Map进程继续领取新任务,先到先得,直到所有蛋白质序列子文件都处理完。在较佳的实施方案中,步骤1023中,当质量范围的个数大于集群中处理器核的个数时,或大于P印tide Reduce进程数时,对质量范围进行多轮处理,完成任务的P印tide Reduce进程继续领取新任务,先到先得,直到所有肽序列中间文件都处理完。进一步地,上述步骤103中,又包括步骤1031,解析质谱谱图,将其平均划分为多个原始数据块,原始数据块的数目可以大于集群中处理器核的个数,每个原始数据块的容量必须小于集群节点的本地存储器空间;步骤1032,对每个原始数据块由一个Spectra Map进程处理,Spectra Map进程依次读入所处理的原始数据块中的每一张质谱谱图,按照质量范围将质谱谱图划分到相应的队列中,再将各个队列存储到不同的谱图中间文件中;步骤1033,对不同的质量范围,每个质量范围由一个Spectra Reduce进程处理, Spectra Map进程之间相互独立并行处理,Spectra Reduce进程将读取本质量范围内的所有谱图中间文件,对输入的质谱谱图排序,排序操作中,先按实验母离子质量大小排列,当实验母离子质量相同时,再根据谱图标题名的常规英文字典序排序,排序后再依次存入若干块谱图数据块,每块中包含的质谱谱图数目相等,该数目由输入参数指定;步骤1034,收集所有质谱数据块的信息,并根据该信息生成质谱元数据文件。在较佳的实施方案中,在步骤1032中,当原始数据块的个数大于集群中处理器核的个数时,或大于Spectra Map进程数时,对原始数据块进行多轮处理,完成任务的Spectra Map进程继续领取新任务,先到先得,直到所有原始数据块都处理完。在较佳的实施方案中,在步骤1032中,当质量范围的个数大于集群中处理器核的个数时,或大于Spectra Reduce进程数时,对质量范围进行多轮处理,完成任务的Spectra Reduce进程继续领取新任务,先到先得,直到所有谱图中间文件都处理完。在较佳的实施方案中,步骤104中,动态指派操作包括主进程读入质谱元数据文件和肽索引元数据文件,根据得到的统计信息,将分配给自己负责鉴定的谱图数据块按照质量范围从高到低排序依次指派给从进程,如果肽索引文件块为多块,则同一谱图数据块被指派多次,每次对应一块肽索引文件块;从进程采用先到先得的方式领取任务,每当鉴定任务完成,存入鉴定结果子块,与主进程通讯,发回鉴定结果子块的文件名,并索要下一步任务对应的谱图数据块和肽索引文件块的信息,直到完成所有谱图数据块的鉴定。在较佳的实施方案中,步骤104中,肽谱匹配鉴定操作包括从进程读入肽索引文件块,在原始肽序列的基础上计算出所发生修饰变化的可能情况,利用待鉴定的谱图数据块中的母离子质量误差窗口寻找符合设定质量范围的修饰肽序列,将符合要求的修饰肽序列输入给肽谱匹配打分算法以实现对肽序列的鉴定。肽谱匹配打分算法的具体实现见参考文献 11 ((Y. Fu, Q. Yang, R. Sun, D. Li, R. Zeng, C. X. Ling, and W. Gao, " Exploiting the kernel trick to correlatefragment ions for peptide identification via tandem mass spectrometry, “ Bioinformatics,2004,20 :1948-1954.》以及专利《一种使用串联质谱数据鉴定肽的方法ZL200410088779. 3》。进一步地,上述步骤105中,又包括
步骤1051,汇总鉴定结果,对每一块谱图数据块对应的所有的鉴定结果子块,由一个谱图鉴定结果汇总处理器进程(简称为Results (father进程)负责处理,Results (father进程之间相互独立并行处理,Results (father进程读入指定给自己的一块谱图数据块的所有鉴定结果子块,把每张质谱谱图的所有的鉴定结果的肽序列按肽谱匹配打分算法的分数排序,保留排名靠前的肽序列信息和分数,存入分块汇总文件。步骤1052,读入所有分块汇总文件,把各质谱谱图鉴定结果的肽序列过滤、去冗余,将得到的非冗余肽序列平均分为若干组,对每一组非冗余肽序列由一个蛋白质查询处理器进程(简称为ftOtein klect进程)负责查找对应的蛋白质编号和序列, Protein Select进程相互独立并行处理,查找后再运行肽到蛋白质推断算法,最后生成输出文件。肽到蛋白推断算法的具体实现见参考文献12《Al Nesvizhskii and R Aebersold. "Interpretation of shotgun proteomic data :theprotein inference problem. ”Mol Cell Proteomics,2005,4 :1419-1440.、。在较佳的实施方案中,在步骤1051中,当谱图数据块的个数大于集群中处理器核的个数时,或大于Results Gather进程数时,对鉴定结果子块进行多轮处理,完成任务的 Results Gather进程继续领取新任务,先到先得,直到所有鉴定结果子块都处理完。在较佳的实施方案中,在步骤1052中,当非冗余肽序列分组的个数大于集群中处理器核的个数时,或大于I^rotein klect进程数时,对非冗余肽序列分组进行多轮处理,完成任务的ftOtein Select进程继续领取新任务,先到先得,直到所有非冗余肽序列都处理
元ο为了方便理解,结合一个具体的实例加以说明首先,处理蛋白质序列,创建肽索引文件块。假设在蛋白质序列库中拥有 3,000,000条蛋白质序列,集群共有1000个处理器核。第一步,将所有蛋白质序列划分为 1000个蛋白质序列子文件,每个蛋白质序列子文件包含3,000条蛋白质序列。第二步,并行启动1000个P印tide Map进程,每个P印tide Map各自读入一个蛋白质序列子文件,将读入的3,000条蛋白质序列依次进行理论酶切得到肽序列,再将肽序列按照质量范围划分到相应的队列中,例如假设以每IOODa为宽度划分不同质量范围的队列,质量为400. 15的肽序列EVDG将被存入400-500Da的队列。去除冗余肽序列后,将各个队列存储到不同的肽序列中间文件。第三步,对不同的质量范围并行启动P印tide Reduce进程,每个质量范围由一个P印tide Reduce进程处理,P印tide Reduce进程之间相互独立并行处理,启动多少P印tide Reduce进程是由预先设定的肽序列的质量上下限和质量范围宽度确定的,本例中肽序列的质量的上下限设为400-10000Da,质量范围宽度是lOODa,那么就需要96个 Peptide Reduce进程(10000-400/100)。由P印tide Reduce进程读入处于设定质量范围内(例如400-500Da)的所有肽序列中间文件中的肽序列,本实施例中每个进程都需要读入 1000个肽序列中间文件,将肽序列按照理论母离子质量大小排序,去除冗余,创建肽索引文件块。本实施例中,最终生成了 96个肽索引文件块。肽索引文件块的内容包括质量、肽序列、遗漏酶切位点。还有一个可选操作是同时生成肽到蛋白的倒排索引,倒排索引的一行采用如下格式首先是肽序列的编号(size_t),接下来是该肽序列所属的蛋白质序列的编号 (size_t),如果同一个肽序列属于多个蛋白质序列,后者编号依次排列。第四步,上述工作结束后,由P印tide Meta进程收集所有质谱数据块的信息,并根据该信息生成质谱元数据文件,该信息主要包括索引文件块的个数、各个文件块的大小、对应的质量范围、存储的肽序列条目、计算肽序列质量的氨基酸质量表、创建时间等。接着,处理质谱谱图,创建谱图数据块。假设有5,000, 000张质谱,集群共有1000 个处理器核。第一步,解析质谱谱图,将其平均划分为1,000个原始数据块,每个原始数据块包含5000张质谱谱图。第二步,启动1000个SpectraMap进程,对每一块原始数据块由一个Spectra Map进程处理,Spectra Map进程依次读入所处理的原始数据块中的每一张质谱谱图,按照质量范围将质谱谱图划分到相应的队列中,例如假设以IOODa为窗口,质量为 400. 15的谱图将被存入400-500Da的队列,再将各个队列存储到不同的谱图中间文件中。 第三步,对不同的质量范围并行启动Spectra Reduce进程,每个质量范围由一个Spectra Reduce进程处理,Spectra Reduce进程之间相互独立并行处理,启动多少Spectra Reduce 进程是由预先设定的肽序列的质量上下限和质量范围宽度确定的,本例中肽序列的质量的上下限设为400-10000Da,质量范围宽度是lOODa,那么就需要96个Spectra Reduce进程(10000-400/100)。Spectra Reduce进程将读取本质量范围内(例如400_500Da)的所有谱图中间文件,对输入的质谱谱图按照实验母离子质量排序,再依次存入若干块谱图数据块,每块中的质谱谱图数目相等,质谱谱图的数目由输入参数指定。本实施例中,处于 400-500Da范围内的谱图文件共7,000张,按照实验母离子质量排序后,每200张存入一块, 共生成了 35块,这里的200由输入参数决定。第四步,上述工作结束后,由kpctra Meta 进程收集所有质谱数据块的信息,并根据该信息生成质谱元数据文件,该信息主要包括谱图数据块个数、各个数据块对应的谱图数目、创建时间等。然后,开始进行鉴定。启动若干个主进程,主进程又各自负责管理更多从进程,本例中,全部1000个进程,指定0号、100号、200号……900号共十个进程为主进程,其余都是从进程,每个主进程负责管理编号排在自己后面的99个从进程,例如123号从进程,就归 100号进程管理。将上一步产生的谱图数据块平均分给各个主进程,每个主进程读入质谱元数据文件和肽索引元数据文件,根据统计得到的信息,将分配给自己的谱图数据块按照质量范围从高到低排序,依次动态指派给空闲的从进程进行肽谱匹配鉴定,如果前述产生的肽索引文件块不止一块,则同一个谱图数据块还会被分配给多个从进程,每个从进程负责遍历单块肽索引文件进行肽谱匹配鉴定,本实施例中,假设前面一步产生了 50,000个谱图数据块,96个肽索引文件块,则每个主进程分配了 5,000个数据块(间隔划分以负载均衡, 例如0号节点被划分了 0号、10号、20号……4,990号数据块),每个主节点向从节点进行了 5000*96次任务分配。最终总共产生了 10*5000*96块的鉴定结果子块。最后,汇总鉴定结果。假设此前有50,000个谱图数据块,10*5000*96块的鉴定结果子块,集群有1,000个处理器核。第一步,则启动1,000个ResultsGather进程,通过多轮处理分别对50,000个谱图数据块的鉴定结果子块进行处理,每个Results Gather进程每次将读入指定的某块谱图数据块对应的96个鉴定结果子块,合并排序,保留靠前的候选肽结果,存入分块汇总文件。第二步,读入所有的50,000个分块汇总文件,将各质谱谱图的鉴定结果的肽序列过滤、去冗余,假设得到了 70,000非冗余肽序列,被平均分为700组,启动700个ftOtein Select进程处理每一组非冗余肽序列,通过非冗余的肽序列查找对应的蛋白质序列(如果此前可选步骤中生成了前述倒排索引,则直接通过查表获得,如果没有就直接搜索原始蛋白质序列库),查询之后接着运行肽到蛋白推断算法,得到180个鉴定的蛋白质的信息,最终生成输出文件,输出文件内容包括每张谱图的鉴定结果的肽序列、修饰信息、母离子质量、打分分数,以及鉴定到的蛋白质的名称、编号和蛋白质序列等。如图2所示,为本发明的蛋白质鉴定的大规模分布式并行加速系统的结构图。该系统200包括肽序列索引模块21,用于对输入的蛋白质序列,采用并行处理方法进行理论酶切得到肽序列,对肽序列按照理论母离子质量进行排序、去冗余处理,以创建肽索引文件块, 并根据肽索引文件块生成肽索引元数据文件;谱图数据处理模块22,用于对输入的质谱谱图,采用并行处理方法并按照实验母离子质量进行排序,并将排序后的质谱谱图进行平均划分,得到多个谱图数据块,并根据谱图数据块生成质谱元数据文件;肽谱匹配鉴定模块23,连接肽序列索引模块21、肽序列索引模块22,用于将谱图数据块平均分配给各主进程,各主进程管理多个从进程,各主进程对所分配的谱图数据块进行排序,依次指派给空闲的从进程进行肽谱匹配鉴定,并当肽索引文件块不止一块时,将同一个谱图数据块分配给多个从进程,由多个从进程遍历单块肽索引文件块进行肽谱匹配鉴定;结果汇总输出模块对,连接肽谱匹配鉴定模块23,用于采用并行处理方法,汇总鉴定结果,通过鉴定到的肽序列查找对应的蛋白质序列,进行肽到蛋白质的推断,生成输出文件。肽序列索引模块21,常规实施方案中,依次读入蛋白质序列,将其一一进行理论酶切得到肽序列,再将肽序列分块存入一阶临时肽序列块,然后读入一阶临时肽序列块,对每K块合并、去除冗余、按照理论母离子质量排序,输出到二阶临时肽序列块,再读入二阶临时肽序列块,对每K块合并、去除冗余、按照理论母离子质量排序输出到三阶临时肽序列块……反复循环,直到所有数据被合并到一起为止,最后依次读取最终一轮的临时肽序列块,创建肽索引文件块,收集所有肽索引文件块的信息,并根据该信息生成肽索引元数据文件。谱图数据处理模块22,常规实施方案中,解析质谱谱图,将其依次读入,分块存入一阶临时谱图数据块,然后依次读入一阶临时谱图数据块,对每K块合并、按照实验母离子质量排序,输出到二阶临时谱图数据块,再依次读入二阶临时谱图数据块,进一步合并、按照实验母离子质量排序,输出到三阶临时谱图数据块……反复循环,直到所有数据合并到一起为止,最后依次读取最终一轮的临时谱图数据块,存入若干块谱图数据块,每块中包含的质谱谱图数目相等,该数目由输入参数指定,最后收集所有质谱数据块的信息,并根据该信息生成质谱元数据文件。肽谱匹配鉴定模块23,常规实施方案中,单个主进程将谱图数据块依次指派给从进程;从进程采用先到先得的方式领取任务,领取到指定的肽索引文件块的编号后,依次读入所有肽索引文件块,在原始肽序列的基础上计算出所发生修饰变化的可能情况,利用待鉴定的谱图数据块中的母离子质量误差窗口寻找符合设定质量范围的修饰肽序列,将符合要求的修饰肽序列输入给肽谱匹配打分算法以实现对肽序列的鉴定,每当鉴定任务完成, 存入鉴定结果子块,与主进程通讯,发回鉴定结果子块的文件名,并索要下一步任务对应的谱图数据块和肽索引文件块的信息,直到完成所有谱图数据块的鉴定。
进一步地,肽序列索引模块21又包括蛋白质序列划分模块211,用于将蛋白质序列平均划分为多个蛋白质序列子文件, 蛋白质序列子文件的数目可以大于集群中处理器核的个数,每个蛋白质序列子文件的容量必须小于集群节点的本地存储器空间;肽映射模块212,连接蛋白质序列划分模块211,用于对每个蛋白质序列子文件启动一个肽索引映射处理器进程(简称为P印tide Map进程)处理,Peptide Map进程之间相互独立并行处理,Peptide Map进程将所处理的蛋白质序列子文件中的每一条蛋白质序列依次进行理论酶切得到肽序列,再将肽序列按照质量范围划分到相应的队列中,去除冗余肽序列后,将各个队列存储到不同的肽序列中间文件;肽归约模块213,连接肽映射模块212,用于对不同的质量范围,每个质量范围由一个肽索引归约处理器进程(简称为P印tide Reduce进程)处理,Peptide Reduce进程之间相互独立并行处理,由P印tide Reduce进程读入处于设定质量范围内的所有肽序列中间文件中的肽序列,按照理论母离子质量排序,排序操作中,先按照母离子理论质量大小排列,当肽序列的质量相同时,再根据肽序列的字符串的常规英文字典序排序,排序后去除冗余,创建肽索引文件块;肽索引元文件生成模块214,连接肽归约模块213,用于收集所有肽索引文件块的信息,并根据该信息生成肽索引元数据文件。在较佳的实施方案中,肽映射模块212,还用于当蛋白质序列子文件的个数大于集群中处理器核的个数时,或大于P印tide Map进程数时,对蛋白质序列子文件进行多轮处理,完成任务的P印tide Map进程继续领取新任务,先到先得,直到所有蛋白质序列子文件都处理完。在较佳的实施方案中,肽归约模块213,还用于当质量范围的个数大于集群中处理器核的个数时,或大于P印tide Reduce进程数时,对质量范围进行多轮处理,完成任务的 Peptide Reduce进程继续领取新任务,先到先得,直到所有肽序列中间文件都处理完。进一步地,谱图数据处理模块22又包括谱图划分模块221,用于解析所输入的质谱谱图,将其平均划分为多个原始数据块,原始数据块的数目可以大于集群中处理器核的个数,每个原始数据块的容量必须小于集群节点的本地存储器空间;谱图映射模块222,连接谱图划分模块221,用于对每个原始数据块由一个谱图映射处理器进程(简称为Spectra Map进程)处理,Spectra Map进程依次读入所处理的原始数据块中的每一张质谱谱图,按照质量范围将质谱谱图划分到相应的队列中,再将各个队列存储到不同的谱图中间文件中;谱图归约模块223,连接谱图映射模块222,用于对不同的质量范围中每个质量范围由一个谱图归约处理器进程(简称为Spectra Reduce进程)处理,Spectra Reduce进程之间相互独立并行处理,Spectra Reduce进程将读取处于设定质量范围内的所有谱图中间文件,对输入的质谱谱图按照母离子质量排序,排序操作中,先按实验母离子质量大小排列,当实验母离子质量相同时,再根据谱图标题名的常规英文字典序排序,排序后依次存入若干块谱图数据块,每块中包含的质谱谱图数目相等,该数目由输入参数指定;谱图数据元文件生成模块224,连接谱图归约模块223,用于收集所有质谱数据块的信息,并根据该信息生成质谱元数据文件。在较佳的实施方案中,谱图映射模块222,还用于当原始数据块的个数大于集群中处理器核的个数时,或大于Spectra Map进程数时,对每个原始数据块进行多轮处理,完成任务的Spectra Map进程继续领取新任务,先到先得,直到所有原始数据块都处理完。在较佳的实施方案中,谱图归约模块223,还用于当质量范围的个数大于集群中处理器核的个数时,或大于Spectra Reduce进程数时,对质量范围进行多轮处理,完成任务的 Spectra Reduce进程继续领取新任务,先到先得,直到所有谱图数据块都处理完。在较佳的实施方案中,肽谱匹配鉴定模块23进行的指派操作包括主进程读入质谱元数据文件和肽索引元数据文件,根据得到的统计信息,将分配给自己负责鉴定的谱图数据块按照质量范围从高到低排序依次指派给从进程,如果肽索引文件块为多块,则同一谱图数据块被指派多次,每次对应一块肽索引文件块;从进程采用先到先得的方式领取任务,每当鉴定任务完成,存入鉴定结果子块,与主进程通讯,发回鉴定结果子块的文件名,并索要下一步任务对应的谱图数据块和肽索引文件块的信息,直到完成所有谱图数据块的鉴定。在较佳的实施方案中,肽谱匹配鉴定模块23进行的肽谱匹配鉴定操作包括由从进程读入肽索引文件块,在原始肽序列的基础上计算出所发生修饰变化的可能情况,利用待鉴定的谱图数据块中的母离子质量误差窗口寻找符合设定质量范围的修饰肽序列,将符合要求的修饰肽序列输入给肽谱匹配打分算法以实现对肽序列的鉴定。进一步地,结果汇总输出模块M又包括汇总模块M1,用于对每一块谱图数据块对应的所有的鉴定结果子块,由一个谱图鉴定结果汇总处理器进程(简称为Results Gather进程)负责处理,Results Gather进程之间相互独立并行处理,Results (father进程读入指定给自己的一块谱图数据块的所有鉴定结果子块,把每张质谱谱图的所有的鉴定结果的肽序列按肽谱匹配打分算法的分数排序,保留排名靠前的肽序列信息和分数,存入分块汇总文件。过滤推断输出模块M2,连接汇总模块M1,用于读入所有分块汇总文件,把各质谱谱图鉴定结果的肽序列过滤、去冗余,将得到的非冗余肽序列平均分为若干组,对每一组非冗余肽序列由一个蛋白质查询处理器进程(简称为ftOtein klect进程)负责查找对应的蛋白质编号和序列,Protein klect进程相互独立并行处理,查找后再运行肽到蛋白质推断算法,最后生成输出文件。在较佳的实施方案中,汇总模块M1,还用于当谱图数据块的个数大于集群中处理器核的个数时,或大于Results (father进程数时,对鉴定结果子文件进行多轮处理,完成任务的Results Gather进程继续领取新任务,先到先得,直到所有鉴定结果子块都完成。在较佳的实施方案中,过滤推断输出模块M2,还用于当非冗余肽序列分组的个数大于集群中处理器核的个数时,或大于Results (father进程数时,对鉴定结果子块进行多轮处理,完成任务的Results (father进程继续领取新任务,先到先得,直到所有鉴定结果子块都处理完。本发明提出了一种蛋白质鉴定的大规模分布式并行加速方法及系统,解决了现有技术在达到百核甚至超过千核处理器规模的并行条件下,加速效率不佳的问题,特别是在处理器核规模达到几百甚至超过千个以上,仍然能取得满意的加速效率。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种蛋白质鉴定的大规模分布式并行加速方法,其特征在于,包括步骤1,输入蛋白质序列,采用并行处理方法对所述蛋白质序列进行理论酶切得到肽序列,对所述肽序列按照理论母离子质量进行排序、去冗余处理,以创建肽索引文件块,并根据所述肽索引文件块生成肽索引元数据文件;步骤2,输入质谱谱图,采用并行处理方法对所述质谱谱图按照实验母离子质量进行排序,并将排序后的质谱谱图进行平均划分,得到多个谱图数据块,并根据所述谱图数据块生成质谱元数据文件;步骤3,将所述谱图数据块平均分配给多个主进程,各主进程管理多个从进程,各主进程对所分配的谱图数据块进行排序,依次指派给空闲的从进程进行肽谱匹配鉴定,并当所述肽索引文件块不止一块时,将同一个所述谱图数据块分配给多个从进程,由该多个从进程遍历单块所述肽索引文件块进行肽谱匹配鉴定;步骤4,采用并行处理方法,汇总鉴定结果,利用鉴定到的肽序列推断对应的蛋白质序列,生成输出文件。
2.根据权利要求1所述的蛋白质鉴定的大规模分布式并行加速方法,其特征在于, 所述步骤1中,还包括11,将所述蛋白质序列平均划分为多个蛋白质序列子文件,每个所述蛋白质序列子文件的容量小于集群节点的本地存储器空间;12,对每个所述蛋白质序列子文件由一个肽索引映射处理器进程处理,所述肽索引映射处理器进程之间相互独立并行处理,所述肽索引映射处理器进程将所处理的蛋白质序列子文件中的每一条蛋白质序列依次进行理论酶切得到肽序列,再将所述肽序列按照质量范围划分到相应的队列中,去除冗余肽序列后,将各个队列存储到不同的肽序列中间文件;13,对不同的质量范围,每个质量范围由一个肽索引归约处理器进程处理,所述肽索引归约处理器进程之间相互独立并行处理,所述肽索引归约处理器进程读取本质量范围内的所有肽序列中间文件中的肽序列,并先按照理论母离子质量大小排列,当所述肽序列的理论母离子质量相同时,再根据所述肽序列的字符串的常规英文字典序排序,排序后去除冗余,创建肽索引文件块;14,收集所有所述肽索引文件块的信息,并根据所述信息生成所述肽索引元数据文件。
3.根据权利要求2所述的蛋白质鉴定的大规模分布式并行加速方法,其特征在于, 所述步骤12中,还包括当所述蛋白质序列子文件的个数大于集群中处理器核的个数时,或大于所述肽索引映射处理器进程数时,对所述蛋白质序列子文件进行多轮处理,完成任务的肽索引映射处理器进程继续领取新任务,先到先得,直到所有蛋白质序列子文件都处理完。
4.根据权利要求2所述的蛋白质鉴定的大规模分布式并行加速方法,其特征在于, 所述步骤13中,还包括当所述质量范围的个数大于集群中处理器核的个数时,或大于所述肽索引归约处理器进程数时,对所述质量范围进行多轮处理,完成任务的肽索引归约处理器进程继续领取新任务,先到先得,直到所有所述肽序列中间文件都处理完。
5.根据权利要求1、2、3或4所述的蛋白质鉴定的大规模分布式并行加速方法,其特征在于,所述步骤2中,还包括·21,解析所述质谱谱图,将所述质谱谱图平均划分为多个原始数据块,每个所述原始数据块的容量小于集群节点的本地存储器空间;·22,对每个所述原始数据块由一个谱图映射处理器进程处理,所述谱图映射处理器进程依次读入所处理的原始数据块中的每一张质谱谱图,按照质量范围将所述质谱谱图划分到相应的队列中,再将各个队列存储到不同的谱图中间文件中;·23,对不同的质量范围,每个质量范围由一个谱图归约处理器进程处理,所述谱图归约处理器进程之间相互独立并行处理,所述谱图归约处理器进程将读取本质量范围内的所有谱图中间文件,对输入的质谱谱图先按实验母离子质量大小排列,当实验母离子质量相同时,再根据谱图标题名的常规英文字典序排序,排序后依次存入多块谱图数据块,每块中包含的质谱谱图数目相等;·24,收集所有所述质谱数据块的信息,并根据所述信息生成所述质谱元数据文件。
6.根据权利要求5所述的蛋白质鉴定的大规模分布式并行加速方法,其特征在于, 所述步骤22中,还包括当所述原始数据块的个数大于集群中处理器核的个数时,或大于所述谱图映射处理器进程数时,对所述原始数据块进行多轮处理,完成任务的谱图映射处理器进程继续领取新任务,先到先得,直到所有所述原始数据块都处理完。
7.根据权利要求5所述的蛋白质鉴定的大规模分布式并行加速方法,其特征在于, 所述步骤23中,还包括当所述质量范围的个数大于集群中处理器核的个数时,或大于所述谱图归约处理器进程数时,对所述质量范围进行多轮处理,完成任务的谱图归约处理器进程继续领取新任务, 先到先得,直到所有所述谱图中间文件都处理完。
8.根据权利要求1、2、3、4、6或7所述的蛋白质鉴定的大规模分布式并行加速方法,其特征在于,所述步骤3中,所述主进程指派空闲的从进程进行肽谱匹配鉴定的步骤包括 所述主进程读入所述质谱元数据文件和所述肽索引元数据文件,根据得到的统计信息,将分配给自己负责鉴定的所述谱图数据块按照质量范围从高到低排序,依次指派给所述从进程,如果所述肽索引文件块为多块,则同一所述谱图数据块被指派多次,每次对应一块肽索引文件块;所述从进程采用先到先得的方式领取任务,每当鉴定任务完成,存入鉴定结果子块,与所述主进程通讯,发回所述鉴定结果子块的文件名,并索要下一步任务对应的谱图数据块和肽索引文件块的信息,直到完成所有谱图数据块的鉴定。
9.根据权利要求8所述的蛋白质鉴定的大规模分布式并行加速方法,其特征在于, 所述步骤3中,所述从进程进行肽谱匹配鉴定的步骤包括所述从进程读入所述肽索引文件块,在原始肽序列的基础上计算出所发生修饰变化的可能情况,利用待鉴定的谱图数据块中的母离子质量误差窗口寻找符合设定质量范围的修饰肽序列,将符合要求的修饰肽序列输入给肽谱匹配打分算法以实现对肽序列的鉴定。
10.根据权利要求1、2、3、4、6、7或9所述的蛋白质鉴定的大规模分布式并行加速方法, 其特征在于,所述步骤4中,还包括[41、汇总鉴定结果,对每一块所述谱图数据块对应的所有鉴定结果子块,由一个谱图鉴定结果汇总处理器进程负责处理,所述谱图鉴定结果汇总处理器进程之间相互独立并行处理,所述谱图鉴定结果汇总处理器进程读入指定给自己的一块所述谱图数据块的所有鉴定结果子块,把每张质谱谱图的所有的鉴定结果的肽序列按肽谱匹配打分算法的分数排序, 保留排名靠前的肽序列信息和分数,存入分块汇总文件。[42、读入所有分块汇总文件,把各质谱谱图鉴定结果的肽序列过滤、去冗余,将得到的非冗余肽序列平均分为多组,对每一组非冗余肽序列由一个蛋白质查询处理器进程负责查找对应的蛋白质编号和序列,所述蛋白质查询处理器进程相互独立并行处理,对查找结果运用肽到蛋白质推断算法,生成输出文件。
11.根据权利要求10所述的蛋白质鉴定的大规模分布式并行加速方法,其特征在于, 所述步骤41中,还包括当所述谱图数据块的个数大于集群中处理器核的个数时,或大于所述谱图鉴定结果汇总处理器进程数时,对所述鉴定结果子块进行多轮处理,完成任务的谱图鉴定结果汇总处理器进程继续领取新任务,先到先得,直到所有所述鉴定结果子块都被处理完。
12.根据权利要求10所述的蛋白质鉴定的大规模分布式并行加速方法,其特征在于, 所述步骤42中,还包括当所述非冗余肽序列分组的个数大于集群中处理器核的个数时,或大于所述蛋白质查询处理器进程数时,对所述非冗余肽序列分组进行多轮处理,完成任务的蛋白质查询处理器进程继续领取新任务,先到先得,直到所有非冗余肽序列都处理完。
13.一种蛋白质鉴定的大规模分布式并行加速系统,其特征在于,包括肽序列索引模块,用于对输入的蛋白质序列,采用并行处理方法进行理论酶切得到肽序列,对所述肽序列按照理论母离子质量进行排序、去冗余处理,以创建肽索引文件块,并根据所述肽索引文件块生成肽索引元数据文件;谱图数据处理模块,用于对输入的质谱谱图,采用并行处理方法并按照实验母离子质量进行排序,并将排序后的质谱谱图进行平均划分,得到多个谱图数据块,并根据所述谱图数据块生成质谱元数据文件;肽谱匹配鉴定模块,连接所述肽序列索引模块、所述谱图数据处理模块,用于将所述谱图数据块平均分配给各主进程,各主进程管理多个从进程,各主进程对所分配的谱图数据块进行排序,依次指派给空闲的从进程进行肽谱匹配鉴定,并当所述肽索引文件块不止一块时,将同一个所述谱图数据块分配给多个从进程,由多个从进程遍历单块所述肽索引文件块进行肽谱匹配鉴定;结果汇总输出模块,连接所述肽谱匹配鉴定模块,用于采用并行处理方法汇总鉴定结果,利用鉴定到的肽序列推断对应的蛋白质序列,生成输出文件。
14.根据权利要求13所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于, 所述肽序列索引模块,又包括蛋白质序列划分模块,用于将所述蛋白质序列平均划分为多个蛋白质序列子文件,每个所述蛋白质序列子文件的容量小于集群节点的本地存储器空间;肽映射模块,连接所述蛋白质序列划分模块,用于对每个所述蛋白质序列子文件启动一个肽索引映射处理器进程处理,所述肽索引映射处理器进程之间相互独立并行处理,所述肽索引映射处理器进程将所处理的蛋白质序列子文件中的每一条蛋白质序列依次进行理论酶切得到肽序列,再将所述肽序列按照质量范围划分到相应的队列中,去除冗余肽序列后,将各个队列存储到不同的肽序列中间文件;肽归约模块,连接所述肽映射模块,用于对不同的质量范围,每个质量范围由一个肽索引归约处理器进程处理,所述肽索引归约处理器进程之间相互独立并行处理,由所述肽索弓丨归约处理器进程读取本质量范围内的所有肽序列中间文件中的肽序列,并先按照理论母离子质量大小排列,当所述肽序列的理论母离子质量相同时,再根据所述肽序列的字符串的常规英文字典序排序,排序后去除冗余,创建肽索引文件块;肽索引元文件生成模块,连接所述肽归约模块,收集所有所述肽索引文件块的信息,并根据所述信息生成所述肽索引元数据文件。
15.根据权利要求14所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于, 所述肽映射模块,还用于当所述蛋白质序列子文件的个数大于集群中处理器核的个数时,或大于所述肽索引映射处理器进程数时,对所述蛋白质序列子文件进行多轮处理,完成任务的肽索引映射处理器进程继续领取新任务,先到先得,直到所有蛋白质序列子文件都处理完。
16.根据权利要求14所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于, 所述肽归约模块,还用于当所述质量范围的个数大于集群中处理器核的个数时,或大于所述肽索引归约处理器进程数时,对所述质量范围进行多轮处理,完成任务的肽索引归约处理器进程继续领取新任务,先到先得,直到所有肽序列中间文件都处理完。
17.根据权利要求13、14、15或16所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于,所述谱图数据处理模块,又包括谱图划分模块,用于解析所述质谱谱图,将所述质谱谱图平均划分为多个原始数据块, 每个所述原始数据块的容量小于集群节点的本地存储器空间;谱图映射模块,连接所述谱图划分模块,用于对每个所述原始数据块由一个谱图映射处理器进程处理,所述谱图映射处理器进程依次读入所处理的原始数据块中的每一张质谱谱图,按照质量范围将所述质谱谱图划分到相应的队列中,再将各个队列存储到不同的谱图中间文件中;谱图归约模块,连接所述谱图映射模块,用于对不同的质量范围,每个质量范围由一个谱图归约处理器进程处理,所述谱图归约处理器进程之间相互独立并行处理,所述谱图归约处理器进程将读取本质量范围内的所有谱图中间文件,对输入的质谱谱图先按实验母离子质量大小排列,当实验母离子质量相同时,再根据谱图标题名的常规英文字典序排序,排序后依次存入多块谱图数据块,每块中包含的质谱谱图数目相等;质谱元数据文件生成模块,连接所述谱图归约模块,用于收集所有所述质谱数据块的信息,并根据所述信息生成所述质谱元数据文件。
18.根据权利要求17所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于, 所述谱图映射模块,还用于当所述原始数据块的个数大于集群中处理器核的个数时,或大于所述谱图映射处理器进程数时,对所述原始数据块进行多轮处理,完成任务的谱图映射处理器进程继续领取新任务,先到先得,直到所有原始数据块都处理完。
19.根据权利要求17所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于, 所述谱图归约模块,还用于当所述质量范围的个数大于集群中处理器核的个数时,或大于所述谱图归约处理器进程数时,对所述质量范围进行多轮处理,完成任务的谱图归约处理器进程继续领取新任务,先到先得,直到所有谱图中间文件都处理完。
20.根据权利要求13、14、15、16、18或19所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于,所述肽谱匹配鉴定模块,还用于由所述主进程读入所述质谱元数据文件和所述肽索引元数据文件,根据得到的统计信息,将分配给自己负责鉴定的所述谱图数据块按照质量范围从高到低排序依次指派给所述从进程,如果所述肽索引文件块为多块,则同一所述谱图数据块被指派多次,每次对应一块肽索引文件块;所述从进程采用先到先得的方式领取任务,每当鉴定任务完成,存入鉴定结果子块,与所述主进程通讯,发回所述鉴定结果子块的文件名,并索要下一步任务对应的谱图数据块和肽索引文件块的信息,直到完成所有谱图数据块的鉴定。
21.根据权利要求20所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于, 所述肽谱匹配鉴定模块,还用于由所述从进程读入所述肽索引文件块,在原始肽序列的基础上计算出所发生修饰变化的可能情况,利用待鉴定的谱图数据块中的母离子质量误差窗口寻找符合设定质量范围的修饰肽序列,将符合要求的修饰肽序列输入给肽谱匹配打分算法以实现对肽序列的鉴定。
22.根据权利要求13、14、15、16、18、19或21所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于,所述结果汇总输出模块,又包括汇总模块,用于对每一块所述谱图数据块对应的所有鉴定结果子块,由一个谱图鉴定结果汇总处理器进程负责处理,所述谱图鉴定结果汇总处理器进程之间相互独立并行处理,所述谱图鉴定结果汇总处理器进程读入指定给自己的一块所述谱图数据块的所有鉴定结果子块,把每张质谱谱图的所有的鉴定结果的肽序列按肽谱匹配打分算法的分数排序, 保留排名靠前的肽序列信息和分数,存入分块汇总文件;过滤推断输出模块,连接所述汇总模块,用于读入所述分块汇总文件,把各质谱谱图鉴定结果的肽序列过滤、去冗余,将得到的非冗余肽序列平均分成多组,对每一组非冗余肽序列由一个蛋白质查询处理器进程负责查找对应的蛋白质编号和序列,所述蛋白质查询处理器进程相互独立并行处理,对查找结果运用肽到蛋白质推断算法,生成输出文件。
23.根据权利要求22所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于, 所述汇总模块,还用于当所述谱图数据块的个数大于集群中处理器核的个数时,或大于所述谱图鉴定结果汇总处理器进程数时,对所述鉴定结果子块进行多轮处理,完成任务的谱图鉴定结果汇总处理器进程继续领取新任务,先到先得,直到所有鉴定结果子块都被处理完。
24.根据权利要求22所述的蛋白质鉴定的大规模分布式并行加速系统,其特征在于, 所述过滤推断输出模块,还用于当所述非冗余肽序列分组的个数大于集群中处理器核的个数时,或大于所述蛋白质查询处理器进程数时,对所述非冗余肽序列分组进行多轮处理,完成任务的蛋白质查询处理器进程继续领取新任务,先到先得,直到所有非冗余肽序列都处理完。
全文摘要
本发明有关于一种蛋白质鉴定的大规模分布式并行加速方法及其系统,该方法包括步骤1,用并行处理方法,对蛋白质序列进行理论酶切得到肽序列,对肽序列进行排序、去冗余处理,以创建肽索引文件块;步骤2,用并行处理方法,对质谱谱图进行排序,并将排序后的质谱谱图进行平均划分,得到多个谱图数据块;步骤3,将谱图数据块平均分配给多个主进程,各主进程对所分配的谱图数据块进行排序,依次指派给空闲的从进程进行肽谱匹配鉴定;步骤4,用并行处理方法,汇总鉴定结果,利用鉴定得到的肽序列推断对应的蛋白质序列,生成输出文件。本发明在处理器核规模达到几百甚至超过千个以上,进行蛋白质鉴定能取得满意的加速效率。
文档编号G06F19/18GK102411679SQ20101029203
公开日2012年4月11日 申请日期2010年9月26日 优先权日2010年9月26日
发明者付岩, 吴妍洁, 周郴, 孙瑞祥, 王乐珩, 王文平, 贺思敏, 迟浩 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1