專利名稱:一種蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法及其系統(tǒng)的制作方法
技術(shù)領域:
本發(fā)明涉及一種規(guī)模化蛋白質(zhì)鑒定的分布式并行加速方法,特別是涉及一種采用分布式并行技術(shù)以在多個計算節(jié)點上,有效分擔搜索任務從而提高蛋白質(zhì)鑒定速度的方法及其系統(tǒng)。
背景技術(shù):
“蛋白質(zhì)組”(Proteome)描繪了特定生物樣品中在給定時刻和給定條件下表達的蛋白質(zhì)的全體。顧名思義,蛋白質(zhì)組學就是對蛋白質(zhì)組的研究,其最基本的任務就是確定出哪些蛋白質(zhì)在生物體內(nèi)得到了表達、表達量是多少、翻譯后修飾以及蛋白與蛋白相互作用等,由此獲得蛋白質(zhì)水平上關于疾病發(fā)生、細胞代謝等過程的整體而全面的認識。在當前的蛋白質(zhì)組研究中,基于串聯(lián)質(zhì)譜的蛋白質(zhì)鑒定是最廣泛使用的技術(shù)之一,參考文獻1 《Aebersold,R. and Mann, Μ. Mass spectrometry-based proteomics,Nature,2003,422 198-207》中對相關的內(nèi)容有較為詳細的說明?;诖?lián)質(zhì)譜鑒定蛋白質(zhì)的基本步驟是首先將混合蛋白樣品酶切為肽,經(jīng)過液相色譜分離后,進入質(zhì)譜儀,得到肽的實驗串聯(lián)質(zhì)譜圖,然后對質(zhì)譜圖進行分析,得到對應的肽序列,最后通過肽到蛋白質(zhì)歸并分析,得到混合蛋白樣品中的蛋白質(zhì)列表,從而達到對蛋白質(zhì)進行鑒定的目的。在鑒定產(chǎn)生實驗串聯(lián)質(zhì)譜的肽序列的過程中,數(shù)據(jù)庫搜索的方法被廣泛采用。如在參考文獻2 ((Eng, J. K.,McCormack, A. L. and Yates, J. R. An approach to correlate tandem mass spectral data of peptides with amino acid sequences 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 using mass spectrometry data. Electrophoresis, 1999,20 :3551_3567》以及參考文獻 4《Field,H. I.,F(xiàn)enyo, D. and Beavis,R. C. RADARS,a bioinformatics solution that automates proteome mass spectral analysis, optimises protein identification, and archives data in a relational database. Proteomics, 2002,2 :36_47》中都對采用數(shù)據(jù)庫搜索的方法實現(xiàn)肽序列的鑒定做了詳細說明。采用數(shù)據(jù)庫搜索的方法通過肽序列鑒定實現(xiàn)蛋白質(zhì)鑒定的方法主要包括以下步驟首先,模擬生物學中的酶切規(guī)則將蛋白質(zhì)數(shù)據(jù)庫中的蛋白質(zhì)序列切分成肽序列;然后計算切分得到的各個肽序列的質(zhì)量;最后利用質(zhì)譜數(shù)據(jù)中的母離子質(zhì)量誤差窗口尋找符合一定質(zhì)量范圍內(nèi)的肽序列,將符合要求的肽序列輸入給打分函數(shù)以實現(xiàn)對肽序列的鑒定。由于近年來隨著蛋白質(zhì)數(shù)據(jù)庫的規(guī)模不斷增長,對非特異性酶切肽的鑒定需求不斷增加,導致肽序列的規(guī)模不斷增大,同時,質(zhì)譜數(shù)據(jù)的生成速度也在不斷增長,因此對蛋白質(zhì)的鑒定速度提出了更高的要求。但前述的蛋白質(zhì)鑒定方法在效率上卻有不足,因此需要對上述的數(shù)據(jù)庫搜索方法進行加速。近年來,隨著商業(yè)集群的廉價和普及,大規(guī)模并行計算已經(jīng)成為科學和工業(yè)計算的加速問題的主流解決方案。所謂集群,即將一群計算機用網(wǎng)絡以某種結(jié)構(gòu)互連起來,統(tǒng)一調(diào)度、協(xié)調(diào)處理以實現(xiàn)高效并行計算。和早期的統(tǒng)一地址空間的巨型計算機相比,集群中的每個節(jié)點都擁有獨立的中央處理器、內(nèi)存和必要外設。集群中的進程可以大規(guī)模并行,但彼此之間的通訊代價較高,這也意味著運行在普通電腦上的原有串行或多線程程序,并不天然具有可拓展性,也就是說,將單機程序移植到集群上并不能直接獲得加速。必須對現(xiàn)有算法進行重新設計,才能最大程度的利用硬件設施的能力。由于即使在中小規(guī)模的集群上加速效果明顯的算法,隨著集群規(guī)模的擴大,其加速效果仍然會不斷下降?,F(xiàn)有工業(yè)計算軟件,大多無法在超百核處理器規(guī)模下達到線性加速比,在千核處理器以上規(guī)模能達到線性加速比的更加少見。除了速度因素,集群的使用還涉及空間因素,使用集群的高性能計算場景常常涉及非常巨大的數(shù)據(jù)集(例如生物的蛋白質(zhì)序列,以及待鑒定的海量質(zhì)譜譜圖),這種海量數(shù)據(jù)集在普通計算機或集群的單節(jié)點上甚至無法運行一些常規(guī)操作(例如載入內(nèi)存運行常見的內(nèi)存排序算法),不得不使用集群硬件系統(tǒng)以及特殊設計的軟件算法進行處理?,F(xiàn)有蛋白質(zhì)鑒定搜索引擎大都實現(xiàn)了并行版本。如在參考文獻5《Sadygov, R. G.,Eng, J.,Durr, E.,Saraf, A.,McDonald,H.,MacCoss, M. J.,Yates, J. R. 3rd , Code developments to improve the efficiency of automated MS/MS spectra interpretation. J Proteome Res,2002,1 :211_215〉〉、參考文獻 6〈〈Duncan,D. Τ.,Craig, R.,Link,A. J. Parallel tandem :a program for parallel processing of tandem mass 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, M.,Cheung,K. H., Miller,P. L. ,Williams,K. X ! ! Tandem,an improved method for running X ! tandem in parallel on collections of commodity computers. J Proteome Res 2008,7 :293_299》、 參考文獻 8〈〈Halligan,B. D.,Geiger,J. F.,Vailejos,A. K. ,Greene, A. S. Twigger, S. N. Low Cost,Scalable Proteomics Data Analysis Using Amazon' s Cloud Computing Services and Open Source Search Algorithms. J Proteome Res 2009,8 :3148_3153.》和參考文獻9 《Leheng Wang, Wenping Wang, Hao Chi,Yanjie Wu,You Li,Yan Fu,Chen Zhou, Ruixiang Sun,Haipeng Wang,Chao Liu, Zuofei Yuan,Liyun Xiu,He,Si-Min. An efficient parallelization of phosphorylated peptide. Rapid Commun Mass Spectrom. 2010,24 1791-1798》中都有說明。然而以上的方法都只適用于集群規(guī)模較小的情況。一旦處理器規(guī)模達到幾百甚至超過千核以上,加速效率就開始顯著下降,更多硬件投資并不能取得更高的加速比。鑒于現(xiàn)有方法在大規(guī)模集群上的不足,提供一種有效的分布式并行加速方法在實際應用中具有重要意義。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法及其系統(tǒng), 用于解決現(xiàn)有技術(shù)在達到百核甚至超過千核處理器規(guī)模的并行條件下,加速效率不佳的問題。為了實現(xiàn)上述目的,本發(fā)明提供一種蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法, 其特征在于,包括
步驟1,輸入蛋白質(zhì)序列,采用并行處理方法對所述蛋白質(zhì)序列進行理論酶切得到肽序列,對所述肽序列按照理論母離子質(zhì)量進行排序、去冗余處理,以創(chuàng)建肽索引文件塊, 并根據(jù)所述肽索引文件塊生成肽索引元數(shù)據(jù)文件;步驟2,輸入質(zhì)譜譜圖,對所 述質(zhì)譜譜圖按照實驗母離子質(zhì)量進行排序,并將排序后的質(zhì)譜譜圖進行平均劃分,得到多個譜圖數(shù)據(jù)塊,并根據(jù)所述譜圖數(shù)據(jù)塊生成質(zhì)譜元數(shù)據(jù)文件;步驟3,將所述譜圖數(shù)據(jù)塊平均分配給多個主進程,各主進程管理多個從進程,各主進程對所分配的譜圖數(shù)據(jù)塊進行排序,依次指派給空閑的從進程進行肽譜匹配鑒定,并當所述肽索引文件塊不止一塊時,將同一個所述譜圖數(shù)據(jù)塊分配給多個從進程,由該多個從進程遍歷單塊所述肽索引文件塊進行肽譜匹配鑒定;步驟4,采用并行處理方法,匯總鑒定結(jié)果,利用鑒定到的肽序列推斷對應的蛋白質(zhì)序列,生成輸出文件。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其中,所述步驟1中,還包括11,將所述蛋白質(zhì)序列平均劃分為多個蛋白質(zhì)序列子文件,每個所述蛋白質(zhì)序列子文件的容量小于集群節(jié)點的本地存儲器空間;12,對每個所述蛋白質(zhì)序列子文件由一個肽索引映射處理器進程處理,所述肽索引映射處理器進程之間相互獨立并行處理,所述肽索引映射處理器進程將所處理的蛋白質(zhì)序列子文件中的每一條蛋白質(zhì)序列依次進行理論酶切得到肽序列,再將所述肽序列按照質(zhì)量范圍劃分到相應的隊列中,去除冗余肽序列后,將各個隊列存儲到不同的肽序列中間文件;13,對不同的質(zhì)量范圍,每個質(zhì)量范圍由一個肽索引歸約處理器進程處理,所述肽索引歸約處理器進程之間相互獨立并行處理,所述肽索引歸約處理器進程讀取本質(zhì)量范圍內(nèi)的所有肽序列中間文件中的肽序列,并先按照理論母離子質(zhì)量大小排列,當所述肽序列的理論母離子質(zhì)量相同時,再根據(jù)所述肽序列的字符串的常規(guī)英文字典序排序,排序后去除冗余,創(chuàng)建肽索引文件塊;14,收集所有所述肽索引文件塊的信息,并根據(jù)所述信息生成所述肽索引元數(shù)據(jù)文件。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其中,所述步驟12中,還包括當所述蛋白質(zhì)序列子文件的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述肽索引映射處理器進程數(shù)時,對所述蛋白質(zhì)序列子文件進行多輪處理,完成任務的肽索引映射處理器進程繼續(xù)領取新任務,先到先得,直到所有蛋白質(zhì)序列子文件都處理完。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其中,所述步驟13中,還包括當所述質(zhì)量范圍的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述肽索引歸約處理器進程數(shù)時,對所述質(zhì)量范圍進行多輪處理,完成任務的肽索引歸約處理器進程繼續(xù)領取新任務,先到先得,直到所有所述肽序列中間文件都處理完。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其中,
所述步驟3中,所述主進程指派空閑的從進程進行肽譜匹配鑒定的步驟包括所述主進程讀入所述質(zhì)譜元數(shù)據(jù)文件和所述肽索引元數(shù)據(jù)文件,根據(jù)得到的統(tǒng)計信息,將分配給自己負責鑒定的所述譜圖數(shù)據(jù)塊按照質(zhì)量范圍從高到低排序,依次指派給所述從進程,如果所述肽索引文件塊為多塊,則同一所述譜圖數(shù)據(jù)塊被指派多次,每次對應一塊肽索引文件塊;所述從進程采用先到先得的方式領取任務,每當鑒定任務完成,存入鑒定結(jié)果子塊,與所述主進程通訊,發(fā)回所述鑒定結(jié)果子塊的文件名,并索要下一步任務對應的譜圖數(shù)據(jù)塊和肽索引文件塊的信息,直到完成所有譜圖數(shù)據(jù)塊的鑒定。
所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其中,所述步驟3中,所述從進程進行肽譜匹配鑒定的步驟包括所述從進程讀入肽索引文件塊,在原始肽序列的基礎上計算出所發(fā)生修飾變化的可能情況,利用待鑒定的譜圖數(shù)據(jù)塊中的母離子質(zhì)量誤差窗口尋找符合設定質(zhì)量范圍的修飾肽序列,將符合要求的修飾肽序列輸入給肽譜匹配打分算法以實現(xiàn)對肽序列的鑒定。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其中,所述步驟4中,還包括41、匯總鑒定結(jié)果,對每一塊所述譜圖數(shù)據(jù)塊對應的所有鑒定結(jié)果子塊,由一個譜圖鑒定結(jié)果匯總處理器進程負責處理,所述譜圖鑒定結(jié)果匯總處理器進程之間相互獨立并行處理,所述譜圖鑒定結(jié)果匯總處理器進程讀入指定給自己的一塊所述譜圖數(shù)據(jù)塊的所有鑒定結(jié)果子塊,把每張質(zhì)譜譜圖的所有的鑒定結(jié)果的肽序列按肽譜匹配打分算法的分數(shù)排序,保留排名靠前的肽序列信息和分數(shù),存入分塊匯總文件。42、讀入所有分塊匯總文件,把各質(zhì)譜譜圖鑒定結(jié)果的肽序列過濾、去冗余,將得到的非冗余肽序列平均分為多組,對每一組非冗余肽序列由一個蛋白質(zhì)查詢處理器進程負責查找對應的蛋白質(zhì)編號和序列,所述蛋白質(zhì)查詢處理器進程相互獨立并行處理,對查找結(jié)果運用肽到蛋白質(zhì)推斷算法,生成輸出文件。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其中,所述步驟41中,還包括當所述譜圖數(shù)據(jù)塊的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述譜圖鑒定結(jié)果匯總處理器進程數(shù)時,對所述鑒定結(jié)果子塊進行多輪處理,完成任務的譜圖鑒定結(jié)果匯總處理器進程繼續(xù)領取新任務,先到先得,直到所有所述鑒定結(jié)果子塊都被處理完。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其中,所述步驟42中,還包括當所述非冗余肽序列分組的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述蛋白質(zhì)查詢處理器進程數(shù)時,對所述非冗余肽序列分組進行多輪處理,完成任務的蛋白質(zhì)查詢處理器進程繼續(xù)領取新任務,先到先得,直到所有非冗余肽序列都處理完。為了實現(xiàn)上述目的,本發(fā)明提供一種蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng), 其特征在于,包括肽序列索引模塊,用于對輸入的蛋白質(zhì)序列,采用并行處理方法進行理論酶切得到肽序列,對所述肽序列按照理論母離子質(zhì)量進行排序、去冗余處理,以創(chuàng)建肽索引文件塊,并根據(jù)所述肽索引文件塊生成肽索引元數(shù)據(jù)文件;譜圖數(shù)據(jù)處理模塊,用于對輸入的質(zhì)譜譜圖,按照實驗母離子質(zhì)量進行排序,并將排序后的質(zhì)譜譜圖進行平均劃分,得到多個譜圖數(shù)據(jù)塊,并根據(jù)所述譜圖數(shù)據(jù)塊生成質(zhì)譜元數(shù)據(jù)文件;肽譜匹配鑒定模塊,連接所述肽序列索引模塊、所述譜圖數(shù)據(jù)處理模塊,用于將所述譜圖數(shù)據(jù)塊平均分配給各主進程,各主進程管理多個從進程,各主進程對所分配的譜圖數(shù)據(jù)塊進行排序,依次指派給空閑的從進程進行肽譜匹配鑒定,并當所述肽索引文件塊不止一塊時,將同一個所述譜圖數(shù)據(jù)塊分配給多個從進程,由多個從進程遍歷單塊所述肽索引文件塊進行肽譜匹配鑒定;結(jié)果匯總輸出模塊,連接所述肽譜匹配鑒定模塊,用于采用并行處理方法匯總鑒定結(jié)果,利用鑒定到的肽序列推斷對應的蛋白質(zhì)序列,生成輸出文件。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其中,所述肽序列索引模塊,又包括蛋白質(zhì)序列劃分模塊,用于將所述蛋白質(zhì)序列平均劃分為多個蛋白質(zhì)序列子文件,每個所述蛋白質(zhì)序列子文件的容量小于集群節(jié)點的本地存儲器空間;肽映射模塊,連接所述蛋白質(zhì)序列劃分模塊,用于對每個所述蛋白質(zhì)序列子文件啟動一個肽索引映射處理器進程處理,所述肽索引映射處理器進程之間相互獨立并行處理,所述肽索引映射處理器進程將所處理的蛋白質(zhì)序列子文件中的每一條蛋白質(zhì)序列依次進行理論酶切得到肽序列,再將所述肽序列按照質(zhì)量范圍劃分到相應的隊列中,去除冗余肽序列后,將各個隊列存儲到不同的肽序列中間文件;肽歸約模塊,連接所述肽映射模塊,用于對不同的質(zhì)量范圍,每個質(zhì)量范圍由一個肽索引歸約處理器進程處理,所述肽索引歸約處理器進程之間相互獨立并行處理,由所述肽索引歸約處理器進程讀取本質(zhì)量范圍內(nèi)的所有肽序列中間文件中的肽序列,并先按照理論母離子質(zhì)量大小排列,當所述肽序列的理論母離子質(zhì)量相同時,再根據(jù)所述肽序列的字符串的常規(guī)英文字典序排序,排序后去除冗余,創(chuàng)建肽索引文件塊;肽索引元文件生成模塊,連接所述肽歸約模塊,收集所有所述肽索引文件塊的信息,并根據(jù)所述信息生成所述肽索引元數(shù)據(jù)文件。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其中,所述肽映射模塊,還用于當所述蛋白質(zhì)序列子文件的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述肽索引映射處理器進程數(shù)時,對所述蛋白質(zhì)序列子文件進行多輪處理, 完成任務的肽索引映射處理器進程繼續(xù)領取新任務,先到先得,直到所有蛋白質(zhì)序列子文件都處理完。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其中,所述肽歸約模塊,還用于當所述質(zhì)量范圍的個數(shù)大于集群中處理器核的個數(shù)時, 或大于所述肽索引歸約處理器進程數(shù)時,對所述質(zhì)量范圍進行多輪處理,完成任務的肽索引歸約處理器進程繼續(xù)領取新任務,先到先得,直到所有肽序列中間文件都處理完。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其中,所述肽譜匹配鑒定模塊,還用于由所述主進程讀入所述質(zhì)譜元數(shù)據(jù)文件和所述肽索引元數(shù)據(jù)文件,根據(jù)得到的統(tǒng)計信息,將分配給自己負責鑒定的所述譜圖數(shù)據(jù)塊按照質(zhì)量范圍從高到低排序依次指派給所述從進程,如果所述肽索引文件塊為多塊,則同一所述譜圖數(shù)據(jù)塊被指派多次,每次對應一塊肽索引文件塊;所述從進程采用先到先得的方式領取任務,每當鑒定任務完成,存入鑒定結(jié)果子塊,與所述主進程通訊,發(fā)回所述鑒定結(jié)果子塊的文件名,并索要下一步任務對應的譜圖數(shù)據(jù)塊和肽索引文件塊的信息,直到完成所有譜圖數(shù)據(jù)塊的鑒定。所述的蛋白質(zhì)鑒定 的大規(guī)模分布式并行加速系統(tǒng),其中,所述肽譜匹配鑒定模塊,還用于由所述從進程讀入所述肽索引文件塊,在原始肽序列的基礎上計算出所發(fā)生修飾變化的可能情況,利用待鑒定的譜圖數(shù)據(jù)塊中的母離子質(zhì)量誤差窗口尋找符合設定質(zhì)量范圍的修飾肽序列,將符合要求的修飾肽序列輸入給肽譜匹配打分算法以實現(xiàn)對肽序列的鑒定。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其中,所述結(jié)果匯總輸出模塊,又包括匯總模塊,用于對每一塊所述譜圖數(shù)據(jù)塊對應的所有鑒定結(jié)果子塊,由一個譜圖鑒定結(jié)果匯總處理器進程負責處理,所述譜圖鑒定結(jié)果匯總處理器進程之間相互獨立并行處理,所述譜圖鑒定結(jié)果匯總處理器進程讀入指定給自己的一塊所述譜圖數(shù)據(jù)塊的所有鑒定結(jié)果子塊,把每張質(zhì)譜譜圖的所有的鑒定結(jié)果的肽序列按肽譜匹配打分算法的分數(shù)排序,保留排名靠前的肽序列信息和分數(shù),存入分塊匯總文件;過濾推斷輸出模塊,連接所述匯總模塊,用于讀入所述分塊匯總文件,把各質(zhì)譜譜圖鑒定結(jié)果的肽序列過濾、去冗余,將得到的非冗余肽序列平均分成多組,對每一組非冗余肽序列由一個蛋白質(zhì)查詢處理器進程負責查找對應的蛋白質(zhì)編號和序列,所述蛋白質(zhì)查詢處理器進程相互獨立并行處理,對查找結(jié)果運用肽到蛋白質(zhì)推斷算法,生成輸出文件。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其中,所述匯總模塊,還用于當所述譜圖數(shù)據(jù)塊的個數(shù)大于集群中處理器核的個數(shù)時, 或大于所述譜圖鑒定結(jié)果匯總處理器進程數(shù)時,對所述鑒定結(jié)果子塊進行多輪處理,完成任務的譜圖鑒定結(jié)果匯總處理器進程繼續(xù)領取新任務,先到先得,直到所有鑒定結(jié)果子塊都被處理完。所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其中,所述過濾推斷輸出模塊,還用于當所述非冗余肽序列分組的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述蛋白質(zhì)查詢處理器進程數(shù)時,對所述非冗余肽序列分組進行多輪處理,完成任務的蛋白質(zhì)查詢處理器進程繼續(xù)領取新任務,先到先得,直到所有非冗余肽序列都處理完。與現(xiàn)有技術(shù)相比,本發(fā)明的有益技術(shù)效果在于1、本發(fā)明通過分布式并行處理蛋白質(zhì)序列庫,使超出單機容量的海量蛋白質(zhì)序列得以高效進行理論酶切、去除冗余、排序并分塊創(chuàng)建肽索引文件塊,單塊肽索引文件塊可載入內(nèi)存進行高效率遍歷。2、本發(fā)明通過有序的、去冗余的、分布式的肽序列索引存儲組織蛋白質(zhì)和肽序列, 相對直接搜索蛋白質(zhì)序列,不僅大大減少了冗余的計算量,而且還合并了母離子質(zhì)量相同或接近譜圖的重疊部分的肽譜匹配操作,從而大大提高了鑒定流程的效率。3、本發(fā)明通過分布式并行處理質(zhì)譜譜圖,使超出單機容量的海量質(zhì)譜譜圖得以高效排序并分塊創(chuàng)建譜圖數(shù)據(jù)塊。產(chǎn)生的譜圖數(shù)據(jù)塊便于動態(tài)調(diào)度并行處理。4、本發(fā)明中用多個主進程分擔與大量從進程的通訊壓力,從而減少了阻塞等待,大大提高了集群處理器規(guī)模達到幾百甚至超過千核以上情況下的加速效率。 5、本發(fā)明采用并行處理的方式匯總鑒定結(jié)果,通過肽序列查找所屬的蛋白質(zhì),并進行肽到蛋白質(zhì)的推斷,大大提高了這一過程速度。
圖1為本發(fā)明的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法的流程圖;圖2為本發(fā)明的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng)的結(jié)構(gòu)圖。
具體實施例方式以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。如圖1所示,為本發(fā)明的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法的流程圖,該流程是采用如下操作對蛋白質(zhì)鑒定進行大規(guī)模分布式并行加速,具體步驟如下步驟101,首先設定必要的搜索參數(shù);步驟102,然后輸入蛋白質(zhì)序列,利用集群中的多個處理器進程對蛋白質(zhì)序列進行理論酶切,將得到的肽序列按理論母離子質(zhì)量進行排序、去冗余,最終創(chuàng)建索引文件塊,并根據(jù)肽索引文件塊生成肽索引元數(shù)據(jù)文件;步驟103,接下來解析輸入的質(zhì)譜譜圖,利用集群中的多個處理器進程對質(zhì)譜譜圖按照實驗母離子質(zhì)量進行排序,將排序后的質(zhì)譜譜圖按順序存儲到多個譜圖數(shù)據(jù)塊當中, 每個譜圖數(shù)據(jù)塊中存儲的質(zhì)譜譜圖數(shù)量是相同的,再根據(jù)譜圖數(shù)據(jù)塊生成質(zhì)譜元數(shù)據(jù)文件;步驟104,然后啟動若干個主進程,主進程又各自負責管理更多個從進程,將譜圖數(shù)據(jù)塊平均分給各個主進程。每個主進程將分配給自己的譜圖數(shù)據(jù)塊按照質(zhì)量范圍從高到低排序,動態(tài)指派給空閑的從進程進行肽譜匹配鑒定,如果肽索引文件塊不止一塊,則同一個譜圖數(shù)據(jù)塊還會被分配給多個從進程,由該多個從進程遍歷單塊肽索引文件塊進行肽譜匹配鑒定;步驟105,用并行處理方法,匯總鑒定結(jié)果,利用鑒定到的肽序列查找對應的蛋白質(zhì)序列,進行肽到蛋白質(zhì)的推斷,生成輸出文件。上述步驟102中目前常見的比較低效的操作方式為,依次讀入蛋白質(zhì)序列,將其一一進行理論酶切得到肽序列,再將肽序列分塊存入一階臨時肽序列塊,然后讀入一階臨時肽序列塊,對每K塊合并、去除冗余、按照理論母離子質(zhì)量排序,輸出到二階臨時肽序列塊,再讀入二階臨時肽序列塊,對每K塊合并、去除冗余、按照理論母離子質(zhì)量排序輸出到三階臨時肽序列塊……反復循環(huán),直到所有數(shù)據(jù)被合并到一起為止,最后依次讀取最終一輪的臨時肽序列塊,創(chuàng)建肽索引文件塊,收集所有肽索引文件塊的信息,并根據(jù)該信息生成肽索引元數(shù)據(jù)文件。上述步驟103中目前常見的比較低效的操作方式為,解析質(zhì)譜譜圖,將其依次讀入,分塊存入一階臨時譜圖數(shù)據(jù)塊,然后依次讀入一階臨時譜圖數(shù)據(jù)塊,對每K塊合并、按照實驗母離子質(zhì)量排序,輸出到二階臨時譜圖數(shù)據(jù)塊,再依次讀入二階臨時譜圖數(shù)據(jù)塊,進一步合并、按照實驗母離子質(zhì)量排序,輸出到三階臨時譜圖數(shù)據(jù)塊……反復循環(huán),直到所有數(shù)據(jù)合并到一起為止,最后依次讀取最終一輪的臨時譜圖數(shù)據(jù)塊,存入若干塊譜圖數(shù)據(jù)塊,每塊中包含的質(zhì)譜譜圖數(shù)目相等,該數(shù)目由輸入?yún)?shù)指定,最后收集所有質(zhì)譜數(shù)據(jù)塊的信息,并根據(jù)該信息生成質(zhì)譜元數(shù)據(jù)文件。 上述步驟104中目前常見的比較低效的操作方式為,單個主進程將譜圖數(shù)據(jù)塊依次指派給從進程;從進程采用先到先得的方式領取任務,領取到指定的肽索引文件塊的編號后,依次讀入所有肽索引文件塊,在原始肽序列的基礎上計算出所發(fā)生修飾變化的可能情況,利用待鑒定的譜圖數(shù)據(jù)塊中的母離子質(zhì)量誤差窗口尋找符合設定質(zhì)量范圍的修飾肽序列,將符合要求的修飾肽序列輸入給肽譜匹配打分算法以實現(xiàn)對肽序列的鑒定,每當鑒定任務完成,存入鑒定結(jié)果子塊,與主進程通訊,發(fā)回鑒定結(jié)果子塊的文件名,并索要下一步任務對應的譜圖數(shù)據(jù)塊和肽索引文件塊的信息,直到完成所有譜圖數(shù)據(jù)塊的鑒定。進一步地,上述步驟102中,又包括步驟1021,讀入蛋白質(zhì)序列,將其平均劃分為多個蛋白質(zhì)序列子文件,蛋白質(zhì)序列子文件的數(shù)目可以大于集群中處理器核的個數(shù),每個蛋白質(zhì)序列子文件的容量必須小于集群節(jié)點的本地存儲器空間;步驟1022,對每個蛋白質(zhì)序列子文件啟動一個肽索引映射處理器進程(簡稱為 Peptide Map進程)處理,Peptide Map進程之間相互獨立并行處理,Peptide Map進程將所處理的蛋白質(zhì)序列子文件中的每一條蛋白質(zhì)序列依次進行理論酶切得到肽序列,再將肽序列按照質(zhì)量范圍劃分到相應的隊列中,去除冗余肽序列后,將各個隊列存儲到不同的肽序列中間文件;步驟1023,對不同的質(zhì)量范圍,每個質(zhì)量范圍由一個肽索引歸約處理器進程(簡稱為P印tide Reduce進程)處理,P印tide Reduce進程之間相互獨立并行處理,由P印tide Reduce進程讀入本質(zhì)量范圍內(nèi)的所有肽序列中間文件中的肽序列,對肽序列排序,排序操作中,先按照理論母離子質(zhì)量大小排列,當肽序列的理論母離子質(zhì)量相同時,再根據(jù)肽序列的字符串的常規(guī)英文字典序排序,排序后去除冗余,創(chuàng)建肽索引文件塊;步驟1024,該步驟是可選步驟,一個可選項是生成肽到蛋白的倒排索引,所述倒排索引創(chuàng)建算法的具體實現(xiàn)見參考文獻10《You Li,Hao Chi,Le-Heng Wang, 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 spectrometry based database searching by peptide and spectrum indexing. "Rapid Communications in Mass Spectrometry,2010, 24 :807-814.》以及申請?zhí)枮?00810223683. 1的專利申請《一種規(guī)模化蛋白質(zhì)鑒定中的索引加速方法及相應的系統(tǒng)》;步驟1025,收集所有肽索引文件塊的信息,并根據(jù)該信息生成肽索引元數(shù)據(jù)文件。在較佳的實施方案中,步驟1022中,當?shù)鞍踪|(zhì)序列子文件的個數(shù)大于集群中處理器核的個數(shù)時,或大于P印tide Map進程數(shù)時,對蛋白質(zhì)序列子文件進行多輪處理,完成任務的P印tide Map進程繼續(xù)領取新任務,先到先得,直到所有蛋白質(zhì)序列子文件都處理完。在較佳的實施方案中,步驟1023中,當質(zhì)量范圍的個數(shù)大于集群中處理器核的個數(shù)時,或大于P印tide Reduce進程數(shù)時,對質(zhì)量范圍進行多輪處理,完成任務的P印tide Reduce進程繼續(xù)領取新任務,先到先得,直到所有肽序列中間文件都處理完。進一步地,上述步驟103中,又包括步驟1031,解析質(zhì)譜譜圖,將其平均劃分為多個原始數(shù)據(jù)塊,原始數(shù)據(jù)塊的數(shù)目可以大于集群中處理器核的個數(shù),每個原始數(shù)據(jù)塊的容量必須小于集群節(jié)點的本地存儲器空間;步驟1032,對每個原始數(shù)據(jù)塊由一個Spectra Map進程處理,Spectra Map進程依次讀入所處理的原始數(shù)據(jù)塊中的每一張質(zhì)譜譜圖,按照質(zhì)量范圍將質(zhì)譜譜圖劃分到相應的隊列中,再將各個隊列存儲到不同的譜圖中間文件中;
步驟1033,對不同的質(zhì)量范圍,每個質(zhì)量范圍由一個Spectra Reduce進程處理, Spectra Map進程之間相互獨立并行處理,Spectra Reduce進程將讀取本質(zhì)量范圍內(nèi)的所有譜圖中間文件,對輸入的質(zhì)譜譜圖排序,排序操作中,先按實驗母離子質(zhì)量大小排列,當實驗母離子質(zhì)量相同時,再根據(jù)譜圖標題名的常規(guī)英文字典序排序,排序后再依次存入若干塊譜圖數(shù)據(jù)塊,每塊中包含的質(zhì)譜譜圖數(shù)目相等,該數(shù)目由輸入?yún)?shù)指定;步驟1034,收集所有質(zhì)譜數(shù)據(jù)塊的信息,并根據(jù)該信息生成質(zhì)譜元數(shù)據(jù)文件。在較佳的實施方案中,在步驟1032中,當原始數(shù)據(jù)塊的個數(shù)大于集群中處理器核的個數(shù)時,或大于Spectra Map進程數(shù)時,對原始數(shù)據(jù)塊進行多輪處理,完成任務的Spectra Map進程繼續(xù)領取新任務,先到先得,直到所有原始數(shù)據(jù)塊都處理完。在較佳的實施方案中,在步驟1032中,當質(zhì)量范圍的個數(shù)大于集群中處理器核的個數(shù)時,或大于Spectra Reduce進程數(shù)時,對質(zhì)量范圍進行多輪處理,完成任務的Spectra Reduce進程繼續(xù)領取新任務,先到先得,直到所有譜圖中間文件都處理完。在較佳的實施方案中,步驟104中,動態(tài)指派操作包括主進程讀入質(zhì)譜元數(shù)據(jù)文件和肽索引元數(shù)據(jù)文件,根據(jù)得到的統(tǒng)計信息,將分配給自己負責鑒定的譜圖數(shù)據(jù)塊按照質(zhì)量范圍從高到低排序依次指派給從進程,如果肽索引文件塊為多塊,則同一譜圖數(shù)據(jù)塊被指派多次,每次對應一塊肽索引文件塊;從進程采用先到先得的方式領取任務,每當鑒定任務完成,存入鑒定結(jié)果子塊,與主進程通訊,發(fā)回鑒定結(jié)果子塊的文件名,并索要下一步任務對應的譜圖數(shù)據(jù)塊和肽索引文件塊的信息,直到完成所有譜圖數(shù)據(jù)塊的鑒定。在較佳的實施方案中,步驟104中,肽譜匹配鑒定操作包括從進程讀入肽索引文件塊,在原始肽序列的基礎上計算出所發(fā)生修飾變化的可能情況,利用待鑒定的譜圖數(shù)據(jù)塊中的母離子質(zhì)量誤差窗口尋找符合設定質(zhì)量范圍的修飾肽序列,將符合要求的修飾肽序列輸入給肽譜匹配打分算法以實現(xiàn)對肽序列的鑒定。肽譜匹配打分算法的具體實現(xiàn)見參考文獻 11 ((Y. Fu, Q. Yang, R. Sun, D. Li, R. Zeng, C. X. Ling, and W. Gao, " Exploiting the kernel trick to correlate fragment ions for peptide identification via tandem mass spectrometry, “ Bioinformatics,2004,20 :1948-1954.》以及專利《一種使用串聯(lián)質(zhì)譜數(shù)據(jù)鑒定肽的方法ZL200410088779. 3》。進一步地,上述步驟105中,又包括步驟1051,匯總鑒定結(jié)果,對每一塊譜圖數(shù)據(jù)塊對應的所有的鑒定結(jié)果子塊,由一個譜圖鑒定結(jié)果匯總處理器進程(簡稱為Results Gather進程)負責處理,Results Gather進程之間相互獨立并行處理,Results Gather進程讀入指定給自己的一塊譜圖數(shù)據(jù)塊的所有鑒定結(jié)果子塊,把每張質(zhì)譜譜圖的所有的鑒定結(jié)果的肽序列按肽譜匹配打分算法的分數(shù)排序,保留排名靠前的肽序列信息和分數(shù),存入分塊匯總文件。步驟1052,讀入所有分塊匯總文件,把各質(zhì)譜譜圖鑒定結(jié)果的肽序列過濾、去冗余,將得到的非冗余肽序列平均分為若干組,對每一組非冗余肽序列由一個蛋白質(zhì)查詢處理器進程(簡稱為Protein Select進程)負責查找對應的蛋白質(zhì)編號和序列, Protein Select進程相互獨立并行處理,查找后再運行肽到蛋白質(zhì)推斷算法,最后生成輸出文件。肽到蛋白推斷算法的具體實現(xiàn)見參考文獻12《Al Nesvizhskii and R Aebersold. "Interpretation of shotgun proteomic data :the protein inference problem. ”Mol Cell Proteomics,2005,4 :1419-1440.》。 在較佳的實施方案中,在步驟1051中,當譜圖數(shù)據(jù)塊的個數(shù)大于集群中處理器核的個數(shù)時,或大于Results Gather進程數(shù)時,對鑒定結(jié)果子塊進行多輪處理,完成任務的 Results Gather進程繼續(xù)領取新任務,先到先得,直到所有鑒定結(jié)果子塊都處理完。在較佳的實施方案中,在步驟1052中,當非冗余肽序列分組的個數(shù)大于集群中處理器核的個數(shù)時,或大于Protein Select進程數(shù)時,對非冗余肽序列分組進行多輪處理,完成任務的Protein Select進程繼續(xù)領取新任務,先到先得,直到所有非冗余肽序列都處理
元ο為了方便理解,結(jié)合一個具體的實例加以說明首先,處理蛋白質(zhì)序列,創(chuàng)建肽索引文件塊。假設在蛋白質(zhì)序列庫中擁有 3,000,000條蛋白質(zhì)序列,集群共有1000個處理器核。第一步,將所有蛋白質(zhì)序列劃分為 1000個蛋白質(zhì)序列子文件,每個蛋白質(zhì)序列子文件包含3,000條蛋白質(zhì)序列。第二步,并行啟動1000個P印tide Map進程,每個P印tide Map各自讀入一個蛋白質(zhì)序列子文件,將讀入的3,000條蛋白質(zhì)序列依次進行理論酶切得到肽序列,再將肽序列按照質(zhì)量范圍劃分到相應的隊列中,例如假設以每IOODa為寬度劃分不同質(zhì)量范圍的隊列,質(zhì)量為400. 15的肽序列EVDG將被存入400-500Da的隊列。去除冗余肽序列后,將各個隊列存儲到不同的肽序列中間文件。第三步,對不同的質(zhì)量范圍并行啟動P印tide Reduce進程,每個質(zhì)量范圍由一個P印tide Reduce進程處理,P印tide Reduce進程之間相互獨立并行處理,啟動多少P印tide Reduce進程是由預先設定的肽序列的質(zhì)量上下限和質(zhì)量范圍寬度確定的,本例中肽序列的質(zhì)量的上下限設為400-10000Da,質(zhì)量范圍寬度是lOODa,那么就需要96個 Peptide Reduce進程(10000-400/100)。由P印tide Reduce進程讀入處于設定質(zhì)量范圍內(nèi)(例如400-500Da)的所有肽序列中間文件中的肽序列,本實施例中每個進程都需要讀入 1000個肽序列中間文件,將肽序列按照理論母離子質(zhì)量大小排序,去除冗余,創(chuàng)建肽索引文件塊。本實施例中,最終生成了 96個肽索引文件塊。肽索引文件塊的內(nèi)容包括質(zhì)量、肽序列、遺漏酶切位點。還有一個可選操作是同時生成肽到蛋白的倒排索引,倒排索引的一行采用如下格式首先是肽序列的編號(size_t),接下來是該肽序列所屬的蛋白質(zhì)序列的編號 (size_t),如果同一個肽序列屬于多個蛋白質(zhì)序列,后者編號依次排列。第四步,上述工作結(jié)束后,由Peptide Meta進程收集所有質(zhì)譜數(shù)據(jù)塊的信息,并根據(jù)該信息生成質(zhì)譜元數(shù)據(jù)文件,該信息主要包括索引文件塊的個數(shù)、各個文件塊的大小、對應的質(zhì)量范圍、存儲的肽序列條目、計算肽序列質(zhì)量的氨基酸質(zhì)量表、創(chuàng)建時間等。接著,處理質(zhì)譜譜圖,創(chuàng)建譜圖數(shù)據(jù)塊。假設有5,000, 000張質(zhì)譜,集群共有1000 個處理器核。第一步,解析質(zhì)譜譜圖,將其平均劃分為1,000個原始數(shù)據(jù)塊,每個原始數(shù)據(jù)塊包含5000張質(zhì)譜譜圖。第二步,啟動1000個SpectraMap進程,對每一塊原始數(shù)據(jù)塊由一個Spectra Map進程處理,Spectra Map進程依次讀入所處理的原始數(shù)據(jù)塊中的每一張質(zhì)譜譜圖,按照質(zhì)量范圍將質(zhì)譜譜圖劃分到相應的隊列中,例如假設以IOODa為窗口,質(zhì)量為400. 15的譜圖將被存入400-500Da的隊列,再將各個隊列存儲到不同的譜圖中間文件中。 第三步,對不同的質(zhì)量范圍并行啟動Spectra Reduce進程,每個質(zhì)量范圍由一個Spectra Reduce進程處理,Spectra Reduce進程之間相互獨立并行處理,啟動多少Spectra Reduce 進程是由預先設定的肽序列的質(zhì)量上下限和質(zhì)量范圍寬度確定的,本例中肽序列的質(zhì)量的上下限設為400-10000Da,質(zhì)量范圍寬度是lOODa,那么就需要96個Spectra Reduce進程(10000-400/100)。Spectra Reduce進程將讀取本質(zhì)量范圍內(nèi)(例如400_500Da)的所有譜圖中間文件,對輸入的質(zhì)譜譜圖按照實驗母離子質(zhì)量排序,再依次存入若干塊譜圖數(shù)據(jù)塊,每塊中的質(zhì)譜譜圖數(shù)目相等,質(zhì)譜譜圖 的數(shù)目由輸入?yún)?shù)指定。本實施例中,處于 400-500Da范圍內(nèi)的譜圖文件共7,000張,按照實驗母離子質(zhì)量排序后,每200張存入一塊, 共生成了 35塊,這里的200由輸入?yún)?shù)決定。第四步,上述工作結(jié)束后,由S印ctra Meta 進程收集所有質(zhì)譜數(shù)據(jù)塊的信息,并根據(jù)該信息生成質(zhì)譜元數(shù)據(jù)文件,該信息主要包括譜圖數(shù)據(jù)塊個數(shù)、各個數(shù)據(jù)塊對應的譜圖數(shù)目、創(chuàng)建時間等。然后,開始進行鑒定。啟動若干個主進程,主進程又各自負責管理更多從進程,本例中,全部1000個進程,指定0號、100號、200號……900號共十個進程為主進程,其余都是從進程,每個主進程負責管理編號排在自己后面的99個從進程,例如123號從進程,就歸 100號進程管理。將上一步產(chǎn)生的譜圖數(shù)據(jù)塊平均分給各個主進程,每個主進程讀入質(zhì)譜元數(shù)據(jù)文件和肽索引元數(shù)據(jù)文件,根據(jù)統(tǒng)計得到的信息,將分配給自己的譜圖數(shù)據(jù)塊按照質(zhì)量范圍從高到低排序,依次動態(tài)指派給空閑的從進程進行肽譜匹配鑒定,如果前述產(chǎn)生的肽索引文件塊不止一塊,則同一個譜圖數(shù)據(jù)塊還會被分配給多個從進程,每個從進程負責遍歷單塊肽索引文件進行肽譜匹配鑒定,本實施例中,假設前面一步產(chǎn)生了 50,000個譜圖數(shù)據(jù)塊,96個肽索引文件塊,則每個主進程分配了 5,000個數(shù)據(jù)塊(間隔劃分以負載均衡, 例如0號節(jié)點被劃分了 0號、10號、20號……4,990號數(shù)據(jù)塊),每個主節(jié)點向從節(jié)點進行了 5000*96次任務分配。最終總共產(chǎn)生了 10*5000*96塊的鑒定結(jié)果子塊。最后,匯總鑒定結(jié)果。假設此前有50,000個譜圖數(shù)據(jù)塊,10*5000*96塊的鑒定結(jié)果子塊,集群有1,000個處理器核。第一步,則啟動1,000個Results Gather進程,通過多輪處理分別對50,000個譜圖數(shù)據(jù)塊的鑒定結(jié)果子塊進行處理,每個Results Gather進程每次將讀入指定的某塊譜圖數(shù)據(jù)塊對應的96個鑒定結(jié)果子塊,合并排序,保留靠前的候選肽結(jié)果,存入分塊匯總文件。第二步,讀入所有的50,000個分塊匯總文件,將各質(zhì)譜譜圖的鑒定結(jié)果的肽序列過濾、去冗余,假設得到了 70,000非冗余肽序列,被平均分為700組,啟動700個Protein Select進程處理每一組非冗余肽序列,通過非冗余的肽序列查找對應的蛋白質(zhì)序列(如果此前可選步驟中生成了前述倒排索引,則直接通過查表獲得,如果沒有就直接搜索原始蛋白質(zhì)序列庫),查詢之后接著運行肽到蛋白推斷算法,得到180個鑒定的蛋白質(zhì)的信息,最終生成輸出文件,輸出文件內(nèi)容包括每張譜圖的鑒定結(jié)果的肽序列、修飾信息、母離子質(zhì)量、打分分數(shù),以及鑒定到的蛋白質(zhì)的名稱、編號和蛋白質(zhì)序列等。如圖2所示,為本發(fā)明的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng)的結(jié)構(gòu)圖。該系統(tǒng)200包括肽序列索引模塊21,用于對輸入的蛋白質(zhì)序列,采用并行處理方法進行理論酶切得到肽序列,對肽序列按照理論母離子質(zhì)量進行排序、去冗余處理,以創(chuàng)建肽索引文件塊, 并根據(jù)肽索引文件塊生成肽索引元數(shù)據(jù)文件;
譜圖數(shù)據(jù)處理模塊22,用于對輸入的質(zhì)譜譜圖,采用并行處理方法并按照實驗母離子質(zhì)量進行排序,并將排序后的質(zhì)譜譜圖進行平均劃分,得到多個譜圖數(shù)據(jù)塊,并根據(jù)譜圖數(shù)據(jù)塊生成質(zhì)譜元數(shù)據(jù)文件;肽譜匹配鑒定模塊23,連接肽序列索引模塊21、肽序列索引模塊22,用于將譜圖數(shù)據(jù)塊平均分配給各主進程,各主進程管理多個從進程,各主進程對所分配的譜圖數(shù)據(jù)塊進行排序,依次指派給空閑的從進程進行肽譜匹配鑒定,并當肽索引文件塊不止一塊時,將同一個譜圖數(shù)據(jù)塊分配給多個從進程,由多個從進程遍歷單塊肽索引文件塊進行肽譜匹配鑒定;結(jié)果匯總輸出模塊24,連接肽譜匹配鑒定模塊23,用于采用并行處理方法,匯總鑒定結(jié)果,通過鑒定到的肽序列查找對應的蛋白質(zhì)序列,進行肽到蛋白質(zhì)的推斷,生成輸出文件。肽序列索引模塊21,常規(guī)實施方案中,依次讀入蛋白質(zhì)序列,將其一一進行理論酶切得到肽序列,再將肽序列分塊存入一階臨時肽序列塊,然后讀入一階臨時肽序列塊,對每 K塊合并、去除冗余、按照母離子質(zhì)量排序,輸出到二階臨時肽序列塊,再讀入二階臨時肽序列塊,對每K塊合并、去除冗余、按照母離子質(zhì)量排序輸出到三階臨時肽序列塊……反復循環(huán),直到所有數(shù)據(jù)被合并到一起為止,最后依次讀取最終一輪的臨時肽序列塊,創(chuàng)建肽索引文件塊,收集所有肽索引文件塊的信息,并根據(jù)該信息生成肽索引元數(shù)據(jù)文件。譜圖數(shù)據(jù)處理模塊22,常規(guī)實施方案中,解析質(zhì)譜譜圖,將其依次讀入,分塊存入一階臨時譜圖數(shù)據(jù)塊,然后依次讀入一階臨時譜圖數(shù)據(jù)塊,對每K塊合并、按照母離子質(zhì)量排序,輸出到二階臨時譜圖數(shù)據(jù)塊,再依次讀入二階臨時譜圖數(shù)據(jù)塊,進一步合并、按照母離子質(zhì)量排序,輸出到三階臨時譜圖數(shù)據(jù)塊……反復循環(huán),直到所有數(shù)據(jù)合并到一起為止, 最后依次讀取最終一輪的臨時譜圖數(shù)據(jù)塊,存入若干塊譜圖數(shù)據(jù)塊,每塊中包含的質(zhì)譜譜圖數(shù)目相等,該數(shù)目由輸入?yún)?shù)指定,最后收集所有質(zhì)譜數(shù)據(jù)塊的信息,并根據(jù)該信息生成質(zhì)譜元數(shù)據(jù)文件。肽譜匹配鑒定模塊23,常規(guī)實施方案中,單個主進程將譜圖數(shù)據(jù)塊依次指派給從進程;從進程采用先到先得的方式領取任務,領取到指定的肽索引文件塊的編號后,依次讀入所有肽索引文件塊,在原始肽序列的基礎上計算出所發(fā)生修飾變化的可能情況,利用待鑒定的譜圖數(shù)據(jù)塊中的母離子質(zhì)量誤差窗口尋找符合設定質(zhì)量范圍的修飾肽序列,將符合要求的修飾肽序列輸入給肽譜匹配打分算法以實現(xiàn)對肽序列的鑒定,每當鑒定任務完成, 存入鑒定結(jié)果子塊,與主進程通訊,發(fā)回鑒定結(jié)果子塊的文件名,并索要下一步任務對應的譜圖數(shù)據(jù)塊和肽索引文件塊的信息,直到完成所有譜圖數(shù)據(jù)塊的鑒定。進一步地,肽序列索引模塊21又包括蛋白質(zhì)序列劃分模塊211,用于將蛋白質(zhì)序列平均劃分為多個蛋白質(zhì)序列子文件, 蛋白質(zhì)序列子文件的數(shù)目可以大于集群中處理器核的個數(shù),每個蛋白質(zhì)序列子文件的容量必須小于集群節(jié)點的本地存儲器空間;肽映射模塊212,連接蛋白質(zhì)序列劃分模塊211,用于對每個蛋白質(zhì)序列子文件啟動一個肽索引映射處理器進程(簡稱為P印tide Map進程)處理,Peptide Map進程之間相互獨立并行處理,Peptide Map進程將所處理的蛋白質(zhì)序列子文件中的每一條蛋白質(zhì)序列依次進行理論酶切得到肽序列,再將肽序列按照質(zhì)量范圍劃分到相應的隊列中,去除冗余肽序列后,將各個隊列存儲到不同的肽序列中間文件;肽歸約模塊213,連接肽映射模塊212,用于對不同的質(zhì)量范圍,每個質(zhì)量范圍由一個肽索引歸約處理器進程(簡稱為P印tide Reduce進程)處理,Peptide Reduce進程之間相互獨立并行處理,由P印tide Reduce進程讀入處于設定質(zhì)量范圍內(nèi)的所有肽序列中間文件中的肽序列,按照理論母離子質(zhì)量排序,排序操作中,先按照母離子理論質(zhì)量大小排列,當肽序列的質(zhì)量相同時,再根據(jù)肽序列的字符串的常規(guī)英文字典序排序,排序后去除冗余,創(chuàng)建肽索引文件塊;肽索引元文件生成模塊214,連接肽歸約模塊213,用于收集所有肽索引文件塊的信息,并根據(jù)該信息生成肽索引元數(shù)據(jù)文件。在較佳的實施方案中,肽映射模塊212,還用于當?shù)鞍踪|(zhì)序列子文件的個數(shù)大于集群中處理器核的個數(shù)時,或大于P印tide Map進程數(shù)時,對蛋白質(zhì)序列子文件進行多輪處理,完成任務的P印tide Map進程繼續(xù)領取新任務,先到先得,直到所有蛋白質(zhì)序列子文件都處理完。在較佳的實施方案中,肽歸約模塊213,還用于當質(zhì)量范圍的個數(shù)大于集群中處理器核的個數(shù)時,或大于P印tide Reduce進程數(shù)時,對質(zhì)量范圍進行多輪處理,完成任務的 Peptide Reduce進程繼續(xù)領取新任務,先到先得,直到所有肽序列中間文件都處理完。進一步地,譜圖數(shù)據(jù)處理模塊22又包括譜圖劃分模塊221,用于解析所輸入的質(zhì)譜譜圖,將其平均劃分為多個原始數(shù)據(jù)塊,原始數(shù)據(jù)塊的數(shù)目可以大于集群中處理器核的個數(shù),每個原始數(shù)據(jù)塊的容量必須小于集群節(jié)點的本地存儲器空間;譜圖映射模塊222,連接譜圖劃分模塊221,用于對每個原始數(shù)據(jù)塊由一個譜圖映射處理器進程(簡稱為Spectra Map進程)處理,Spectra Map進程依次讀入所處理的原始數(shù)據(jù)塊中的每一張質(zhì)譜譜圖,按照質(zhì)量范圍將質(zhì)譜譜圖劃分到相應的隊列中,再將各個隊列存儲到不同的譜圖中間文件中;譜圖歸約模塊223,連接譜圖映射模塊222,用于對不同的質(zhì)量范圍中每個質(zhì)量范圍由一個譜圖歸約處理器進程(簡稱為Spectra Reduce進程)處理,Spectra Reduce進程之間相互獨立并行處理,Spectra Reduce進程將讀取處于設定質(zhì)量范圍內(nèi)的所有譜圖中間文件,對輸入的質(zhì)譜譜圖按照母離子質(zhì)量排序,排序操作中,先按實驗母離子質(zhì)量大小排列,當實驗母離子質(zhì)量相同時,再根據(jù)譜圖標題名的常規(guī)英文字典序排序,排序后依次存入若干塊譜圖數(shù)據(jù)塊,每塊中包含的質(zhì)譜譜圖數(shù)目相等,該數(shù)目由輸入?yún)?shù)指定;譜圖數(shù)據(jù)元文件生成模塊224,連接譜圖歸約模塊223,用于收集所有質(zhì)譜數(shù)據(jù)塊的信息,并根據(jù)該信息生成質(zhì)譜元數(shù)據(jù)文件。在較佳的實施方案中,譜圖映射模塊222,還用于當原始數(shù)據(jù)塊的個數(shù)大于集群中處理器核的個數(shù)時,或大于Spectra Map進程數(shù)時,對每個原始數(shù)據(jù)塊進行多輪處理,完成任務的Spectra Map進程繼續(xù)領取新任務,先到先得,直到所有原始數(shù)據(jù)塊都處理完。在較佳的實施方案中,譜圖歸約模塊223,還用于當質(zhì)量范圍的個數(shù)大于集群中處理器核的個數(shù)時,或大于Spectra Reduce進程數(shù)時,對質(zhì)量范圍進行多輪處理,完成任務的 Spectra Reduce進程繼續(xù)領取新任務,先到先得,直到所有譜圖數(shù)據(jù)塊都處理完。在較佳的實施方案中,肽譜匹配鑒定模塊23進行的指派操作包括主進程讀入質(zhì)譜元數(shù)據(jù)文件和肽索引元數(shù)據(jù)文件,根據(jù)得到的統(tǒng)計信息,將分配給自己負責鑒定的譜圖數(shù)據(jù)塊按照質(zhì)量范圍從高到低排序依次指派給從進程,如果肽索引文件塊為多塊,則同一譜圖數(shù)據(jù)塊被指派多次,每次對應一塊肽索引文件塊;從進程采用先到先得的方式領取任務,每當鑒定任務完成,存入鑒定結(jié)果子塊,與主進程通訊,發(fā)回鑒定結(jié)果子塊的文件名,并索要下一步任務對應的譜圖數(shù)據(jù)塊和肽索引文件塊的信息,直到完成所有譜圖數(shù)據(jù)塊的鑒定。在較佳的實施方案中,肽譜匹配鑒定模塊23進行的肽譜匹配鑒定操作包括由從進程讀入肽索引文件塊,在原始肽序列的基礎上計算出所發(fā)生修飾變化的可能情況,利用待鑒定的譜圖數(shù)據(jù)塊中的母離子質(zhì)量誤差窗口尋找符合設定質(zhì)量范圍的修飾肽序列,將符合要求的修飾肽序列輸入給肽譜匹配打分算法以實現(xiàn)對肽序列的鑒定。進一步地,結(jié)果匯總輸出模塊24又包括匯總模塊241,用于對每一塊譜圖數(shù)據(jù)塊對應的所有的鑒定結(jié)果子塊,由一個譜圖鑒定結(jié)果匯總處理器進程(簡稱為Results Gather進程)負責處理,Results Gather進程之間相互獨立并行處理,Results Gather進程讀入指定給自己的一塊譜圖數(shù)據(jù)塊的所有鑒定結(jié)果子塊,把每張質(zhì)譜譜圖的所有的鑒定結(jié)果的肽序列按肽譜匹配打分算法的分數(shù)排序,保留排名靠前的肽序列信息和分數(shù),存入分塊匯總文件。過濾推斷輸出模塊242,連接匯總模塊241,用于讀入所有分塊匯總文件,把各質(zhì)譜譜圖鑒定結(jié)果的肽序列過濾、去冗余,將得到的非冗余肽序列平均分為若干組,對每一組非冗余肽序列由一個蛋白質(zhì)查詢處理器進程(簡稱為Protein Select進程)負責查找對應的蛋白質(zhì)編號和序列,Protein Select進程相互獨立并行處理,查找后再運行肽到蛋白質(zhì)推斷算法,最后生成輸出文件。在較佳的實施方案中,匯總模塊241,還用于當譜圖數(shù)據(jù)塊的個數(shù)大于集群中處理器核的個數(shù)時,或大于Results Gather進程數(shù)時,對鑒定結(jié)果子文件進行多輪處理,完成任務的Results Gather進程繼續(xù)領取新任務,先到先得,直到所有鑒定結(jié)果子塊都完成。在較佳的實施方案中,過濾推斷輸出模塊242,還用于當非冗余肽序列分組的個數(shù)大于集群中處理器核的個數(shù)時,或大于Results Gather進程數(shù)時,對鑒定結(jié)果子塊進行多輪處理,完成任務的Results Gather進程繼續(xù)領取新任務,先到先得,直到所有鑒定結(jié)果子塊都處理完。本發(fā)明提出了一種蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法及系統(tǒng),解決了現(xiàn)有技術(shù)在達到百核甚至超過千核處理器規(guī)模的并行條件下,加速效率不佳的問題,特別是在處理器核規(guī)模達到幾百甚至超過千個以上,仍然能取得滿意的加速效率。最后所應說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制。盡管參照實施例對本發(fā)明進行了詳細說明,本領域的普通技術(shù)人員應當理解,對本發(fā)明的技術(shù)方案進行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應涵蓋在本發(fā)明的權(quán)利要求范圍當中。
權(quán)利要求
1.一種蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其特征在于,包括步驟1,輸入蛋白質(zhì)序列,采用并行處理方法對所述蛋白質(zhì)序列進行理論酶切得到肽序列,對所述肽序列按照理論母離子質(zhì)量進行排序、去冗余處理,以創(chuàng)建肽索引文件塊,并根據(jù)所述肽索引文件塊生成肽索引元數(shù)據(jù)文件;步驟2,輸入質(zhì)譜譜圖,對所述質(zhì)譜譜圖按照實驗母離子質(zhì)量進行排序,并將排序后的質(zhì)譜譜圖進行平均劃分,得到多個譜圖數(shù)據(jù)塊,并根據(jù)所述譜圖數(shù)據(jù)塊生成質(zhì)譜元數(shù)據(jù)文件;步驟3,將所述譜圖數(shù)據(jù)塊平均分配給多個主進程,各主進程管理多個從進程,各主進程對所分配的譜圖數(shù)據(jù)塊進行排序,依次指派給空閑的從進程進行肽譜匹配鑒定,并當所述肽索引文件塊不止一塊時,將同一個所述譜圖數(shù)據(jù)塊分配給多個從進程,由該多個從進程遍歷單塊所述肽索引文件塊進行肽譜匹配鑒定;步驟4,采用并行處理方法,匯總鑒定結(jié)果,利用鑒定到的肽序列推斷對應的蛋白質(zhì)序列,生成輸出文件。
2.根據(jù)權(quán)利要求1所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其特征在于, 所述步驟1中,還包括11,將所述蛋白質(zhì)序列平均劃分為多個蛋白質(zhì)序列子文件,每個所述蛋白質(zhì)序列子文件的容量小于集群節(jié)點的本地存儲器空間;12,對每個所述蛋白質(zhì)序列子文件由一個肽索引映射處理器進程處理,所述肽索引映射處理器進程之間相互獨立并行處理,所述肽索引映射處理器進程將所處理的蛋白質(zhì)序列子文件中的每一條蛋白質(zhì)序列依次進行理論酶切得到肽序列,再將所述肽序列按照質(zhì)量范圍劃分到相應的隊列中,去除冗余肽序列后,將各個隊列存儲到不同的肽序列中間文件;13,對不同的質(zhì)量范圍,每個質(zhì)量范圍由一個肽索引歸約處理器進程處理,所述肽索引歸約處理器進程之間相互獨立并行處理,所述肽索引歸約處理器進程讀取本質(zhì)量范圍內(nèi)的所有肽序列中間文件中的肽序列,并先按照理論母離子質(zhì)量大小排列,當所述肽序列的理論母離子質(zhì)量相同時,再根據(jù)所述肽序列的字符串的常規(guī)英文字典序排序,排序后去除冗余,創(chuàng)建肽索引文件塊;14,收集所有所述肽索引文件塊的信息,并根據(jù)所述信息生成所述肽索引元數(shù)據(jù)文件。
3.根據(jù)權(quán)利要求2所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其特征在于, 所述步驟12中,還包括當所述蛋白質(zhì)序列子文件的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述肽索引映射處理器進程數(shù)時,對所述蛋白質(zhì)序列子文件進行多輪處理,完成任務的肽索引映射處理器進程繼續(xù)領取新任務,先到先得,直到所有蛋白質(zhì)序列子文件都處理完。
4.根據(jù)權(quán)利要求2所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其特征在于, 所述步驟13中,還包括當所述質(zhì)量范圍的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述肽索引歸約處理器進程數(shù)時,對所述質(zhì)量范圍進行多輪處理,完成任務的肽索引歸約處理器進程繼續(xù)領取新任務,先到先得,直到所有所述肽序列中間文件都處理完。
5.根據(jù)權(quán)利要求1、2、3或4所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其特征在于,所述步驟3中,所述主進程指派空閑的從進程進行肽譜匹配鑒定的步驟包括所述主進程讀入所述質(zhì)譜元數(shù)據(jù)文件和所述肽索引元數(shù)據(jù)文件,根據(jù)得到的統(tǒng)計信息,將分配給自己負責鑒定的所述譜圖數(shù)據(jù)塊按照質(zhì)量范圍從高到低排序,依次指派給所述從進程,如果所述肽索引文件塊為多塊,則同一所述譜圖數(shù)據(jù)塊被指派多次,每次對應一塊肽索引文件塊;所述從進程采用先到先得的方式領取任務,每當鑒定任務完成,存入鑒定結(jié)果子塊,與所述主進程通訊,發(fā)回所述鑒定結(jié)果子塊的文件名,并索要下一步任務對應的譜圖數(shù)據(jù)塊和肽索引文件塊的信息,直到完成所有譜圖數(shù)據(jù)塊的鑒定。
6.根據(jù)權(quán)利要求5所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其特征在于,所述步驟3中,所述從進程進行肽譜匹配鑒定的步驟包括所述從進程讀入肽索引文件塊,在原始肽序列的基礎上計算出所發(fā)生修飾變化的可能情況,利用待鑒定的譜圖數(shù)據(jù)塊中的母離子質(zhì)量誤差窗口尋找符合設定質(zhì)量范圍的修飾肽序列,將符合要求的修飾肽序列輸入給肽譜匹配打分算法以實現(xiàn)對肽序列的鑒定。
7.根據(jù)權(quán)利要求1、2、3、4或6所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其特征在于,所述步驟4中,還包括41、匯總鑒定結(jié)果,對每一塊所述譜圖數(shù)據(jù)塊對應的所有鑒定結(jié)果子塊,由一個譜圖鑒定結(jié)果匯總處理器進程負責處理,所述譜圖鑒定結(jié)果匯總處理器進程之間相互獨立并行處理,所述譜圖鑒定結(jié)果匯總處理器進程讀入指定給自己的一塊所述譜圖數(shù)據(jù)塊的所有鑒定結(jié)果子塊,把每張質(zhì)譜譜圖的所有的鑒定結(jié)果的肽序列按肽譜匹配打分算法的分數(shù)排序, 保留排名靠前的肽序列信息和分數(shù),存入分塊匯總文件。42、讀入所有分塊匯總文件,把各質(zhì)譜譜圖鑒定結(jié)果的肽序列過濾、去冗余,將得到的非冗余肽序列平均分為多組,對每一組非冗余肽序列由一個蛋白質(zhì)查詢處理器進程負責查找對應的蛋白質(zhì)編號和序列,所述蛋白質(zhì)查詢處理器進程相互獨立并行處理,對查找結(jié)果運用肽到蛋白質(zhì)推斷算法,生成輸出文件。
8.根據(jù)權(quán)利要求7所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其特征在于,所述步驟41中,還包括當所述譜圖數(shù)據(jù)塊的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述譜圖鑒定結(jié)果匯總處理器進程數(shù)時,對所述鑒定結(jié)果子塊進行多輪處理,完成任務的譜圖鑒定結(jié)果匯總處理器進程繼續(xù)領取新任務,先到先得,直到所有所述鑒定結(jié)果子塊都被處理完。
9.根據(jù)權(quán)利要求7所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法,其特征在于,所述步驟42中,還包括當所述非冗余肽序列分組的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述蛋白質(zhì)查詢處理器進程數(shù)時,對所述非冗余肽序列分組進行多輪處理,完成任務的蛋白質(zhì)查詢處理器進程繼續(xù)領取新任務,先到先得,直到所有非冗余肽序列都處理完。
10.一種蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其特征在于,包括肽序列索引模塊,用于對輸入的蛋白質(zhì)序列,采用并行處理方法進行理論酶切得到肽序列,對所述肽序列按照理論母離子質(zhì)量進行排序、去冗余處理,以創(chuàng)建肽索引文件塊,并根據(jù)所述肽索引文件塊生成肽索引元數(shù)據(jù)文件;譜圖數(shù)據(jù)處理模塊,用于對輸入的質(zhì)譜譜圖,按照實驗母離子質(zhì)量進行排序,并將排序后的質(zhì)譜譜圖進行平均劃分,得到多個譜圖數(shù)據(jù)塊,并根據(jù)所述譜圖數(shù)據(jù)塊生成質(zhì)譜元數(shù)據(jù)文件;肽譜匹配鑒定模塊,連接所述肽序列索引模塊、所述譜圖數(shù)據(jù)處理模塊,用于將所述譜圖數(shù)據(jù)塊平均分配給各主進程,各主進程管理多個從進程,各主進程對所分配的譜圖數(shù)據(jù)塊進行排序,依次指派給空閑的從進程進行肽譜匹配鑒定,并當所述肽索引文件塊不止一塊時,將同一個所述譜圖數(shù)據(jù)塊分配給多個從進程,由多個從進程遍歷單塊所述肽索引文件塊進行肽譜匹配鑒定;結(jié)果匯總輸出模塊,連接所述肽譜匹配鑒定模塊,用于采用并行處理方法匯總鑒定結(jié)果,利用鑒定到的肽序列推斷對應的蛋白質(zhì)序列,生成輸出文件。
11.根據(jù)權(quán)利要求10所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其特征在于, 所述肽序列索引模塊,又包括蛋白質(zhì)序列劃分模塊,用于將所述蛋白質(zhì)序列平均劃分為多個蛋白質(zhì)序列子文件,每個所述蛋白質(zhì)序列子文件的容量小于集群節(jié)點的本地存儲器空間;肽映射模塊,連接所述蛋白質(zhì)序列劃分模塊,用于對每個所述蛋白質(zhì)序列子文件啟動一個肽索引映射處理器進程處理,所述肽索引映射處理器進程之間相互獨立并行處理,所述肽索引映射處理器進程將所處理的蛋白質(zhì)序列子文件中的每一條蛋白質(zhì)序列依次進行理論酶切得到肽序列,再將所述肽序列按照質(zhì)量范圍劃分到相應的隊列中,去除冗余肽序列后,將各個隊列存儲到不同的肽序列中間文件;肽歸約模塊,連接所述肽映射模塊,用于對不同的質(zhì)量范圍,每個質(zhì)量范圍由一個肽索引歸約處理器進程處理,所述肽索引歸約處理器進程之間相互獨立并行處理,由所述肽索弓丨歸約處理器進程讀取本質(zhì)量范圍內(nèi)的所有肽序列中間文件中的肽序列,并先按照理論母離子質(zhì)量大小排列,當所述肽序列的理論母離子質(zhì)量相同時,再根據(jù)所述肽序列的字符串的常規(guī)英文字典序排序,排序后去除冗余,創(chuàng)建肽索引文件塊;肽索引元文件生成模塊,連接所述肽歸約模塊,收集所有所述肽索引文件塊的信息,并根據(jù)所述信息生成所述肽索引元數(shù)據(jù)文件。
12.根據(jù)權(quán)利要求11所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其特征在于, 所述肽映射模塊,還用于當所述蛋白質(zhì)序列子文件的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述肽索引映射處理器進程數(shù)時,對所述蛋白質(zhì)序列子文件進行多輪處理,完成任務的肽索引映射處理器進程繼續(xù)領取新任務,先到先得,直到所有蛋白質(zhì)序列子文件都處理完。
13.根據(jù)權(quán)利要求11所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其特征在于, 所述肽歸約模塊,還用于當所述質(zhì)量范圍的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述肽索引歸約處理器進程數(shù)時,對所述質(zhì)量范圍進行多輪處理,完成任務的肽索引歸約處理器進程繼續(xù)領取新任務,先到先得,直到所有肽序列中間文件都處理完。
14.根據(jù)權(quán)利要求10、11、12或13所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其特征在于,所述肽譜匹配鑒定模塊,還用于由所述主進程讀入所述質(zhì)譜元數(shù)據(jù)文件和所述肽索引元數(shù)據(jù)文件,根據(jù)得到的統(tǒng)計信息,將分配給自己負責鑒定的所述譜圖數(shù)據(jù)塊按照質(zhì)量范圍從高到低排序依次指派給所述從進程,如果所述肽索引文件塊為多塊,則同一所述譜圖數(shù)據(jù)塊被指派多次,每次對應一塊肽索引文件塊;所述從進程采用先到先得的方式領取任務,每當鑒定任務完成,存入鑒定結(jié)果子塊,與所述主進程通訊,發(fā)回所述鑒定結(jié)果子塊的文件名,并索要下一步任務對應的譜圖數(shù)據(jù)塊和肽索引文件塊的信息,直到完成所有譜圖數(shù)據(jù)塊的鑒定。
15.根據(jù)權(quán)利要求14所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其特征在于, 所述肽譜匹配鑒定模塊,還用于由所述從進程讀入肽索引文件塊,在原始肽序列的基礎上計算出所發(fā)生修飾變化的可能情況,利用待鑒定的譜圖數(shù)據(jù)塊中的母離子質(zhì)量誤差窗口尋找符合設定質(zhì)量范圍的修飾肽序列,將符合要求的修飾肽序列輸入給肽譜匹配打分算法以實現(xiàn)對肽序列的鑒定。
16.根據(jù)權(quán)利要求10、11、12、13或15所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其特征在于,所述結(jié)果匯總輸出模塊,又包括匯總模塊,用于對每一塊所述譜圖數(shù)據(jù)塊對應的所有鑒定結(jié)果子塊,由一個譜圖鑒定結(jié)果匯總處理器進程負責處理,所述譜圖鑒定結(jié)果匯總處理器進程之間相互獨立并行處理,所述譜圖鑒定結(jié)果匯總處理器進程讀入指定給自己的一塊所述譜圖數(shù)據(jù)塊的所有鑒定結(jié)果子塊,把每張質(zhì)譜譜圖的所有的鑒定結(jié)果的肽序列按肽譜匹配打分算法的分數(shù)排序, 保留排名靠前的肽序列信息和分數(shù),存入分塊匯總文件;過濾推斷輸出模塊,連接所述匯總模塊,用于讀入所述分塊匯總文件,把各質(zhì)譜譜圖鑒定結(jié)果的肽序列過濾、去冗余,將得到的非冗余肽序列平均分成多組,對每一組非冗余肽序列由一個蛋白質(zhì)查詢處理器進程負責查找對應的蛋白質(zhì)編號和序列,所述蛋白質(zhì)查詢處理器進程相互獨立并行處理,對查找結(jié)果運用肽到蛋白質(zhì)推斷算法,生成輸出文件。
17.根據(jù)權(quán)利要求16所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其特征在于, 所述匯總模塊,還用于當所述譜圖數(shù)據(jù)塊的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述譜圖鑒定結(jié)果匯總處理器進程數(shù)時,對所述鑒定結(jié)果子塊進行多輪處理,完成任務的譜圖鑒定結(jié)果匯總處理器進程繼續(xù)領取新任務,先到先得,直到所有鑒定結(jié)果子塊都被處理完。
18.根據(jù)權(quán)利要求16所述的蛋白質(zhì)鑒定的大規(guī)模分布式并行加速系統(tǒng),其特征在于, 所述過濾推斷輸出模塊,還用于當所述非冗余肽序列分組的個數(shù)大于集群中處理器核的個數(shù)時,或大于所述蛋白質(zhì)查詢處理器進程數(shù)時,對所述非冗余肽序列分組進行多輪處理,完成任務的蛋白質(zhì)查詢處理器進程繼續(xù)領取新任務,先到先得,直到所有非冗余肽序列都處理完。
全文摘要
本發(fā)明有關于一種蛋白質(zhì)鑒定的大規(guī)模分布式并行加速方法及其系統(tǒng),其中該方法包括步驟1,用并行處理方法,對蛋白質(zhì)序列進行理論酶切得到肽序列,對肽序列進行排序、去冗余處理,以創(chuàng)建肽索引文件塊;步驟2,對質(zhì)譜譜圖進行排序,并將排序后的質(zhì)譜譜圖進行平均劃分,得到多個譜圖數(shù)據(jù)塊;步驟3,將譜圖數(shù)據(jù)塊平均分配給多個主進程,各主進程對所分配的譜圖數(shù)據(jù)塊進行排序,依次指派給空閑的從進程進行肽譜匹配鑒定;步驟4,用并行處理方法,匯總鑒定結(jié)果,利用鑒定得到的肽序列推斷對應的蛋白質(zhì)序列,生成輸出文件。本發(fā)明在處理器核規(guī)模達到幾百甚至超過千個以上,進行蛋白質(zhì)鑒定能取得滿意的加速效率。
文檔編號G06F19/00GK102411666SQ201010292060
公開日2012年4月11日 申請日期2010年9月26日 優(yōu)先權(quán)日2010年9月26日
發(fā)明者付巖, 吳妍潔, 周郴, 孫瑞祥, 王樂珩, 王文平, 賀思敏, 遲浩 申請人:中國科學院計算技術(shù)研究所