基于代谢物和代谢物反应的Gephi网络分析过程

1.excel中代谢物简化

【注意】以下过程为vba编程

1.1 excel格式模板

Sheet 1截图

sheet2 截图

【特别说明】为了保证替换过程没有错误,因此对metabolite的名称首先利用len函数进行统计,然后从长到短进行排序。可以尽可能地减少失误;

1.2 vba代码

% With Worksheets(1)
% a = Worksheets(2).Cells(Worksheets(2).Rows.Count, 1).End(xlUp).Row '统计sheet2最后一个空格的位置
% For i = 2 To a Step 1
% .Range("D:D").Replace what:=Worksheets(2).Cells(i, 3), Replacement:=Worksheets(2).Cells(i, 2), LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
% Next
% End With

替换结束后,手动将反应简写列和反应式列粘贴至Sheet3

手动粘贴Sheet3截图

【根据自己情况调整】我们只研究前502个实际的反应
根据具体的情况,我们编写了data2source函数,用于反应式向source→direction连接关系的转换;

tic
[~,data,~]=xlsread('Model1.xls','Sheet3');
result=cell(1,3);
result{1,1}='源';
result{1,2}='目标';
result{1,3}='label';

for i =1:length(data)
    if contains(data{i,2},'->')
        reaction_type='->';
    else
        reaction_type='<->';
    end
    reaction=data{i,2};
    reaction_tag=data{i,1};
    result_data=data2source(reaction,reaction_tag,reaction_type);
    result=cat(1,result,result_data);
end
xlswrite('data2source.xlsx',result);
msgbox('已经结束!')
toc

2. 化合物source→direction去重复

具体代码:

[~,data,~]=xlsread('data2source.xlsx','Sheet1');
for i=length(data):-1:3
    for ii= (i-1):-1:2
        if isequal(data{i,1},data{ii,1}) & isequal(data{i,2},data{ii,2})
            data(ii,:)=[];  % 特别声明,在删除cell的某行或某列的时候,使用的符号为();
        end
    end
end
xlswrite('Source2Direction.xlsx',data);

3. excel去重

%运用以下vba代码,进行重复行的去除


去除多余行的vba代码

4. gephi数据输入

在gephi输入csv的时候,边数据没法输入。具体的解决方法为:
csv的编码为ANSI,然后将输入的时候将编码格式改为GB2312
【可以参考的博客】https://www.toutiao.com/i6634028049379639822/
这种方法也不一定奏效,可以将原csv的编码设定为ansi,全程用Resource和Target表示,编码形式为UTF-8,也可以实现。

5. gephi中graphviz的安装与设定

5.1 安装步骤

  1. 首先安装graphviz-2.38.msi;
  2. 安装pygraphviz的wheel文件;
  3. 将C:\Program Files (x86)\Graphviz2.38\bin加到PATH中(具体的路径根据自己的安装情况设定)

5.2 安装出现的问题

pygraphviz安装过程中,需要microsoft visual studio,但有时候由于版本的问题,可能有冲突,无法实现安装。
解决方法为:打开visual studio 2015,新建一个项目,软件会自动根据系统提供需要更新的模块,直接安装即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容