rstudio / rsconnect

Publish Shiny Applications, RMarkdown Documents, Jupyter Notebooks, Plumber APIs, and more
http://rstudio.github.io/rsconnect/
134 stars 82 forks source link

Bioconductor repo manifest error with non-Bioconductor package #399

Closed FerrenaAlexander closed 1 year ago

FerrenaAlexander commented 4 years ago

Hello. I am getting the following strange error, apparently the Bioconductor repo error during the parsing manifest step, but the package indicated is not a Bioconductor package.

DONE
Uploading bundle for application: 1681021...DONE
Deploying bundle: 2743491 for application: 1681021 ...
Waiting for task: 684680707
  building: Processing bundle: 2743491
  building: Parsing manifest
################################ Begin Task Log ################################ 
################################# End Task Log ################################# 
Error: Unhandled Exception: Child Task 684680708 failed: Error parsing manifest: Unable to determine package source for Bioconductor package Seurat: Repository must be specified
In addition: There were 50 or more warnings (use warnings() to see the first 50)

The strange thing is, Seurat (at least the modern / current version that I am using) is not a Bioconductor package. Older versions of Seurat, I believe, were on Bioconductor. Could it be caused by Seurat's dependencies or something? This worked on previous versions of rsconnect, such as this version: devtools::install_github("rstudio/rsconnect", ref='737cd48', force = T) which is now deprecated... It also works locally no problem.

I ran the command options(repos = BiocManager::repositories()) which works for other errors caused by true Bioconductor packages, but the error above persists after doing so.

Here is my sessionInfo():

R version 3.6.1 (2019-07-05)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Catalina 10.15.2

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets 
[6] methods   base     

other attached packages:
[1] Seurat_3.1.2

loaded via a namespace (and not attached):
  [1] TH.data_1.0-10      Rtsne_0.15         
  [3] colorspace_1.4-1    ggridges_0.5.1     
  [5] rsconnect_0.8.16    rstudioapi_0.10    
  [7] farver_2.0.3        leiden_0.3.1       
  [9] listenv_0.8.0       npsurv_0.4-0       
 [11] ggrepel_0.8.1       fansi_0.4.1        
 [13] mvtnorm_1.0-12      codetools_0.2-16   
 [15] splines_3.6.1       R.methodsS3_1.7.1  
 [17] mnormt_1.5-5        lsei_1.2-0         
 [19] TFisher_0.2.0       zeallot_0.1.0      
 [21] jsonlite_1.6        packrat_0.5.0      
 [23] ica_1.0-2           cluster_2.1.0      
 [25] png_0.1-7           R.oo_1.23.0        
 [27] uwot_0.1.5          sctransform_0.2.1  
 [29] BiocManager_1.30.10 compiler_3.6.1     
 [31] httr_1.4.1          backports_1.1.5    
 [33] assertthat_0.2.1    Matrix_1.2-18      
 [35] lazyeval_0.2.2      cli_2.0.1          
 [37] htmltools_0.4.0     tools_3.6.1        
 [39] rsvd_1.0.2          igraph_1.2.4.2     
 [41] gtable_0.3.0        glue_1.3.1         
 [43] RANN_2.6.1          reshape2_1.4.3     
 [45] dplyr_0.8.3         Rcpp_1.0.3         
 [47] Biobase_2.46.0      vctrs_0.2.1        
 [49] multtest_2.42.0     gdata_2.18.0       
 [51] ape_5.3             nlme_3.1-143       
 [53] gbRd_0.4-11         lmtest_0.9-37      
 [55] stringr_1.4.0       globals_0.12.5     
 [57] lifecycle_0.1.0     irlba_2.3.3        
 [59] gtools_3.8.1        future_1.15.1      
 [61] MASS_7.3-51.5       zoo_1.8-6          
 [63] scales_1.1.0        parallel_3.6.1     
 [65] sandwich_2.5-1      RColorBrewer_1.1-2 
 [67] yaml_2.2.0          curl_4.3           
 [69] reticulate_1.14     pbapply_1.4-2      
 [71] gridExtra_2.3       ggplot2_3.2.1      
 [73] stringi_1.4.5       mutoss_0.1-12      
 [75] plotrix_3.7-7       caTools_1.17.1.3   
 [77] BiocGenerics_0.32.0 bibtex_0.4.2.2     
 [79] Rdpack_0.11-1       SDMTools_1.1-221.2 
 [81] rlang_0.4.2         pkgconfig_2.0.3    
 [83] bitops_1.0-6        lattice_0.20-38    
 [85] ROCR_1.0-7          purrr_0.3.3        
 [87] labeling_0.3        htmlwidgets_1.5.1  
 [89] cowplot_1.0.0       tidyselect_0.2.5   
 [91] RcppAnnoy_0.0.14    plyr_1.8.5         
 [93] magrittr_1.5        R6_2.4.1           
 [95] gplots_3.0.1.1      multcomp_1.4-11    
 [97] pillar_1.4.3        sn_1.5-4           
 [99] fitdistrplus_1.0-14 survival_3.1-8     
