Closed singjc closed 3 years ago
Hi Justin,
First of all, you didn't put any spectral files in your shell command. Second, could you upgrade MSFragger to the latest version and try with the right command?
Best,
Fengchao
Hi Fengchao,
Thank you for the fast response!
I didn't supply any spectral files to the shell command because I just wanted to generate the pepindex file. This is part of a snakemake workflow, I do the actual MSFragger search a little later in the workflow where I supply it the spectral files.
I upgraded my MSFragger to version 3.1.1, and created a docker image. For some reason, when running the docker container of this version (same issue with version 3.1), it's not able to find the libtimsdata-2-7-0.so object. I have the bruker and thermo folders with their contents in the same directory as MSFragger.jar.
Located at root (/) in docker image
Singularity> ls -ltrh /
-rw-rw-r-- 1 root root 39M Oct 1 10:32 MSFragger.jar
drwxr-xr-x 2 root root 4.6K Feb 11 00:53 thermo
drwxr-xr-x 2 root root 151 Feb 11 00:53 bruker
Verify libtimsdata-2-7-0.so is in bruker folder
Singularity> ls -ltrh /bruker/
total 43M
-rw-rw-r-- 1 root root 41K Sep 11 2019 THIRD-PARTY-LICENSE-README.txt
-rw-rw-r-- 1 root root 342 Sep 11 2019 redist.txt
-rw-rw-r-- 1 root root 27M Jan 9 2020 libtimsdata-2-7-0.so
-rw-rw-r-- 1 root root 9.3K Jan 9 2020 timsdata-2-7-0.lib
-rw-rw-r-- 1 root root 16M Jan 9 2020 timsdata-2-7-0.dll
Error message when just calling MSFragger
Singularity> java -jar /MSFragger.jar
MSFragger version MSFragger-3.1.1
Batmass-IO version 1.19.5
[main] ERROR umich.ms.fileio.filetypes.bruker.Timsdata - JNA could not load native Bruker library
[main] ERROR umich.ms.fileio.filetypes.bruker.Timsdata - The ext folder with timsdata-2-7-0.dll (Win) or libtimsdata-2-7-0.so (Linux) is needed. If you are using an old ext folder, please upgrade.
java.lang.UnsatisfiedLinkError: Unable to load library 'timsdata-2-7-0':
libtimsdata-2-7-0.so: cannot open shared object file: No such file or directory
libtimsdata-2-7-0.so: cannot open shared object file: No such file or directory
Native library (linux-x86-64/libtimsdata-2-7-0.so) not found in resource path (/MSFragger.jar)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:302)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:455)
at com.sun.jna.Library$Handler.<init>(Library.java:192)
at com.sun.jna.Native.load(Native.java:596)
at com.sun.jna.Native.load(Native.java:570)
at umich.ms.fileio.filetypes.bruker.Timsdata$Instance.<clinit>(Timsdata.java:174)
at umich.ms.fileio.filetypes.bruker.Timsdata.getLoadedLibName(Timsdata.java:197)
at edu.umich.andykong.msfragger.MSFragger.a(Unknown Source)
at edu.umich.andykong.msfragger.MSFragger.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simontuffs.onejar.Boot.run(Boot.java:340)
at com.simontuffs.onejar.Boot.main(Boot.java:166)
Suppressed: java.lang.UnsatisfiedLinkError: libtimsdata-2-7-0.so: cannot open shared object file: No such file or directory
at com.sun.jna.Native.open(Native Method)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:191)
... 14 more
Suppressed: java.lang.UnsatisfiedLinkError: libtimsdata-2-7-0.so: cannot open shared object file: No such file or directory
at com.sun.jna.Native.open(Native Method)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:204)
... 14 more
Suppressed: java.io.IOException: Native library (linux-x86-64/libtimsdata-2-7-0.so) not found in resource path (/MSFragger.jar)
at com.sun.jna.Native.extractFromResourcePath(Native.java:1095)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:276)
... 14 more
timsdata library version
(c) University of Michigan
RawFileReader reading tool. Copyright (c) 2016 by Thermo Fisher Scientific, Inc. All rights reserved.
System OS: Linux, Architecture: amd64
Java Info: 1.8.0_241, Java HotSpot(TM) 64-Bit Server VM, Oracle Corporation
Usage:
To perform a search either use a parameter file:
1) java -jar MSFragger.jar <parameter file> <list of mzML/mzXML/MGF/RAW/.d files>
Or specify options on the command line:
2) java -jar MSFragger.jar <options> <list of mzML/mzXML/MGF/RAW/.d files>
To generate default parameter files use --config flag. E.g. "java -jar MSFragger.jar --config"
To list all the available options, run with --help or -h flag.
Using version 3.0 doesn't have the issue of not being able to finding the libtimsdata-2-4-4.so object.
Output when calling MSFragger without anything
Singularity> java -jar /MSFragger.jar
MSFragger version MSFragger-3.0
Batmass-IO version 1.17.4
(c) University of Michigan
RawFileReader reading tool. Copyright (c) 2016 by Thermo Fisher Scientific, Inc. All rights reserved.
System OS: Linux, Architecture: amd64
Java Info: 1.8.0_241, Java HotSpot(TM) 64-Bit Server VM, Oracle Corporation
Usage:
To perform a search either use a parameter file:
1) java -jar MSFragger.jar <parameter file> <list of mzML/mzXML/MGF/RAW/.d files>
Or specify options on the command line:
2) java -jar MSFragger.jar <options> <list of mzML/mzXML/MGF/RAW/.d files>
To generate default parameter files use --config flag. E.g. "java -jar MSFragger.jar --config"
To list all the available options, run with --help or -h flag.
Singularity> ls /bruker/
libtimsdata-2-4-4.so redist.txt THIRD-PARTY-LICENSE-README.txt timsdata-2-4-4.dll timsdata-2-4-4.lib
When I use this version to run MSFragger (providing a spectral file or not) it still leads to the same error as the initial error I was getting.
shell command
java -XX:+UseContainerSupport -jar /MSFragger.jar params/fragger_closed.params results/library/SWATH_ESCs_RA_treated_rep-2-20170718_histone_SWATH_manual_human_H9_cell__RAtreated_3ug_02_Q2.mzXML
Error message
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.simontuffs.onejar.Boot.run(Boot.java:340)
at com.simontuffs.onejar.Boot.main(Boot.java:166)
Caused by: java.util.concurrent.ExecutionException: java.lang.NegativeArraySizeException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at edu.umich.andykong.msfragger.K.a(Unknown Source)
at edu.umich.andykong.msfragger.I.a(Unknown Source)
at edu.umich.andykong.msfragger.n.a(Unknown Source)
at edu.umich.andykong.msfragger.A.<init>(Unknown Source)
at edu.umich.andykong.msfragger.MSFragger.b(Unknown Source)
at edu.umich.andykong.msfragger.MSFragger.main(Unknown Source)
... 6 more
Caused by: java.lang.NegativeArraySizeException
at edu.umich.andykong.msfragger.K.a(Unknown Source)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Thank you for your time!
Best,
Justin
Hi Justin,
Regarding the error in loading Bruker library from version 3.1.1, the directory structure should be <msfragger folder>/ext/bruker
, <msfragger folder>/ext/thermo
, and <msfragger folder>/MSFragger-3.1.1.jar
. I think moving bruker
and thermo
out of ext
causing the error.
Regarding your NegativeArraySizeException
exception, I have no clue. Your fragger_closed.params
does not cause any error from my test.
Best,
Fengchao
Hi Fengchao,
I moved the entire ext/
as suggested
/
├── /ext
│ ├── /ext/bruker
│ │ ├── /ext/bruker/libtimsdata-2-7-0.so
│ │ ├── /ext/bruker/redist.txt
│ │ ├── /ext/bruker/THIRD-PARTY-LICENSE-README.txt
│ │ ├── /ext/bruker/timsdata-2-7-0.dll
│ │ └── /ext/bruker/timsdata-2-7-0.lib
│ └── /ext/thermo [126 entries exceeds filelimit, not opening dir]
└── /MSFragger.jar
This still complains about it not being able to find the Bruker library, but this just might be an issue of the docker container itself, because it does work fine on my local machine.
Using version3.0 and a smaller set of amino acids for variable mods, I don't get the NegativeArraySizeException
error.
# maximum of 16 mods - amino acid codes, * for any amino acid,
# [ and ] specifies protein termini, n and c specifies
# peptide termini
variable_mod_01 = 15.99490 M 3
variable_mod_02 = 42.01060 K[^ 1
variable_mod_03 = 79.96633 STY 3
variable_mod_04 = 42.04695 KR 3
variable_mod_05 = 28.03130 KR 3
variable_mod_06 = 14.01565 KR 3
In total 2908711 peptides.
Generated 396262375 modified peptides.
Number of peptides with more than 5000 modification patterns: 250
*******************************TOTAL TIME 12.678 MIN********************************
Best,
Justin
I guess we can close this now. If there is anything else you want to add or want me to check, then just let me know.
Thank you for the help Fengchao!
Hi,
I am getting an error when running MSFragger on a cluster (65Gb of ram and 4 threads), and I'm not entirely sure what the issue is.
Shell Command
Error Message
log file
fragger_closed.params
Is there an issue with my parameter file, or could it be an issue with resources (not enough threads)?
Best,
Justin