[英]Convert a txt file to a adjacency matrix
我有一个类似的问题,如将邻接矩阵转换为 csv 文件
我想使用 python (或可能是 R)将邻接矩阵 output 从 ARACNE 转换为 csv 文件。
adj 文件设置为显示一个基因的右侧以及它与其他基因的每个相互作用。 例如 a.csv 的文件为:
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 以此类推。
我想更改布局,所以我将文件 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
基本上我想要一个所有交互节点和相应值的列表,以便我可以将文件上传到 Cytoscape 和 plot 网络。
在这篇文章中,使用 Python 有一个很棒的答案。 如果我想将b.csv的格式转换回a.csv怎么办? 我挠了挠头,但找不到解决办法。 我很想看看 Python 是如何做到的!
谢谢回答。 -小勇
这可以使用pandas.Dataframe.groupby
来完成
import pandas as pd
df = pd.read_csv('b.csv', delimiter=' ', header=None)
data = ''
for key, value in df.groupby([0]):
for i,item in enumerate(value.values):
if i == 0:
data += item[0]
for itm in item[1:]:
data += ' '+str(itm)
data += '\n'
#Saving the string
with open('a.csv', 'w') as f:
f.write(data)
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
C F 0.3
A D 0.3
生成a.csv
为:
A B 0.4 C 0.3 D 0.3
B C 0.1 E 0.4
C D 0.2 E 0.3 F 0.3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.