Dear Jurat, Maybe it'll be helpful to you if you see how other packages have their data. For example, take a look at one of my packages: https://github.com/lcolladotor/derfinder
You'll see that I have two directories inside /inst/extdata with some files that I use in my vignette code. See https://github.com/lcolladotor/derfinder/tree/master/inst/extdata for the files and search system.file() inside https://github.com/lcolladotor/derfinder/blob/master/vignettes/derfinder-quickstart.Rmd to see how I use it in the vignette. Regarding your permissions issue, I don't recall right now how to get this to work with Windows. But basically you can see that error at: Warning in dir.create(pkgoutdir, mode = "0755") : cannot create dir 'C:\Program Files\R\R-devel\bin\x64\MSPC.Rcheck', reason 'Permission denied' Is your user in your windows machine part of the "administrators" group? If not, that could be why. You could otherwise run R CMD build and upload your tar ball (a .tar.gz file) to https://builder.r-hub.io/. Finally, you might want to search the manual of how to create R extensions for other details. https://cran.r-project.org/doc/manuals/r-release/R-exts.html Best, Leo On Fri, Dec 2, 2016 at 12:11 PM, Jurat Shayidin <juratb...@gmail.com> wrote: > Dear Dan : > > I forgot to commit vignette file, now I pushed new changes, so now error > could be something else. People in stackoverflow suggest me to put all my > external data (a.k.a, bed files) into vignette folder, try to run R CMD > check and see what happen, I did this solution, but it doesn't work. Plus, > I checked file permission of my package parent directory, seems fine to me. > How I check file permission of my package ? > How can I fix this write permission on my machine ? This is not intuitive > to me, Any hint please ? > > Herve suggest me don't create inst/extdata directory manually, but I still > can't let external data available for vignette code. FYI, my objective in > vignette file : let external data available for package use, compile > trivial version of vignette with no error, then continue to make it > perfect. Here is updated session of R CMD check : > > > Microsoft Windows [Version 6.3.9600] > (c) 2013 Microsoft Corporation. All rights reserved. > > C:\Users\jvrat>cd C:\Program Files\R\R-devel\bin\x64 > > C:\Program Files\R\R-devel\bin\x64>R CMD INSTALL > "C:\Users\jvrat\Documents\MSPC" > * installing to library 'C:/Users/jvrat/Documents/R/win-library/3.4' > * installing *source* package 'MSPC' ... > ** R > ** inst > ** preparing package for lazy loading > ** help > *** installing help indices > ** building package indices > ** installing vignettes > ** testing if installed package can be loaded > * DONE (MSPC) > > C:\Program Files\R\R-devel\bin\x64>R CMD check > "C:\Users\jvrat\Documents\MSPC" > Warning in dir.create(pkgoutdir, mode = "0755") : > cannot create dir 'C:\Program Files\R\R-devel\bin\x64\MSPC.Rcheck', > reason 'Permission denied' > ERROR: cannot create check dir 'C:/Program > Files/R/R-devel/bin/x64/MSPC.Rcheck' > > C:\Program Files\R\R-devel\bin\x64>R CMD build > "C:\Users\jvrat\Documents\MSPC" > * checking for file 'C:\Users\jvrat\Documents\MSPC/DESCRIPTION' ... OK > * preparing 'MSPC': > * checking DESCRIPTION meta-information ... OK > * installing the package to build vignettes > * creating vignettes ...Warning: running command > '"C:/PROGRA~1/R/R-devel/bin/x64/Rscript" --vanilla --default-packages= -e > "tools::buildVignettes(dir = '.', tangle = TRUE)"' had status 1 > ERROR > Warning in engine$weave(file, quiet = quiet, encoding = enc) : > Pandoc (>= 1.12.3) and/or pandoc-citeproc not available. Falling back to > R Markdown v1. > Quitting from lines 60-64 (vignette.Rmd) > Error: processing vignette 'vignette.Rmd' failed with diagnostics: > subscript out of bounds > Execution halted > > C:\Program Files\R\R-devel\bin\x64> > > > How I fix R CMD check error above ? system.file() still can't detect > external data. Any idea please ? Thanks a lot > > Best regards : > > Jurat > > > On Fri, Dec 2, 2016 at 5:43 PM, Dan Tenenbaum <dtene...@fredhutch.org> > wrote: > >> See below. >> >> ----- Original Message ----- >> > From: "Jurat Shayidin" <juratb...@gmail.com> >> > To: "Dan Tenenbaum" <dtene...@fredhutch.org>, "bioc-devel" < >> bioc-devel@r-project.org> >> > Sent: Friday, December 2, 2016 8:32:35 AM >> > Subject: Re: [Bioc-devel] package vignette error : external data can't >> be captured when compiling package vignette >> >> > Dear Dan : >> > >> > Really appreciated for your quick respond. Instead, I am using R CMD >> check >> > on my packages, I have an error. Here is whole session detail : >> > >> > Microsoft Windows [Version 6.3.9600] >> > (c) 2013 Microsoft Corporation. All rights reserved. >> > >> > C:\Users\jvrat>cd C:\Program Files\R\R-devel\bin\x64 >> > >> > C:\Program Files\R\R-devel\bin\x64>R CMD INSTALL >> > "C:\Users\jvrat\Documents\MSPC" >> > * installing to library 'C:/Users/jvrat/Documents/R/win-library/3.4' >> > * installing *source* package 'MSPC' ... >> > ** R >> > ** inst >> > ** preparing package for lazy loading >> > ** help >> > *** installing help indices >> > ** building package indices >> > ** installing vignettes >> > ** testing if installed package can be loaded >> > * DONE (MSPC) >> > >> > C:\Program Files\R\R-devel\bin\x64>R CMD check >> > "C:\Users\jvrat\Documents\MSPC" >> > Warning in dir.create(pkgoutdir, mode = "0755") : >> > cannot create dir 'C:\Program Files\R\R-devel\bin\x64\MSPC.Rcheck', >> reason >> > 'Permission denied' >> > ERROR: cannot create check dir 'C:/Program >> > Files/R/R-devel/bin/x64/MSPC.Rcheck' >> >> You need to run R CMD check in a directory where you have write >> permissions. >> >> >> > >> > C:\Program Files\R\R-devel\bin\x64>R CMD build >> > "C:\Users\jvrat\Documents\MSPC" >> > * checking for file 'C:\Users\jvrat\Documents\MSPC/DESCRIPTION' ... OK >> > * preparing 'MSPC': >> > * checking DESCRIPTION meta-information ... OK >> > * installing the package to build vignettes >> > * creating vignettes ...Warning: running command >> > '"C:/PROGRA~1/R/R-devel/bin/x64/Rscript" --vanilla --default-packages= >> -e >> > "tools::buildVignettes(dir = '.', tangle = TRUE)"' had status 1 >> > ERROR >> > Warning in engine$weave(file, quiet = quiet, encoding = enc) : >> > Pandoc (>= 1.12.3) and/or pandoc-citeproc not available. Falling back to >> > R Markdown v1. >> > Quitting from lines 62-66 (vignette.Rmd) >> > Error: processing vignette 'vignette.Rmd' failed with diagnostics: >> > object 'inputData' not found >> > Execution halted >> > >> >> Line 61 of the vignette (as it is in Github; it's apparently different on >> yur machine based on the error message) is: >> >> total.ERs <- denoise_ERs(peakGRs = inputData, tau.w = 1.0E-04, .fileName = >> "noiseER", outDir = "", verbose = FALSE) >> >> As you can see, the peakGRs argument is set to inputData, but inputData is >> not defined anywhere. >> >> Dan >> >> >> >> > C:\Program Files\R\R-devel\bin\x64> >> > >> > >> > How can I fix this R CMD check error ? Instead people in stackoverflow >> > remind me that using devtools packages is not stable some times, so I go >> > for old fashion : use CMD. Plus, still my external data can't available >> for >> > vignette data, and vignette compilation is failed again. I used >> > system.file() to do this, but not working. Any idea please ? How can I >> > overcome this problem? Thanks a lot to Bioconductor project team. >> > >> > Best regards : >> > >> > Jurat >> > >> > >> > On Fri, Dec 2, 2016 at 5:20 PM, Dan Tenenbaum <dtene...@fredhutch.org> >> > wrote: >> > >> >> If your package is in github at https://github.com/julaiti/MSPC , it >> >> looks like there is no inst or extdata folder in that repository. >> >> >> >> Maybe it has not yet been added/committed/pushed to git? >> >> >> >> Note that everything _under_ inst gets installed when you install the >> >> package, but the inst directory itself goes away. >> >> >> >> If in your package source you have the following structure: >> >> >> >> inst/extdata/ >> >> inst/foo.txt >> >> >> >> In the installed package you end up with: >> >> >> >> extdata/ >> >> foo.txt >> >> >> >> HTH >> >> Dan >> >> >> >> >> >> ----- Original Message ----- >> >> > From: "Jurat Shayidin" <juratb...@gmail.com> >> >> > To: "Hervé Pagès" <hpa...@fredhutch.org>, "bioc-devel" < >> >> bioc-devel@r-project.org> >> >> > Sent: Friday, December 2, 2016 5:36:28 AM >> >> > Subject: Re: [Bioc-devel] package vignette error : external data can't >> >> be captured when compiling package vignette >> >> >> >> > Dear Hervé : >> >> > >> >> > Thanks again for your response on my issue. I've read your message >> very >> >> > carefully and did all you suggested to me, still can't fix the >> vignette >> >> > compilation error. I have developed my package on windows machine >> under >> >> > devel version of R and Bioc, all unit test works fine to me. I don't >> >> > understand why inst/ directory was not created when I build and >> install >> >> my >> >> > packages, external data can't be read during vignette compilation. >> >> > However, my objective is, to build my package vignette with no error >> in >> >> the >> >> > first place, then continue to edit the context until getting final >> >> version >> >> > of vignette file. When I install packages using devtools::install(), I >> >> got >> >> > this : >> >> > >> >> >> devtools::install() >> >> > Installing MSPC >> >> > "C:/PROGRA~1/R/R-devel/bin/x64/R" \ >> >> > --no-site-file --no-environ --no-save \ >> >> > --no-restore --quiet CMD INSTALL \ >> >> > "C:/Users/jvrat/Documents/MSPC" \ >> >> > --library="C:/Users/jvrat/Documents/R/win-library/3.4" \ >> >> > --install-tests >> >> > * installing *source* package 'MSPC' ... >> >> > ** R >> >> > ** tests >> >> > ** preparing package for lazy loading >> >> > ** help >> >> > *** installing help indices >> >> > ** building package indices >> >> > ** installing vignettes >> >> > ** testing if installed package can be loaded >> >> > * DONE (MSPC) >> >> > Reloading installed MSPC >> >> > >> >> > >> >> > I believe doing this is right in vignette file after I follow your >> >> advise : >> >> > >> >> > ```{r} >> >> > library(MSPC) >> >> > inputBed <- list.files(system.file("extdata", package = "MSPC"), >> >> full.names >> >> > = TRUE) >> >> > inputData <- readPeakFile(peakFolder = inputBed) >> >> > >> >> > inputData >> >> > ``` >> >> > >> >> > >> >> > However, I should not add inst/extdata manually , without this I can't >> >> > allow to load external data for package use, and vignette compilation >> >> keep >> >> > failed. To be honest, this is my very first time building R packages, >> I >> >> > don't know how to fix this error. Just out of curiosity, during >> package >> >> > installation, everything is under the inst/ , but I don't have this >> >> folder. >> >> > Why is that ? Is that possible to get further help from Bioconductor >> >> > project team to review the package source in github ? >> >> > >> >> > I am stuck with this problem, I searched all possible answer from all >> >> over >> >> > the place, cannot fix my issues. I am very sorry if my question is >> naive >> >> to >> >> > ask here. Could you point me out how to possibly solve this problem? >> >> Thanks >> >> > again for your great favor. >> >> > >> >> > Best regards : >> >> > >> >> > Jurat >> >> > >> >> > >> >> > >> >> > On Fri, Dec 2, 2016 at 2:04 AM, Hervé Pagès <hpa...@fredhutch.org> >> >> wrote: >> >> > >> >> >> Hi, >> >> >> >> >> >> Make sure you understand the difference between the *package source >> >> >> tree*, which you control and where you must create the inst/ folder, >> >> >> and the *package installation folder*, which gets created and >> >> >> populated by 'R CMD INSTALL'. The exact location of the *package >> >> >> installation folder* doesn't really matter but if you are curious >> >> >> you can use the .libPaths() command to see it. The *package >> installation >> >> >> folder* is the subfolder of .libPaths() that has the name of the >> >> >> package. You can also see it with find.package("mypackage"). >> >> >> >> >> >> During installation, everything that is under the inst/ folder will >> >> >> get installed *directly* under the *package installation folder*. >> >> >> So if you created the extdata/ folder under inst/ (as it should be), >> >> >> extdata/ will end up being installed at >> .libPaths()/mypackage/extdata/ >> >> >> The code in your examples can get the path to the *installed* >> extdata/ >> >> >> folder with >> >> >> >> >> >> system.file(package="mypackage", "extdata") >> >> >> >> >> >> or get the path to any file under extdata/ with e.g. >> >> >> >> >> >> system.file(package="mypackage", "extdata", "data1.bed") >> >> >> >> >> >> Don't do >> >> >> >> >> >> system.file(package="mypackage", "extdata/data1.bed") >> >> >> >> >> >> even if it works for you because it's not portable (the use of / as >> >> >> a separator is a platform-dependent thing). >> >> >> >> >> >> Finally note that you should never try to modify anything that is >> under >> >> >> .libPaths() by hand. Furthermore, and that's a mistake we see >> sometimes >> >> >> with contributed packages, the code in your package should always >> >> >> treat the *package installation folder* as a read-only folder. >> >> >> >> >> >> Hope this helps, >> >> >> >> >> >> H. >> >> >> >> >> >> >> >> >> On 12/01/2016 04:34 PM, Jurat Shayidin wrote: >> >> >> >> >> >>> Hi BiocDevel : >> >> >>> >> >> >>> I am getting vignette error when I building my packages, and >> external >> >> data >> >> >>> can't be captured by system.file() . I did unit test all function >> of my >> >> >>> packages, it works fine. When I am going to compile package >> vignette, >> >> test >> >> >>> input bed file can't be detected. However, I used >> >> >>> devtools::install()command >> >> >>> to install my packages, but installation directory inst/ was not >> >> created >> >> >>> automatically. By R package convention, all external data must be >> >> located >> >> >>> in inst/, so I manually created this folder inst/extdata and paste >> my >> >> >>> data, but vignette compilation still failed. According to convention >> >> of R >> >> >>> package, my package structure will be: >> >> >>> >> >> >>> myPackage >> >> >>> `- inst >> >> >>> `- extdata >> >> >>> `- data1.bed >> >> >>> `- data2.bed >> >> >>> `- R >> >> >>> `- ... >> >> >>> `- NAMESPACE >> >> >>> `- DESCRIPTION >> >> >>> >> >> >>> >> >> >> -- >> >> >> Hervé Pagès >> >> >> >> >> >> Program in Computational Biology >> >> >> Division of Public Health Sciences >> >> >> Fred Hutchinson Cancer Research Center >> >> >> 1100 Fairview Ave. N, M1-B514 >> >> >> P.O. Box 19024 >> >> >> Seattle, WA 98109-1024 >> >> >> >> >> >> E-mail: hpa...@fredhutch.org >> >> >> Phone: (206) 667-5791 >> >> >> Fax: (206) 667-1319 >> >> >> >> >> > >> >> > >> >> > >> >> > -- >> >> > Jurat Shahidin >> >> > >> >> > Dipartimento di Elettronica, Informazione e Bioingegneria >> >> > Politecnico di Milano >> >> > Piazza Leonardo da Vinci 32 - 20133 Milano, Italy >> >> > Mobile : +39 3279366608 >> >> > >> >> > [[alternative HTML version deleted]] >> >> > >> >> > _______________________________________________ >> >> > Bioc-devel@r-project.org mailing list >> >> > https://stat.ethz.ch/mailman/listinfo/bioc-devel >> >> >> > >> > >> > >> > -- >> > Jurat Shahidin >> > >> > Dipartimento di Elettronica, Informazione e Bioingegneria >> > Politecnico di Milano >> > Piazza Leonardo da Vinci 32 - 20133 Milano, Italy >> > Mobile : +39 3279366608 >> > > > > -- > Jurat Shahidin > > Dipartimento di Elettronica, Informazione e Bioingegneria > Politecnico di Milano > Piazza Leonardo da Vinci 32 - 20133 Milano, Italy > Mobile : +39 3279366608 > > [[alternative HTML version deleted]] > > _______________________________________________ > Bioc-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/bioc-devel _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel