MSGFgui tries to locate MSGF.zip from a nonexistent UCSC source
4
0
Entering edit mode
@owenleiser-9394
Last seen 8.9 years ago
United States

Hello everyone, I recently came across the MSGFgui packages for R (https://github.com/thomasp85/MSGFgui). I use command-line MS-GF+ regularly, but would like to utilize the visualization in the GUI. This is perhaps a long post, but please bear with me.

In R 3.2.3, I have installed MSGFplus and MSGFgui (and their dependencies) using biocLite.

I've loaded the program libraries using library(MSGFplus) followed by library(MSGFgui).

I can get the "web" interface to load in Google Chrome using MSGFgui().

However, when I actually attempt to run the GUI (i.e. load mzML and reference FASTA files, and hit "analyze"), it kicks the following error in my R console:

 

First time using MSGFplus: Downloading MS-GF+ code
trying URL 'http://proteomics.ucsd.edu/Software/MSGFPlus/MSGFPlus.20140630.zip'
Warning in download.file("http://proteomics.ucsd.edu/Software/MSGFPlus/MSGFPlus.20140630.zip",  :
  cannot open URL 'http://proteomics.ucsd.edu/Software/MSGFPlus/MSGFPlus.20140630.zip': HTTP status was '404 Not Found'
Warning: Unhandled error in observer: cannot open URL 'http://proteomics.ucsd.edu/Software/MSGFPlus/MSGFPlus.20140630.zip'
observe({
    if (input$analysisButton == 0) 
        return(c())
    if (input$analysisButton != analysisButtonCount) {
        dataFiles <<- isolate({
            datafileSelection()
        })
        currentPar <<- isolate({
            par()
        })
        analysisButtonCount <<- input$analysisButton
        currentAnalysis <<- runMSGF(currentPar, dataFiles[1], 
            async = TRUE)
        progressBarData$max <<- length(dataFiles)
        progressBarData$value <<- 1
        session$sendCustomMessage(type = "progressBar", list(max = isolate({
            progressBarData$max
        }), value = isolate({
            progressBarData$value
        }) - 0.75, text = paste0("Analyzing ", basename(dataFiles[1])), 
            done = FALSE))
    }
    if (length(dataFiles)) {
        if (finished(currentAnalysis)) {
            session$sendCustomMessage(type = "progr [... truncated]

 

The output of sessionInfo() is:
 

R version 3.2.3 (2015-12-10)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.10.5 (Yosemite)

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  methods   base     

other attached packages:
[1] shiny_0.12.2         MSGFgui_1.4.0        xlsx_0.5.7           xlsxjars_0.6.1       rJava_0.9-7         
[6] mzR_2.4.0            Rcpp_0.12.2          MSGFplus_1.4.0       BiocInstaller_1.20.1

loaded via a namespace (and not attached):
 [1] BiocGenerics_0.16.1 doParallel_1.0.10   xtable_1.8-0        R6_2.1.1            foreach_1.4.3      
 [6] plyr_1.8.3          tools_3.2.3         parallel_3.2.3      mzID_1.8.0          Biobase_2.30.0     
[11] shinyFiles_0.6.0    htmltools_0.2.6     ProtGenerics_1.2.1  iterators_1.0.8     digest_0.6.8       
[16] RJSONIO_1.3-0       codetools_0.2-14    mime_0.4            XML_3.98-1.3        jsonlite_0.9.19    
[21] httpuv_1.3.3 

 

It appears that MSGFgui is trying to get MSGFplus from a nonexistent source at UCSC. This seems odd, since I have installed MS-GF+ as a command-line program and (I think) as an R/bioconductor package. Is there a way to direct MSGFgui to the appropriate install location? I'd love to give this package a try for my research.

Thanks for your help! 

 

MSGFplus MSGFgui software error • 1.9k views
ADD COMMENT
1
Entering edit mode
@thomas-lin-pedersen-5941
Last seen 8.8 years ago
Copenhagen, Denmark

It seems that the MSGF+ source has been moved (though Sangtae Kim promised me it would be a safe link - he probably forgot :-). While I cook up an official workaround you should be able to bypass this by moving your own MSGFPlus.jar file into the location given by this R command:

file.path(system.file(package='MSGFplus'), 'MSGFPlus') 

The only caveat is that MSGFplus and MSGFgui might not be tested with the MS-GF+ version your using... Unless some huge unknown changes has occurred it should work though... I'll post once an official fix is live...

ADD COMMENT
0
Entering edit mode

It is not generally a good idea to install into a system.file location (I guess that's what is implied by the workaround?). It may not be writeable by non-administrative users.

ADD REPLY
0
Entering edit mode

I see your point, but I would argue (probably badly) that this type of package would always be user installed - i.e. located a place where the user has write access. I very much prefer to have all package related files in one place

ADD REPLY
0
Entering edit mode
@owenleiser-9394
Last seen 8.9 years ago
United States

Thanks for the advice! It's always nice to ask a question, go to bed, and wake up to an answer. I'll keep an eye out on GitHub for an update.

ADD COMMENT
0
Entering edit mode
@owenleiser-9394
Last seen 8.9 years ago
United States

OK, an update: The above fix that Thomas posted (thanks Thomas) got MSGFgui to "see" the symlink to the MSGFPlus.jar file in another directory. I think there's now a problem with Shiny (the error message below returns some Google hits to this program):

MS-GF+ Beta (v9517) (4/10/2013)
Loading database files...
Creating /Volumes/Macintosh HD/Users/leiser/Desktop/SEDP/ENDO/<MyReferenceFileName>.revCat.fasta.
Creating the suffix array indexed file... Size: 2617243
AlphabetSize: 22
Suffix creation: 0.00% complete.
Sorting 0.00% complete.
Sorting 19.40% complete.
Sorting 38.81% complete.
Sorting 58.21% complete.
Sorting 77.62% complete.
Sorting 97.02% complete.
Loading database finished (elapsed time: 2.97 sec)
Reading spectra...
Ignoring 0 profile spectra.
Ignoring 32 spectra having less than 20 peaks.
Reading spectra finished (elapsed time: 21.84 sec)
Using 7 threads.
Spectrum 0-6675 (total: 6676)
pool-1-thread-1: Preprocessing spectra...
pool-1-thread-2: Preprocessing spectra...
pool-1-thread-3: Preprocessing spectra...
pool-1-thread-4: Preprocessing spectra...
pool-1-thread-7: Preprocessing spectra...
pool-1-thread-6: Preprocessing spectra...
pool-1-thread-5: Preprocessing spectra...
pool-1-thread-1: Preprocessing spectra finished (elapsed time: 8.00 sec)
pool-1-thread-1: Database search...
pool-1-thread-1: Database search progress... 0.0% complete
pool-1-thread-1: Database search progress... 76.4% complete
pool-1-thread-7: Preprocessing spectra finished (elapsed time: 11.00 sec)
pool-1-thread-7: Database search...
pool-1-thread-7: Database search progress... 0.0% complete
pool-1-thread-2: Preprocessing spectra finished (elapsed time: 11.00 sec)
pool-1-thread-2: Database search...
pool-1-thread-2: Database search progress... 0.0% complete
pool-1-thread-1: Database search finished (elapsed time: 3.00 sec)
pool-1-thread-1: Computing spectral E-values...
pool-1-thread-3: Preprocessing spectra finished (elapsed time: 13.00 sec)
pool-1-thread-3: Database search...
pool-1-thread-3: Database search progress... 0.0% complete
pool-1-thread-4: Preprocessing spectra finished (elapsed time: 14.00 sec)
pool-1-thread-4: Database search...
pool-1-thread-4: Database search progress... 0.0% complete
pool-1-thread-5: Preprocessing spectra finished (elapsed time: 15.00 sec)
pool-1-thread-5: Database search...
pool-1-thread-5: Database search progress... 0.0% complete
pool-1-thread-6: Preprocessing spectra finished (elapsed time: 16.00 sec)
pool-1-thread-6: Database search...
pool-1-thread-6: Database search progress... 0.0% complete
pool-1-thread-1: Computing spectral E-values finished (elapsed time: 4.00 sec)
pool-1-thread-6: Database search progress... 76.4% complete
pool-1-thread-6: Database search finished (elapsed time: 1.00 sec)
pool-1-thread-6: Computing spectral E-values...
pool-1-thread-7: Database search progress... 76.4% complete
pool-1-thread-7: Database search finished (elapsed time: 7.00 sec)
pool-1-thread-7: Computing spectral E-values...
pool-1-thread-2: Database search progress... 76.4% complete
pool-1-thread-3: Database search progress... 76.4% complete
pool-1-thread-2: Database search finished (elapsed time: 7.00 sec)
pool-1-thread-2: Computing spectral E-values...
pool-1-thread-3: Database search finished (elapsed time: 6.00 sec)
pool-1-thread-3: Computing spectral E-values...
pool-1-thread-4: Database search progress... 76.4% complete
pool-1-thread-5: Database search progress... 76.4% complete
pool-1-thread-4: Database search finished (elapsed time: 5.00 sec)
pool-1-thread-4: Computing spectral E-values...
pool-1-thread-5: Database search finished (elapsed time: 5.00 sec)
pool-1-thread-5: Computing spectral E-values...
pool-1-thread-2: Computing spectral E-values finished (elapsed time: 8.00 sec)
pool-1-thread-3: Computing spectral E-values finished (elapsed time: 12.00 sec)
pool-1-thread-7: Computing spectral E-values finished (elapsed time: 13.00 sec)
pool-1-thread-4: Computing spectral E-values finished (elapsed time: 14.00 sec)
pool-1-thread-5: Computing spectral E-values finished (elapsed time: 17.00 sec)
pool-1-thread-6: Computing spectral E-values finished (elapsed time: 22.00 sec)
Computing q-values...
Computing q-values finished (elapsed time: 0.03 sec)
Writing results...
Writing results finished (elapsed time: 2.08 sec)
MS-GF+ complete (total elapsed time: 64.62 sec)
reading <MyFileName>.mzid... DONE!
Warning: Unhandled error in observer: could not find function "scans"
observe({
    if (input$analysisButton == 0)
        return(c())
    if (input$analysisButton != analysisButtonCount) {
        dataFiles <<- isolate({
            datafileSelection()
        })
        currentPar <<- isolate({
            par()
        })
        analysisButtonCount <<- input$analysisButton
        currentAnalysis <<- runMSGF(currentPar, dataFiles[1],
            async = TRUE)
        progressBarData$max <<- length(dataFiles)
        progressBarData$value <<- 1
        session$sendCustomMessage(type = "progressBar", list(max = isolate({
            progressBarData$max
        }), value = isolate({
            progressBarData$value
        }) - 0.75, text = paste0("Analyzing ", basename(dataFiles[1])),
            done = FALSE))
    }
    if (length(dataFiles)) {
        if (finished(currentAnalysis)) {
            session$sendCustomMessage(type = "progressBar", list(max = isolate({
                progres [... truncated]
ADD COMMENT
0
Entering edit mode
@owenleiser-9394
Last seen 8.9 years ago
United States

I don't know much about the dependencies for MSGFgui - could it be an mzR problem? MSGFgui complains when I load its library that:

In fun(libname, pkgname) :
  mzR has been built against a different Rcpp version (0.12.1)
than is installed on your system (0.12.2). This might lead to errors
when loading mzR.

In addition, while manipulating the settings in the GUI itself, the R console stacks up this warning:

Listening on http://127.0.0.1:7265
Note: the specification for S3 class “AsIs” in package ‘jsonlite’ seems equivalent to one from package ‘BiocGenerics’: not turning on duplicate class definitions for this class.
Found more than one class "connection" in cache; using the first, from namespace 'BiocGenerics'

Neither of these warnings seem especially dire, but I'm obviously not a programming guru so it may be above my head...

ADD COMMENT

Login before adding your answer.

Traffic: 1005 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6