我正在处理在 NCBI BLAST 中生成的蛋白质-蛋白质相似性的大型数据集。我已将结果存储在一个大型成对矩阵 (25,000 x 25,000) 中,并且我正在使用多维缩放 (MDS) 来可视化数据。这些矩阵太大而无法在 RAM 中使用,因此我将它们以 HDF5 格式存储在磁盘上,并使用 h5py 模块访问它们。
sklearn 流形 MDS 方法为 3D 中的小规模数据生成了出色的可视化效果,这就是我目前使用的方法。对于计算,它需要一个完整的对称成对相异矩阵。但是,对于大型数据集,会形成一种“外壳”,从而掩盖已形成的集群。
我认为问题在于我需要输入一个完整的相异矩阵。有些蛋白质彼此不相关,但在成对相异矩阵中,我被迫输入相异的默认最大值。在 sklearn MDS 的文档中,它说值 0 被认为是缺失值,但是在我想要缺失值的地方输入 0 似乎不起作用。
有什么方法可以输入不完整的相异矩阵,因此不必输入不相关的蛋白质?还是有更好/更快的方法来可视化成对相异矩阵中的数据?