[101] tibble_2.1.3        future.apply_1.4.0 
[103] tsne_0.1-3          crayon_1.3.4       
[105] KernSmooth_2.23-16  plotly_4.9.1       
[107] grid_3.6.1          data.table_1.12.8  
[109] metap_1.2           digest_0.6.23      
[111] tidyr_1.0.0         numDeriv_2016.8-1.1
[113] R.utils_2.9.2       RcppParallel_4.4.4 
[115] openssl_1.4.1       stats4_3.6.1       
[117] munsell_0.5.0       viridisLite_0.3.0  
[119] askpass_1.1 

Please let me know if there is any other info I should provide. Thank you very much.

pcantalupo commented 4 years ago

I'm having the same problem.

cb4ds commented 4 years ago

what is the output of rsconnect::appDependencies() ? Thanks!

pcantalupo commented 4 years ago

here is my output...I'm trying to publish single-cell-viewer to shinyapps.io

> options(repos = BiocManager::repositories())
> rsconnect::appDependencies()
               package    version       source
1                   BH   1.72.0-3         CRAN
2              Biobase     2.46.0 Bioconductor
3         BiocGenerics     0.32.0 Bioconductor
4                   DT       0.11         CRAN
5                  FNN      1.1.3         CRAN
6           KernSmooth    2.23-16         CRAN
7                 MASS   7.3-51.5         CRAN
8               Matrix     1.2-18         CRAN
9          R.methodsS3      1.7.1         CRAN
10                R.oo     1.23.0         CRAN
11             R.utils      2.9.2         CRAN
12                  R6      2.4.1         CRAN
13                RANN      2.6.1         CRAN
14        RColorBrewer      1.1-2         CRAN
15                ROCR      1.0-7         CRAN
16            RSpectra     0.16-0         CRAN
17                Rcpp      1.0.3         CRAN
18           RcppAnnoy     0.0.14         CRAN
19           RcppEigen  0.3.3.7.0         CRAN
20        RcppParallel      4.4.4         CRAN
21        RcppProgress      0.4.1         CRAN
22              Rdpack     0.11-1         CRAN
23               Rtsne       0.15         CRAN
24            SDMTools  1.1-221.2         CRAN
25              Seurat      3.1.2 Bioconductor
26             TFisher      0.2.0         CRAN
27             TH.data     1.0-10         CRAN
28                 ape        5.3         CRAN
29             askpass        1.1         CRAN
30          assertthat      0.2.1         CRAN
31           backports      1.1.5         CRAN
32           base64enc      0.1-3         CRAN
33              bibtex    0.4.2.2         CRAN
34              bitops      1.0-6         CRAN
35             caTools   1.17.1.4         CRAN
36        canvasXpress     1.26.5         CRAN
37                 cli      2.0.1         CRAN
38             cluster      2.1.0         CRAN
39           codetools     0.2-16         CRAN
40          colorspace      1.4-1         CRAN
41             cowplot      1.0.0         CRAN
42              crayon      1.3.4         CRAN
43           crosstalk      1.0.0         CRAN
44                curl        4.3         CRAN
45          data.table     1.12.8         CRAN
46              digest     0.6.23         CRAN
47               dplyr      0.8.3         CRAN
48               dqrng      0.2.1         CRAN
49            ellipsis      0.3.0         CRAN
50               fansi      0.4.1         CRAN
51              farver      2.0.1         CRAN
52             fastmap      1.0.1         CRAN
53        fitdistrplus     1.0-14         CRAN
54              future     1.15.1         CRAN
55        future.apply      1.4.0         CRAN
56                gbRd     0.4-11         CRAN
57               gdata     2.18.0         CRAN
58             ggplot2      3.2.1         CRAN
59             ggrepel      0.8.1         CRAN
60            ggridges      0.5.2         CRAN
61             globals     0.12.5         CRAN
62                glue      1.3.1         CRAN
63              gplots    3.0.1.2         CRAN
64           gridExtra        2.3         CRAN
65              gtable      0.3.0         CRAN
66              gtools      3.8.1         CRAN
67              hexbin     1.28.0         CRAN
68           htmltools      0.4.0         CRAN
69         htmlwidgets      1.5.1         CRAN
70              httpuv      1.5.2         CRAN
71                httr      1.4.1         CRAN
72                 ica      1.0-2         CRAN
73              igraph    1.2.4.2         CRAN
74               irlba      2.3.3         CRAN
75            jsonlite        1.6         CRAN
76            labeling        0.3         CRAN
77               later      1.0.0         CRAN
78             lattice    0.20-38         CRAN
79            lazyeval      0.2.2         CRAN
80              leiden      0.3.1         CRAN
81           lifecycle      0.1.0         CRAN
82             listenv      0.8.0         CRAN
83              lmtest     0.9-37         CRAN
84             logging   0.10-108         CRAN
85                lsei      1.2-0         CRAN
86           lubridate      1.7.4         CRAN
87            magrittr        1.5         CRAN
88               metap        1.2         CRAN
89                mgcv     1.8-31         CRAN
90                mime        0.8         CRAN
91              mnormt      1.5-5         CRAN
92            multcomp     1.4-12         CRAN
93            multtest     2.42.0 Bioconductor
94             munsell      0.5.0         CRAN
95              mutoss     0.1-12         CRAN
96             mvtnorm     1.0-12         CRAN
97                nlme    3.1-143         CRAN
98              npsurv      0.4-0         CRAN
99            numDeriv 2016.8-1.1         CRAN
100            openssl      1.4.1         CRAN
101           openxlsx      4.1.4         CRAN
102            pbapply      1.4-2         CRAN
103          periscope      0.4.7         CRAN
104             pillar      1.4.3         CRAN
105          pkgconfig      2.0.3         CRAN
106              plogr      0.2.0         CRAN
107             plotly      4.9.1         CRAN
108            plotrix      3.7-7         CRAN
109               plyr      1.8.5         CRAN
110                png      0.1-7         CRAN
111           promises      1.1.0         CRAN
112              purrr      0.3.3         CRAN
113           reshape2      1.4.3         CRAN
114         reticulate       1.13         CRAN
115              rlang      0.4.2         CRAN
116               rsvd      1.0.2         CRAN
117           sandwich      2.5-1         CRAN
118             scales      1.1.0         CRAN
119        sctransform      0.2.1         CRAN
120              shiny      1.4.0         CRAN
121            shinyBS       0.61         CRAN
122     shinydashboard      0.7.1         CRAN
123 shinydashboardPlus      0.7.0         CRAN
124            shinyjs        1.1         CRAN
125              sitmo      2.0.1         CRAN
126                 sn      1.5-4         CRAN
127        sourcetools      0.1.7         CRAN
128            stringi      1.4.5         CRAN
129            stringr      1.4.0         CRAN
130           survival      3.1-8         CRAN
131                sys        3.3         CRAN
132             tibble      2.1.3         CRAN
133              tidyr      1.0.0         CRAN
134         tidyselect      0.2.5         CRAN
135               tsne      0.1-3         CRAN
136               utf8      1.1.4         CRAN
137               uwot      0.1.5         CRAN
138              vctrs      0.2.1         CRAN
139        viridisLite      0.3.0         CRAN
140              withr      2.1.2         CRAN
141             xtable      1.8-4         CRAN
142               yaml      2.2.0         CRAN
143            zeallot      0.1.0         CRAN
144                zip      2.0.4         CRAN
145                zoo      1.8-7         CRAN

