【Cytoscape网络图绘制】摸索入门篇

这个软件就是为了绘制网络关系图,圈图等等酷炫的图片,例如这样:

Cytoscape官网

一、配置环境和安装

安装Java 11

Java 11下载地址


Java11安装教程
无脑点击安装,我这里手动改到安装在D盘,而非默认的C盘

环境变量配置
进入环境变量配置界面: 电脑->右键属性->高级系统设置->环境变量

添加JAVA_HOME变量:


【Cytoscape网络图绘制】摸索入门篇_第1张图片

添加path变量的值:


【Cytoscape网络图绘制】摸索入门篇_第2张图片

打开cmd界面,输入java验证

二、安装Cytoscape

官网下载不了,让朋友发了我一个


【Cytoscape网络图绘制】摸索入门篇_第3张图片

安装成功 打开:


【Cytoscape网络图绘制】摸索入门篇_第4张图片

三、绘图

3.1 构建输入文件

其实这种网络图,要的就是一个边EDGE,和节点node的信息(每列按tab分割符分割)

从pySCENIC的regulon打分矩阵中提取需要的信息:

regulons = [r.rename(r.name.replace('(+)','')) for r in regulons]
edge = [{r.name:list(r.gene2weight.items())} for r in regulons]

#寻找score最大的基因和得分
line = []
regulon_dict = dict()
for item in edge:
    regulon = item.keys()
    regulon = list(regulon)[0]
    record = dict()
    best_score = 0
    for group in item[regulon]:
        gene, score = group[0], group[1]
        if score > best_score:
            regulon_dict[regulon] = {gene:score}
            best_score = score
#写入文件
with open('/share/nas1/Data/Users/luohb/Personalization/paper/07.Cytoscape/edge.tsv', 'w') as f:
    f.write('regulons\tgene\tscore\n')
    for item in regulon_dict.items():
        regulon = item[0]
        group = item[1]
        gene, score = list(group.keys())[0], list(group.values())[0]
        row = '{}\t{}\t{}\n'.format(regulon, gene, score)

        f.writelines(row)

导入到R中筛选每个regulon的top10基因(Python有点麻烦)

edge<-read.table('edge.tsv', sep='\t',header=T)
top10.edge = edge %>% group_by(regulons) %>% top_n(n=10,  wt = score)
write.table(top10.edge, file='top10.edge.tsv', sep='\t',quote=F, col.names=T,row.names=F)

文件1: EDGE文件:记录 节点关系信息 和 边的宽度信息

【Cytoscape网络图绘制】摸索入门篇_第5张图片
列的排列位置不重要,因为导入到Cytoscape可以选择

【Cytoscape网络图绘制】摸索入门篇_第6张图片

文件2: Node文件:记录每个节点的分组信息(不同的分组颜色)


3.2 Cytoscape可视化

  1. 导入EDGE文件:


    【Cytoscape网络图绘制】摸索入门篇_第7张图片

    【Cytoscape网络图绘制】摸索入门篇_第8张图片

    【Cytoscape网络图绘制】摸索入门篇_第9张图片
  2. 导入Node文件


    【Cytoscape网络图绘制】摸索入门篇_第10张图片

    【Cytoscape网络图绘制】摸索入门篇_第11张图片

参考

  • http://manual.cytoscape.org/en/stable/Quick_Tour_of_Cytoscape.html
  • http://www.360doc.com/content/18/0115/10/49059453_722035630.shtml
  • https://www.jianshu.com/p/c0730a5285d1
  • https://github.com/cytoscape/cytoscape
  • https://www.biowolf.cn/m/view.php?aid=405
  • https://www.sohu.com/a/136756331_465960
  • https://blog.csdn.net/mystrugglelife/article/details/79394775
  • https://jingyan.baidu.com/article/19020a0af96b2e139d28428c.html

你可能感兴趣的:(【Cytoscape网络图绘制】摸索入门篇)