glasgowcompbio / vimms

A programmable and modular LC/MS simulator in Python
MIT License
19 stars 6 forks source link

Automate MS-DIAL #191

Closed joewandy closed 3 years ago

joewandy commented 4 years ago

We can run MS-DIAL from the command line (refer to http://prime.psc.riken.jp/compms/msdial/consoleapp.html). Is it possible to script it for our experiments?

To test the console app:

  1. Download MS-DIAL and extract. The MsdialConsoleApp.exe program can be found in the same location as the GUI app.
  2. Download the sample data file: http://prime.psc.riken.jp/compms/msdial/download/demo/MsdialConsoleApp%20demo%20files.zip (link also available from the web page above), and extract.
  3. Copy all the extracted files to the same location as where MS-DIAL is (simplest way, or you need to adjust path etc).
  4. Run the batch file MsdialConsoleApp.bat. This will run 3 example analysis: GC/MS, LC-MS/MS DDA, and LC-MS/MS DIA. Can ignore the GC/MS one.
    • Edit Msdial-lcms-dia-Param.txt to adjust the path to the input DIA file in the LC-MS/MS DIA folder.
  5. The sample DDA analysis runs fine. However the DIA can't run ...
    MsdialConsoleApp.exe lcmsdia -i .\LCMS_DIA\ -o .\LCMS_DIA\ -m .\LCMS_DIA\Msdial-lcms-dia-Param.txt
    Loading library files..
    Start processing..
    Could not load file or assembly 'MsdialCommon, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)

    Seems like some library loading / path problem? To check later..

sdrogers commented 4 years ago

Looks like that might be hard to fix. Think kei might have found something similar and an older version of MSDIAL worked ok (I think the latest version just adds some ion mobility stuff that we’re not interested in)

sdrogers commented 4 years ago

We just need to make sure we’re using the version described in the CorrDecon paper

joewandy commented 4 years ago

'Data were processed by MSDIAL version 4.12'

http://prime.psc.riken.jp/compms/msdial/download/repository/MSDIAL%20ver%204.12.zip

Will test later

sdrogers commented 4 years ago

Screenshot 2020-10-08 at 14 19 31

Looks like you can drop back into v3.22 if necessary

joewandy commented 4 years ago

v4.12 works on both the GUI and command line.

However it seems that from the terminal, the DIA mode only accepts input file in ABF format ..

image

(the DDA mode works with mzML files)

So we need to install ABF converter: https://www.reifycs.com/AbfConverter to get the DIA mzML files to this format. As a pre-requisite, this needs MSFile from thermo (install MSFileReader version 3.0 SP2 or higher except ver. 3.1 SP4).

sdrogers commented 4 years ago

I don't think converting from .raw is going to work. Remember that the RAW files had the apodization issue (peak smudging).

sdrogers commented 4 years ago

but looks like maybe that converter will convert from .mzML

joewandy commented 4 years ago

Ignore the ABF stuff above. Version 4.12 works with mzML file from both the GUI and terminal (was mistakenly using an .mzXML file to test).

joewandy commented 4 years ago

See:

For now, we ended up using two different versions of MSDIAL:

joewandy commented 3 years ago

Have created a script msdial_wrapper.py that can be used to launch MS-DIAL, either on a single mzML or a set of mzML files. However for multiple mzML, it seems tricky to enable CorrDec.