代謝組學(xué)原始數(shù)據(jù)格式轉(zhuǎn)換-proteowizard
代謝組學(xué)原始數(shù)據(jù)格式轉(zhuǎn)換-proteowizard
代謝組的機器下機的質(zhì)譜數(shù)據(jù)通常是無法直接給下游的開源分析工具使用的(比如XCMS),因此如果需要自己使用開源工具分析數(shù)據(jù),那么首先需要將格式轉(zhuǎn)為開放格式(open format)。
常見的的格式有如下幾種:
mzML,推薦格式, 使用zlib壓縮,轉(zhuǎn)換后的文件會更小。且仍在更新 mzXML :older file formats. netCDF :older file formats.
proteowizard可以將多種商業(yè)格式轉(zhuǎn)換為開放格式:
proteowizard官網(wǎng):http://proteowizard.sourceforge.net/proteowizard的GitHub地址:https://github.com/ProteoWizard/pwiz
目前支持的proteowizard商業(yè)格式如下:

proteowizard支持被轉(zhuǎn)換的格式如下:
–mzML : write mzML format [default] –mzXML : write mzXML format –mz5 : write mz5 format –mgf : write Mascot generic format –text : write ProteoWizard internal text format
proteowizard的使用
proteowizard有Windows、mac和linux版本。
但是對于直接安裝的linux版本,沒有格式轉(zhuǎn)換的功能。需要轉(zhuǎn)換供應(yīng)商的(vendor)格式的話,可以使用其安裝了window版本(通過wine來執(zhí)行)的docker鏡像。

鏡像拉取
docker pull chambm/pwiz-skyline-i-agree-to-the-vendor-licenses
這個鏡像除了進行格式轉(zhuǎn)換的msconvert之外,還有skyline軟件。skyline是一個是由美國華盛頓大學(xué)MacCoss實驗室開發(fā)的windows版本的免費工具,主要用于質(zhì)譜的數(shù)據(jù)分析。這里我們只需要使用msconvert。如果有興趣可以自行到其官網(wǎng)進行了解。
Skyline:https://skyline.ms/project/home/software/Skyline/begin.view
軟件代碼:http://sourceforge.net/p/proteowizard/code/HEAD/tree/branches/,是C#寫的。
docker版本的msconvert的使用
查看msconvert 的幫助文檔:
docker run -it --rm chambm/pwiz-skyline-i-agree-to-the-vendor-licenses wine msconvert --help
docker的更詳細使用文檔在這里:https://docs.docker.com/engine/reference/commandline/docker/。這里我簡單解釋一下我們用到的命令和tag的含義:
docker run:根據(jù)鏡像新啟一個容器,并運行命令。如果本地不存在該鏡像,則會自動網(wǎng)上拉取。 -it: 指示Docker分配一個與容器的stdin連接的偽TTY,在容器中創(chuàng)建一個交互式bash shell??梢岳斫鉃槟氵M入容器內(nèi)部進行可交互的操作。這里包含了兩個tag: ? ?–interactive , -i :Keep STDIN open even if not attached ? ?–tty , -t:Allocate a pseudo-TTY –rm:當(dāng)容器退出后,便自動刪除容器。 chambm/pwiz-skyline-i-agree-to-the-vendor-licenses:docker鏡像的名稱 wine msconvert –help:通過wine來運行msconvert –help。
如果你的存儲系統(tǒng)有權(quán)限管理,需要在格式轉(zhuǎn)換之前,將需要轉(zhuǎn)換的目錄權(quán)限修改為777,否則proteowizard無法訪問和寫入數(shù)據(jù)。操作示例如下: docker的更詳細使用文檔在這里:https://docs.docker.com/engine/reference/commandline/docker/。這里我簡單解釋一下我們用到的命令和tag的含義:
docker run:根據(jù)鏡像新啟一個容器,并運行命令。如果本地不存在該鏡像,則會自動網(wǎng)上拉取。
-it: 指示Docker分配一個與容器的stdin連接的偽TTY,在容器中創(chuàng)建一個交互式bash shell。可以理解為你進入容器內(nèi)部進行可交互的操作。這里包含了兩個tag:
–interactive , -i :Keep STDIN open even if not attached
–tty , -t:Allocate a pseudo-TTY
–rm:當(dāng)容器退出后,便自動刪除容器。
chambm/pwiz-skyline-i-agree-to-the-vendor-licenses:docker鏡像的名稱
wine msconvert –help:通過wine來運行msconvert –help。
如果你的存儲系統(tǒng)有權(quán)限管理,需要在格式轉(zhuǎn)換之前,將需要轉(zhuǎn)換的目錄權(quán)限修改為777,否則proteowizard無法訪問和寫入數(shù)據(jù)。操作示例如下:
chmod 777 -R rawdata/
好了,可以開始用msconvert進行格式轉(zhuǎn)換:
dataDir=YOUR/WORK_DIR docker run -it --rm -e WINEDEBUG=-all -v ${dataDir}:/data chambm/pwiz-skyline-i-agree-to-the-vendor-licenses wine msconvert /data/ori_data/*.raw -o /data/msconvert_data
–env , -e: 設(shè)置環(huán)境變量,是docker run的tag
-o:指定輸出目錄,如果該目錄不存在,會自動創(chuàng)建。是msconvert的tag。
其他常用參數(shù):
docker run -it --rm -e WINEDEBUG=-all -v ${dataDir}:/data chambm/pwiz-skyline-i-agree-to-the-vendor-licenses wine msconvert /data/ori_data/*.raw -o /data/msconvert_data -zlib --filter "peakPicking true [1,2]"
-zlib:使用zlib壓縮
–filter “peakPicking true [1,2]”:對1,2級質(zhì)譜進行中心化過濾
更多參數(shù)詳見msconvert的help文檔:http://proteowizard.sourceforge.net/tools/msconvert.html
help文檔給的一些使用例子:
? ?Examples:
? ? ? ?msconvert
? ? ? ?(prints usage information, as seen below)
? ? ? ?msconvert --help
? ? ? ?(prints usage information, with more detail about filters)
? ? ? ?msconvert data.RAW
? ? ? ?(creates data.mzML in current directory)
? ? ? ?msconvert data.RAW --mzXML
? ? ? ?(creates data.mzXML in current directory)
? ? ? ?msconvert *.RAW -o my_output_dir
? ? ? ?(converts all files matching *.RAW to mzML, output files created in my_output_dir)
? ? ? ?msconvert data.RAW --zlib --filter "peakPicking true [2,3]"
? ? ? ?(use zlib compression for binary data arrays, and use vendor centroiding for msLevels in [2,3])
? ? ? ?msconvert data.RAW --filter "msLevel 2"
? ? ? ?(only write ms2 scans)
? ? ? ?msconvert data.RAW --filter "msLevel 2-"
? ? ? ?(only write ms2 and higher scans)
? ? ? ?msconvert data.RAW --filter "zeroSamples removeExtra"
? ? ? ?(omit zero-valued samples that are not next to non-zero samples)
? ? ? ?msconvert data.RAW --32 --zlib --filter "peakPicking true 1-" --filter "zeroSamples removeExtra"
? ? ? ?(various tricks to create a smaller file, much like the old ReAdW converter program)
?
轉(zhuǎn)自:
http://www.sci666.com/63208.html