大家好,本周分享的是发表在MCP(MOLECULAR&CRLLULAR PROTEOMICS)上的一篇关于质谱数据处理和识别的文章,题目是psims - A Declarative Writer for mzML and mzIdentML for Python,通讯作者是波士顿大学的Joseph Zaia。

质谱中数据处理和识别方法的激增导致需要描述其结果的工具的复杂性不断增加。 在过去的十五年中,两种质谱数据mzML 和mzIdentML ,已成为计算方法开发的核心。 目前有基于C/C++的程序例如ProteoWizard 和OpenMS,和基于Java的程序ms-data-core-api / jmzML和MSFTBX ,以及其他静态类型的编译语言能够对这两种数据进行处理。在高级语言中,这些格式的读取通常直接在通用XML解析库之上实现,或者与底层语言进行绑定。在实现读取时,通常编写器被实现为对某些读入数据进行模板化,或者根本不实现。这些库不能用于“从本机数据”生成文件,这意味着用户无法轻松编写工具来生成这些文件格式,因为要生成的数据不会立即与输入模板连接。在与底层语言进行绑定,可以表达的构造范围存在限制,例如无法描述不属于底层库的绑定或该类型系统的新的结构。这可能是由于违反单一责任原则,或仅涵盖使用者认为有用的规范部分。据我们所知,上面列出的C ++库以及几个已发布和未发布的Java或C#实现中都可以找到唯一的无模板编写器。要使用像Python或R这样的脚本语言从本机数据编写mzML和mzIdentML文件,必须分别通过pyOpenMS 和ProteoWizard通过mzR 绑定OpenMS。这为质谱数据处理工具的创建和部署增加了不必要的复杂性。波士顿大学的Joseph Zaia课题组使用Python为mzML 1.1和mzIdentML 1.2写了一个声明性编程Psims,使用范围比以前可用的语言更广泛。Psims的编写利用了lxml,一个强大的XML处理库用于实现增量文档的编写,NumPy 用于处理二进制数据数组, SQLAlchemy 用于在语义术语图不适用的某些情况下的关系模式表示。作者使用Pyteomics 演示了一些示例,在测试组件中为mzML和mzIdentML提供了读入。源代码及其文档可在以下免费获得https://github.com/mobiusklein/psims。该库与跨平台的Python 2和Python 3兼容。

该课题组使用公共数据PXD003498进行测试,从PRIDE下载raw文件和mgf文件,将raw文件转换成mzXL格式的文件,使用Proteowizard提取峰值信息,使用MS-Deconv处理mzXML文件,输出包含MS1信息,使用转换脚本msdeconv.py转换MS-Deconv的输出为mzML格式,使用Identify搜索mgf文件,数据库为从UniProt Release下载的人类蛋白质组数据,搜索参数设置为胰蛋白酶,2个漏切位点, 10ppm前体质量误差,0.1 Da生产质量精度,输出结果被写成pickle格式的文件,使用identipy mzid.py脚本转换将其转换为mzIdentML格式。为了证明通用性,作者构建了两个脚本用于从mzML和mzIdentML读入数据和输出相同的文档。通过对来自每个源文件及其重复对的解析数据进行递归比较来发现差异,并对这些差异进行了语义评估。

该库的运行过程主要包括三部分:解析词汇,为了能够自动推导受控词汇表术语,首先从文档初始化期间用户指定的URI加载每个CV,或者在打包期间包含库中源代码的静态文件(如果网络请求失败)。该库包括一个可配置的缓存机制,用于在首次从提供的或已安装的包中检索词汇源文件后,选择将词汇源文件存储在文件系统上。除了Unimod之外,用OBO格式解析每个CV,构造一个内存中的术语图,过编号为每个术语编制索引。解析单元:解决了第一个问题后,如果术语定义指定该术语具有单元,则该单元也将被解析。 如果在受控词汇表中仅指定了一个单元,并且用户提供的描述该术语的数据未提供任何单元信息,则将自动使用该术语的定义单位。 如果允许多个单元,如时间或信号强度等数量的情况,则会产生警告并且第一个单元选项将被使用。定义组件:每个组件构造一个包含元素以包含其内容,但可以自动创建多个内部元素或组件,绑定到同一文档的上下文中。 元素和组件类型都使用了上下文管理器,因此它们可以任意嵌套和混合。

作者将MS-Deconv 的结果从制表符分隔的文本格式转换为mzML,尽可能多地保留源文件元数据,同时保留deisotoped和charge deconvoluted峰值质量和强度。 保留了MS-Deconv重新计算的前体单同位素m / z和电荷,可以校正仪器报告的前体单同位素峰值误差。 生成的mzML文件保留了MS-Deconv的产生的原始mzXML文件中读取的元数据,可以使用任何可以读取mzML的工具查看,例如SeeMS 。 此外,在转换过程中,作者提供了一组计算以查找特定的特征离子,并在每个MS2扫描上提供了一个<userParam />标记,其中包含所需的m / z值。

Psims是一个用于编写HUPO-PSI标准下的mzML和mzIdentML的库,以及用于与Python中相关的受控词表进行交互的库。作者在本文中简要地展示了它用于从外部工具生成的表格数据中编写mzML文件的功效。随着越来越多的肽和蛋白质鉴定工具(包括IdentiPy和Ursgal直接用Python编写)被开发出来,直接将其结果写入mzIdentML可能是很有利的。 psims不使用类似DOM的体系结构,但它完全支持已发布的XML模式,并可以使用它们来验证自己生成的XML。由于流的性质,库不会在运行时严格执行XSD验证,因此用户必须明确请求调用它。作者还希望提供一个灵活的系统,使用户能够编写满足其需求的文档,这些文档可能还未被目前发布的标准所涵盖。

