如何使用混淆矩阵导入网络?
How do you import a network using a confusion matrix?
我有一个混淆矩阵(我认为),它看起来像这样:
我想在 cytoscape 上制作这个网络,这样我就可以 运行 一些建模,但我不确定如何做。
有什么想法吗?
以我对 Cytoscape 的有限了解,没有直接的方法可以将混淆矩阵导入 Cytoscape。也许有些应用程序确实支持它。
最直接的做法是将矩阵转换为合适的格式,例如使用以下脚本。
然后您就可以直接将生成的 CSV 导入 Cytoscape,甚至可以通过拖放到网络面板。
#!/usr/bin/python
import sys
DELIMITER = ","
NO_INTERACTION_VALUE = "0"
if len(sys.argv) != 2:
print("Please use as follow sh ./matrix-to-list.py <file-to-convert>")
sys.exit(1)
to_convert_name = sys.argv[1]
result_name = ".".join(to_convert_name.split(".")[:-1]) + "-converted.csv"
output = []
with open(to_convert_name, "r") as to_convert:
rows = [[value.strip() for value in row.split(DELIMITER)] for row in to_convert.readlines()]
ids = rows[0][1:]
for i in range(len(rows) - 1):
row = rows[i + 1]
target = row[0]
for j in range(i + 1):
value = row[j + 1]
if value != NO_INTERACTION_VALUE:
output.append(ids[j] + DELIMITER + target)
with open(result_name, "w") as result_file:
result_file.write("idA,idB\n")
result_file.write("\n".join(output))
aMatReader 应用程序能够执行此类导入,只需安装它然后转到 Apps > aMatReader > Import Matrix Files
我有一个混淆矩阵(我认为),它看起来像这样:
我想在 cytoscape 上制作这个网络,这样我就可以 运行 一些建模,但我不确定如何做。
有什么想法吗?
以我对 Cytoscape 的有限了解,没有直接的方法可以将混淆矩阵导入 Cytoscape。也许有些应用程序确实支持它。
最直接的做法是将矩阵转换为合适的格式,例如使用以下脚本。
然后您就可以直接将生成的 CSV 导入 Cytoscape,甚至可以通过拖放到网络面板。
#!/usr/bin/python
import sys
DELIMITER = ","
NO_INTERACTION_VALUE = "0"
if len(sys.argv) != 2:
print("Please use as follow sh ./matrix-to-list.py <file-to-convert>")
sys.exit(1)
to_convert_name = sys.argv[1]
result_name = ".".join(to_convert_name.split(".")[:-1]) + "-converted.csv"
output = []
with open(to_convert_name, "r") as to_convert:
rows = [[value.strip() for value in row.split(DELIMITER)] for row in to_convert.readlines()]
ids = rows[0][1:]
for i in range(len(rows) - 1):
row = rows[i + 1]
target = row[0]
for j in range(i + 1):
value = row[j + 1]
if value != NO_INTERACTION_VALUE:
output.append(ids[j] + DELIMITER + target)
with open(result_name, "w") as result_file:
result_file.write("idA,idB\n")
result_file.write("\n".join(output))
aMatReader 应用程序能够执行此类导入,只需安装它然后转到 Apps > aMatReader > Import Matrix Files