clustMD r语言_利用R语言实现微阵列数据分析-聚类分析
原文見:http://www.biostat.ucsf.edu/jean/Presentation/IMSLAB.pdf
為了方便大家學習,我將該文翻譯成中文加上一些相關的簡單介紹,經驗尚淺,還請大家多提意見。
1、R統計分析工具
文中主要利用R做為分析統計工具,軟件相關信息見請參考www.r-project.org/。
英文簡介:http://cran.r-project.org/doc/manuals/R-intro.pdf
中文簡介:http://www.biosino.org/pages/newhtm/r/schtml
2、Bioconductor
Biocondocutor是基于R開發的用于基因組數據分析的軟件,詳情請參考http://www.bioconductor.org/。
Bioconductor的安裝方法:打開R的命令窗口鍵入如下命令
source (http://www.bioconductor.org/biocLite.R)
biocLite()
3、數據
指南中使用的數據來自于三種急性白血病的基因表達研究,分別是B細胞急性淋巴性白血病(B-ALL),T細胞急性淋巴性白血病(T-ALL)和急性脊髓性白血病(AML)。利用含有6817個人類基因的Affymetrix高密度寡核苷酸陣列(hgu68a)分析38個B-ALL,9 個T-ALL和25個AML腫瘤樣品的基因表達水平。
4、數據預處理
1)閾值:100~16,000
2)篩選:除去max/min 5或者(max-min) 500的基因。這里max和min是指mRNA樣品中基因的最大和最小密度。
3)以2為底的對數轉換
數據文件GolubData.RData包括了基因的表達水平和基因名。篩選后的基因表達水平存儲在3571 72的golub矩陣中,行和列分別對應基因和mRAN樣品。
5、 練習
有兩種方法完成這個練習,對于熟悉R或者S-plus的用戶,你可以用自己寫的代碼完成練習;對于不熟悉R的用戶,可以利用tkWkdgets包中的vExplorer功能完成練習。vExplorer功能提供了瀏覽和執行代碼的圖形界面。啟動R,通過如下代碼導入指南:
>install.packages("IMSLAB",contriburl="http://www.biostat.ucsf.edu/jean/software")
> library(IMSLAB)
> vExplorer( )
然后利用打開的窗口選擇IMSLAB程序包。
開始
在開始練習前,有一些獲得幫助的重要命令和語句需要介紹
> help.start()
> apropos("mean")
> ? mean
> example("mean")
載入數據包
> library(IMSLAB)
> data(GolubData)
聚類
聚類分析是以基因間的相似程度,或者說是基因間的距離為基礎的。利用hclust功能聚類白血病mRNA樣品。T-ALL,B-ALL和AML樣品是否聚類到一起?通過改變hclust中的method參數試用不同的類間距離進行練習。在dist中通過改變method參數試用不同的基因距離進行練習。下面這些問題可以幫助你開始練習。
Q1:利用相關系數和最大類間距離對mRNA樣品進行系統聚類分析
> library(mva)
> clust.cor
> plot(clust.cor, cex = 0.6)
Q2:用歐式距離和平均類間距類對mRNA樣品進行系統聚類分析
> clust.euclid
> plot(clust.euclid, cex = 0.6)
Q3:利用mva包中的heatmap功能,你可以得到聚類分析的圖像。但是要注意,這個功能對基因和樣品都執行聚類分析,如果基因的數量過大,會導致這個方法運行緩慢,為了說明問題,我們僅選擇100個基因為例。
> library(sma)
> golubvar
> top100
> heatmap(golub[top100, ])
然后我們嘗試不同的聚類分裂方法
Q4:利用相關系數作為基因距離對mRNA樣品進行Kmeans聚類分析。
> clust.kmeans
> names(clust.kmeans$cluster)
> clust.kmeans$cluster[1:10]
Q5: 利用cluster包中的PAM功能對mRNA樣品進行“Partition Around Medoids”分析
> library(cluster)
> clust.pam
> clusplot(clust.pam, labels = 3, col.p = clust.pam$clustering)
Q6:利用som包中的自組織映射分析方法(SOM) 對mRNA樣品進行聚類分析
Q7:最后,我們在方差的基礎上選擇前100個基因,執行上面所述的各種聚類分析方法。注意我們在基因的選擇過程中沒有使用任何同樣品有關的信息。stat.gnames 功能能夠根據選擇的統計量將基因排序,在本例中統計量就是方差。
> golubSub
> par(mfrow = c(2, 2))
> plot(hclust(as.dist(1 - cor(golubSub)), method = "complete"),
+ cex = 0.6)
> plot(hclust(dist(t(golubSub)), method = "average"), cex = 0.6)
> clust.pam
> clusplot(clust.pam, labels = 3, col.p = clust.pam$clustering)
> par(mfrow = c(1, 1))
總結
以上是生活随笔為你收集整理的clustMD r语言_利用R语言实现微阵列数据分析-聚类分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 会声会影2022中文版主要功能讲解64位
- 下一篇: 5V转3.3V的N种方法