[R代码]单细胞多个基因表达矩阵不整齐问题

2023-11-04  本文已影响0人  expgene

单细胞转录组,不同样本的矩阵规格不一样,有些矩阵基因多,有些基因少。现在要合并成一个统一的大矩阵。

例如这里有4个样本的矩阵:GCMat1,GCMat2,GCMat3,GCMat4

细胞名整合:

cells <- c(colnames(GCMat1),colnames(GCMat2),colnames(GCMat3),colnames(GCMat4))

基因名整合:

genes1 <- rownames(GCMat1)

genes2 <- rownames(GCMat2)

genes3 <- rownames(GCMat3)

genes4 <- rownames(GCMat4)

totalgenes <- union(genes1,genes2)

totalgenes <- union(totalgenes,genes3)

totalgenes <- union(totalgenes,genes4)

totalgenes <- unique(totalgenes)

构造一个值全为0的总矩阵及转换成稀疏矩阵:

GCMat <- matrix(0, nrow = length(totalgenes),ncol=length(cells))

GCMat <- as(GCMat,"dgCMatrix")

colnames(GCMat) <- cells

rownames(GCMat) <- totalgenes

把各个样本的细胞基因表达值填充进去:

GCMat[rownames(GCMa1),colnames(GCMat1)] <- GCMat1

GCMat[rownames(GCMat2),colnames(GCMat2)] <- GCMat2

GCMat[rownames(GCMat3),colnames(GCMat3)] <- GCMat3

GCMat[rownames(GCMat4),colnames(GCMat4)] <- GCMat4

上一篇 下一篇

猜你喜欢

热点阅读