唐 羽,李 敏
(中南大學(xué)信息科學(xué)與工程學(xué)院,長沙410083)
蛋白質(zhì)是生物完成各種生命活動(dòng),實(shí)現(xiàn)各種生命功能所必需的大分子物質(zhì)。生物體的各種功能并不是通過單個(gè)蛋白質(zhì)表現(xiàn)出來,而是通過眾多蛋白質(zhì)之間在特定條件下的相互作用才能表現(xiàn)出一定的功能。生物系統(tǒng)是由許多相互作用的、相對(duì)獨(dú)立的結(jié)構(gòu)化功能模塊組成,識(shí)別出這些模塊對(duì)于理解生物系統(tǒng)的組織結(jié)構(gòu)具有重要意義。聚類分析是識(shí)別這些功能模塊的有效手段。
蛋白質(zhì)網(wǎng)絡(luò)可視化對(duì)于更快速,更有效,更直觀的分析蛋白質(zhì)網(wǎng)絡(luò)特性起到了重要的作用。尤其是對(duì)蛋白質(zhì)網(wǎng)絡(luò)作聚類分析的時(shí)候,聚類分析結(jié)果的可視化處理無疑將有利于更快速地得出正確結(jié)論。因此,本文將蛋白質(zhì)網(wǎng)絡(luò)的聚類分析和生物網(wǎng)絡(luò)可視化功能相結(jié)合,開發(fā)了一個(gè)集成于Cytoscape[1]的蛋白質(zhì)網(wǎng)絡(luò)聚類分析和顯示插件CytoCluster。
本插件不僅集成了 MCODE[2],F(xiàn)AG - EC[3],HC-PIN[4],OH -PIN[5],IPCA[6],EAGLE[7]等六種典型的聚類算法,實(shí)現(xiàn)了使用多種算法對(duì)網(wǎng)絡(luò)進(jìn)行聚類分析,而且還提供了聚類結(jié)果可視化功能,能,將分析所得的clusters以縮略圖列表的形式直觀地顯示出來,對(duì)于單個(gè)cluster,可顯示在原網(wǎng)絡(luò)中的位置,并能生成相應(yīng)的子圖單獨(dú)顯示,有助于研究人員對(duì)cluster功能特性更深入研究。CytoCluster創(chuàng)造了一個(gè)更快速,更有效,更直觀的分析蛋白質(zhì)網(wǎng)絡(luò)特性的研究環(huán)境,可為生物學(xué)家提供更加有價(jià)值的參考信息。
本系統(tǒng)旨在基于Cytoscape這個(gè)可視化平臺(tái)對(duì)蛋白質(zhì)網(wǎng)絡(luò)進(jìn)行聚類分析,系統(tǒng)功能模型分為了聚類分析與界面控制兩大模塊,其中界面控制部分由Bundle控制、面板控制、聚類結(jié)果可視化、結(jié)果排序、導(dǎo)出結(jié)果等五個(gè)子模塊構(gòu)成。如圖1所示。
圖1 系統(tǒng)功能模型圖Fig.1 System function model
本系統(tǒng)集成了 MCODE、FAG-EC、HC-PIN、OH-PIN、IPCA、EAGLE等六種典型的網(wǎng)絡(luò)聚類算法,具體介紹如下。
MCODE(The molecular complex detection algorithm)算法是一種基于密度的非交疊式聚類算法。該算法以種子節(jié)點(diǎn)為中心進(jìn)行擴(kuò)展在其鄰居節(jié)點(diǎn)中尋找滿足要求的節(jié)點(diǎn),從而形成一個(gè)功能模塊,最早在Bader etal的早期文章以及文獻(xiàn)[8]中被提出,針對(duì)通過構(gòu)建cluster來在蛋白質(zhì)相互作用網(wǎng)絡(luò)中檢測復(fù)合物。其核心思想是以局部密度所定義的adhoc網(wǎng)絡(luò)為根據(jù),分離局部稠密區(qū)域。
FAG-EC(Fast agglomerate algorithm)算法是基于邊聚類系數(shù)(Edge clustering coefficients)的非交疊式聚類算法,速度上的優(yōu)越性比較明顯。該算法采用自底向上的凝聚算法進(jìn)行模塊識(shí)別,并提出了一個(gè)新的參數(shù)化的模塊定義。通過將按聚集系數(shù)非增序排列的邊序列逐條加入初始化為單個(gè)節(jié)點(diǎn)的各個(gè)模塊中來合并各個(gè)團(tuán),直到達(dá)到定義的模塊要求。
HC-PIN(Fast hierarchical clustering algorithm)算法是一個(gè)快速層次非交疊式聚類算法,由FAGEC算法改良而來,同樣采用自底向上的凝聚算法進(jìn)行模塊識(shí)別,不同的是,該算法以邊聚類值(Edge clustering value)為基礎(chǔ),即可應(yīng)用于無權(quán)網(wǎng)絡(luò)也可用于加權(quán)網(wǎng)絡(luò)的聚類分析。
OH-PIN(Identification of hierarchical and overlapping functional modules)算法是可識(shí)別層交疊蛋白質(zhì)功能模塊的凝聚式層次算法,以M_clusters,λ-module,以及cluster間的聚集系數(shù)為基礎(chǔ)進(jìn)行聚類計(jì)算,在功能富集化以及比較已知蛋白質(zhì)復(fù)合物方面,性能優(yōu)于較為優(yōu)越。
IPCA(Clusteralgorithm based on the new topological structure)算法由 DPClus[9]算法改良而來的基于密度的算法。該算法利用一種新型拓?fù)浣Y(jié)構(gòu)來預(yù)測網(wǎng)絡(luò)中蛋白質(zhì)復(fù)合物,以子圖直徑(或節(jié)點(diǎn)平均距離)和子圖密度來對(duì)識(shí)別過程進(jìn)行控制調(diào)節(jié),可識(shí)別交疊的蛋白質(zhì)功能模塊,在尋找已知蛋白質(zhì)復(fù)合物方面,性能表現(xiàn)良好。
EAGLE(Agglomerative hierarchicalclustering based on maximal clique)算法,是一種可以識(shí)別交疊功能模塊的凝聚式層次算法,以極大團(tuán)為基礎(chǔ),通過逐步合并相似性最大的兩個(gè)團(tuán),找到最優(yōu)劃分方法來實(shí)現(xiàn)的。
(1)聚類分析模塊:實(shí)現(xiàn) MCODE,F(xiàn)AG-EC,HC-PIN,OH-PIN,IPCA,EAGLE等六種算法的具體分析過程。初步得出聚類分析結(jié)果。
(2)Bundle控制模塊:由于Cytoscape3.0采用了OSGi進(jìn)行架構(gòu),因此在Cytoscape平臺(tái)上運(yùn)行的大型插件只能以Bundle Apps的形式出現(xiàn)。該模塊實(shí)現(xiàn)CytoCluster激活關(guān)閉服務(wù)調(diào)用等功能。
(3)面板控制模塊:該模塊負(fù)責(zé)插件整體界面實(shí)現(xiàn),由APP菜單、參數(shù)面板、各個(gè)算法面板以及聚類結(jié)果面板等子模塊構(gòu)成。
(4)聚類結(jié)果可視化模塊:該部分將初步聚類分析結(jié)果可視化的呈現(xiàn)出來,主要包括聚類結(jié)果列表中cluster縮略圖的實(shí)現(xiàn),顯示單個(gè)cluster在原網(wǎng)絡(luò)中的位置,以及生成并單獨(dú)顯示被選中的cluster子圖。
(5)導(dǎo)出結(jié)果模塊:負(fù)責(zé)對(duì)聚類結(jié)果進(jìn)行導(dǎo)出,對(duì)本次分析使用的算法、參數(shù)以及所得的cluster的具體信息進(jìn)行了詳細(xì)地記錄。
為了實(shí)現(xiàn)對(duì)待分析網(wǎng)絡(luò)聚類分析識(shí)別出功能模塊,并將識(shí)別結(jié)果顯示給用戶,并提供進(jìn)一步的分析處理,CytoCluster系統(tǒng)類圖如圖2。需要用到的類和對(duì)象如下:
圖2 CytoCluster類圖Fig.2 Class diagram of CytoCluster
(1)CyActivator:系統(tǒng)入口,將插件在OSGi框架中激活或關(guān)閉,調(diào)用系統(tǒng)服務(wù)等。
(2)MainPanel:程序主面板。
(3)ResultPanel:結(jié)果顯示面板。
(4)Algorithm:程序聚類算法實(shí)現(xiàn)類。
(5)AnalyzeAction:實(shí)現(xiàn)對(duì)analyze按鈕的響應(yīng),調(diào)用AnalyzeTaskFactory開始聚類分析
(6)AnalyzeTaskFactory:該類用于產(chǎn)生AnalyzeTask。
(7)AnalyzeTask:該類是聚類分析的入口,負(fù)責(zé)實(shí)現(xiàn)用戶選擇的聚類算法
(8)MyTipTool:可顯示多行文字的提示工具。
(9)CollapsiblePanel:可折疊的面板。
(10)Cluster:CytoCluster使用的表示一個(gè)功能模塊所采用的數(shù)據(jù)結(jié)構(gòu)。
(11)Clique:CytoCluster中表示極大團(tuán)所采用的數(shù)據(jù)結(jié)構(gòu)。
(12)ParameterSet:聚類分析時(shí)所用的參數(shù)集合。
(13)ClusterLayout:CytoCluster使用的節(jié)點(diǎn)布局,在ClusterUtil中生成模塊圖像和創(chuàng)建子圖時(shí)用到。
(14)ClusterVisualStyle:CytoCluster使用的視圖顯示風(fēng)格,在ClusterUtil中生成模塊圖像
(15)ClusterUtil:包含對(duì)得到的功能模塊集合Cluster[]進(jìn)行的各種處理函數(shù)集合。
(1)Bundle控制
該模塊主要通過實(shí)現(xiàn)了 org.cytoscape.service.util.AbstractCyActivator接口的 Cyactivator類完成,實(shí)現(xiàn)了OSGi框架中服務(wù)注冊,Bundle激活以及關(guān)閉等功能。
若要調(diào)用OSGi框架中現(xiàn)有的服務(wù),需要調(diào)用Cyactivator類中的 getService(Bundle Context bc,Class<CyApplicationManager> serviceClass)方法。
若要將自己寫的類注冊為框架中的服務(wù),需要調(diào)用 Cyactivator類中registerService(Bundle Context bc, Object service, Class <? > serviceClass,Properties props)方法,如圖3所示。
Bundle激活以及關(guān)閉部分主要通過OpenTaskFactory類以及CloseTaskFactory類完成。
(2)面板控制
插件整體界面由APP菜單、各參數(shù)入面板以及聚類結(jié)果面板等子模塊構(gòu)成。插件最終運(yùn)行整體效果圖如圖3所示。
圖3 CytoCluster運(yùn)行效果Fig.3 The running interface of CytoCluster
參數(shù)輸入面板用于輸入聚類分析所需各項(xiàng)參數(shù)。啟動(dòng)聚類插件后顯示主面板后,用戶按需要選取分析范圍,選擇聚類算法:
MCODE、FAG -EC、HC -PIN、OH -PIN、IPCA、EAGLE中的一種。用戶選擇算法后,在下方顯示相應(yīng)的參數(shù)選項(xiàng),用戶可直接使用默認(rèn)參數(shù)或自定義各參數(shù)值。參數(shù)設(shè)定完成后單擊Analyze按鈕,首先進(jìn)行參數(shù)有效性判斷,參數(shù)無誤后則按照用戶定義的參數(shù)進(jìn)行開始分析過程。
聚類結(jié)果面板用于顯示識(shí)別出的所有功能模塊信息,并提供其它一些控件來對(duì)聚類分析結(jié)果作進(jìn)一步的分析處理。
如圖3所示,A、B、C分別為參數(shù)輸入面板,可視化面板,聚類結(jié)果面板;a部分為分析區(qū)域選擇,b部分為算法種類選擇,c部分為算法參數(shù)面板;d部分為BrowserTable,e部分為選中的 cluster,j部分為模塊尺寸滑動(dòng)條,f部分為cluster節(jié)點(diǎn)屬性顯示列表,g為創(chuàng)建 cluster子圖按鈕,h關(guān)閉結(jié)果面板按鈕,i為導(dǎo)出聚類結(jié)果按鈕。
BrowserTable表格分為兩列,分別顯示了功能模塊縮略圖形以及此功能的基本信息:模塊中的節(jié)點(diǎn)數(shù),邊數(shù)以及分值等信息。CytoCluster還提供對(duì)聚類結(jié)果進(jìn)行排序的功能。排序時(shí)有三種不同的排序方式可供選擇:按模塊大小,按模塊的模塊性以及按照模塊的score值進(jìn)行排序。其中,按score排序只在使用MCODE算法進(jìn)行聚類時(shí)有效,其它算法中模塊的score值全部為0。
節(jié)點(diǎn)屬性列表顯示了由Cytoscape載入網(wǎng)絡(luò)時(shí)讀入的當(dāng)前網(wǎng)絡(luò)中所有包含的屬性值,用戶可以從下拉列框中選擇具體某項(xiàng),屬性列表中就相應(yīng)地顯示當(dāng)前模塊中具有該屬性的所有屬性值出現(xiàn)的次數(shù)分布情況。Create SubNetwork按鈕可以將當(dāng)前模塊建立為一個(gè)新的網(wǎng)絡(luò),并顯示于桌面。
另外,當(dāng)使用MCODE算法進(jìn)行聚類時(shí),當(dāng)前模塊屬性面板中增加了一個(gè)模塊大小控制面板,其中有一個(gè)滑動(dòng)條,用滑塊位置控制增大或縮小當(dāng)前功能模塊的尺寸大小,并對(duì)應(yīng)更新顯示模塊縮略圖。
ResultPanel底部面板由兩個(gè)按鈕組成:Export按鈕用于將當(dāng)前聚類結(jié)果中識(shí)別的功能模塊導(dǎo)出為文件,可以選擇導(dǎo)出基本信息和導(dǎo)出完整信息兩種方式。Dicard按鈕用于在向用戶確認(rèn)之后關(guān)閉當(dāng)前打開的結(jié)果面板。
(3)聚類結(jié)果可視化
該模塊分為三個(gè)主要任務(wù),聚類結(jié)果列表中cluster縮略圖的實(shí)現(xiàn),顯示單個(gè)cluster在原網(wǎng)絡(luò)中的位置,以及生成并單獨(dú)顯示被選中的 cluster子圖。
cluster縮略圖主要通過ClusterUtil類中convertClusterToImage方法來實(shí)現(xiàn)。該方法首先通過 ClusterUtil類中 createSubNetwork(CyNetwork net,Collection nodes,SavePolicy policy)方法來為分析所得的 cluster創(chuàng)建子圖,再根據(jù)這個(gè)子圖調(diào)用createNetworkView(CyNetwork net,Visual-Style vs)方法創(chuàng)建相應(yīng)的視圖,其中VisualStyle為視圖屬性對(duì)象,通getClusterStyle()獲得。在這個(gè)方法中,設(shè)置了視圖中節(jié)點(diǎn)的大小、顏色,邊的顏色、粗細(xì)等屬性,基本確定了縮略圖的顯示風(fēng)格。
得到視圖對(duì)象后,調(diào)用Cytoscape所提供的可視化 接 口 org.cytoscape.view.presentation 的createImage(Int width,Int height)方法生成image對(duì)象返回給結(jié)果面板聲稱對(duì)象。
cluster子圖生成并顯示的過程與生成cluster縮略圖較為相似,首先調(diào)用createSubNetwork創(chuàng)建子圖對(duì)象,再通過 getClusterStyle設(shè)置視圖顯示風(fēng)格,createNetworkView生成相對(duì)應(yīng)的子圖視圖。但與生成縮略圖不同,該任務(wù)主要是要將生成的子圖顯示在Cytoscape網(wǎng)絡(luò)放大顯示在面板上,這主要通過ClusterUtil類中的displayNetworkView(CyNetworkView)方法實(shí)現(xiàn)。
(4)導(dǎo)出結(jié)果
該模塊由結(jié)果面板中的Export按鈕觸發(fā)調(diào)用,將最終聚類結(jié)果,即各個(gè)cluster的名稱、節(jié)點(diǎn)總數(shù)、節(jié)點(diǎn)名稱等信息以文本形式導(dǎo)出存入text文件。
該模塊主要通過ClusterUtil類中的exportResults方法實(shí)現(xiàn)。
其中,F(xiàn)ileUtil是 Cytoscape系統(tǒng)提供的文件打開接口,通過調(diào)用該接口中的getFile方法,返回新創(chuàng)建的輸出文件。FileChooserFilter為文件類型選擇器,通過該類存儲(chǔ)文件類型,設(shè)為txt文本文檔。通過FileWriter類將需要輸出的cluster數(shù)據(jù),如各個(gè)cluster的名稱、節(jié)點(diǎn)總數(shù)、節(jié)點(diǎn)名稱等信息寫入文件中。
CytoCluster中的聚類算法實(shí)現(xiàn)部分,所有的聚類算法都是通過調(diào)用一個(gè)Algorithm對(duì)象的相應(yīng)方法來完成。
MCODE算法使用K_CoreFinder()識(shí)別功能模塊。Algorithm對(duì)象調(diào)用此方法前須先調(diào)用scoreGraph方法對(duì)網(wǎng)絡(luò)圖中的各個(gè)節(jié)點(diǎn)的計(jì)算MCODE算法所需的節(jié)點(diǎn)信息:包括自身在內(nèi)的鄰居接點(diǎn)子圖neighbors及其密度density,以該點(diǎn)為種子節(jié)點(diǎn)所能擴(kuò)展出的最大k值的K-Core,其k值水平coreLevel,此K-Core的密度coreDensity以及該節(jié)點(diǎn)的score值。節(jié)點(diǎn)的score值反映了該節(jié)點(diǎn)及其周邊節(jié)點(diǎn)的密集程度。然后再從score值最大的節(jié)點(diǎn)開始,調(diào)用getClusterCore()方法,以此節(jié)點(diǎn)為種子節(jié)點(diǎn)開始擴(kuò)展,逐步加入符合參數(shù)條件的鄰接節(jié)點(diǎn)。最后根據(jù)參數(shù)要求作一些后續(xù)處理,得出最終的功能模塊。
FAG_EC算法使用FAG_ECFinder()識(shí)別功能模塊。計(jì)算的先決條件必須先調(diào)用calEdgeWeight得到網(wǎng)絡(luò)中所有邊的聚集系數(shù),并按非增序排列。這里得到的邊聚集系數(shù)隊(duì)列也可以多次重復(fù)使用。然后先將網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)初始化為一個(gè)Complex,而后開始逐步將各條邊依次加入各Complex,從而對(duì)Complex進(jìn)行合并,逐漸成為不可合并的功能模塊,直到所有邊都被加入 Complex為止。FAG_ECXFinder()使用擴(kuò)展的FAG_EC算法識(shí)別功能模塊。首先同EAGLE一致,調(diào)用 getMaximalCliques,以極大團(tuán)為基礎(chǔ)得到初始的Complexes集,同時(shí)需得到網(wǎng)絡(luò)中的按聚類系數(shù)排列的邊的非增序列,調(diào)用calEdgeWeight。根據(jù)邊兩端點(diǎn)所從屬的Complex集的關(guān)系,對(duì)兩組Complex分別合并后再合并為一個(gè)Complex,中途如果有的Complex已達(dá)到功能模塊定義,則不將之合并。反復(fù)進(jìn)行這個(gè)過程,直到所有邊都被已處理完為止。
HC-PIN算法使用HCPIN Finder()識(shí)別功能模塊。計(jì)算的先決條件必須先調(diào)用calEdgeWeight得到網(wǎng)絡(luò)中所有邊的聚集值,并按非增序排列。這里得到的邊聚集系數(shù)隊(duì)列也可以多次重復(fù)使用。然后先將網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)初始化為一個(gè)Complex,而后開始逐步將各條邊依次加入各Complex,從而對(duì)Complex進(jìn)行合并,逐漸成為不可合并的功能模塊,直到所有邊都被加入Complex為止。
OH-PIN算法使用OHPINFinder()識(shí)別功能模塊,首先調(diào)用calB_cluster按網(wǎng)絡(luò)中的邊得到相應(yīng)的B_cluster,再用calC_set將 B_cluster存入 C_set中。通過calOS計(jì)算出C_set中cluster間的Overlapping Score,取值最大的一對(duì)cluster,合并,直到所有值小于給定的 os_th;再通過 calCCV計(jì)算出 C_set中cluster間的CCV,取值最大的一對(duì)cluster,合并,直到所有值小于0為止;
IPCA算法使用IPCAFinder()識(shí)別功能模塊。計(jì)算的先決條件必須先調(diào)用calNodeWeight得到網(wǎng)絡(luò)中所有節(jié)點(diǎn)的權(quán)值,并按非增序排列。選出最大的節(jié)點(diǎn)為種子,通過ExtendingCluster來進(jìn)行擴(kuò)展,其中用SPJudgement來判斷某個(gè)點(diǎn)是否該加入當(dāng)前的cluster。當(dāng)所有可能被加入的節(jié)點(diǎn)都被探測過以后,輸出 cluster.
EAGLE算法使用EAGLEFinder()識(shí)別功能模塊。EAGLE算法基于極大團(tuán),故Algorithm對(duì)象必須先調(diào)用getMaximalCliques方法計(jì)算出網(wǎng)絡(luò)中的所有極大團(tuán)。然而一個(gè)網(wǎng)絡(luò)中的極大團(tuán)是固定不變的,所以計(jì)算一次后就可以供以后需要時(shí)使用。接下來首先完成團(tuán)初始化工作,去除附屬極大團(tuán)。開始合并后,每次選出相似性最大的兩個(gè)Complex將之合并,并調(diào)用calModularity計(jì)算當(dāng)前劃分優(yōu)劣程度的EQ值。重復(fù)合并過程直到只有一個(gè)Complex,
并記錄下整個(gè)過程中每一次的劃分情況及其EQ值。選出其中EQ的最大值,此時(shí)的團(tuán)劃分情況即是最優(yōu)的功能模塊劃分,返回這個(gè)模塊集合。
CytoCluster不僅能對(duì)網(wǎng)絡(luò)進(jìn)行聚類分析,同時(shí)也實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)聚類結(jié)果的可視化顯示,將分析所得的clusters以縮略圖列表的形式直觀地顯示出來,對(duì)于單個(gè)cluster可顯示在原網(wǎng)絡(luò)中的位置,并能生成相應(yīng)的子圖單獨(dú)顯示,如圖4所示。通過該功能,研究人員可以對(duì)基因以及蛋白質(zhì)網(wǎng)絡(luò)中分子簇的進(jìn)行進(jìn)一步挖掘,發(fā)現(xiàn)致病基因以及蛋白質(zhì)功能模塊的相關(guān)特性以及相互關(guān)聯(lián)性。將聚類分析所得的cluster放在統(tǒng)一網(wǎng)絡(luò)中相互比較,展示相互之間的關(guān)聯(lián)性,并可由用戶自行設(shè)定節(jié)點(diǎn)的顏色和形狀,對(duì)于研究網(wǎng)絡(luò)中的功能模塊具有重要作用。例如賓夕法尼亞大學(xué)醫(yī)學(xué)院的研究人員利用FAG-EC算法對(duì)注意力缺陷多動(dòng)障礙癥進(jìn)行研究時(shí),根據(jù)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),將整個(gè)基因網(wǎng)絡(luò)聚類成17個(gè)不同的分子簇[10],顯示簇內(nèi)節(jié)點(diǎn)以及簇與簇之間的關(guān)系。
圖4 聚類結(jié)果可視化實(shí)現(xiàn)效果Fig.4 The implementation of visualization clustering result
圖5為Cytocluster中六種聚類算法對(duì)Cytoscape所提供的酵母核心蛋白質(zhì)相互作用網(wǎng)絡(luò)(GalFiltered.sif)的分析結(jié)果,由圖可知CytoCluster所采用的六種聚類算法得到的結(jié)果之間存在一定的差異。在具體使用中可以結(jié)合多種算法進(jìn)行聚類分析,從而得到對(duì)蛋白質(zhì)網(wǎng)絡(luò)中的功能模塊的更全面認(rèn)識(shí)。
為了分析比較CytoCluster中實(shí)現(xiàn)的幾種聚類算法的性能,這里使用從數(shù)據(jù)庫DIP獲得的酵母核心蛋白質(zhì)相互作用網(wǎng)絡(luò)數(shù)據(jù)集Y2k進(jìn)行聚類分析,得出6種不同的功能模塊數(shù)據(jù),對(duì)這些模塊集進(jìn)行過濾,除去尺寸小于3的模塊,再查找這些功能模塊的GO Terms。
圖5 六種算法對(duì)同一網(wǎng)絡(luò)聚類分析對(duì)比Fig.5 The comparison results of different clustering algorithms
由于所得的數(shù)據(jù)繁多,這里僅采用GO中的生物過程Process為例,對(duì)各功能模塊集合的富集性P-value值分布進(jìn)行分析,結(jié)果如圖6所示。
由于在統(tǒng)計(jì)檢驗(yàn)中,P-value值可用于評(píng)價(jià)一組蛋白質(zhì)集合在偶然情況下聚集成一個(gè)模塊的可能性大小,所以從圖中可以看出,各聚類算法在識(shí)別的功能模塊結(jié)構(gòu)和數(shù)量上存在不小的差異,但這些模塊在性能、準(zhǔn)確度上各有所長,對(duì)更全面地認(rèn)識(shí)整個(gè)蛋白質(zhì)網(wǎng)絡(luò)具有重要意義。
圖6 不同聚類算法識(shí)別模塊的對(duì)應(yīng)富集性P-value分布Fig.6 The enrichment analysis result of different algorithm
CytoCluster實(shí)現(xiàn)了在Cytoscape3.0平臺(tái)上使用了 MCODE,F(xiàn)AG -EC,HC -PIN,OH -PIN,IPCA,EAGLE等六種典型聚類算對(duì)蛋白質(zhì)網(wǎng)絡(luò)進(jìn)行聚類分析,并進(jìn)一步對(duì)聚類結(jié)果可視化顯示分析與比較。
本插件的實(shí)現(xiàn)總體來說可概括為以下兩部分:
(1)后臺(tái)蛋白質(zhì)聚類算法的實(shí)現(xiàn)。這是本插件的核心部分,由于旨在于Cytoscape這個(gè)可視化平臺(tái)上對(duì)蛋白質(zhì)網(wǎng)絡(luò)進(jìn)行聚類分析比較從而為生物信息學(xué)研究人員提供一個(gè)直觀準(zhǔn)確的具有參考價(jià)值的結(jié)果,因需要十分注意軟件的精準(zhǔn)性、可靠性與嚴(yán)謹(jǐn)性,每個(gè)聚類算法要有據(jù)可查,要嚴(yán)格的與原算法過程及結(jié)果保持一致。
(2)前臺(tái)界面控制與可視化的實(shí)現(xiàn)。包括Bundle控制,面板控制,聚類結(jié)果可視化,導(dǎo)出結(jié)果等部分,是該插件有別于其他簡單聚類分析軟件的重要區(qū)別所在,使得該軟件不僅能對(duì)蛋白質(zhì)網(wǎng)絡(luò)進(jìn)行聚類分析,還能進(jìn)一步可視化聚類結(jié)果進(jìn)行分析比較,并導(dǎo)出到文本中。
CytoCluster系統(tǒng)是一個(gè)可擴(kuò)展平臺(tái),隨著蛋白質(zhì)網(wǎng)絡(luò)聚類技術(shù)的發(fā)展,將在今后的開發(fā)中集成更多的聚類算法,使得系統(tǒng)更加豐富,更加完善。
References)
[1] SHANNON P,MARKIEL A,OZIER O,et al.Cytoscape:a software environment for integrated models of biomolecular interaction networks[J].Genome Research,2003,13(11):2498-504.
[2] BADER G D,HOGUE C W V.An automated method for finding molecular complexes in large protein interaction networks[J].BMC bioinformatics,2003,4(1):2.
[3] LI Min,WANG Jianxin,CHEN Jianer.A fast agglomerate algorithm for mining functional modules in protein interaction networks[C]//BioMedical Engineering and Informatics,2008.BMEI 2008.International Conference on.IEEE,2008,1:3-7.
[4] WANG Jianxin,LI Min,CHEN Jianer,et al.A fast hierarchical clustering algorithm for functional modules discovery in protein interaction networks [J].Computational Biology and Bioinformatics,IEEE/ACM Transactions on,2011,8(3):607-620.
[5] WANG Jianxin,REN Jun,LI Min,et al.Identification of Hierarchical and Overlapping Functional Modules in PPI Networks[J].IEEE TRANSACTIONS ON NANOBIOSCIENCE,2012,11(4):386 -393.
[6] LI Min,CHEN Jun,WANG Jianxin,et al.Modifying the DPClus algorithm for identifying protein complexes based on new topological structures [J]. Bmc Bioinformatics,2008,9(1):398.
[7] SHEN Huawei,CHENG Xueqi,CAI Kai,et al.Detect overlapping and hierarchicalcommunity structure in networks[J].Physica A:Statistical Mechanics and its Applications,2009,388(8):1706-1712.
[8] RADICCHI F,CASTELLANO C,CECCONI F.Defining and identifying communities in networks [J].Proc.Natl.Acad.Sci.USA,2004,101(9):2658 -2663.
[9] ALTAF-Ul-AMIN M,SHINBO Y,MIHARA K,et al.Development and implementation of an algorithm for detection of protein complexes in large interaction networks[J].BMC bioinformatics,2006,7(1):207.
[10] ELIA J,GLESSNER J T,WANG K,et al.Genome-wide copy number variation study associates metabotropic glutamate receptor gene networks with attention deficit hyperactivity disorder[J].Nature genetics,2011,44(1):78-84.