navinlabcode / copykat

Other
193 stars 53 forks source link

Error in step 5 when trying copykat for Visium Spatial Transcriptomics data #96

Open linhuawang opened 1 year ago

linhuawang commented 1 year ago

I tried to apply COPYKAT on a Visium Spatial Transcriptomics dataset from SpaceRanger output. However, I got the following error message:

[1] "step 5: segmentation..."
Error in seq.default(1, as.integer(n/bins - 1) * bins, bins) : 
  wrong sign in 'by' argument

Here is my code:

data_folder = '/mnt/atlas_local/linhua/data/RESORT_package/test/data/VisiumData/EMT/filtered_feature_bc_matrix/'
raw <- Read10X(data.dir = data_folder)
raw <- CreateSeuratObject(counts = raw, project = "copycat.test",
                          min.cells = 10, min.features = 0)
exp.raw <- as.matrix(raw@assays$RNA@counts)

copykat.test <- copykat(rawmat=exp.raw, id.type="S", ngene.chr=1,
                        win.size=15, KS.cut=0.1, sam.name="test",
                        distance="euclidean", norm.cell.names="",
                        output.seg="FLASE", plot.genes="TRUE",
                        genome="hg20",n.cores=5)

And here is the complete log:

[1] "running copykat v1.1.0"
[1] "step1: read and filter data ..."
[1] "14082 genes, 2598 cells in raw data"
[1] "10405 genes past LOW.DR filtering"
[1] "step 2: annotations gene coordinates ..."
[1] "start annotation ..."
[1] "step 3: smoothing data with dlm ..."
[1] "step 4: measuring baselines ..."
number of iterations= 1695 
number of iterations= 34 
number of iterations= 3 
[1] "step 5: segmentation..."
Error in seq.default(1, as.integer(n/bins - 1) * bins, bins) : 
  wrong sign in 'by' argument

ngene.chr is set to be 1 because any value >1 resulted in all cells (spots) being filtered.

Any suggestion is appreciated!