前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cola,一个做consensus clustering的R包

cola,一个做consensus clustering的R包

作者头像
王诗翔呀
发布2021-01-04 14:54:58
1.3K0
发布2021-01-04 14:54:58
举报
文章被收录于专栏:优雅R优雅R

今天和大家分享是我这个月发表的一个Bioconductor工具,叫做cola。它提供一个普遍的框架,用来做consensus clustering。Bioconductor链接为https://bioconductor.org/packages/cola/,论文链接为https://doi.org/10.1093/nar/gkaa1146。

在cola框架中,consensus clustering被标准化为若干个步骤,其中某些关键步骤中,用户可以自定义自己的方法。如下图所示:

我提出了一个简单但是有效的方法,称作为ATC方法,用来提取有用的feature,用以clustering。这个ATC方法是基于输入矩阵的全局相关系。你可以看到在下图中(第一行的四个热图),四个不同方法所提取的top features,ATC方法提取的top feature能够更有效的生成稳定的clustering(第四个热图)。

我同样提出建议使用shperical k-means clustering (skmeans)对ATC所提取的features进行聚类,我展示了skmeans一般来说能够揭示更多的subgroups,并且分类具有更高的稳定性。

在论文中,我使用了超过400个公共数据集对不同的聚类方法进行了比较。我也对consesus clustering中的关键参数的选择进行了系统性的比较,例如是对行进行随机抽取还是对列进行随机抽取,和随机抽取的次数对结果的影响。

在论文中,我应用cola在基因表达数据和DNA甲基化数据上。结果建议对不同类型的数据应该选择不同的参数和方法,不能宽泛的使用相同的数据(例如缺省的参数)。

cola包支持同时运行多个聚类方法,并且cola提供了大量的函数用以对结果进行比较。下图是cola所生成一些图:

cola提供了强大的函数集,但是同时也提供了一个简单易用的用户接口。也就是说,在大多数情况下,用户只需要执行下面两行代码,然后cola会自动运行所有分析,并且将所有结果生成到一个HTML报告中,并且这个HTML报告中也包含了代码,是完全可以reproducable的。

代码语言:javascript
复制
rl = run all consensus partition methods(matrix, ...)
cola report(rl, ...)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 优雅R 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档