| CorrelationMatrixStore {Microsoft.VisualBasic.Math.Matrix} | .NET clr documentation |
带符号相关矩阵的磁盘持久化存储(读端)
由 CorrelationMatrixWriter 写入、本类负责读取。针对 N = 5 万级别的 稠密相关矩阵(10 GB 级原始数据)设计,支持三类查询,全部不需要把矩阵载入内存:
供阈值过滤实验直接生成网络,不物化中间结果。
p 值不持久化,由相关系数与样本数 n 按需重算(CorrelationPValues.PValue())。 热行缓存为小容量 LRU(默认 64 行),多线程并发读通过 RandomAccess.Read 显式偏移实现,无需加锁(缓存链表本身有锁保护)。
支持两种打开方式:
调用方提供的两个自定义流读取(与 的流模式构造配套), 数据流要求可读且可查找;若实际是 会自动走无锁句柄读路径, 其他流走 Seek + Read + 锁。
# namespace Microsoft.VisualBasic.Math.Matrix
export class CorrelationMatrixStore {
# 基因 ID 表(行序与写入时的声明顺序一致)
genes: string;
# 计算相关系数时使用的样本数(p 值重算依据)
SampleN: integer;
# 矩阵规模 N(基因数量)
size: integer;
# 数据文件路径(文件模式);外部 Stream 模式返回 Nothing
storeFile: string;
}