Thank you

cb4ds commented 4 years ago

Since your Seurat version is from Bioconductor rsconnect/packrat try to install the same version from the same repository when deploying the app. My suggestion would be to remove the package and reinstall it from cran and try again.

pcantalupo commented 4 years ago

Interesting, not sure how that would have happened. I installed Seurat from CRAN originally.

Regardless, unininstalled Seurat and reinstalled with install.packages('Seurat'). However, running rsconnect::appDependencies() still shows Seurat source as Bioconductor.

Any other ideas to try? Thank you

kevinushey commented 4 years ago

This is what the DESCRIPTION file for Seurat looks like:

Package: Seurat
Version: 3.1.2
Date: 2019-12-12
Title: Tools for Single Cell Genomics
Description: A toolkit for quality control, analysis, and exploration of single cell RNA sequencing data. 'Seurat' aims to enable users to identify and interpret sources of heterogeneity from single cell transcriptomic measurements, and to integrate diverse types of single cell data. See Satija R, Farrell J, Gennert D, et al (2015) <doi:10.1038/nbt.3192>, Macosko E, Basu A, Satija R, et al (2015) <doi:10.1016/j.cell.2015.05.002>, and Butler A and Satija R (2017) <doi:10.1101/164889> for more details.
Authors@R: c(
  person(given = 'Rahul', family = 'Satija', email = 'rsatija@nygenome.org', role = 'aut', comment = c(ORCID = '0000-0001-9448-8833')),
  person(given = 'Andrew', family = 'Butler', email = 'abutler@nygenome.org', role = 'aut', comment = c(ORCID = '0000-0003-3608-0463')),
  person(given = 'Paul', family = 'Hoffman', email = 'nygcSatijalab@nygenome.org', role = c('aut', 'cre'), comment = c(ORCID = '0000-0002-7693-8957')),
  person(given = 'Tim', family = 'Stuart', email = 'tstuart@nygenome.org', role = 'aut', comment = c(ORCID = '0000-0002-3044-0897')),
  person(given = 'Jeff', family = 'Farrell', email = 'jfarrell@g.harvard.edu', role = 'ctb'),
  person(given = 'Shiwei', family = 'Zheng', email = 'szheng@nygenome.org', role = 'ctb', comment = c(ORCID = '0000-0001-6682-6743')),
  person(given = 'Christoph', family = 'Hafemeister', email = 'chafemeister@nygenome.org', role = 'ctb', comment = c(ORCID = '0000-0001-6365-8254')),
  person(given = 'Patrick', family = 'Roelli', email = 'proelli@nygenome.org', role = 'ctb'),
  person(given = "Yuhan", family = "Hao", email = 'yhao@nygenome.org', role = 'ctb', comment = c(ORCID = '0000-0002-1810-0822'))
  )
