One of the major issue for metabolomics data analysis is that user have to use Window to convert vendor data into open source format like mzML or mzXML. Though msConvert could be run under Linux or Mac, it will not support vendor format. It’s really annoying to set up virtual machine for data format issue. Another software supporting vendor format is Abf Converter, which also only support Windows and their output is for MS-DIAL.
Recently I noticed that a docker image is created to covert vendor data by ProteoWizard. It only has 3.9GB, which is much easier to use under Linux. Just pull it from DockerHub:
docker pull chambm/pwiz-skyline-i-agree-to-the-vendor-licenses
The usage is quite clear You could use the following code to convert all the files in a folder:
docker run -it --rm -e WINEDEBUG=-all -v /your/data/path/:/data chambm/pwiz-skyline-i-agree-to-the-vendor-licenses wine msconvert /data/*.RAW
There is small problem for Agilent files: .d
format is actually a folder. If you use previous code, you will get Then a for
trick could solve this issue:
for f in $(basename /your/path/*.*)
do
docker run -it --rm -e WINEDEBUG=-all -v /your/path:/data chambm/pwiz-skyline-i-agree-to-the-vendor-licenses wine msconvert /data/$f
done
Then you will see the converted mzML in the same directory of your raw data folder.
There are three vendor formats not supporting by this image: ABI T2D, Bruker FID/YEP and Waters UNIFI.
Updates on 2023-04-23
- Errors for Thermos Fisher Raw files
Try ThermoRawFileParser and they also shared a docker image:
docker run -i -t -v /home/user/raw:/data_input quay.io/biocontainers/thermorawfileparser:<tag> ThermoRawFileParser.sh --help
The
- Singularity
For msconvert, you need to build the singularity image through Dockerhub:
singularity pull docker://chambm/pwiz-skyline-i-agree-to-the-vendor-licenses
Then use the following code to convert the file:
singularity exec --cleanenv -B ~:/mywineprefix --writable-tmpfs pwiz-skyline-i-agree-to-the-vendor-licenses_latest.sif mywine msconvert --32 --zlib --filter "peakPicking true 1-" --filter "zeroSamples removeExtra" 'test.RAW'
Or you might choose ThermoRawFileParser:
singularity pull docker://globusgenomics/thermorawfileparser
Then use the following code to convert files in certain folder:
singularity exec --cleanenv thermorawfileparser_latest.sif ThermoRawFileParser.sh -d PATH_OF_RAW_FILES