非模生物STRING结合cytoscape进行PPI画图

软件要求

主要使用的软件为cytoscape和stringapp插件。

示例

具核梭杆菌( Fusobacterium nucleatum , F . nucleatum )
假设我们拿到了公司给的差异基因列表,要对这份列表上的基因进行蛋白互作分析。

> head(gene_FN)
# A tibble: 6 × 5
  ID     logFC   pvalue Description                       Status
  <chr>  <dbl>    <dbl> <chr>                             <chr> 
1 FN1220  5.47 0.000539 cysteine synthase                 UP    
2 FN0461  4.25 0.00215  sigma(54) modulation protein      UP    
3 FN1463  3.57 0.00605  pyridoxal biosynthesis lyase PdxS UP    
4 FN2065  3.43 0.0106   transcriptional repressor         UP    
5 FN1148  3.24 0.0116   serine/threonine sodium symporter UP    
6 FN1419  3.03 0.0162   methionine gamma-lyase            UP

安装并打开cytoscape软件,打开Apps,搜索stringapp并安装
非模生物STRING结合cytoscape进行PPI画图
在左侧的control panel的network中点击STRING搜索框,先在搜索设置中设置species为“Fusobacterium nucleatum subsp. nucleatum ATCC 25586”

这就是为什么要使用STRING或者stringapp的原因,STRING已经有2000多个物种的PPI信息,一般都是不需要自己再去做注释;当然如果你的物种不包含在这2000多个物种里面,思路就是用类似eggrog-mapper之类的做GO注释,然后做PPI。

然后搜索框中以每个基因一行的形式输入interested genes,例子中输入的是110个FN转录组的差异基因。

最终调整后的结果:
非模生物STRING结合cytoscape进行PPI画图

注意事项

一、调整Node table

其实cytoscape的图跟R的ggplot包有点像,像大小、颜色、透明度这些都可以和node table中的某些列进行mapping,也就是说,如果我们不想要默认的上色、节点大小,我们可以通过在右下方的node table中添加列信息进行实现。比如,本例子中我们最想要的莫过于通过差异基因的上下调分别进行上色,那么就需要对Node table进行修改。
非模生物STRING结合cytoscape进行PPI画图
Node table简单来说就是STRING自动生成的对每个节点的描述,包括转换后的display name,节点类型,每个节点的序列等等,那么最直接的做法就是将node table和我们最开始展示的公司给我们的表gene_FN进行合并。观察一下,看到两个表中能一一对应的列应该是gene_FN中的ID列和node table中的query term。
那么合并表的方式就很简单了:

i. 直接导出

点击export node table,然后在R中读取并与gene_FN merge一下;再导入cytoscape,这是最安全的做法

ii. 手动修改

如果节点比较少的话,也可以点击Node table中的add new column直接手动添加信息

iii. 直接合并

最后一个是直接在cytoscape中点击import table from file,选中gene_FN.csv这个表,然后在key column for network这一项中选中query name(也就是两个表所对应的那一列),advanced选项中还可以设置header,跳过行数等等。但我觉得最好还是在R中操作,不然到时cytoscape中合并出了错,检查起来很麻烦。

非模生物STRING结合cytoscape进行PPI画图

最后在左边的control panel中选中Style,然后点击Fill Color,选择Discrete Mappingcolumn设置为Status,然后分别为UPDOWN两种状态设置为红色和蓝色,就大功告成了(另外也可以在Style中添加其他设置,比如将node size设置为continuous mapping,然后column选择为degree,这样就是该节点连接的线段越多,这个节点就会越大)

二、图例的添加和修改

cytoscape的legend 添加和修改要通过一个插件legend creator进行实现(这一点很多中文教程都没提到,害我找了半天没找到所谓的legend panel在哪),同样也是在app manager中搜索legend creator,然后安装。
非模生物STRING结合cytoscape进行PPI画图
一般来说,legend panel会搜索你对之前的node table和edge table做了什么修改,然后自动添加到legend panel里面,你可以修改title等信息,但是可操作范围就比R小很多,勾选Lay out vertically可以移动Legend 到右侧。非模生物STRING结合cytoscape进行PPI画图

三、去除singleton以及如何提取主网络

直接点击右侧result panel中的Singletons就可以去除显示无任何连接的单个节点,但要注意,此时只是隐藏了,这些节点本身并未删除,如果想直接删除的话,可以用shift + 鼠标拖放,选中后选择Edit tab, 点击delete selected nodes and edges。
提取主网络,方法很多,如果你只关心关联性最高的那一群genes或者proteins,你可以选择用聚类的方式提取出不同的subclusters:
安装clustermaker2,点击MCL cluster(具体聚类算法可以自己根据需求选择),设置granularity,然后点击create new clustered network
非模生物STRING结合cytoscape进行PPI画图
然后选中第一个cluster,点击File - New network - from selected nodes and selected edges。
非模生物STRING结合cytoscape进行PPI画图

四、Layout的设置

像上图主聚类的图太过于密集,这时可以通过layout进行调整。一般这种情况可以点击layout tab,然后选择yFiles Organic Layout (第一次使用需要先下载),这时会好看很多。当然Layout本身就跟R中的ggplot一样,千变万化,具体可以自己根据官方的使用手册进行摸索。

非模生物STRING结合cytoscape进行PPI画图

上一篇:java 获取的是本地的IP地址


下一篇:JavaScript——Date日期对象