跳转到主要内容

质谱分析Python工具包

项目描述

质谱分析Python工具包

文档

Documentation Build Status Docs Check Status

测试

Linux Test Status Windows Test Status macOS Test Status Coverage

PyPI

PyPI - Package Version PyPI - Supported Python Versions PyPI - Supported Implementations PyPI - Wheel

Anaconda

Conda - Package Version Conda - Platform

活动

GitHub last commit GitHub commits since tagged version Maintenance PyPI - Downloads

质量保证

CodeFactor Grade Flake8 Status mypy status

其他

License GitHub top language Requirements Status

PyMassSpec是一个Python包,用于处理气相色谱-质谱数据。PyMassSpec提供了一个框架和一系列组件,用于快速开发和测试色谱-质谱数据处理方法。PyMassSpec可以通过Python外壳、Jupyter Notebook或脚本进行交互式使用,当需要在批量模式下进行数据处理时,可以将函数收集到脚本中。


从原始PyMS仓库https://github.com/ma-bio21/pyms派生。最初由Andrew Isaac、Sean O’Callaghan和Vladimir Likić创建。原始出版物可在此处找到:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-13-115

该项目似乎自2017年以来没有任何活动,因此可能已被放弃。


PyMassSpec项目

PyMassSpec的目录结构如下

/
├── pyms:      The PyMassSpec code
│
├── pyms-data: Example GC-MS data files
│
├── pyms-demo: Examples of how to use PyMassSpec
│
├── tests: pytest tests
│
└── doc-source: Sphinx source for documentation

功能

安装

可以使用以下命令安装PyMassSpec

$ pip --user install PyMassSpec

这还将安装以下依赖项

numpy >= 1.16.2
scipy >= 1.2.1
pymzml >= 2.2.1
matplotlib >= 3.0.2
openpyxl >= 2.6.2
netCDF4 >= 1.5.0
biopython >= 1.74
deprecation >= 2.0.6

如果已安装,PyMassSpec还可以使用‘mpi4py’。有关更多信息,请参阅https://mpi4py.readthedocs.io/en/stable/

用法

本用户指南的后续章节中提供了一个详细说明PyMassSpec各种功能的教程。交互式执行的命令根据示例分组,可以在此处找到。

PyMassSpec文档和示例中使用的数据可在此处找到。

在“演示和示例”部分,每个示例都对应一个页面,用章节编号编码(例如,“pyms-demo/20a/”对应第2章的示例20a)。

每个示例都有一个名为“proc.py”的脚本,其中包含示例中给出的命令。可以使用以下命令运行这些脚本

$ python3 proc.py

示例处理GC-MS数据

下载文件gc01_0812_066.jdx并将其保存在文件夹data中。此文件包含JCAMP-DX格式的GC-MS数据。

首先加载原始数据

>>> from pyms.GCMS.IO.JCAMP import JCAMP_reader
>>> jcamp_file = "data/gc01_0812_066.jdx"
>>> data = JCAMP_reader(jcamp_file)
-> Reading JCAMP file 'Data/gc01_0812_066.jdx'
>>> data
<pyms.GCMS.Class.GCMS_data at 0x7f3ec77da0b8>

然后通过数据分箱构建强度矩阵对象

>>> from pyms.IntensityMatrix import build_intensity_matrix_i
>>> im = build_intensity_matrix_i(data)

在这个例子中,我们展示了如何获取新创建的强度矩阵的维度,然后遍历所有离子色谱图,并对每个离子色谱图应用Savitzky-Golay噪声滤波和tohat基线校正

>>> n_scan, n_mz = im.size
>>> from pyms.Noise.SavitzkyGolay import savitzky_golay
>>> from pyms.TopHat import tophat
>>> for ii in range(n_mz):
...     print("working on IC", ii)
...     ic = im.get_ic_at_index(ii)
...     ic1 = savitzky_golay(ic)
...     ic_smooth = savitzky_golay(ic1)
...     ic_base = tophat(ic_smooth, struct="1.5m")
...     im.set_ic_at_index(ii, ic_base)

将结果噪声和基线校正的离子色谱图保存回强度矩阵。

更多示例可在文档中找到

贡献

欢迎贡献。在提交拉取请求之前,请确保覆盖率至少为Coverage。可以使用pytest运行测试。

有关更多信息,请参阅为PyMassSpec做出贡献部分

许可

PyMassSpec是免费和开源软件,在GNU通用公共许可证第2版下发布。

问题

如果您遇到任何问题,请附带详细描述提交问题

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页