【发布时间】:2018-10-02 13:38:23
【问题描述】:
您好,我正在尝试从 CSV 生成一个维度约为 24,000 的邻接矩阵,其中两列显示基因对的组合,一列 1 表示当前的交互......我的目标是拥有它对于不在两列中的组合,为正方形并填充零
我正在使用以下 Python 脚本
import numpy as np
from scipy.sparse import coo_matrix
l, c, v = np.loadtxt("biogrid2.csv", dtype=(int), skiprows=0, delimiter=",").T[:3, :]
m =coo_matrix((l, (v-1, c-1)), shape=(v.max(), c.max()))
m.toarray()
并且运行正常,直到遇到以下错误似乎
File "/home/charlie/anaconda3/lib/python3.6/site-packages/scipy/sparse/base.py", line 1184, in _process_toarray_args
return np.zeros(self.shape, dtype=self.dtype, order=order)
MemoryError
关于如何绕过 Scipy 中的内存限制的任何想法
谢谢
【问题讨论】:
-
它创建了
mok。 toarray 步骤达到内存限制。 -
你想对
m.toarray创建的数组做什么?因为很少有充分的理由将稀疏数组变为密集数组,尤其是因为它通常会导致内存错误。 -
我想基本上用它来进行癌症基因表达的富集分析,所以我想用它作为一个巨大的邻接矩阵......不与密集阵列结合......只是想要一个矩阵我可以执行分析并最终访问最终矩阵以执行生存分析
-
问题的重要部分是您想要进行哪些具体类型的分析。特征分析?线性代数?基本布尔数学?我们大多数人都不知道如何做遗传学,但我们可以整天谈论数学。