URL: http://www.satijalab.org/seurat,
        https://github.com/satijalab/seurat
BugReports: https://github.com/satijalab/seurat/issues
Additional_repositories: https://mojaveazure.github.io/loomR
Depends: R (>= 3.4.0), methods,
Imports: ape, cluster, cowplot, fitdistrplus, future, future.apply,
        ggplot2 (>= 3.0.0), ggrepel, ggridges, graphics, grDevices,
        grid, httr, ica, igraph, irlba, KernSmooth, leiden (>= 0.3.1),
        lmtest, MASS, Matrix (>= 1.2-14), metap, pbapply, plotly, png,
        RANN, RColorBrewer, Rcpp, RcppAnnoy, reticulate, rlang, ROCR,
        rsvd, Rtsne, scales, sctransform (>= 0.2.0), SDMTools, stats,
        tools, tsne, utils, uwot (>= 0.1.5)
LinkingTo: Rcpp (>= 0.11.0), RcppEigen, RcppProgress
License: GPL-3 | file LICENSE
LazyData: true
Collate: 'RcppExports.R' 'generics.R' 'clustering.R' 'visualization.R'
        'convenience.R' 'data.R' 'differential_expression.R'
        'dimensional_reduction.R' 'integration.R' 'objects.R'
        'preprocessing.R' 'tree.R' 'utilities.R' 'zzz.R'
