代谢组的机器下机的质谱数据通常是无法直接给下游的开源分析工具使用的(比如XCMS),因此如果需要自己使用开源工具分析数据,那么首先需要将格式转为开放格式(open format)。
常见的的格式有如下几种:
mzML,推荐格式, 使用zlib压缩,转换后的文件会更小。且仍在更新
mzXML :older file formats.
netCDF :older file formats.
proteowizard可以将多种商业格式转换为开放格式:
proteowizard官网:http://proteowizard.sourceforge.net/
proteowizard的GitHub地址:https://github.com/ProteoWizard/pwiz
目前支持的proteowizard商业格式如下:
图片.png
proteowizard支持被转换的格式如下:
–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版本,没有格式转换的功能。需要转换供应商的(vendor)格式的话,可以使用其安装了window版本(通过wine来执行)的docker镜像。
镜像拉取
docker pull chambm/pwiz-skyline-i-agree-to-the-vendor-licenses
这个镜像除了进行格式转换的msconvert之外,还有skyline软件。skyline是一个是由美国华盛顿大学MacCoss实验室开发的windows版本的免费工具,主要用于质谱的数据分析。这里我们只需要使用msconvert。如果有兴趣可以自行到其官网进行了解。
- 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:根据镜像新启一个容器,并运行命令。如果本地不存在该镜像,则会自动网上拉取。
-it: 指示Docker分配一个与容器的stdin连接的伪TTY,在容器中创建一个交互式bash shell。可以理解为你进入容器内部进行可交互的操作。这里包含了两个tag:
–interactive , -i :Keep STDIN open even if not attached
–tty , -t:Allocate a pseudo-TTY
–rm:当容器退出后,便自动删除容器。
chambm/pwiz-skyline-i-agree-to-the-vendor-licenses:docker镜像的名称
wine msconvert –help:通过wine来运行msconvert –help。
如果你的存储系统有权限管理,需要在格式转换之前,将需要转换的目录权限修改为777,否则proteowizard无法访问和写入数据。操作示例如下:
docker的更详细使用文档在这里:https://docs.docker.com/engine/reference/commandline/docker/。这里我简单解释一下我们用到的命令和tag的含义:
-
docker run:根据镜像新启一个容器,并运行命令。如果本地不存在该镜像,则会自动网上拉取。
-
-it: 指示Docker分配一个与容器的stdin连接的伪TTY,在容器中创建一个交互式bash shell。可以理解为你进入容器内部进行可交互的操作。这里包含了两个tag:
-
–interactive , -i :Keep STDIN open even if not attached
-
–tty , -t:Allocate a pseudo-TTY
-
-
–rm:当容器退出后,便自动删除容器。
-
chambm/pwiz-skyline-i-agree-to-the-vendor-licenses:docker镜像的名称
-
wine msconvert –help:通过wine来运行msconvert –help。
如果你的存储系统有权限管理,需要在格式转换之前,将需要转换的目录权限修改为777,否则proteowizard无法访问和写入数据。操作示例如下:
chmod 777 -R rawdata/
好了,可以开始用msconvert进行格式转换:
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: 设置环境变量,是docker run的tag
-
-o:指定输出目录,如果该目录不存在,会自动创建。是msconvert的tag。
其他常用参数:
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级质谱进行中心化过滤
更多参数详见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)
网友评论