由于缺少某些dll文件,Linux native版本的msconvert 無法進(jìn)行質(zhì)譜raw data的格式轉(zhuǎn)換
這時候,可以嘗試曲線救國的方式,在Linux環(huán)境,使用wine 運(yùn)行windows版本的msconvert。
ProteoWizard官方也提供了基于這種方式docker鏡像,可以直接pull 使用。
# 下載docker鏡像
docker pull chambm/pwiz-skyline-i-agree-to-the-vendor-licenses
Examples:
##直接運(yùn)行
docker run -it --rm -e WINEDEBUG=-all -v /home/xxx/rawfiles/:/data chambm/pwiz-skyline-i-agree-to-the-vendor-licenses wine msconvert /data/*.raw --filter "peakPicking true 1-"
## 交互式運(yùn)行,通過bash進(jìn)入
docker run -it --rm -e WINEDEBUG=-all -v /home/xxx/rawfiles/:/data chambm/pwiz-skyline-i-agree-to-the-vendor-licenses /bin/bash
目前能支持的vendor格式有:

image.png
If something goes wrong and there's no error, try rerunning without -e WINEDEBUG=-all.
Bugs
在使用docker版本msconvert轉(zhuǎn)換thermo raw data時,經(jīng)常遇到如下的錯誤:
[SpectrumWorkerThreads::work] error in thread: [SpectrumList_Thermo::spectrum()] Unknown exception retrieving spectrum "controllerType=0 controllerNumber=1 scan=18979"
這個錯誤并不具有可重復(fù)性,關(guān)掉之后,重新運(yùn)行,可以正常轉(zhuǎn)換格式。
這個錯誤持續(xù)的出現(xiàn),比較討厭,官方似乎也沒有比較好的解決辦法,具體見:
https://sourceforge.net/p/proteowizard/mailman/message/33079689/
https://github.com/ProteoWizard/pwiz/issues/635
這種錯誤似乎是由于empty scan導(dǎo)致的,但在windows上并不會遇到這樣的錯誤。如果不是流程需要,暫時還是用windows版本吧。