Nesvilab / IonQuant

A label free quantification tool.
Other
15 stars 8 forks source link

Stand-alone IonQuant #10

Closed m-a-valach closed 4 years ago

m-a-valach commented 4 years ago

I would like to run IonQuant from command-line and without the use of FragPipe. From what I understand, it should be possible, but it requires the "ext" folder of MSFragger — I do have the latter, but how can I point IonQuant to the location of this folder? Thanks.

fcyu commented 4 years ago

You can put your ext folder to the folder where IonQuant.jar is in. Then, IonQuant will find it automatically.

m-a-valach commented 4 years ago

I tried and, unfortunately, that does not seem to be the case on my computer.

fcyu commented 4 years ago

Can you send the screenshot or log to me?

Thanks,

Fengchao

m-a-valach commented 4 years ago

[main] WARN umich.ms.fileio.filetypes.bruker.Timsdata - JNA could not load native Bruker library java.lang.UnsatisfiedLinkError: Unable to load library 'timsdata-2-4-4': dlopen(libtimsdata-2-4-4.dylib, 9): image not found dlopen(libtimsdata-2-4-4.dylib, 9): image not found Native library (darwin/libtimsdata-2-4-4.dylib) not found in resource path (IonQuant-1.3.0.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:170) at umich.ms.fileio.filetypes.bruker.Timsdata.getLoadedLibName(Timsdata.java:190) at ionquant.IonQuant.b(Unknown Source) at ionquant.IonQuant.main(Unknown Source) Suppressed: java.lang.UnsatisfiedLinkError: dlopen(libtimsdata-2-4-4.dylib, 9): image not found at com.sun.jna.Native.open(Native Method) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:191) ... 8 more Suppressed: java.lang.UnsatisfiedLinkError: dlopen(libtimsdata-2-4-4.dylib, 9): image not found at com.sun.jna.Native.open(Native Method) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:204) ... 8 more Suppressed: java.io.IOException: Native library (darwin/libtimsdata-2-4-4.dylib) not found in resource path (IonQuant-1.3.0.jar) at com.sun.jna.Native.extractFromResourcePath(Native.java:1095) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:276) ... 8 more

fcyu commented 4 years ago

The error message is weird, especially the libtimsdata-2-4-4.dylib. It should be libtimsdata-2-4-4.so if you are using Linux.

One possible reason causing the issue of loading the library is that your C++ std library version is too old. Can you check that?

Thanks,

Fengchao

m-a-valach commented 4 years ago

I was trying to launch it on MacOS. I just realized that that might have been a problem and launched it on Linux. There it seems to have worked. Thanks. BTW, it might be useful to specify in the manual/CLI options that the PSM file has to be called 'psm.tsv' and that both .mzML and .pepXML file paths are needed.

fcyu commented 4 years ago

You are welcome. And yeah, the PSM file is the psm.tsv from Philosopher. We will add more explanations to the documents and CLI options after we finalize some modules. Right now, I think IonQuant already has a robust command-line-error detection logic, which prints some warnings/errors right after starting the program for users to correct the command line.

Thanks,

Fengchao

jspaezp commented 2 years ago

@fcyu sorry for resurrecting this issue, but I feel like my question relates to this the best.

Is there any place where I can find an "example" psm.tsv or a specification of the file/fields used by ionquant? I am currently attempting to generate the file myself from a heavily modified workflow that is not exactly "philosopher-compatible"

Kindest wishes, Sebastian

fcyu commented 2 years ago

Hi Sebastian,

Other than psm.tsv, IonQuant also needs protein.tsv from Philosopher. You can run FragPipe with a small dataset to see what psm.tsv and protein.tsv look like.

Also, Philosopher tables are optional as show here (https://github.com/Nesvilab/IonQuant#command-line). Without --psm and --multidir flags, IonQuant extracts ions for each PSM and writes them to *_quant.csv files. There will be no MBR but if you only want to have quantification information, that file is good.

Best,

Fengchao

sarah-haynes commented 2 years ago

Hi Sebastian, we have some example LFQ results you can look at here.

Sarah

andzajan commented 1 year ago

Hi, is stand-alone IonQuant still an option or it only works through FragPipe now? Instructions to run command line version are gone from Usage and Tutorials sections.

fcyu commented 1 year ago

Hi @andzajan ,

Sorry for the confusion. You can still run IonQuant standalone in command line interface. When you run java -jar IonQuant.jar, you will see the printed doc. I also put the doc back to https://github.com/Nesvilab/IonQuant#usage

Best,

Fengchao