昨天開始學用Cytoscape,其tutorial分為兩個部分,基礎的和高級 的。基礎教程又分成了四課:Getting Started、Filters & Editor、Fetching External Data和Expression Analysis。為防忘記,做個摘記。
第一課 新手上路
地址:http://wiki.cytoscape.org/Presentations/01_Get_Started
Cytoscape可以本地安裝,也可以web start。軟件得用java,所以要裝JRE。我在Ubuntu下裝了OpenJDK,可以運行。因為以前一直沒把jnlp文件和java關聯起來,所 以從沒成功web start過,試了一下“課文”里給出的鏈接,似乎不太靠譜,總之是沒法啟動。
啟動Cytoscape后,得下載兩個樣例文件。以sif為后綴名的是蛋白相互作用網絡信息,里面的蛋白以數字形式區別,以na為后綴名的是各數字id的注釋,似乎兩者的文件名必須相同才能關聯起來。
sif文件的打開\導入有兩種方式:File → Import → Network(Multiple File Types)或者直接Ctrol+L,na文件是File → Import → Node Attributes。Network導入之后有多種顯示風格,2.8版默認風格下,圓圈是各蛋白,稱為節點(node),其間各線為edge,代表相互 作用。點中圓圈就選中了一個節點,想要多選,可以采用同時按Shift的方法,也可以先在Select → Mouse Drag Selects設置好選node還是選edge,然后鼠標拖放,一選一大片。
此外還可以有目的地選擇。比如可以Select → Nodes → By Name,然后輸入蛋白id,即可選中此節點。大海撈針即告完成。此操作的快捷鍵是Ctrl+F。
如果已經選中了節點,還可以Select → Nodes → First neighbors of selected nodes,可將所選蛋白的直接相互作用蛋白選中,再選File → New → Network → From selected nodes, all edges,即將相互作用網絡的一個子網絡剝離出來。
Layout菜單的功能比較花哨,是關於相互作用網絡圖的組織原則的。可以亂試一通,一張一張放在ppt里唬人,呵呵。
一團亂麻般的相互作用網絡圖下是查看節點或連線所代表的信息的地方,稱為data panel。按Attributes按鈕會彈出一個小窗口,可供選擇需要列出的欄目的名字,比如id,或者對應的基因名,當然這個基因名信息是從na文件里導入的。
亂麻左邊的窗口是有多個tab的控制面板。Network那個tab里可以在導入的 sif里切換。VizMapper tab里可以定制顯示樣式,比如圓圈變成方形,或者變大一些,或者換個底色,連線換個粗細和顏色等等。如果莫名找不到的話,Cytoscape的菜單欄下 有幾個快捷按鈕,其中有一個可以打開VizMapper。各種樣式設置好之后一定要點Apply,還可以新建或者另存,便於把所有的網絡打上自創風格的烙 印。
Cytoscape還支持從網上直接導入相互作用網絡,也是在File → Import → Network (Multiple File Types)一步,選擇remote,然后輸入url。從例題來看應該至少兼容SBML格式的。不過lin下代理我還是搞不定,這種“奢侈”的功能姐還是 表痴心妄想了……
第二課 篩選和編輯
地址見:http://wiki.cytoscape.org/Presentations/02_Filter_Edit
首先復習一下,還是以上一課那個sif和na文件。依次導入、選擇顯示基因名。課文里說要用到的插件不僅下載地址作廢了,而且似乎並不需要。可能已經整合到基本的功能包里了。
現在開始玩玩篩選。首先用拖放選一大堆節點和連線(還是海選),然后Select → Use Filters,控制面板里即出現Filters tab,在此tab中點Options,在彈出的下拉菜單中選Create new filter。
然后開始定義篩選條件,比如連線的類型:在Filter Definition里選edge.interaction,然后點Add。此時指定了篩選依據,而具體條件還沒指明。在Advanced里,輸入 non_core或者core之類的連線類型,當然Y2H神馬的也行啦。最后一定要按一下tab左下角的Apply。
此時選中了相互作用類型為non_core的節點和連線。之后可以進行多種操作。比如Edit → Delete Selected Nodes/Edges,這樣這些non_core的東西就統統刪除了,剩下你認為更可信的蛋白及其相互作用。
可是還有一些和其他蛋白沒有相互作用的蛋白,我們要把它們找出來、刪除。很簡單,如 法炮制,僅僅把相互作用篩選條件換成“*”就行,選好后再利用New → Network → From selected nodes, selected edges,調整一下layout:Layout → spring-embedded layout,這張圖里只有有相互作用的蛋白。不過其實任務還剩個尾巴,有些蛋白可與自身相互作用,這部分蛋白還在這張圖里。課文里說可以手動搞定,不過 不曉得是否有批量處理的辦法。
導入的文件也並不總是完美的,有時需要添加和刪除某些節點和連線,此時需要用到控制 面板里的Editor tab。添加節點的話就在標有“Add a Node”的節點上點左鍵,然后把節點拖到右邊的相互作用網絡圖里,在數據面板的Node Attribute Browser里可以看到新添的節點id為node0。在此窗口里點相應欄目,即可修改其屬性,比如基因名之類的。
添加連線的話,在Editor tab里點“Directed Edge”,如法炮制,拖到右邊圖里某個節點上,確定相互作用的一方,然后把另一端拖到某個節點之上。連線屬性在數據面板的Edge Attribute Browser里查看和修改。
刪除:選中要刪的東西,然后Edit → Delete Selected Nodes/Edges,此操作的快捷鍵是Del。
第三課 獲取外部數據
地址見:http://wiki.cytoscape.org/Presentations/03_Download_Data
這一課要告訴我們:
a. 從外部服務(比如SGD和BIND)下載Cytocape格式的數據;
b. 用cPath插件獲取外部數據,其中cPath從2.4版以后已經整合到Cytoscape核心包里了。
SGD是酵母的庫,Saccharomyces Genome Database,提供physical和genetic相互作用的信息,提供sif格式的下載,地址 在:http://db.yeastgenome.org/cgi-bin/batchDownload。下載頁面的說明挺簡單,總之是指定想下的東西再 重定向到另外一個頁面,然后另存為就行了。
BIND是Biomolecular Interaction Network Database,主要提供蛋白相互作用信息,現在整合到BOND庫里了。下載地址是 http://bond.unleashedinformatics.com/,要注冊,免費。登錄后進入首頁,搜索目標分子,搜到的相關信息分成五 類:summary、sequences、interactions、complexes和pathways。打開interactions,在結果欄的 右上角有導出功能,選擇導出成sif格式即可。
另外還有Pathway Commons庫,地址是http://www.pathwaycommons.org/。課文也不知道啥時候編的,說建成后會超過BIND庫,瞧瞧網站 的意思,至少上線兩年了,應該已經算建成了吧。目前已經整合的庫包括:BioGRID、Cancer Cell Map、HPRD、HumanCyc、IMID、IntAct、MINT、NCI / Nature Pathway Interaction Database,具體的說明見Pathguide。說起來Pathguide也是個奇網站,是個介紹全部325個途徑和相互作用相關的數據庫的概況的數 據庫,相當於目錄或者提要。從這里你可以找到蛋白-蛋白相互作用、代謝途徑、信號傳導途徑、表達途徑、轉錄因子/基因調控網絡、蛋白-復合物相互作用、 genetic相互作用網絡、protein sequence focused等等類型的數據庫,查看其概況,然后決定去哪個庫搜索信息。
最后是用cPath插件從CPpath數據庫直接獲取數據,后者從08開始就不更新了,而且建議用戶使用Pathway commons。
下載多個源的相互作用網絡文件后,可以融合成一張圖,需要用到Graph Merge插件。這個插件可能也整合進核心包了,疑似Plugins下的Advanced Network Merge。
第四課 表達分析
地址見:http://wiki.cytoscape.org/Presentations/04_Expression_Data
終於開始做正經事兒了,先唏噓二點五秒鍾~~
好了唏噓完畢,開始學習。首先下載三個文件:galFiltered.sif、galExpData.pvals和galExpData.mrna。接下來通過操作下載的示例文件來學習:
1. 導入galFiltered.sif,彈出數據面板和結果面板,最大化畫布,用spring-embedded風格顯示。
2. 文本編輯器打開mrna文件,可以看到第一行是數據標簽。對應於相互作用網絡圖,第一欄為節點名稱,必須和sif文件里的節點名一模一樣喲;第二欄是基因 座名,Cytoscape里目前不顯示;后面各欄是表達信息。各欄之間用whitespace隔開。這個mrna應該就是芯片直接導出的數據的格式吧?
3. 導入表達信息:Import → Attribute/Expression Matrix...,快捷鍵Ctrl+E。導入后,Node Attribute Browser里就能看到這個節點的表達量了。
基礎工作就此結束,下面要玩花哨的活兒了。
4. 首先可以根據表達量高低給節點上不同的顏色。在VizMapper里先新建個顯示風格,然后雙擊Node color,選擇按照某類表達量分類,選continuous mapping,然后點開下面那張顏色圖設置閾值和顏色。別忘了按Apply喲。
下面是一些背景知識。Gal1、Gal4和Gal80都是酵母轉錄因子,在相互作用 網絡里分別對應YBR020W、YPL248C和YML051W。相互作用有兩種類型:protein-protein (pp)和protein-DNA (pd)。表達量信息分別是Gal1、Gal4和Gal80的表達異常情況下的值。現在我們要看這三個轉錄因子表達異常影響到的基因。
5. 首先要把pp相互作用除去。用filter和Delete Selected Nodes and Edges。然后用yFiles Organic layout查看剩下的連線。
6. 查看剩下的強烈誘導或抑制的節點,選擇它們,選擇其直接相鄰節點,復制到新的相互作用圖里便於查看。然后可以好好看看轉錄因子對不同蛋白的表達量的作用了。
第五課 使用Agilent Literature Search插件
地址見:http://wiki.cytoscape.org/Presentations/05_Literature
進入高級課程了,呵呵。其實就是完成了一半,換個fancy的名字而已。不過還是挺有效,覺得小有成就感。
本課中將要學到:
a. 利用Agilent Literature Search從文獻搜索關鍵詞中建立putative分子間聯系的相互作用網絡;
b. 研究插件建立的聯系,刪除自己認為不靠譜的;
c. 利用上下文信息改進搜索。
需要注意的是隨着文獻的增多,文中提供的提取文獻信息的模型可能會過時。因此需要學會改進搜索。
首先要下載和安裝Agilent Literature Search(ALS)插件。下載jar后放到plugins文件夾,關了重新開Cytoscape就可以了。打開Plugins → Agilent Literature Search,同意協議,彈出搜索設置框,設置搜索關鍵字、種屬關鍵字、每頁顯示paper數,Edit下可以設置代理。設置好后按藍色的小三角,結果框 顯示paper海,同時畫布上顯示從文獻信息里構建出來的相互作用網絡。
文獻搜索和網絡構建的詳細機制是這樣的:首先根據關鍵詞基於摘要和關鍵詞搜索文獻;然后掃描文章內容,不論是否包含搜索關鍵字,都創建一個由putative相互作用構成的網絡。因此有時會看到沒有指定要搜索的蛋白或者基因,除掉它們的話提高匹配的數量閾值就行了。
得到初步結果之后,接下來就是做paper民工的活計了。選中圖里的連線,右鍵,選 擇Evidence from Literature,彈出的小菜單包括Show Sentences from the Literature、Gather Evidence from the Literature、Extend Network from the Literature還有Highlight Search Terms。選擇Show Sentences from the Literature,彈出窗口,里面是創建網絡基於的文獻語句。覺得不靠譜的話就右鍵點擊該句子,然后Delete Sentence掉。此句對應的連線的所有句子都刪除掉了,連線就很知趣地消失了,兩個節點也不見了,強大呀~~~
除了以句子為判定單位,還可以以paper為判定單位。在文獻搜索窗口的 “Query Matches”部分右鍵點擊某篇paper,點“Delete Match”,該paper對應的連線就全部消失了。如果paper旁邊有一個小的Cytoscape的logo,則右鍵菜單里會出現 “Highlight Match”一項。它的功能是高亮來自該paper的所有節點和連線(默認顯示風格下,節點變黃,連線變紅)。
最后,如果要保存搜索結果的話,搜索窗口的File菜單下有兩個選項:“Load Search Results”和“Save Search Results”。后面的我就不廢話啦。
接下來是手藝活兒:改進搜索。首先我們來熟悉一下搜索窗口里的各式奇門設置:a. “Extraction Controls”部分的下拉菜單中選,右上角 “Context”框里的關鍵詞會想應改變;b. 每個搜索引擎的匹配數上限。公共搜索引擎太強大,匹配數上限設太高可能導致返回海量數據,進而導致超大型相互作用網絡,進而導致……死機,所以還是謹慎為 妙;c. “Extraction Controls”下,“Interaction Lexicon”控制用於判定putative相互作用的動詞的列表。選“limited”則只有句子里包含諸如激活、甲基化、切割之類的“高置信度”的 動詞時才算作putative相互作用;選“relaxed”則范圍放寬,諸如加入、提高、誘導之類的也算;d. View菜單下可選搜索引擎,只有三種:PM、OMIM和USPTO;e. “Search Controls”下的“Use Aliases”按鈕,即可使用蛋白的姓名別名曾用名,比如p53就成了p53 OR trp53 OR tp53,這樣搜索結果的完整性可大大提高;f. 輸入關鍵詞,一行一個,超過一個單詞則需用引號括起來;g. “Context”框里不僅可以設置物種(其實刪掉也無妨),還能指定主題,比如癌症、阿爾茨海默症等,可讓搜索結果特異性更好。g. 如果你也是個CNS控,可以在“Query Editor”框里指定:(P53) AND Cancer AND (Science[ta] OR Nature[ta]),這個表達式的意思是搜索發表在S和N上的帶有P53和Cancer關鍵字(也有可能帶別名的)的paper。更多高級搜索的語法 見數據庫的幫助文件,如我自己常用的PM:http://www.ncbi.nlm.nih.gov/books/NBK3827 /#pubmedhelp.Search_Field_Descrip。
所有都設好后按下方的藍三角開始搜索。
在分析相互作用網絡的過程中,也可以隨時利用文獻搜索。比如右擊某條連 線,LinkOut → Entrez → Pubmed,選擇后打開默認瀏覽器,顯示PM搜索結果。課文兒說搜索完成后Edge Attribute瀏覽器里會多出幾個屬性,包括:a. HasTSI,代表該相互作用是否有文獻支持;b. NumberOfSources,代表支持該相互作用的paper的數目;c. nbrSentences,代表支持該相互作用的句子的數目。此外Cytoscape主程序的Evidence from Literature菜單下選中“Show Sentences from the Literature”后,會彈出窗口,列出支持該相互作用的句子,給出此列表的搜索沿用最近一次搜索的設置。不過這兩個結果我都沒做出來,可能還是因為 不能連通PM,導致不能初始化搜索所致。
對節點也能用這個方法搜索,等效於對連接該節點的所有連線做搜索。
第六課 GO分析
地址見:http://wiki.cytoscape.org/Presentations/06_GO
要學習聲名赫赫的BiNGO了,話說我就是因為這插件才開始決心學用Cytoscape的,小激動一下。
以酵母那個galFiltered.sif為例,Ctrl+L load進來。接着導入GO信息:File → Import → Ontology and Annotation...。彈出的窗口里設置annotation和ontology類型,ms是選好之后直連的,不過苦命的姐還是選Browse下的 Browse Local Files吧。設定好之后按右下角的Import。
導入GO信息后要對顯示設置做些修改,讓GO信息顯示容易尋找和查看。點快捷欄最右 邊那個一頁紙上壓着個大螺絲的圖標,Search on Attribute下把Unique Identifierannotation.GO BIOLOGICAL_PROCESS,當然神馬annotation.GO CELLULAR_COMPONENT之類的也可以啦。最后點右下角的Reindex Network。然后主窗口里紙和螺絲旁邊那個搜索框里搜索的類型就改成了GO BP,還帶關鍵字選項的喲。
接下來學習激動人心的GO term富集分析:
1. Select → Nodes → By Name...。太弱?好吧,Ctrl+F。選Gal4吧。
2. Select → Nodes → First Neighbors of Selected Nodes。太弱?好吧,Ctrl+6。
3.New → Network → From selected nodes, all edges。太弱?好吧,Ctrl+N。
4. 切換到新建的網絡。Select → Nodes → Select all nodes。太弱?好吧,Ctrl+Alt+A,5。
5. Plugins下點開BiNGO。彈出BiNGO設置窗口,按照偏好,完成后面的設置:a. 給聚類分析取個名字;b. 勾上“Get Cluster from Network”框;c. “Select a statistical test”下,選擇“Hypergeometric”,如果數據量非常大,可以選用“Binomial”,不過一般的處理用Hypergeometric 即可;d. “Select a multiple testing correction”下,選用“Benjamini & Hochberg False Discovery Rate (FDR)”,這種FDR計算方法比Bonferroni較為不保守,不過多數情況下已經夠用;e. “Choose a significance level”輸入“0.05”,此閾值控制計算結果中報告的GO分類的細致程度,0.05並不一定足夠保守,不過可以根據結果調整此閾值;f. “Select the categories to be visualized”下選擇“Overrepresented categories after correction”,這樣結果中就能直接看到富集的分類,當然選別的也可以;g. “Select reference set”下,選擇“Test cluster versus complete annotation”,即富集計算的比較背景是所有得以GO注釋的基因;h. “Select ontology”下選擇GO_Biological_Process”,計算GO BP大類下的各分類的富集程度,當然別的也行,比如我的主要是GO CC啦;i. “Select organism/annotation”下翻啊翻啊翻,翻到樣品所屬的物種;j. 勾上“Check box for saving Data”,點擊“Save BiNGO Data file”按鈕,選定目的目錄,BiNGO會導出一個文本文檔,內列出各顯著富集的節點的p值,文件名即最開始給聚類分析起的名字,后綴名是.bgo。此 外,文件里還列出分析時所用參數和得到富集的GO term。
6. 一大堆選完后,點擊“Start BiNGO”。分析完成后彈出運行報告,內容在bgo文件里也有。還返回一個相互作用網絡,顯示上一步f下選的那些節點。節點的標簽顯示的是屬於上一步h 下選的GO注釋種類的term。默認顏色分布:富集程度越高則節點背景越偏橙色,越低則越靠近黃色。白色節點表示未被顯著富集,之所以出現在結果中是因為 他們的某個子節點顯著富集。結果中節點的多少是與提交到分析的節點的多少成正比的。
6. Node Attribute瀏覽器下點“Select Attributes”,能看到多了一些屬性,均以聚類名結尾,包括:a. description_test,顯示GO term;b. adjustedPValue_test,multiple hypothesis testing后的p值,后面四個是該testing中要用到的值;c. n_test,此GO term下的節點的數目;d. x_test,所選的節點中此GO term下的節點數目;e. N_test,背景基因組中帶有所選類型的GO注釋的節點的數目;f. X_test,所選的節點的數目。
7. 勾上這些屬性,逐個考察。
8. 下面可以玩一玩初級視覺游戲。選擇白節點,或者加上你覺得太黃太暴力的幾個節點,然后Select → Nodes → Hide node selection,這些看着不爽的節點就知趣地消失了。
9. 當然它們隨時待命,召之即來:Select → Nodes → Show all nodes。
下面玩一個不同類型處理的combo。目前的情況是得到了Gal4敲除或沉默或過表 達后得到富集的子相互作用網絡,而該網絡來源於半乳糖利用這條途徑,於是想看看在這些富集的GO term中,哪些屬於僅僅涉及半乳糖利用途徑,又是哪些還特異地與Gal4效應子網絡相關。為區分這兩類節點,首先分出一個子網絡,然后做BiNGO富集 分析,詳細操作如下:
1. 回到媽媽網絡,選中Gal4的Ctrl+6。
2. BiNGO設置窗口的“Select Reference Set”選“Test cluster versus network”,當然,得給這個聚類分析起個新名字,就比如test2吧。運行BiNGO。
3. 比較新老BiNGO結果網絡。新結果中丟失的term可能僅與半乳糖利用相關。
4. Node Attribute瀏覽器下點“Select Attributes”,能看到有些屬性變了,現在有adjustedPValue_test(代表以整個基因組為背景時的富集程度)和 adjustedPValue_test2(代表以整個子網絡為背景時的富集程度)。可以選中這些屬性,然后考察各節點的這兩個屬性的數值。
第七課 模塊和復合物
地址見:http://wiki.cytoscape.org/Presentations/07_Complexes
相互作用網絡中的模塊的原理類似程序腳本中的模塊,均以功能為內在聯系,為簡化相互作用網絡的圖形表示形式,可將模塊用一節點代替,勉強類似與Python中的模塊腳本吧。
這一課可以學到的新招包括:
1. 如何鑒定putative復合物,包括兩種方式:a. 通過網絡connectivity;b. 通過connectivity以及共表達;
2. 如何利用表達數據鑒定對實驗條件反應顯著的putative模塊或途徑。
善其事,利其器。需要下載一堆插件:MCODE、Dynamic Expression plugin、jActiveModules、BiNGO。其中Dynamic Expression plugin和表達數據文件連接失效了。Aging呀aging~~
首先練習用MCODE找復合物成分,原理:內部連線多,是復合物模塊的幾率則大。詳細過程:
啟動軟件,載入sif,Plugins → MCODE → Start MCODE,彈出MCODE窗口。點擊底部的“Analyze”,想改設置的話點“Advanced Options”。分析結束,返回結果,包括復合物的節點和連線組成以及分數。顯著的復合物一般分數較高(>1),且節點和連線不至於很不靠譜。點 擊結果即可在畫布里選中相應節點。然后我們用BiNGO考察這個子網絡中GO注釋富集的情況,以獲得間接證據支持。顯示GO BP中得到富集的類下的節點,然后和MCODE分析的節點交叉比對。如果發現兩者重合程度很高,那么所發現的復合物為陽性的可信度則提高了。
剛才那種方法需要相互作用數據,除此之外,利用表達數據也可以鑒定復合物,這回是jActiveModules和BiNGO搭檔。詳細過程:
啟動,載入。File → Import → Attribute/Expression Matrix...,這里所載入的表達數據里要有significance值。Plugins → jActiveModules → Active Modules: Set Parameters;選擇要采用的表達數據;設置所返回的putative hit的數目;點“Dismiss”關閉窗口。Plugins → jActiveModules → Active Modules: Find Modules,此時插件開始運行。
結束后彈出Conditions vs. Pathways窗口,其中size表示子網絡/復合物所包含的節點數,score表示可信度分數,紅色表示“significant”,白色反之。此窗口內選中某行,在畫布中即選中了所對應的節點。
之后的工作和剛才一樣,可以從子網絡的BiNGO富集分析中得到側面支持。當然也可以用ALS搜paper,看看文獻中是否有類似報道。
下課,課文讓喝咖啡。嗯,要聽老師的話~~
第八課 整合網絡服務提供的注釋和相互作用網絡
地址見:http://wiki.cytoscape.org/Presentations/08_Web_Services
最后一課,內容很多。包括:
1. 如何從公共數據庫導入相互作用網絡;
2. 如何導入注釋和映射ID;
3. 如何融合多個數據來源的相互作用網絡;
4. 如何將已知的途徑映射到相互作用網絡。
從其中第三部分開始爛尾,偏偏我對后兩小節興趣大一些。不管了,看看總有益,剩下的自己琢磨。
下面要完成一個大實驗,總的目的是整合關於PPAR-gamma的所有已知信息。
第一部分:數據庫搜索和導入
1. 安裝一堆插件:a. 相互作用網絡/屬性導入客戶端:NCBIClient、NCBIEntrezGeneUserInterface、IntActWSClient、 BiomartClient(0.80及以上)、MiMI、GPML;b. 數據融合:AdvancedNetworkMerge(2.8版中默認裝好);c. 腳本編寫:RubyScriptingEngine、ScriptingEngineManager;d. 搜索:Enhanced Search。
2. 第二個熱身運動是增大Java中Permanent部分所分配的內存,編輯cytoscape.sh,找到-Xss5M -Xmx1024M -XX:MaxPermSize=128m,其中-XX:MaxPermSize即為要修改處。如果所載入插件過多,則導致這一部分內存溢滿,則 Cytoscape可能crash掉。默認大小是64 M,128 M應該夠了吧。
3. 接下來瘋狂導入數據中:File → Import → Network from Web Services...,選擇數據源“NCBI Entrez EUtilities Web Service Client”,關鍵詞是“pparg AND human[ORGN]”。搜索完畢,返回網絡,命名,Layout → yFiles → Organic。返回的網絡的數據來自NCBI Entrez Gene data set,后者涵蓋了BIND、BioGRID和HPRD。哈欠,都是人的……
4. 導入屬性:File → Import → Import Attributes from NCBI Entrez Gene。選中所有屬性,Key Attribute設為ID。點擊右下角的“Import”。導入完成后即坐擁多種注釋,包括KEGG、GeneRIF、GO、publication神 馬的。
5. 從Pathway Commons導入已知的通路和相互作用:File → Import → Network from Web Services...,選擇數據源“Pathway Commons Web Service Client”,輸入關鍵詞,選擇物種,點“Serach”。導入所有結果,雙擊即可。
6. 從IntAct導入二元相互作用數據:File → Import → Network from Web Services...,選擇數據源“IntAct Web Service Client”,輸入關鍵詞“PPARG AND species:human”,點“Serach”。此時僅返回與PPAR-gamma直接發生相互作用的蛋白/基因。選擇所有節點,在其中一個上右擊, 選擇Use Web Services → IntAct Web Service Cleint → Get neighbours by ID(s),得到三跳以內的相互作用蛋白/基因。
7. 稍微整理一下所有抓取的網絡:View → Arrange Network Windows → Tiled。
8. 用高級手段BioRuby導入KEGG途徑。首先要下載一個rb腳本(哪天參考一下,順便改進改進,提交到BioPython,wkk)。運行腳 本:Plugins → Scripting Language Consoles → Open Ruby Console打開Ruby控制台。cd進入腳本進入腳本目錄,搜索:keggapi.bfind('pathway pparg human')。結果返回一大堆話,取“path:”那幾個字,比如“path:hsa03320 PPAR signaling pathway”。順藤摸瓜,pathway_id = 'path:hsa03320'; source '剛才下的那個腳本'。圖就出來了。還挺簡單。屬性包括KEGG ID和Entrez Gene ID。
9. 從WikiPathways(Wiki風格界面的curated的途徑數據庫,格式為GPML,Cytoscape兼容)導入已知的通路和相互作 用:File → Import → Network from Web Services...,選擇數據源“WikiPathways Web Service Client”,關鍵詞輸入“pparg”,選擇物種,點“Serach”。導入所有結果,雙擊即可。
10. 用ALS從文獻中搜索構建相互作用網絡。方法見前一課課文兒,在此不贅。需要注意的是,得到的相互作用網絡不帶有節點和連線的注釋/ID數據集。如果想添 加注釋,可以用BioMart網絡服務客戶端獲取。首先,需要從節點ID創建一個新的屬性。這里有個小小麻煩,Cytoscape是大小寫敏感的,而 ALS結果里的結果ID都是小寫的,與基因標志的通用格式不同。這樣的話會出現映射不上的問題,所以要轉換一下。嗯,小case,聽姐的話,學 Python去吧,欽此。
11. 下面從BioMart中導入注釋信息:File → Import → Import Attributes from BioMart...,數據源選擇“ENSEMBL GENES (Homo Sapience)”,“key attribute”選擇“Gene Symbol”,“Data Type”選“HGNC Symbol”。選擇想要導入的注釋類型。點“Import”。搞定。
12. 不過BioMart庫有時也不是太全,有的蛋白在庫里找不到。這時可以用命令行工具創建ID映射表,操作如下:a. 選中所有節點;b. Attribute瀏覽器中選擇“EntrezGene ID”和“Gene Symbol”,按前者排序,找到沒有注釋的節點,復制之;c. Ruby中創建變量symbols,賦值為剛才復制的基因標識;d. 輸入命令“query.gsub(/\n/, " OR ")”、“query = '(' + query + ') AND human[ORGN]'”;e. 創建NCBI EUtilities網絡服務客戶端,構建搜索,開始搜索; f. 從結果中提取ID列表,獲取總結,以表格形式寫入文本文件;g. 利用File → Import → Attribute from table導入表格,即得到的節點已經映射到Entrez Gene ID的文件。
13. 此外還有從MiMI數據庫導入相互作用的方法,應該也可以通過插件完成。
至此第一部分基本完成,下面開始第二部分,基因列表的各種操作,總的目的是從一份基因列表出發,在Cytoscape中看到他們之間的相互作用。
14. 如果是Entrez Gene ID,則打開File → Import → Network from Web Service,選擇“NCBI Entrez EUtilities Web Service Client”數據源,搜索框里粘帖基因列表。
15. 導入注釋。
16. 利用Enhanced Search插件選擇多個節點。基因ID列表粘帖至工具欄的ESP窗口里,點“Enter”,即可選中所輸入的節點,並查看這些節點在圖中的位置。
17. 融合相互作用網絡時有時希望標出各節點的來源,這一點可以通過添加屬性開始。在節點屬性瀏覽器窗口中點擊“String Attribute”,命名屬性。
18. 回到節點屬性瀏覽器,點擊“Batch Attribute Editor”。在“Operation”頁中,選擇“Set”,然后選擇想要設置的屬性名,輸入屬性值。點擊“Go”。
幾個cookbook recipe。
第一例 獲取某一途徑中的基因列表
1. 打開BioRuby控制台,輸入“keggapi.get_genes_by_pathway("path:mmu03320")”,其中“path:mmu03320”是途徑的KEGG term。返回一系列KEGG的基因ID。
2. 結果需要除去“mmu:”的前綴,並把所有id從一個列表連接成一個字符串。用BioRuby的話,是這么寫:“query = gene_list.join(" ").gsub(/mmu:/, "")”。
課文最后說BioRuby提供很多KEGG和其他數據庫的提取信息的簡單方式,不知Python插件功能怎么樣?
文章來自:http://lwzhanghz.blog.163.com/blog/static/13682636920134190525926/ (有改動)