Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Cannot assign an object of class 'numeric' to the slot @‘counts’ in an object of class 'SpatialRNA'; is(value, 'dgCMatrix') is not TRUE." #218

Open
Roger-GOAT opened this issue Oct 29, 2024 · 1 comment

Comments

@Roger-GOAT
Copy link

Hi, great tool! However, when I run

> myRCTD <- create.RCTD(puck, reference, max_cores = 4)
Begin: process_cell_type_info
process_cell_type_info: number of cells in reference: 5481
process_cell_type_info: number of genes in reference: 14594

      VEIN       CAPI     ARTERY     Tip EC Pre-artery Stalk cell 
       470       1892        319        558        945       1297 
End: process_cell_type_info
Error in (function (cl, name, valueClass)  : 
"Cannot assign an object of class 'numeric' to the slot @‘counts’ in an object of class 'SpatialRNA'; is(value, 'dgCMatrix') is not TRUE."

I do check my counts in puck is dgCMatrix.

> str(counts)
Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
  ..@ i       : int [1:89570] 2 4 0 1 2 5 0 2 4 5 ...
  ..@ p       : int [1:26313] 0 2 6 10 14 16 19 21 25 29 ...
  ..@ Dim     : int [1:2] 6 26312
  ..@ Dimnames:List of 2
  .. ..$ : chr [1:6] "Bsg" "Col4a1" "Glul" "Lcn2" ...
  .. ..$ : chr [1:26312] "cell3" "cell7" "cell8" "cell9" ...
  ..@ x       : num [1:89570] 16 2 3 1 6 1 4 5 3 2 ...
  ..@ factors : list()

Full code:

library(spacexr)
library(Matrix)
library(doParallel)
Idents(rds) <- 'batch'
DefaultAssay(rds) <- 'OrRNA'
sub <- subset(rds,idents = 'day2')
counts <- sub@assays$OrRNA$counts
colnames(counts) <- str_remove_all(colnames(counts),pattern = '-1-day2')
cell_types <- [email protected]$cluster
names(cell_types) <- colnames(counts)
cell_types <- as.factor(cell_types)
nUMI <- [email protected]$total_counts; names(nUMI) <- colnames(counts)
reference <- Reference(counts, cell_types, nUMI)

counts <- test@assays$RNA$counts
counts <- counts[, colSums(counts) > 0]
colnames(counts) <- str_remove_all(colnames(counts),'_')
coords <- test@[email protected] %>% as.data.frame()
colnames(coords) <- c('x','y')
rownames(coords) <- str_remove_all(rownames(coords),"_")
nUMI <- colSums(counts)
puck <- SpatialRNA(coords, counts, nUMI)

## Examine SpatialRNA object (optional)
print(dim(puck@counts)) # observe Digital Gene Expression matrix
hist(log(puck@nUMI,2)) # histogram of log_2 nUMI

plot_puck_continuous(puck, rownames(coords), puck@nUMI, ylimit = c(0,round(quantile(puck@nUMI,0.9))), 
                     title ='plot of nUMI') 

myRCTD <- create.RCTD(puck, reference, max_cores = 4)

Thank you very much!

@Roger-GOAT
Copy link
Author

Any one has the same issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant