ArielLevineLabNINDS / SeqSeek_Classify_Full_Pipeline

Use DVC to run the full pipeline from Russ, Patterson-Cross, et al.
1 stars 0 forks source link

ERROR: failed to reproduce 'LT': failed to run: Rscript src/R/label_transfer.R, exited with 1 #9

Open 1QiGuo opened 1 year ago

1QiGuo commented 1 year ago

Hi,

Thanks for developing SeqSeek.

I met an issue when running python3 -m dvc repro. It shows that:

Coarse label transfer
    Reading data...
    Reference data:
An object of class Seurat 
2000 features across 101070 samples within 1 assay 
Active assay: integrated (2000 features)
 1 dimensional reduction calculated: pca
    Query data:
Loading required package: SeuratObject
Error in .requirePackage(package) : 
  unable to find required package ‘SeuratObject’
Calls: print ... lapply -> slotNames -> is -> getClassDef -> .requirePackage
In addition: Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘SeuratObject’
Execution halted
ERROR: failed to reproduce 'LT': failed to run: Rscript src/R/label_transfer.R, exited with 1

However, I found the package "SeuratObject" was not used in the Rscript of SeqSeek. In addition, this package needs an R version higher than 4.0 but the R version of SeqSeek should be 3.6.

Many thanks for considering my request.

amisios commented 1 year ago

Hello 1QiGuo,

I am not related to this project at all but I have been trying to run it. I solved this problem the following way.

The issue is that the query object (query.rds) is a seurat v4 object. When it is loaded it requires SeuratObject. The simplest solution is to

  1. extract the raw counts of your seurat v4 object
  2. open it in R v3 (you probably have an environment with R v3 to run the SeqSeek pipeline)
  3. Load the Seurat v3 library
  4. create the query seurat object using seurat v3
  5. Then save it as query.rds.

This will create a query.rds seurat object (v3) which, when loaded, doesn't require the SeuratObject library.

Good luck with the rest of the pipeline. I still cant make it run.