專利名稱:分層簡化大規模圖數據的運算方法
技術領域:
本發明涉及一種分層簡化大規模圖數據的運算方法。
背景技術:
在數學上,一個圖(Graph)是表示物件與物件之間的關系的方法,是圖論的基本研究對象。一個圖看起來是由一些小圓點(稱為頂點或結點)和連結這些圓點的直線或曲線(稱為邊)組成的。在金融、生物信息、社會學、交通管理以及軟件工程等多個領域,經常需要對大規模圖數據進行分析,而對數據的可視化則是分析、理解這些數據的直觀、有效的方法,受到了越來越多的關注。由于很難一次性載入大規模數據進行分析,人們通常先根據圖的特性 將原始圖簡化,得到具備一定代表性意義的母圖的縮略圖,然后再通過子圖與母圖交互,根據需要對數據進行顯示、分析。圖簡化方法通常分為圖聚合法和圖過濾法兩類。圖聚合法將多個點合并,將多條邊合并,從而減小圖的大小,并揭示一組點間的關系。這種方法可以被多次重復,從而得到層次化的圖。但是,用這種方法得到的合并后的點和邊失去了其原始的語義,因此,簡化后子圖的代表性不強。與圖聚合法相比,圖過濾法能夠保留點和邊的語義,因為簡化后的圖是原始圖的子圖。圖過濾法又分為隨機性過濾和確定性過濾兩種。隨機性過濾也稱為采樣,用來從大規模圖中得到代表性的樣本。但是,由于對數據進行隨機采樣,因此,用這種簡化方法得到的子圖的代表性也不強。確定性過濾采用確定性的算法來選擇待移除的點和邊,這種過濾可以基于點和邊的性質以及圖的拓撲結構等特性。目前使用最多的是基于介數進行過濾的方法,介數表示的是一個節點位于其它節點間的最短路徑上的頻率,頻率越高,則該點的介數越高,該點就越重要。這種方法得到的簡化子圖的代表性最好,但是,由于介數方法需要計算所有頂點間最短路徑,而所有頂點間最短路徑的計算非常耗時,因此,該方法難以應用于大規模圖數據的簡化。隨著人類基因組計劃和許多物種全基因組測序的完成,生命科學研究的重點已經逐漸從基因組學轉移到了蛋白質組學。蛋白質是構成一切細胞和組織結構必不可少的成分,它是生理功能的執行者,是生命活動最重要的物質基礎。然而,不同的蛋白質對生命活動的重要性是有差異的。以此為依據,可以將蛋白質分為關鍵蛋白質(essentialproteins)和非關鍵蛋白質(non — essential proteins)兩類。關鍵蛋白質為通過基因剔除式突變將其移除后造成有關蛋白質復合物功能喪失,并導致生物體無法生存的蛋白質。簡而言之,關鍵蛋白質是生物體生存和繁殖所必需的蛋白質。由于關鍵蛋白質在生命活動中扮演重要角色,因此對于關鍵蛋白質的預測與識別成為一項重要的研究工作。在生物學上,關鍵蛋白質的識別主要是依靠生物實驗的方法,例如RNA干擾、單基因敲除、條件性基因剔除等。通過這些實驗技術得到的結論雖然是明確和有效的,但是代價高、效率低,并且適用的物種范圍有限。針對蛋白質互相作用網絡進行非關鍵蛋白質分子的篩選,保留關鍵蛋白質分子,已經成為急需解決的問題。相關參考文獻
[I]《圖論導引》,美國Gray chartrand , Ping Zhang著,范益政,汪毅,朱明譯,人民郵電出版社,2007年9月第I版,ISBN 9787115161536 ;
[2]《圖論算法理論、實現及應用》,中國王桂平,王衍,任嘉辰主編,北京大學出版社,2011 年 I 月第 I 版,ISBN 978-7-301-17578-1/TP 1122 ;
[3]《離散數學》,中國左孝凌、李為鑒、劉永才著,上海科學技術文獻出版社,1982年
9月第一版,ISBN :7805130698, 9787805130699
發明內容
本發明的目的是一、針對目前圖簡化方法得到的子圖的代表性不強或計算復雜度過大的問題,提出一種新的適用于大規模圖數據的簡化方法,該方法的計算速度快且得到的簡化子圖具備較強的代表性;二、針對目前蛋白質互相作用網絡的圖數據,提出一種適于對蛋白質相互作用網絡的分層簡化大規模圖數據的運算方法,解決了傳統方法中成本昂貴和耗時的問題。本發明的原理是蛋白質相互作用網絡的大規模圖的縮略圖由一些關鍵點以及連接這些點的邊構成,從而能夠體現原始圖的拓撲結構。通過將母圖中一些不重要的點和邊去除,保留原始圖中一些重要的關節點和關鍵邊,得到的必定是具備代表性的縮略圖。通過度序列確定起始點的時間復雜度最大為O(NlogN),通過遍歷的計算復雜度為0(M+N),兩者相加遠小于根據介數進行簡化的方法的時間復雜度為O(MN)。其中,M為邊的數目,N為節點的數目。因此,該方法的計算速度較快。上述點為蛋白質分子,邊為蛋白質之間的相互作用,度表示一蛋白質與鄰接點的蛋白質之間的相互作用程度。相關詞匯解釋 二元組的定義
圖G是一個二元組(V,E),其中V稱為頂點集(也稱為點的集合),E稱為邊集(也稱為邊的集合)。它們亦可寫成V(G)和E(G)。
階(Order):圖G中頂集V的大小稱作圖G的階。
度(068代6)是一個頂點的度是指與該頂點相關聯的總邊數。參考文獻[5]《圖論導引》中第27頁有有關度的定義,即與某個點相關聯的邊的總數稱為該點的度。遍歷的含義所謂遍歷(Traversal),是指沿著某條搜索路線,依次對樹中每個結點均做一次且僅做一次訪問。訪問結點所做的操作依賴于具體的應用問題。遍歷在二叉樹上最重要的運算之一,是二叉樹上進行其它運算之基礎。當然遍歷的概念也適合于多元素集合的情況,如數組。(來源于百度百科)
圖的遍歷方法有深度優先遍歷(搜索)法和寬度(廣度)優先遍歷(搜索)法。圖的深度優先遍歷的遞歸定義
假設給定圖G的初態是所有頂點均未曾訪問過。在G中任選一頂點V為初始出發點(源點),則深度優先遍歷可定義如下首先訪問出發點V,并將其標記為已訪問過;然后依次從V出發搜索V的每個鄰接點W。若W未曾訪問過,則以W為新的出發點繼續進行深度優先遍歷,直至圖中所有和源點V有路徑相通的頂點(亦稱為從源點可達的頂點)均已被訪問為止。若此時圖中仍有未訪問的頂點,則另選一個尚未訪問的頂點作為新的源點重復上述過程,直至圖中所有頂點均已被訪問為止。圖的深度優先遍歷類似于樹的前序遍歷。采用的搜索方法的特點是盡可能先對縱深方向進行搜索。這種搜索方法稱為深度優先搜索(Depth-First Search)。相應地,用此方法遍歷圖就很自然地稱之為圖的深度優先遍歷。圖的寬度(廣度)優先遍歷是樹的按層次遍歷的推廣,它的基本思想是首先訪問初始點Vm,并將其標記為已訪問過,接著訪問Vm的所有未被訪問過的鄰接點Vml, Vm2,…,Vmt,并均標記已訪問過,然后再按照Vml,Vffl 2,…,Vfflt的次序,訪問每一個頂點的所有未被訪問過的鄰接點,并均標記為已訪問過,依次類推,直到圖中所有和初始點Vi有路徑相通的頂點都被訪問過為止。參考文獻[2]《圖論算法理論、實現及應用》中第25頁有寬度優先遍歷的定義。在參考文獻[3]《離散數學》的第273、275頁上有自回路的定義和平行邊的定義;平行邊也稱為多重邊。根據前述原理,實現本發明的技術方案是一種大規模圖數據簡化方法,包含以下步驟
一種分層簡化大規模圖數據的運算方法,包含以下步驟
①對原始圖Gtl進行去除自回路和平行邊的預處理,得到第一級簡化子圖G1=(V1, E1),其中V1為一級點的集合,E1為一級邊的集合;并設第i級簡化子圖Gi為下一級簡化子圖Gi+1的母圖Gw ;i為初值等于I的整數;
②對所述母圖Gw進行遍歷,并選擇其中具有最優度的點作為遍歷的起點Si+1,設所述下一級簡化子圖Gi+1= (V i+1,E i+1),其中V i+1為下一級點的集合,E i+1為下一級邊的集合;
③將所述起點si+1作為新加入點加入到所述下一級點的集合V i+1中;
④把所述新加入點及其直接鄰接點加入到一集合VTi+1中;
⑤遍歷所述集合VTi+1中的各直接鄰接點的所有鄰接點;若有一鄰接點不在所述集合VTi+1中,則將與該鄰接點對應的所述直接鄰接點加入到所述集合V i+1中,并連接所述步驟
④中的新加入點與所述對應的直接鄰接點,以生成一邊,將所述邊加入到所述下一級邊的集合E i+1中;
⑥從所述步驟⑤中得到的所述集合Vi+1中的下一個加入點,重復所述步驟④、⑤,直至所述母圖Gm遍歷結束,以得到所述下一級點的集合V i+1和下一級邊的集合E i+1,構成所述下一級簡化子圖Gi+1= (Vi+1,Ei+1);
⑦設獲得的所述下一級簡化子圖Gi+1為再下一級簡化子圖的母圖Gckw),重復所述步驟
②至⑥直至得到最優簡化子圖G。所述最優簡化子圖G,即圖數據規模滿足用戶需要的簡化子圖。即簡化子圖的規模符合用戶的要求或經過多次簡化后最終保留的點數為原始圖的點數的6%-30%。進一步,得到所述步驟②中最優度的點的方法,包括如下步驟
先選擇度最多的點作為所述最優度的點;
若含有度最多的點有多個,則依次比較各點的各級鄰接點的度的總和,取所述總和最小的點為所述最優度的點。對于所述步驟②中,確定所述起點S i+1的具體方法是按照度的數量對經第①步處理后的圖數據(即所述第一級簡化子圖G1為第一母圖)進行排序,選擇度最多的點作為起始點,如果度最多的點不止一個,則選擇其直接鄰接點的度總和較小的點作為起始點,如直接鄰接點的度總和仍然相同,則比較直接鄰接點的鄰接點的度總和,并以此類推,得到下一級簡化子圖的起始點S i+1,i為大于等于零的整數,若為第二級簡化子圖,所述起始點為S2。所述步驟③中,從所述起點S2進行寬度優先遍歷(搜索)生成第二級簡化子圖G2=(V2jE2)的方法是根據第②步得到的所述起點S2,先將所述起點S2加入到所述第二級簡化子圖G2的二級點的集合V2中,把所述起點S2及其直接鄰接點加入到該級遍歷點的集合VT2中,若所述起點S2在第一級簡化子圖G1中的所有直接鄰接點,如果某個直接鄰接點S2x的鄰接點S2xy不在所述集合VT2中,則將該直接鄰接點S2x加入至所述二級點的集合V2中,連接所述起點S2與該直接鄰接點S2x生成邊;將S2, S2i和S2u加入到所述集合VT2中,其中x=l, 2,3,…;y=l, 2,3,…。對所述二級點的集合V2中加入的新的點Nx,先將所述新的點Nx的所有直接鄰接點加入到所述集合VT2中,如果某個直接鄰接點Nxy的鄰接點Nxyk不在所述集合VT2中,則將該 直接鄰接點Nxy加入至所述二級點的集合V2中,連接所述新的點Nx與該直接鄰接點Nxy生成邊;并將Nx,Nxy和Nxyk (x=l,2, 3,…;y=l,2,3,…;k=l,2,3,…)加入到所述集合VT2中。對新加入所述二級點的集合V2的點重復上述步驟③操作,直至所述集合VT2等于一級點的集合%。第③步中,遍歷結束的條件是=VT2=V115第④步中,簡化停止的條件是得到最優簡化子圖G,即簡化子圖的規模符合用戶的要求或經過多次簡化后最終保留的點數為原始圖點數的6%-30%。若無法滿足則根據上述步驟繼續進行簡化;遍歷結束條件為遍歷結束條件為VTw=Vi。采用上述方法的本發明能帶來以下有益效果
(I)度最多的點一般都是圖中的關鍵點,從度最多的點開始作寬度優先遍歷,去除關節點以外的非關鍵點,得到的子圖具備較強的代表性。(2)由于本方法通過選擇度最多的點以及寬度優先搜索實現簡化,其時間遠小于目前根據介數進行簡化的時間,因此本方法的計算速度較快。(3)由于采用本方法簡化后的子圖仍然可以作為進一步簡化的母圖,因此,本方法能夠實現分層次簡化,從而使本方法能應用于大規模圖數據的簡化。(4)由于本方法簡化結束的標準是母圖中的所有點都在子圖中或者是子圖中某些點的直接鄰接點,如果不符合這個標準,則會繼續選擇尚未搜索過的點進行遍歷,因此,本方法能夠應用于非連通圖。(5)由于本方法可以分層次簡化大規模圖數據,因此可廣泛應用于采用客戶端/服務器結構,以及瀏覽器/服務器結構的大規模數據分析中,即將大規模圖數據存放在遠程服務器端,在客戶端顯示簡化后的子圖,用戶根據自己的需求選擇數據進行分析。一種適于對蛋白質相互作用網絡的圖數據的分層簡化方法,包含以下步驟 步驟一、對所述蛋白質相互作用網絡的原始圖Gtl’進行去除自回路和平行邊的預處理,
得到第一級簡化子圖G/ = (V/j/),其中V/為一級點的集合,E/為一級邊的集合,所述點為蛋白質分子,所述邊為蛋白質之間的相互作用;并設第n級簡化子圖Gn’為下一級簡化子圖Gn+1 ’的母圖Gta’ ;n為初值等于I的整數;
步驟二、對所述母圖Gta’進行遍歷,并選擇其中具有最優度的點作為遍歷的起點S n+1’,設所述下一級簡化子圖Gn+1 ’ =為下一級點的集合,E n+1 ’為下一級
邊的集合,其中所述度為一蛋白質與鄰接點的蛋白質之間的相互作用程度,所述最優度的點為一蛋白質與其他蛋白質相互作用最多的蛋白質;
步驟三、將所述起點Sn+1 ’作為新加入點加入到所述下一級點的集合V n+1 ’中;
步驟四、把所述新加入點及其直接鄰接點加入到一集合VT n+1 ’中;
步驟五、遍歷所述集合VT n+1 ’中的各直接鄰接點的所有鄰接點;若有一鄰接點不在所述集合VTn+1 ’中,則將與該鄰接點對應的所述直接鄰接點加入到所述集合V n+1 ’中,并連接所述步驟四中的新加入點與所述對應的直接鄰接點,以生成一邊,將所述邊加入到所述下 一級邊的集合En+1 ’中;
步驟六、從所述步驟五中得到的所述集合V n+1 ’中的下一個新加入點,重復所述步驟四、五,直至所述母圖Gta’遍歷結束,以得到所述下一級點的集合Vn+1’和下一級邊的集合En+1’,構成所述下一級簡化子圖G i+1’ = (V n+1’,E n+1’);
步驟七、設獲得的所述下一級簡化子圖G n+1 ’為再下一級簡化子圖的母圖6_+1)’,重復所述步驟二至六,直至得到最優簡化子圖G’,即獲得關鍵蛋白質的簡化子圖。
關鍵蛋白質分子的識別度達到6%_30%,即去掉非關鍵蛋白質分子,保留關鍵蛋白質分子為所述蛋白質互相作用網絡中總蛋白分子的6%-30%。本發明實現了對蛋白質互相作用網絡進行非關鍵蛋白質分子的篩選,保留了關鍵蛋白質分子,實現了關鍵蛋白質的識別,適用的物種范圍較廣,且成本低、效率較高。進一步,獲得所述步驟二中最優度的點的方法,包括如下步驟
先選擇度最多的點作為所述最優度的點,即與鄰接點的蛋白質分子相互作用最為密切的蛋白質分子;若含有度最多的點有多個,則依次比較各點的各級鄰接點的度的總和,取所述總和最小的點作為所述最優度的點。進一步,所述步驟六中的所述遍歷結束是所述集合VT i+1 ’中的點與該級母圖中的點的集合V/相等。采用上述方法的本發明能帶來以下有益效果
(I)度最多的蛋白質一般都是圖中的關鍵蛋白質,從度最多的點開始作遍歷,去除關節點以外的非關鍵點,得到的簡化子圖具備較強的代表性。(2)由于本方法通過選擇度最多的蛋白質分子通過遍歷實現簡化,其時間遠小于目前根據介數進行簡化的時間,因此本方法的計算速度較快。(3)由于采用本方法簡化后的子圖仍然可以作為進一步簡化的母圖,因此,本方法能夠實現分層次簡化,從而使本方法能應用于蛋白質互相作用網絡的大規模圖數據的簡化。(4)由于本方法簡化結束的標準是母圖中的所有點都在子圖中或者是子圖中某些點的直接鄰接點,如果不符合這個標準,則會繼續選擇尚未搜索過的點進行遍歷,因此,本方法能夠應用于非連通圖。(5)本方法經過層層簡化后還能準確保留原始圖中介數較高的點,即能保留所述蛋白質互相作用網絡中關鍵蛋白分子及其相互作用關系,識別關鍵蛋白質分子的準確性高,得到的簡化子圖對生物技術、疾病防治提供技術支持。(6)本方法經過2-3次簡化后的得到的簡化子圖完全達到關鍵蛋白分子的識別度不超過40%的技術要求,使保留的關鍵蛋白分子數量以及其互相作用網絡,為疾病診斷、藥物設計等從生物信息學的角度提供有價值的理論和方法。
為了使本發明的內容更容易被清楚的理解,下面根據的具體實施例并結合附圖,對本發明作進一步詳細的說明,其中
圖I為本發明方法圖數據簡化方法流程圖; 圖2為本發明方法的實施例2的母圖及簡化后的子圖。
具體實施例方式下面結合附圖及實施例對本發明進行詳細說明
實施例I
見圖1,首先,去除圖中的自回路和多重邊得到第一級簡化子圖h。以所述第一級簡化子圖G1為第一級母圖,按照度的數量對所述第一級母圖數據進行排序,選擇度最多的點作為起始點,如果度最多的點不止一個,則選擇其直接鄰接點的度總和較小的點作為起始點,如直接鄰接點的度總和仍然相同,則比較直接鄰接點的鄰接點的度總和,并以此類推,得到下一級簡化子圖的起始點Si+1,i為大于等于零的整數,若為第二級簡化子圖,所述起始點為S2。從所述起點S2進行遍歷(搜索)生成第二級簡化子圖G2= (V2, E2)的方法是其中所述遍歷(搜索)的方式就是對各點進行逐一遍歷,所以能搜索到每個點;即得出若所遍歷到的點的直接鄰接點的鄰接點不在所述二級點的集合V2中,則將所述直接鄰接點加入到所述二級點的集合V2中,并連接該點與所述直接鄰接點,即生成邊,則將所述邊加入到所述第二級簡化子圖G2的二級邊的集合E2中,以構成所述第二級簡化子圖G2= (V2, E2X具體的做法
根據第②步得到的所述起點S2,
先將所述起點S2加入到所述第二級簡化子圖G2的二級點的集合V2中,把所述起點S2及其直接鄰接點加入到該級遍歷點的集合VT2中,若所述起點S2在第一級簡化子圖G1中的所有直接鄰接點,如果某個直接鄰接點S2x的鄰接點S2xy不在所述集合VT2中,則將該直接鄰接點S2x加入至所述二級點的集合V2中,連接所述起點S2與該直接鄰接點S2x生成邊;將S2, S2x和S2xy加入到所述集合VT2中,其中x=l,2,3,…;y=l,2,3,…。對所述二級點的集合V2中加入的新的點Nx,先將所述新的點Nx的所有直接鄰接點加入到所述集合VT2中,如果某個直接鄰接點Nxy的鄰接點Nxyk不在所述集合VT2中,則將該直接鄰接點Nxy加入至所述二級點的集合V2中,連接所述新的點Nx與該直接鄰接點Nxy生成邊;并將Ni, Nij和Nxyk (x=l, 2,3,…,n ;y=l, 2,3,…,n ;k=l, 2,3,…,n)加入到所述集合VT2 中。對新加入二級點的集合V2的點重復上述操作,直至所述集合VT2等于所述一級點的集合V1;根據上述步驟得到的所述二級點的集合V2及所述二級點的集合V2生成的相應邊的集合E2 ;獲得第二級簡化子圖G2= (V2, E2)。如果所述第二級簡化子圖G2的規模符合用戶的需求,則停止簡化;否則以所述第二級簡化子圖G2為母圖進行再次簡化得到第三級簡化子圖G3,以此類推,得到最優簡化子圖G即簡化子圖的規模符合要求,即保留具有介數的點或經過多次簡化后最終保留的點數為原始圖點數的6%-30%。實施例2
在實施例一的基礎上,對圖2進行簡化;在本例中,原始圖中有16個頂點和19條邊(見附圖2);
①度最多的點d被選擇為起點作寬度優先遍歷(搜索),將d及d的所有直接鄰居加入到該級遍歷點的集合VT2中,并將d加入到二級(也為下一級)點的集合V2中,則VT2=(a, b, c, d, k, I), V2=(d);
②考慮所述下一級點的集合V2中的點,如果它的直接鄰接點中有鄰接點不在所述集合VT2中,則將所述直接鄰接點加入所述二級點的集合V2中,其中a的鄰居都在所述集合VT2中,貝1J不加入;而(b, C,k, I)加入所述二級點的集合V2,分別連接d與(b, C,k, I)生成4條邊,將所述下一級點的集合V2中新加入點的(b,c,k,I)的鄰居加入所述集合VT2,則所述集合 VT2 中的點為(a, b, c, d, k, I, m, n, e, q);
③考慮所述二級點的集合V2中除起點外的點(b,C,k, I)(或者說是新加入的點),如果它們的直接鄰接點中有鄰接點不在所述集合VT2中,則將它們加入到所述二級點的集合V2中,如(c, k)的直接鄰接點(n, e)有鄰接點不在所述集合VT2中,將(n, e)加入所述二級點的集合V2,連接c和n, k和e生成邊。將(n, e)的直接鄰接點加入所述集合VT2,則所述集合 VT2 中的點為(a, b, c, d, k, I, m, n, e, q, f, p);
④考慮所述二級點的集合V2中新加入的點(n,e),e的直接鄰接點f有鄰接點不在所述集合VT2中,而n的直接鄰接點p的鄰接點在所述集合VT2中,故將f加入所述二級點的集合V2,連接e和f生成邊,將f的直接鄰接點加入所述集合VT2中,則VT2Ka,b, c, d, k, I,m, n, e, q, f, p, i, g, h);
⑤考慮所述二級點的集合V2中新加入的點f,它的直接鄰接點g的鄰接點h在所述集合VT2中,它的直接鄰接點h的鄰接點g也在所述集合VT2中,故不考慮,而它的直接鄰接點i有鄰接點j不在所述集合VT2中,故加入j,連接f和j生成邊,將j的鄰居加入到所述集合 VT2 中,此時 VT2= (a, b, c, d, k, I, m, n, e, q, f, p, i, g, h, j),與所述一級點的集合 V1 相等。即所述一級點的集合V1中的所有點都被遍歷過,循環結束。上述搜索每個點的方法采用寬度優先遍歷的方法。圖2中,實線表示所述生成的邊,即由所述二級點的集合%所對應生成的所述邊的集合E2;虛線的圓即為簡化掉的頂點,實線圓為簡化后保留的點的集合V2。簡化后子圖有9個頂點8條邊,點的簡化率為43. 7%,邊的簡化率為57. 9%。以上述簡化子圖為母圖經過第二次簡化,得到該級點的集合為(e、f、d、k、c),點的簡化率為31. 25%。第三次簡化后得到該級點的集合為(e、k、d),點的簡化率為18. 75%。表I子圖的代表性分析
權利要求
1.一種分層簡化大規模圖數據的運算方法,其特征在于包含以下步驟 ①對原始圖Gtl進行去除自回路和平行邊的預處理,得到第一級簡化子圖匕=(V1,E1),其中V1為一級點的集合,E1為一級邊的集合;并設第i級簡化子圖Gi為下一級簡化子圖Gi+1的母圖Gw ;i為初值等于I的整數; ②對所述母圖Gw進行遍歷,并選擇其中具有最優度的點作為遍歷的起點Si+1,設所述下一級簡化子圖Gi+1= (V i+1,E i+1),其中V i+1為下一級點的集合,E i+1為下一級邊的集合; ③將所述起點si+1作為新加入點加入到所述下一級點的集合V i+1中; ④把所述新加入點及其直接鄰接點加入到一集合VTi+1中; ⑤遍歷所述集合VTi+1中的各直接鄰接點的所有鄰接點;若有一鄰接點不在所述集合VTi+1中,則將與該鄰接點對應的所述直接鄰接點加入到所述集合V i+1中,并連接所述步驟④中的新加入點與所述對應的直接鄰接點,以生成一邊,將所述邊加入到所述下一級邊的集合E i+1中; ⑥從所述步驟⑤中得到的所述集合Vi+1中的下一個加入點,重復所述步驟④、⑤,直至所述母圖Gm遍歷結束,以得到所述下一級點的集合V i+1和下一級邊的集合E i+1,構成所述下一級簡化子圖Gi+1= (Vi+1,Ei+1); ⑦設獲得的所述下一級簡化子圖Gi+1為再下一級簡化子圖的母圖Gckw),重復所述步驟②至⑥直至得到最優簡化子圖G。
2.根據權利要求I所述的運算方法,其特征在于獲得所述步驟②中最優度的點的方法,包括如下步驟 先選擇度最多的點作為所述最優度的點; 若含有度最多的點有多個,則依次比較各點的各級鄰接點的度的總和,取所述總和最小的點作為所述最優度的點。
3.根據權利要求I或2的所述運算方法,其特征在于所述步驟⑥中的所述遍歷結束是所述集合VT i+1中的點與該級母圖中的點的集合Vi相等。
4.一種適于對蛋白質相互作用網絡的圖數據的分層簡化方法,其特征在于包含以下步驟 步驟一、對所述蛋白質相互作用網絡的原始圖Gtl’進行去除自回路和平行邊的預處理,得到第一級簡化子圖G/ = (V/j/),其中V/為一級點的集合,E/為一級邊的集合,所述點為蛋白質分子,所述邊為蛋白質之間的相互作用;并設第n級簡化子圖Gn’為下一級簡化子圖Gn+1 ’的母圖Gta’ ;n為初值等于I的整數; 步驟二、對所述母圖Gta’進行遍歷,并選擇其中具有最優度的點作為遍歷的起點S n+1’,設所述下一級簡化子圖Gn+1 ’ =為下一級點的集合,E n+1 ’為下一級邊的集合,其中所述度為一蛋白質與鄰接點的蛋白質之間的相互作用程度,所述最優度的點為一蛋白質與其他蛋白質相互作用最多的蛋白質; 步驟三、將所述起點Sn+1 ’作為新加入點加入到所述下一級點的集合V n+1 ’中; 步驟四、把所述新加入點及其直接鄰接點加入到一集合VT n+1 ’中; 步驟五、遍歷所述集合VT n+1 ’中的各直接鄰接點的所有鄰接點;若有一鄰接點不在所述集合VTn+1 ’中,則將與該鄰接點對應的所述直接鄰接點加入到所述集合V n+1 ’中,并連接所述步驟四中的新加入點與所述對應的直接鄰接點,以生成一邊,將所述邊加入到所述下一級邊的集合En+1 ’中; 步驟六、從所述步驟五中得到的所述集合V n+1 ’中的下一個新加入點,重復所述步驟四、五,直至所述母圖Gta’遍歷結束,以得到所述下一級點的集合Vn+1’和下一級邊的集合En+1’,構成所述下一級簡化子圖G i+1’ = (V n+1’,E n+1’); 步驟七、設獲得的所述下一級簡化子圖G n+1 ’為再下一級簡化子圖的母圖6_+1)’,重復所述步驟二至六,直至得到最優簡化子圖G’,即獲得關鍵蛋白質的簡化子圖。
5.根據權利要求4所述的適于對蛋白質相互作用網絡的圖數據的分層簡化方法,其特征在于獲得所述步驟二中最優度的點的方法,包括如下步驟 先選擇度最多的點作為所述最優度的點; 若含有度最多的點有多個,則依次比較各點的各級鄰接點的度的總和,取所述總和最小的點作為所述最優度的點。
6.根據權利要求4或5的適于對蛋白質相互作用網絡的圖數據的分層簡化方法,其特征在于所述步驟六中的所述遍歷結束是所述集合VT n+1 ’中的點與該級母圖中的點的集合Vn’相等。
全文摘要
本發明涉及分層簡化大規模圖數據的運算方法,該方法首先對圖G0進行預處理,得到第一級簡化子圖G1,以上一級子圖為母圖得到下一級子圖,以此類推得到最優化子圖G;并且把該運算方法運用到蛋白質相互作用網絡,針對蛋白質互相作用網絡進行非關鍵蛋白質分子的篩選,保留關鍵蛋白質分子;本發明方法選用的起點為度最多的蛋白質一般都是圖中的關鍵蛋白質,從度最多的點開始作遍歷,去除關節點以外的非關鍵點,得到的簡化子圖具備較強的代表性;由于采用本方法簡化后的子圖仍然可以作為進一步簡化的母圖;本方法識別關鍵蛋白質分子的準確性高,得到的簡化子圖對生物技術提供技術支持。
文檔編號G06F19/18GK102750460SQ201210176708
公開日2012年10月24日 申請日期2012年5月31日 優先權日2012年5月31日
發明者張永春, 張燕紅, 彭穎, 徐磊, 毛國勇 申請人:常州工學院