ConsensusClusterPlus, 一步到位的一致性聚类!

欢迎关注”生信修炼手册”!

在之前的文章中分享了一致性聚类的原理,本文介绍下如何用R语言进行分析。ConsensusClusterPlus这个R包,就是专门用于一致性聚类分析的,为了简化调用,甚至将所有的步骤都封装到了一个函数里面,所以其使用方法非常的简单,一共三步

1. 加载R包

2. 把表达量数据读进去

3. 运行一致性聚类的函数

是不是和把大象装进冰箱一样简单,但是我们必须注意,这样简单的背后,实际是一个黑盒子,如果不了解原理,你只能得到结果,但是结果说明了什么信息,你一无所知。

下面是具体步骤

1. 准备输入数据

行为基因,列为样本的表达量数据,为了获得最佳的聚类效果,可以对基因进行筛选, 对矩阵进行归一化操作,代码如下

> library(ALL)
> data(ALL)
> d=exprs(ALL)
# 表达量数据
> d[1:5,1:5]
             01005    01010    03002    04006    04007
1000_at   7.597323 7.479445 7.567593 7.384684 7.905312
1001_at   5.046194 4.932537 4.799294 4.922627 4.844565
1002_f_at 3.900466 4.208155 3.886169 4.206798 3.416923
1003_s_at 5.903856 6.169024 5.860459 6.116890 5.687997
1004_at   5.925260 5.912780 5.893209 6.170245 5.615210
> mad(d[1, ])
[1] 0.2701619
> mads=apply(d,1,mad)
> d=d[rev(order(mads))[1:5000],]
> dim(d)
[1] 5000  128
# 归一化操作
> d = sweep(d,1, apply(d,1,median,na.rm=T))
> dim(d)
[1] 5000  128
> d[1:5,1:5]
              01005     01010       03002     04006       04007
36638_at  1.5561207 0.9521271 -0.05018082  4.780378  3.93006775
39318_at  1.1913532 2.5013225 -2.38793537 -1.199521  1.93626914
38514_at  1.0207162 3.2785671  1.55949145 -3.345919 -0.01548269
266_s_at  1.8292604 0.3624327  1.54913247 -1.286294  1.75669694
38585_at -0.9240204 0.1895020  3.44968363 -2.216822  5.18702726

2. 运行ConsensusClusterPlus

ConsensusClusterPlus就是核心函数了,包括了以下几个参数

1. pItem, 选择80%的样本进行重复抽样

2. pfeature, 选择80%的基因进行重复抽样

3. maxK, 最大的K值,形成一系列梯度

4. reps, 重复抽样的数目

5. clusterAlg, 层次聚类的算法

6. distanc, 距离矩阵的算法

7. title, 输出结果的文件夹名字,包含了输出的图片

8. seed, 随机种子,用于重复结果

注意,在实际运行中,推荐reps设置的更大,比如1000, maxK设置的更大,比如20,具体代码如下

> library(ConsensusClusterPlus)
> title=tempdir()
> results = ConsensusClusterPlus(d,maxK=6,reps=50,pItem=0.8,pFeature=1, title=title,clusterAlg="hc",distance="pearson",seed=1262118388.71279,plot="png", writeTable = TRUE)
end fraction
clustered
clustered
clustered
clustered
clustered
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值