由于缺少某些dll文件,Linux native版本的msconvert 无法进行质谱raw data的格式转换
这时候,可以尝试曲线救国的方式,在Linux环境,使用wine 运行windows版本的msconvert。
ProteoWizard官方也提供了基于这种方式docker镜像,可以直接pull 使用。
# 下载docker镜像
docker pull chambm/pwiz-skyline-i-agree-to-the-vendor-licenses
Examples:
##直接运行
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-"
## 交互式运行,通过bash进入
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转换thermo raw data时,经常遇到如下的错误:
[SpectrumWorkerThreads::work] error in thread: [SpectrumList_Thermo::spectrum()] Unknown exception retrieving spectrum "controllerType=0 controllerNumber=1 scan=18979"
这个错误并不具有可重复性,关掉之后,重新运行,可以正常转换格式。
这个错误持续的出现,比较讨厌,官方似乎也没有比较好的解决办法,具体见:
https://sourceforge.net/p/proteowizard/mailman/message/33079689/
https://github.com/ProteoWizard/pwiz/issues/635
这种错误似乎是由于empty scan导致的,但在windows上并不会遇到这样的错误。如果不是流程需要,暂时还是用windows版本吧。