新出炉的Cytoscape视频教程共表达基因的寻找是转录组分析的一个部分,样品多可以使用 下面将实战演示 获得模拟数据集
library(MixSim) ## a b c d e f## Gene_1 -0.04735251 -0.7147304 0.3836436 1.322786 0.9718988 -0.5468517## Gene_2 0.09276733 -0.8066507 0.5476909 1.351780 0.8679073 -0.6019107## Gene_3 -0.08751894 -0.6461075 0.4371506 1.522767 0.8031865 -0.6904081## Gene_4 0.11065988 -0.7327674 0.4550544 1.379773 0.9304277 -0.5532253## Gene_5 -0.02722127 -0.7833089 0.6700604 1.448916 0.7128284 -0.6266295## Gene_6 0.15119823 -0.7468292 0.4859932 1.351159 0.9179421 -0.5625206## g h## Gene_1 0.4127370 -1.782130## Gene_2 0.2852284 -1.736813## Gene_3 0.3420581 -1.681128## Gene_4 0.1808146 -1.770737## Gene_5 0.2936467 -1.688292## Gene_6 0.1821925 -1.779136 K-means
聚类模拟如下图: 聚类过程需要考虑下面3点: 1.需要确定聚出的类的数目。可通过遍历多个不同的聚类数计算其类内平方和的变化,并绘制线图,一般选择类内平方和降低开始趋于平缓的聚类数作为较优聚类数, 又称elbow算法。下图中拐点很明显,5。 tested_cluster <->12 2.K-means聚类起始点为随机选取,容易获得局部最优,需重复计算多次,选择最优结果。 library(cluster) ## [1] 'Get withinss for the first run 44.381088289378' try_count = 10 ## [1] 'The additional 1 run, withinss 44.381088289378'## [1] 'The additional 2 run, withinss 44.381088289378'## [1] 'The additional 3 run, withinss 44.381088289378'## [1] 'The additional 4 run, withinss 44.381088289378'## [1] 'The additional 5 run, withinss 44.381088289378'## [1] 'The additional 6 run, withinss 44.381088289378'## [1] 'The additional 7 run, withinss 44.381088289378'## [1] 'The additional 8 run, withinss 44.381088289378'## [1] 'The additional 9 run, withinss 44.381088289378'## [1] 'The additional 10 run, withinss 44.381088289378' fit_cluster = fit$cluster 简单绘制下聚类效果 clusplot(data, fit_cluster, shade=T, labels=5, lines=0, color=T, 3.预处理:聚类变量值有数量级上的差异时,一般通过标准化处理消除变量的数量级差异。聚类变量之间不应该有较强的线性相关关系。(最开始模拟数据集获取时已考虑) K-medoids聚类K-means算法执行过程,首先需要随机选择起始聚类中心点,后续则是根据聚类结点算出平均值作为下次迭代的聚类中心点,迭代过程中计算出的中心点可能在观察数据中,也可能不在。如果选择的中心点是离群点 (outlier)的话,后续的计算就都被带偏了。而 围绕中心点划分(Partitioning Around Medoids,PAM)的方法是比较常用的( fit_pam <- pamk(data,="" krange="">2:10, critout=T) 不同的分类书计算出的 ## 2 clusters 0.5288058 ## 3 clusters 0.6915659 ## 4 clusters 0.8415226 ## 5 clusters 0.8661989 ## 6 clusters 0.7415207 ## 7 clusters 0.5862313 ## 8 clusters 0.4196284 ## 9 clusters 0.2518583 ## 10 clusters 0.116984 获取分类的数目 fit_pam$nc ## [1] 5 layout(matrix(c(1, 2), 1, 2)) 获取分类信息 fit_cluster <-> 数据提取和可视化以 1.获取每类数值的平均值,利用线图一步画图法获得各个类的趋势特征。 cluster_mean <- aggregate(data,="" by="list(fit_cluster)," fun=""> 2.获取按照分类排序的数据,绘制热图 (点击查看)。 dataWithClu <- cbind(id="rownames(data)," data,=""> 3.获取每类数据,绘制多线图和密度图 cluster3 <- data[fit_cluster="">3,] ## a b c d e f## Gene_413 -1.2718728 0.6957162 0.9963399 -0.1895966 0.1786798 1.225407## Gene_414 -1.1705230 0.6765085 0.8689340 -0.2155533 0.4176178 1.251818## Gene_415 -0.9545339 0.5635188 0.8437158 -0.1360588 0.2084771 1.316728## Gene_416 -1.0888687 0.8269888 0.7590209 -0.3090701 0.4478664 1.275057## Gene_417 -1.1230295 0.8282559 0.9112640 -0.2524612 0.3966905 1.104951## Gene_418 -1.1291253 0.9574904 0.8405449 -0.1200131 0.1964983 1.155913## g h## Gene_413 -0.11021165 -1.524462## Gene_414 -0.22266636 -1.606135## Gene_415 -0.03562464 -1.806222## Gene_416 -0.32047268 -1.590522## Gene_417 -0.21171923 -1.653951## Gene_418 -0.27792177 -1.623386 cluster3 <-> 多线图,绘制见线图绘制。 data_rownames <->
## `geom_smooth()` using method = 'loess' 等高线的颜色越深表示对应的Y轴的点越密,对平均值的贡献越大;颜色浅的点表示分布均匀。不代表点的多少。等高线的变化趋势与平均值曲线一致。 网络图就不多说了,表达矩阵直接导入Cytoscape,跟着视频教程走就好了。 参考
|
|