thomasp85 / msgfplus Goto Github PK
View Code? Open in Web Editor NEWAn MSGF+ interface for R
An MSGF+ interface for R
Hello,
I've tried to install MSGFplus both via Bioc and Github, without success. I encounter this issue:
`
Installing package into ‘/home/gian_ma/R/x86_64-pc-linux-gnu-library/3.5’
(as ‘lib’ is unspecified)
My java version is:
$ java --version openjdk 10.0.1 2018-04-17 OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)
Ubuntu LTS 18.04
I've seen that someone experienced the same issue before, and it was supposed to be fixed.
I hope this is not trivial, and thank you for your help
Had a problem with the java version check in Oracle java.
Fixing the pattern match to allow more than one digit, allow loading of the Namespace with the warning about version.
Seems that the check should a) determine oracle vs open-jdk and have patterns that are appropriate to each.
I actually don't know whether there is any gain in this over creating a system() call, but it has to be investigated...
With the newest version of BiocManager (v3.15), MSGFplus has been removed. If possible, I would like to avoid installing the package from Github, because I do not want to install Rtools on every computer where I use the package.
Will there be an alternative way to install the package, either CRAN or BioConductor or a .tar.gz release?
Hi @thomasp85 - I thought I had write access to the Bioc git repo, but apparently not:
$ MSGFplus git:(devel) git push upstream master
FATAL: W any packages/MSGFplus l.gatto DENIED by fallthru
(or you mis-spelled the reponame)
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Could you check, please.
Hi:
If I install the MSGFplus library using this line of code:
BiocManager::install("MSGFplus")
And, after that, if I try loading it, what I get is this warning message:
library(MSGFplus)
Error: package or namespace load failed for ‘MSGFplus’:
.onLoad failed in loadNamespace() for 'MSGFplus', details:
call: system2(.javaExecutable(), "-version", stderr = TRUE, stdout = TRUE)
error: 'CreateProcess' failed to run 'C:\PROGRA1\Java\JDK181.0_3 -version'
On the other hand, if I try installing this package after removing it using this code line:
devtools::install_github('thomasp85/MSGFplus')
This message appears:
* installing source package 'MSGFplus' ...
** using staged installation
** R
Error in .install_package_code_files(".", instdir) :
files in 'Collate' field missing from 'C:/Users/jvalf/AppData/Local/Temp/Rtmp6T1b6Q/R.INSTALL164c4e697167/MSGFplus/R':
msgfParGUI.R
ERROR: unable to collate and parse R files for package 'MSGFplus'
* removing 'C:/Users/jvalf/Documents/R/win-library/4.0/MSGFplus'
I just need it to work in order to install "proteomics" library. What do I need to do, exactly? Thanks in advance.
I have checked the document and can't find a way to include addFeatures=True to the R interface of MSGFplus to allow files to be post processed with Percolator. Is this something that can be included?
In that line, would it also be possible to allow the decoy abbreviation to be included/changed in this environment?
The version on Bioconductor uses dQuote
the create the java path, which wrap the path in uni-code inverted quotes and fails in R. This has been confirmed on Linux and Windows.
The version on github works as expected (confirmed on linux). Could you commit the fix to Bioc, please.
I have a Java version like:
> javaVersion
[1] "openjdk version \"11.0.7\" 2020-04-14"
[2] "OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1)"
[3] "OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1, mixed mode, sharing)"
It fails if install("MSGFplus")
is used but I can install from GitHub. The package also fails on Bioconductor machine machv2 which runs macOS 10.14.6 Mojave for the same reason.
Title says it all. The question is whether R should just be run from the server in the first place?
How should the MSGFPlus.jar file be included? or should the user install it themselves? If so, how should we ensure version compatibility and set the correct path...
Hi
I just want to report that there is a potential useful msgf+ option missing in msgfpar
namely -addFeatures 0/1
. This add extra variables calculated by msgf+
to each psm.
see msgf+ documentations :
https://bix-lab.ucsd.edu/pages/viewpage.action?pageId=13533355
greets
It seems (quite surprisingly) that there is some confusion between the checkResFile
/analysisSoftwareVersion
functions and methods signatures:
* checking whether package ‘MSGFplus’ can be installed ... WARNING
Found the following significant warnings:
Warning: For function ‘checkResFile’, signature ‘msgfRes’: argument in method definition changed from (object) to (file)
Warning: For function ‘analysisSoftwareVersion’, signature ‘msgfRes’: argument in method definition changed from (object) to (file)
Easy to fix by change the function name or (I assume but not tested), renaming the function argument from file to object. Unless I'm missing anything here, happy to send another pull request.
I currently have issues with runMSGF
within a vignette on a windows server. The resulting mzid
file is not where it is expected to be found. I spotted the following piece of run in the function that needs to be fixed
if (Sys.info()["sysname"] == "Windows") {
msgfPath <- paste0("\"", msgfPath, "\"")
}
and use file.path()
to construct the path to the file.
I can't yet guarantee that the above will fix my error, but this should nevertheless be fixed in devel and release.
> library("rpx")
> px <- PXDataset("PXD000001")
> fas <- pxget(px, pxfiles(px)[8])
> mzf <- pxget(px, pxfiles(px)[6])
> library("MSGFplus")
> msgfpar <- msgfPar(database = fas,
+ instrument = 'HighRes',
+ tda = TRUE,
+ enzyme = 'Trypsin',
+ protocol = 'iTRAQ')
> idres <- runMSGF(msgfpar, mzf, memory=1000, import=FALSE)
java -Xmx1000M -jar "C:/Users/CCPguest/Documents/R/R-3.1.2/library/MSGFplus/MSGFPlus/MSGFPlus.jar" -s "TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.mzXML" -o "C:/Users/CCPguest/Desktop/here/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.mzid" -d "erwinia_carotovora.fasta" -tda 1 -inst 1 -e 1 -protocol 2
MS-GF+ Beta (v10072) (6/30/2014)
Loading database files...
Loading database finished (elapsed time: 0.74 sec)
Reading spectra...
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:601)
at org.systemsbiology.jrap.stax.IndexParser.parseIndexes(IndexParser.java:176)
at org.systemsbiology.jrap.stax.MSXMLParser.randomInits(MSXMLParser.java:117)
at org.systemsbiology.jrap.stax.MSXMLParser.<init>(MSXMLParser.java:134)
at edu.ucsd.msjava.parser.MzXMLSpectraMap.<init>(MzXMLSpectraMap.java:40)
at edu.ucsd.msjava.msutil.SpectraAccessor.getSpecMap(SpectraAccessor.java:47)
at edu.ucsd.msjava.ui.MSGFPlus.runMSGFPlus(MSGFPlus.java:259)
at edu.ucsd.msjava.ui.MSGFPlus.runMSGFPlus(MSGFPlus.java:142)
at edu.ucsd.msjava.ui.MSGFPlus.main(MSGFPlus.java:80)
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:601)
at org.systemsbiology.jrap.stax.IndexParser.parseIndexes(IndexParser.java:176)
at org.systemsbiology.jrap.stax.MSXMLParser.randomInits(MSXMLParser.java:117)
at org.systemsbiology.jrap.stax.MSXMLParser.<init>(MSXMLParser.java:134)
at edu.ucsd.msjava.parser.MzXMLSpectraMap.<init>(MzXMLSpectraMap.java:40)
at edu.ucsd.msjava.parser.MzXMLSpectraIterator.<init>(MzXMLSpectraIterator.java:36)
at edu.ucsd.msjava.parser.MzXMLSpectraIterator.<init>(MzXMLSpectraIterator.java:26)
at edu.ucsd.msjava.msutil.SpectraAccessor.getSpecItr(SpectraAccessor.java:84)
at edu.ucsd.msjava.ui.MSGFPlus.runMSGFPlus(MSGFPlus.java:259)
at edu.ucsd.msjava.ui.MSGFPlus.runMSGFPlus(MSGFPlus.java:142)
at edu.ucsd.msjava.ui.MSGFPlus.main(MSGFPlus.java:80)
Ignoring 0 profile spectra.
Ignoring 0 spectra having less than 10 peaks.
[Error] TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.mzXML includes no spectrum
The above code works on linux.
Annoyingly, runMSGF
is apparently never run in any of the examples/vignette/tests in the package. Please fix this as I am under the impression that it might never have worked on Windows - make sure you test/run the main function of your package.
Hi,
I get an error when I try to install MSGFplus on my linux machine. MS-GF+ standalone seems to work just fine.
My java version is:
java -version
openjdk version "1.8.0_25"
OpenJDK Runtime Environment (build 1.8.0_25-b18)
OpenJDK 64-Bit Server VM (build 25.25-b02, mixed mode)
The error is:
* installing *source* package ‘MSGFplus’ ...
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error : .onLoad failed in loadNamespace() for 'MSGFplus', details:
call: if (as.numeric(sub(".*\"\\d\\.(\\d).*", "\\1", javaVersion)) <
error: argument is of length zero
Error: loading failed
Execution halted
ERROR: loading failed
Greetz
Should it be up to the user, based on the description file, to have the correct version of Java installed on their system or should the package test for it on load+
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.