stuart-lab / signac

R toolkit for the analysis of single-cell chromatin data
https://stuartlab.org/signac/
Other
328 stars 88 forks source link

**Error in slice_sample(): ! n must be a round number, not the number 1146.4. #1763

Closed GaF123 closed 2 months ago

GaF123 commented 2 months ago

Hi, Thank you for your excellent package. I met an issue. When I did coverageplot, I got: CoveragePlot( object = dogma_filtered_qc, region = "S100a8", features = "S100a8", expression.assay = "RNA", group.by = "Sample_Name", assay = "ATAC")

The output error:

**Error in slice_sample(): ! n must be a round number, not the number 1146.4.

I saw in the previous closed issue, you mentioned that update signac version would fix it. But I'm not able to update my Signac, It's 1.2.0. And I also saw the commit: Ensure round number is being supplied to sampling parameter; https://github.com/stuart-lab/signac/issues/1389.

It mentioned that modify [R/visualization.R]. But I didn't find it. Can you tell me how to find it or do you have any other methods to fix it? Thank you so much!

timoast commented 2 months ago

You will need to update Signac. If you can explain what issue you're facing that prevents you from updating the package I can try to help more

GaF123 commented 2 months ago

Thank you so much for your help!

My current version are:

packageVersion("Seurat") [1] '4.1.1' packageVersion("Signac") [1] '1.2.1'

I tried to update Signac in R studio by: setRepositories(ind=1:3) # needed to automatically install Bioconductor dependencies install.packages("Signac") Or: if (!requireNamespace("devtools", quietly = TRUE)) install.packages("devtools")

devtools::install_version(package = 'Signac', version = package_version('1.13.0'))

All are done, but still show 1.2.1.

And I tried to update it in Conda by: conda install bioconda::r-signac. It still 1.2.1

And I tried to do it by: conda install -c bioconda r-signac=1.13.0 It failed because other package is lower than required.

Could you find other ways to fix it? Thank you so much!

timoast commented 2 months ago

All are done, but still show 1.2.1.

Was there an error message? If not, can you restart R and load the package again and check the version?

GaF123 commented 2 months ago

You mean this install method: setRepositories(ind=1:3) # needed to automatically install Bioconductor dependencies install.packages("Signac")

timoast commented 2 months ago

Yes, does it produce any errors?

GaF123 commented 2 months ago

Sorry, I forgot, whenI ran: setRepositories(ind=1:3) # needed to automatically install Bioconductor dependencies install.packages("Signac") It showed: Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : namespace ‘GenomeInfoDb’ 1.26.7 is being loaded, but >= 1.29.3 is required Calls: ... namespaceImportFrom -> asNamespace -> loadNamespace Execution halted ERROR: lazy loading failed for package ‘Signac’

And I tried to updated GenomeInfoDb, it showed: Update all/some/none? [a/s/n]: n Warning message: package(s) not installed when version(s) same as or greater than current; use force = TRUE to re-install: 'GenomeInfoDb'

Do you have any other methods? Thank you so much!

timoast commented 2 months ago

The reason you cannot update Signac is that the installation of a dependency (GenomeInfoDb) failed, you will need to install this successfully before Signac can be installed. You can try BiocManager::install("GenomeInfoDb", type="source"). If you still cannot install the required dependencies you might need to try updating bioconductor.

GaF123 commented 2 months ago

I tried these, and after updated bioconductor, I did: BiocManager::install("GenomeInfoDb", type="source"). But it showed: Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : namespace ‘GenomeInfoDb’ 1.26.7 is being loaded, but >= 1.29.3 is required Calls: ... namespaceImportFrom -> asNamespace -> loadNamespace Execution halted ERROR: lazy loading failed for package ‘Signac’

The downloaded source packages are in '/tmp/RtmpkUsy1Y/downloaded_packages' Updating HTML index of packages in '.Library' Making 'packages.html' ... done Warning messages: 1: package(s) not installed when version(s) same as or greater than current; use force = TRUE to re-install: 'GenomeInfoDb' 2: In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package 'openssl' had non-zero exit status 3: In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package 'polyclip' had non-zero exit status 4: In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package 's2' had non-zero exit status 5: In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package 'sctransform' had non-zero exit status 6: In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package 'stringi' had non-zero exit status 7: In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package 'systemfonts' had non-zero exit status 8: In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package 'uwot' had non-zero exit status 9: In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package 'Seurat' had non-zero exit status 10: In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package 'Signac' had non-zero exit status

Then I did: setRepositories(ind=1:3) # needed to automatically install Bioconductor dependencies

install.packages("Signac")

It showed: Warning in install.packages : dependency 'GenomeInfoDb (>= 1.29.3)' is not available trying URL 'https://cran.rstudio.com/src/contrib/Signac_1.13.0.tar.gz' Content type 'application/x-gzip' length 824388 bytes (805 KB)

downloaded 805 KB

Do you have any other methods? Thank you so much!

timoast commented 2 months ago

What was the output from installing GenomeInfoDb? The above looks like output from trying to install Signac.

It looks like you're having issues installing R packages in general. What version of R are you using and what platform (windows, linux, mac)?

GaF123 commented 2 months ago

Yes, I found that my R version is 4.1.0. And I created a new Conda environment and the issue was solved. Thank you so much!