@@ -89,16 +89,22 @@ generateNonUniqueCounts <- function(readClassDt, countMatrix, annotations){
8989 if (nrow(x )> 1 & length(unique(x $ gene_sid ))> 1 ){
9090 nonuniqueCounts.gene <- sparse.model.matrix(~ factor (x $ gene_sid ) - 1 )
9191 nonuniqueCounts <- t(nonuniqueCounts.gene ) %*% nonuniqueCounts
92+ # covert ids into gene ids
93+ geneids <- as.numeric(levels(factor (x $ gene_sid )))
94+ geneids <- x $ txid [match(geneids , x $ gene_sid )]
95+ geneids <- mcols(annotations )$ GENEID [as.numeric(geneids )]
96+ rownames(nonuniqueCounts ) <- geneids
9297 } else {
9398 warning(" The factor variable 'gene_sid' has only one level. Adjusting output." )
9499 nonuniqueCounts.gene <- Matrix(1 , nrow = nrow(x ), ncol = 1 , sparse = TRUE )
95100 nonuniqueCounts <- t(nonuniqueCounts.gene ) %*% nonuniqueCounts
101+ # covert ids into gene ids
102+ geneids <- as.numeric(levels(factor (x $ gene_sid )))
103+ geneids <- x $ txid [match(geneids , x $ gene_sid )]
104+ geneids <- mcols(annotations )$ GENEID [as.numeric(geneids )]
105+ rownames(nonuniqueCounts ) <- rownames(geneMat )[1 : nrow(nonuniqueCounts )]
106+
96107 }
97- # covert ids into gene ids
98- geneids <- as.numeric(levels(factor (x $ gene_sid )))
99- geneids <- x $ txid [match(geneids , x $ gene_sid )]
100- geneids <- mcols(annotations )$ GENEID [as.numeric(geneids )]
101- rownames(nonuniqueCounts ) <- geneids
102108 # create matrix for all annotated genes
103109 genes <- levels(factor (unique(mcols(annotations )$ GENEID )))
104110 geneMat <- sparseMatrix(length(genes ), ncol(nonuniqueCounts ), x = 0 )
0 commit comments