我想使用python(或可能是R)将ARACNE的邻接矩阵输出转换为csv文件。
设置了adj文件,以向右显示一个基因,以及每个基因与其他基因的相互作用。例如:
A B 0.4 C 0.3
B C 0.1 E 0.4
C D 0.2 E 0.3
因此,在上面,A和B相互交互,并且该交互的值为0.4。A和C相互影响,值为0.3,依此类推。
我想更改布局,以便得到...
A B 0.4
A C 0.3
B C 0.1
B E 0.4
C D 0.2
C E 0.3
基本上,我想要一个所有交互节点和相应值的列表,以便可以将文件上传到Cytoscape并绘制网络。
使用csv
模块执行此操作的一种简单方法-
import csv
with open('<inputfile>','r') as f , open('<outputfile>','w') as of:
reader = csv.reader(f, delimiter=' ')
writer = csv.writer(of, delimiter=' ')
for lines in reader:
key = lines.pop(0)
for i in range(0,len(lines),2):
writer.writerow([key, lines[i], lines[i+1]])
示例/演示-
我的a.csv
-
A B 0.4 C 0.3
B C 0.1 E 0.4
C D 0.2 E 0.3
代码 -
>>> import csv
>>> with open('a.csv','r') as f , open('b.csv','w') as of:
... reader = csv.reader(f, delimiter=' ')
... writer = csv.writer(of, delimiter=' ')
... for lines in reader:
... key = lines.pop(0)
... for i in range(0,len(lines),2):
... writer.writerow([key, lines[i], lines[i+1]])
输出b.csv
-
A B 0.4
A C 0.3
B C 0.1
B E 0.4
C D 0.2
C E 0.3
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句