文章解读:

文献分享二组-马臻

文章引用:

doi:10.1074/mcp.RP118.001070

文章链接:

https://www.mcponline.org/content/18/3/571

转载于:https://www.cnblogs.com/ilifeiscience/p/10751540.html

Mol Cell Proteomics. |马臻| psims-一个用于编写HUPO-PSI标准下的mzML和mzIdentML的python库...相关推荐

  1. mpmath.psi python_Mol Cell Proteomics. |马臻| psims-一个用于编写HUPO-PSI标准下的mzML和mzIdentML的python库...

    大家好,本周分享的是发表在MCP(MOLECULAR&CRLLULAR PROTEOMICS)上的一篇关于质谱数据处理和识别的文章,题目是psims - A Declarative Write ...

  2. Mol Cell Proteomics. |胡丹丹| 雷公藤红素通过SIRT1-FXR 信号通路保护胆汁淤积性肝损伤...

    期刊:Mol Cell Proteomics 题目:Celastrol protects from cholestatic liver injury though modulation of SIRT ...

  3. 一图看懂 toml 模块:用于解析和创建TOML(Tom‘s Obvious, Minimal Language)的Python库, 资料整理+笔记(大全)

    本文由 大侠(AhcaoZhu)原创,转载请声明. 链接: https://blog.csdn.net/Ahcao2008 @[TOC](一图看懂 toml 模块:用于解析和创建TOML(Tom's ...

  4. python 三维地球库_用于GIS(地理信息系统)和三维可视化制图的Python库

    前言 Python库是GIS中的终极扩展,因为它允许您增强其核心功能. 通过使用Python库,您可以摆脱GIS的束缚,而深入研究一些严肃的数据科学. Python中有200多个标准库.但是也有成千上 ...

  5. Mol Cell Proteomics. |彭建祥| 人胃肠道间质瘤亚群蛋白质组图谱

    大家好,本周分享的是发表在Molecular & Cellular Proteomics 上的一篇关于人胃肠道间质瘤亚群蛋白质组图谱的文章,题目是Proteomic maps of human ...

  6. Mol Cell Proteomics. |王欣然| 基于微粒的蛋白聚合物捕获技术让能满足多种不同需求的蛋白质组学样品制备方法成为可能...

    大家好,本周分享的是发表在Molecular & Cellular Proteomics. 上的一篇关于蛋白质组学样本质谱分析前处理方法改进的文章,题目是Protein aggregation ...

  7. Mol Cell Proteomics. |陈洁| 整合鸟枪法蛋白质组学中鉴定和定量的错误率

    大家好,本周分享的是发表在MCP上的一篇关于鸟枪蛋白质组学中的错误率的文章,题目是Integrated identification and quantification error probabil ...

  8. 30个顶级Python库 | 用于深度学习、自然语言处理和计算机视觉

    CDA数据分析师 出品 作者:Matthew Mayo 编译:Mika 今天我们来盘点一下有哪些用于深度学习.自然语言处理和计算机视觉的顶级Python库. 我们尽力将每个库按预期的使用情况进行归类, ...

  9. 30个顶级Python库:用于深度学习、自然语言处理和计算机视觉

    今天我们来盘点一下有哪些用于深度学习.自然语言处理和计算机视觉的顶级Python库. 我们尽力将每个库按预期的使用情况进行归类,希望这能对大家有所帮助. 显然,现在并不是所有的自然语言处理和计算机视觉 ...

最新文章

  1. 机器学习(5)降维 -- 特征选择(低方差过滤与相关系数)与主成分分析(PCA降维)
  2. [算法] [常微分方程] [欧拉法 改进欧拉法 经典R-K算法]
  3. AutoML综述更新 【AutoML:Survey of the State-of-the-Art】
  4. AI战略投资全景图:11个行业200多家巨头最爱什么样的AI创业公司?
  5. 了解Windows内核内存池
  6. ajax同步和异步的差异
  7. 一款 APK 是怎么诞生的?
  8. linux集群系列(4) --- LVS之负载均衡集群 --- 持久连接
  9. python中使用C类型的数组
  10. PHP错误日志记录:display_errors与log_errors的区别
  11. Effects on PV3D
  12. 查看Cglib生成的Class(字节码)文件
  13. 嵌入式接口之GPIO驱动LED的实验(附完整代码和工程以及详细的调试过程)
  14. 下载百度文库的受限文件-冰点下载器
  15. RTKlib软件学习(观测文件与星历文件读取)
  16. html5 360全景 陀螺仪,HTML网页设置(开启重力感应/陀螺仪)
  17. CSS3 3D转换和旋转木马案例
  18. Java GUI项目,一个练手的泡泡龙小游戏
  19. jstack命令 详解
  20. Android 版本 相关参数修改(SpreadTrum)

热门文章

  1. linux 页缓存 块缓存,页缓存和块缓存
  2. Spring的事务是如何回滚的?
  3. Qt图表绘制(QtCharts)-绘制简单的圆环图(7)
  4. 〖Python 数据库开发实战 - Python与Redis交互篇⑪〗- 综合案例 - 新闻管理系统 - 缓存新闻数据至redis
  5. 一下搞懂HTTP协议
  6. Forexclub:中东这两个国家是如何开发新能源并使其经济多样化
  7. 使用WebSocket实现聊天室
  8. new操作符的实现原理
  9. 使用更便捷的时间序列预测模型 2022-6-2
  10. Roadstar.ai陷罗生门!内斗升级,周光与另两位创始人各执一词...