1.excel中代谢物简化
【注意】以下过程为vba编程
1.1 excel格式模板
【特别说明】为了保证替换过程没有错误,因此对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
【根据自己情况调整】我们只研究前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代码,进行重复行的去除
4. gephi数据输入
在gephi输入csv的时候,边数据没法输入。具体的解决方法为:
csv的编码为ANSI,然后将输入的时候将编码格式改为GB2312
【可以参考的博客】https://www.toutiao.com/i6634028049379639822/
这种方法也不一定奏效,可以将原csv的编码设定为ansi,全程用Resource和Target表示,编码形式为UTF-8,也可以实现。
5. gephi中graphviz的安装与设定
5.1 安装步骤
- 首先安装graphviz-2.38.msi;
- 安装pygraphviz的wheel文件;
- 将C:\Program Files (x86)\Graphviz2.38\bin加到PATH中(具体的路径根据自己的安装情况设定)
5.2 安装出现的问题
pygraphviz安装过程中,需要microsoft visual studio,但有时候由于版本的问题,可能有冲突,无法实现安装。
解决方法为:打开visual studio 2015,新建一个项目,软件会自动根据系统提供需要更新的模块,直接安装即可。