RoxygenNote: 7.0.2
Encoding: UTF-8
biocViews:
Suggests: loomR, testthat, hdf5r, S4Vectors, SummarizedExperiment,
        SingleCellExperiment, MAST, DESeq2, BiocGenerics,
        GenomicRanges, GenomeInfoDb, IRanges, rtracklayer, monocle,
        Biobase, VGAM
NeedsCompilation: yes
Packaged: 2019-12-12 21:14:37 UTC; paul
Author: Rahul Satija [aut] (<https://orcid.org/0000-0001-9448-8833>),
  Andrew Butler [aut] (<https://orcid.org/0000-0003-3608-0463>),
  Paul Hoffman [aut, cre] (<https://orcid.org/0000-0002-7693-8957>),
  Tim Stuart [aut] (<https://orcid.org/0000-0002-3044-0897>),
  Jeff Farrell [ctb],
  Shiwei Zheng [ctb] (<https://orcid.org/0000-0001-6682-6743>),
  Christoph Hafemeister [ctb] (<https://orcid.org/0000-0001-6365-8254>),
  Patrick Roelli [ctb],
  Yuhan Hao [ctb] (<https://orcid.org/0000-0002-1810-0822>)
Maintainer: Paul Hoffman <nygcSatijalab@nygenome.org>
Repository: CRAN
Date/Publication: 2019-12-12 22:20:06 UTC

In particular, because it contains a biocViews: field, Packrat infers that the package should be restored from Bioconductor. I would suggest asking the package author to remove that field from their CRAN submission; it should only be included for packages available on Bioconductor.

pcantalupo commented 4 years ago

@kevinushey Seurat responded (see issue here) that they are unable to change their DESCRIPTION file. Can rsconnect update code to account for this situation? Thank you

Do I need to submit an issue to the packrat repo?

kevinushey commented 4 years ago

Yes, I think this would require a patch on the packrat side.

benjaminrich commented 4 years ago

I have a similar issue with package colorBlindness, which I installed from CRAN.

MarcElosua commented 4 years ago

Hi all, Thanks a lot for developing this package to easily deploy Shiny apps. I have had no problems in the past when deploying apps to shinyapps.io but it now seems that I'm encountering an issue related to this.

I am also using Seurat and deploying it within the app but what seems to be crashing in my case is the package sctransform. When deploying I get the following error message Error: Unhandled Exception: Child Task 807554307 failed: Error parsing manifest: Unable to determine package source for Bioconductor package sctransform: Repository must be specified

From what I have been able to gather this is due to sctransform depending on the bioconductor package multtest. Therefore, in the package DESCRIPTION they need to add biocViews as is the case with older Seurat versions. More recenet Seurat versions don't have this description and thus don't give a problem.

I am declaring options so that bioconductor repositories are within the scope of the environment via: options(repos = BiocManager::repositories())

When trying to identify what might be going wrong I run: rsconnect::appDependencies() Where sctransform appears as such: 126 sctransform 0.3.1 Bioconductor

My guess is that it is trying to install sctransform from Bioconductor when it is actually a CRAN package.

Unfortunately, I cannot roll back and use a previous version of Seurat in this case as suggested in previous comments in this issue. Is there any way to specify that it should be installing sctransform from CRAN instead?

Thank you for your time, Marc

slopp commented 4 years ago

I believe if you delete the biocViews line from the installed packages description file it will resolve the issue.

MarcElosua commented 4 years ago

Thanks @slopp , Deleting the line solved the issue I was getting.

I also posted an issue in the sctransform repository here. There Christoph says the biocViews is not needed in the package and therefore it can be removed.

Of note - for other people with this issue one needs to remove the biocViews: line from the DESCRIPTION package of the file. To do so you can run: installed.packages() to get the path where sctransform is installed. You can then head to the specified path, access the sctransform directory and modify the DESCRIPTION file there.

felon02 commented 2 years ago

I met similar problems, I used install_github("the problematic package") to reinstall the package and succeeded.

hadley commented 1 year ago

Judging from https://github.com/rstudio/packrat/issues/591, this is now fixed in the dev version of Seurat.