获取、去同位素和电荷反褶积质谱

ms-deisotope的Python项目详细描述


https://raw.githubusercontent.com/mobiusklein/ms_deisotope/master/docs/_static/logo.png

质谱的去离子和电荷态反褶积库

这个库结合了brainpy和ms_peak_picker,为 ms和ms/ms数据。这些库的目标是提供拼图的一部分 用于模块化评估ms数据。这个库的目标是组合模块 简化原始数据的处理。

安装

从源代码构建需要cython>;=0.27.0的版本

API

数据访问

ms_deisotope可以使用pyteomics库直接从mzml、mzxml和mgf文件中读取。 在windows上,它还可以使用comtypes访问thermo的msfilereader.dll来读取原始文件和 用于读取.d目录的Agilent的MassSpecDataReader.dll。只要有可能,图书馆就提供 所有支持格式的通用接口。使用Thermo的纯.net库,它可以使用pythonnet 在windows和linux上读取thermo raw文件(可能还有mac)。

fromms_deisotopeimportMSFileReaderfromms_deisotope.data_sourceimportmzxml# open a file, selecting the appropriate reader automaticallyreader=MSFileReader("path/to/data.mzML")# or specify the reader type directlyreader=mzxml.MzXMLLoader("path/to/data.mzXML")

所有受支持的读取器都提供对未压缩文件的快速随机访问,并支持迭代器 接口。

# jump the iterator to the MS1 scan nearest to 30 minutes into the runreader.start_from_scan(rt=30)# read out the next MS1 scans and all associated MSn scansscan_bunch=next(reader)print(scan_bunch.precursor,len(scan_bunch.products))

平均值

用“平均”模型来描述“平均氨基酸”的组成。 然后可以用来近似A的组成和同位素丰度。 特定氨基酸的组合。考虑到通常唯一可用的解决方案是 猜测特定m/z的组成,因为有太多可能 元素组成,这是唯一可处理的溶液。

此库支持任意平均值公式,但提供了senko平均值 默认情况下:{“c”:4.9384,“h”:7.7583,“n”:1.3577,“o”:1.4773,“s”:0.0417}

fromms_deisotopeimportAveraginefromms_deisotopeimportplotpeptide_averagine=Averagine({"C":4.9384,"H":7.7583,"N":1.3577,"O":1.4773,"S":0.0417})plot.draw_peaklist(peptide_averagine.isotopic_cluster(1266.321,charge=1))
ms_deisotope包括几个预定义的平均值(或更合适的“平均值):
  1. 森科肽-ms_deisotope.peptide
  2. 原生的n-和o-聚糖-ms-deisotope.glycan
  3. 透乙基聚糖-ms_deisotope。透乙基聚糖
  4. 糖肽-ms_deisotope.糖肽
  5. 硫酸化糖胺聚糖-硫酸乙酰肝素
  6. 未硫化的糖胺聚糖-ms_deisotope.heparin

反褶积

通用的基于平均值的反褶积过程可以用高级 api函数反褶积峰值,包括一系列峰值、一个平均值模型和一个同位素 拟合优度计分器:

importms_deisotopedeconvoluted_peaks,_=ms_deisotope.deconvolute_peaks(peaks,averagine=ms_deisotope.peptide,scorer=ms_deisotope.MSDeconVFitter(10.))

其结果是一个去sotoped和电荷态去卷积的峰值列表,其中每个峰值的中性质量都是已知的。 并且记录了拟合的电荷状态以及产生拟合的同位素峰。

有关同位素模式拟合的详细说明,请参阅文档。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Java中以反射方式使用泛型参数调用方法?   java分配给另一个变量的变量是否更改(原始变量更改)第二个变量是否更改?   java没有此类元素异常(警告:服务器未提供任何stacktrace信息)   java检查用户是否经过密码验证或与某个提供者进行了验证   java在向“价格”和“数量”列单元格添加数据时更新JTable中的“金额”列单元格   Android Studio找不到java编译器   java“在foo类的公共方法中,哪个变量(实例或本地)起作用?”   java动态Log4j2 LogfilePath   java使用OO编程避免多个嵌套if   java有没有办法在IntelliJ更改跟踪中突出显示未保存或更改的行   Java中两个矩阵相乘的数组   java打印包含阿拉伯字符的字符串会导致问号。如何修复?   java为什么声明整型静态会导致代码中出现错误?   java在使用@Bean Spring注释创建Bean时遇到异常   java是否将JavaCV添加为依赖项,以便在Raspberry PI上运行?   java如何使用trycatch测试注入的mock   java如何在不同的环境(开发、测试、生产)中维护相同的数据表?   java将Char转换为KeyEvent