分享

数据挖掘 | Hub基因快到碗里来~

 生物_医药_科研 2019-04-03

之前有小伙伴问,该如何得到少量的关键基因,以便套用一些套路性的文章。应用比较广泛的一种是识别PPI网络中的hub基因,我们在文献模拟的课程:

文献模拟 | 4分纯生信文章看过来!

中有讲到如何识别hub基因,这种方法往往可以根据自定的筛选阈值得到预期数目的关键基因。

本期,将为大家介绍一种更为稳健的hub基因识别方法!

Cytoscape的插件:cytoHubba

http://apps./apps/cytohubba

Predicts and explores important nodes and subnetworks in a given network by several topological algorithms.

即,给定一个Cytoscape网络(如基因互作网络),基于集成的多种网络拓扑算法,识别网络中的关键节点(hub基因)及子网!

网络拓扑算法包括:

Degree, Edge Percolated Component (EPC), Maximum Neighborhood Component (MNC), Density of Maximum Neighborhood Component (DMNC), Maximal Clique Centrality (MCC) and centralities based on shortest paths, such as Bottleneck (BN), EcCentricity, Closeness, Radiality, Betweenness, and Stress.

假设,你已经在Cytoscape中完成了网络的导入,下文将具体介绍cytoHubba插件的安装和使用~

安装

点击菜单栏 Apps > App Manager…

使用

此时,Calculate按钮变成灰色,继续往下...

在页面的右侧将会显示图形和表格结果:

如上,点击后会生成.csv表格,存储着使用Betweenness方法筛选得到的Top30 hub基因!

该插件强大的地方在于可以选择多种hub基因筛选方法,所以你不用担心一种方法得到的结果不稳健,试着多选几种方法吧。如下,参考文献中使用的多种方法,取每种方法得到的排秩Top10基因,并取交集作为最终的hub基因:

取交集

可以在excel里完成,当然我更喜欢用R:

  1. symbols_list = lapply(list.files(pattern = '*.csv'), function(f){

  2. data = read.csv(f, h = T, skip = 1,quote = '', check.names = F)

  3. symbols = as.character(data$Name[1:10])

  4. return(symbols)

  5. })

  6. Reduce(intersect, symbols_list)

这里用到了lapply函数执行循环并返回列表,之后用Reduce函数从多个列表取交集,详见:R 语言 | apply家族的兄弟!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多