专栏首页生信技能树Bioconductor的质谱蛋白组学数据分析

Bioconductor的质谱蛋白组学数据分析

这篇跟之前的一篇博文Bioconductor的DNA甲基化芯片分析流程一样,主要简单的记录下如何基于bioconductor的R包对蛋白组质谱数据进行分析。在看到这篇biocondutor官网文档Mass spectrometry and proteomics data analysis之前,我一直以为质谱数据的分析过程就是用一些商业化软件或者开源软件将谱图转化为肽段/蛋白的表达谱,由于蛋白组应用未如NGS数据那般热门,所以就未去搜索过是否能用R包来对质谱数据进行一定程度的分析。还好biocondutor将蛋白组质谱数据分析相关的R包做了总结,如上述那篇文章,我也正好来学习下

安装

首先是这篇教程相关R包的安装,以常规的bioconductor包安装方式即可,PS.记得换源(如中科大),不然会比较慢,然后加载

library("mzR")
library("mzID")
library("MSnID")
library("MSnbase")
library("rpx")
library("MLInterfaces")
library("pRoloc")
library("pRolocdata")
library("MSGFplus")
library("rols")
library("hpar")

如果遇到报错:/bin/bash: nc-config: 未找到命令,则:

sudo apt-get install netcdf-bin

如果继续报错:rnetCDF.h:1:20: fatal error: netcdf.h: 没有那个文件或目录,则:

sudo apt-get install libnetcdf-dev
sudo apt-get install libudunits2-dev
sudo apt-get install udunits-bin

在Bioconudtor3.5版本下,已经有94个蛋白组相关R包,64个质谱相关R包以及17个质谱实验数据相关R包,虽然跟NGS相比还是比较少的,但是也蛮可观了。现在Biocondutor已经3.6版本了,可能也有新的R包收录了

蛋白组公共数据库

对于NGS以及芯片数据,我们一般首选会去GEO/SRA/TCGA等数据库下载公共数据库。而对于蛋白组数据,我们可以选择ProteomeXchange数据库,一些研究论文的原始数据会上传到这个PX上,可供下载研究。因此我们除了可以去其官网http://proteomexchange.org/下载公共数据,还可以通过rpx包进行下载,只需要知道PX号即可,如

px <- PXDataset("PXD000001")
pxfiles(px)
# [1] "F063721.dat"                                                         
# [2] "F063721.dat-mztab.txt"                                               
# [3] "PRIDE_Exp_Complete_Ac_22134.xml.gz"                                  
# [4] "PRIDE_Exp_mzData_Ac_22134.xml.gz"                                    
# [5] "PXD000001_mztab.txt"                                                 
# [6] "README.txt"                                                          
# [7] "TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01-20141210.mzML" 
# [8] "TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01-20141210.mzXML"
# [9] "TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.mzXML"         
# [10] "TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw"           
# [11] "erwinia_carotovora.fasta"                                            
# [12] "generated"

如果想看看最新ProteomeXchange发布的数据有哪些,可以用pxannounced()函数

处理MS数据

我们可以从ProteomeXchange选择下载mzXL格式的MS原始数据,用pxget函数

fn <- "TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01-20141210.mzML"
mzf <- pxget(px, fn)

然后用mzR包对raw MS data进行处理,PS.mzR包不仅能读入mzML格式,还可以处理mzXML,netCDF以及mzData等数据,常用的函数有:读入数据的openMSfile,提取数据矩阵的header以及提取峰图谱的peaks

ms <- openMSfile(mzf)
hd <- header(ms)
head(peaks(ms, 1000))
plot(peaks(ms, 1000), type = "h")

如果对于查库后的数据(也就是identification data),可以用mzID包来读取数据并处理,并且mzR包也可以

##加载临时数据(identification data)
f <- dir(system.file("extdata", package = "RforProteomics"),
     pattern = "mzid", full.names=TRUE)
basename(f)
## [1] "TMT_Erwinia.mzid.gz"
##mzID包
id <- mzID(f)
id
##mzR包
id1 <- openIDfile(f)
fid1 <- mzR::psms(id1)
head(fid1)

至于如何查库,一般会用一些专门用于查库的软件,如:PD,Maxquant等。但现在一些开源软件也整合在一些R包中了,如:X!Tandem的rTANDEM包,MSGF+的MSGFplus包。对于后者这教程还简单介绍了其用法,具体可去Mass spectrometry and proteomics data analysis中查看

对于查库后的分析,则可以使用MSnID包,主要用于查库后的过滤等操作,输入格式可以是data.frame或者mzIdenML文件,一般这步会整合在查库的软件(一些比较完善的软件)中,由于没用过蛋白查库软件,所以在这也不细说了,大致上就是一些过滤的指标。。。

其实biocondutor包中有一个MSnbase包,将上述从raw MS data到identification results做了个整合,类似于表达谱芯片分析的软件。 MSnbase包将输入文件转化成MSnExp类,然后经过一定的数据处理后,变成MSnSet类用于下游定量分析;跟芯片分析类似,也有pDatafData等函数,可以说就是芯片分析的'翻版',从而使整个流程标准化,文档以iTRAQ数据作为例子进行了演示说明:从查库到定量

一些非常规格式的蛋白组质谱数据怎么处理呢,如mzTab格式文件,那么可以使用readMSnSet2函数

对于质谱raw数据的处理,MSnbase包有一整套流程,如:cleansmoothpickPeaksremovePeaks以及trimMz,都是在MSnExp类基础上进行的。此外MALDIquant包和xcms包也有各自预处理方法

除了预处理外,根据定量数据的不同形式,也有属于各自的标准化方法,还有补空的算法,当然最后还需要将肽段数据整合为蛋白水平的数据,这里就因数据而异了

统计分析

当定量数据转化为蛋白水平后,我就可以根据蛋白的表达谱数据进行差异蛋白筛选等下游分析,这里biocondutor给出3个R包可供选择

  • MSstats: A set of tools for statistical relative protein significance analysis in DDA, SRM and DIA experiments. Data stored in data.frame or MSnSet objects can be used as input
  • msmsTests: Statistical tests for label-free LC-MS/MS data by spectral counts, to discover differentially expressed proteins between two biological conditions. Three tests are available: Poisson GLM regression, quasi-likelihood GLM regression, and the negative binomial of the edgeR package. All can be readily applied on MSnSet instances produced, for example by MSnID
  • isobar also provides dedicated infrastructure for the statistical analysis of isobaric data

个人对msmsTests包比较感兴趣(但现在很少用spectral counts(MS2)来定量分析了,主流是MS1数据),刚好可以跟我最近的一篇博文Differential expression in proteomics比较验证下;至于isobar包则是专门用来处理iTRAQ数据的;MSstats包也不错,能处理DDA和DIA数据,这很实用

后续

Biocondutor还在下游分析中的Machine learning、Annotation等方面给出了建议,个人觉得这些可以类似于RNA-Seq数据来处理蛋白组质谱数据,反正都是基于表达谱,只是RNA-seq是转录本/基因水平的,而蛋白组质谱是蛋白水平的

最后还给了一些其他相关分析方法所对应的包,有需求时可以看看

  • Analysis of post translational modification with isobar
  • Analysis of label-free data from a Synapt G2 (including ion mobility) with synapter
  • Analysis of spatial proteomics data with pRoloc
  • Analysis of MALDI data with the MALDIquant package
  • Access to the Proteomics Standard Initiative Common QUery InterfaCe with the PSICQUICpackage

以上所有内容及代码均来自Biocondutor官方的文档Mass spectrometry and proteomics data analysis,我只以自己的角度做了个记录,如要了解具体内容,推荐参看其文档原文,更加详细及全面!

本文分享自微信公众号 - 生信技能树(biotrainee)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 高通量测序如何寻找T-DNA插入的位置

    为了解基因组存在T-DNA插入时,即基因组构成为AC而样本基因组为ABC的情况得到的测序结果在序列比对的时候的可能情况,因此需要先要使用模拟数据进行探索。 第一...

    生信技能树
  • 文章测序数据下载碰到的问题的小总结(南京站学员分享)

    全国巡讲南京站过去还不到一周,学员们课后练习都很拼,微信群答疑对话一不留神就几百条了,爱学习的你是最美丽的!

    生信技能树
  • 基于全基因组的基因家族分析(1):数据准备

    Sol Genomics Net:茄科基因组网络,里面包括了很多物种的基因组测序结果:番茄,土豆,茄子等。而且基因组更新最快,搜索了一下发现NCBI番茄基因组和...

    生信技能树
  • 没资源?下一秒就可以加入的10个数据科学项目!

    大数据文摘
  • Python从零开始第五章生物信息学⑥GEO数据库实战分析(1)目录正文

    GEO数据库全称GENE EXPRESSION OMNIBUS,是由美国国立生物技术信息中心NCBI创建并维护的基因表达数据库。它创建于2000年,收录了世界各...

    用户1359560
  • 将一个数组中的奇元素全部移到数组的前半部分,即将奇偶元素分开

    将一个数组中的奇元素全部移到数组的前半部分,即将奇偶元素分开? 需要调整元素的顺序。先判断数组中的一个元素的奇偶性,如为奇数就往后移。 如何判断一个元素的奇偶性...

    猿人谷
  • 【数据分析 R语言实战】学习笔记 第三章 数据预处理 (下)

    R中缺失值以NA表示,判断数据是否存在缺失值的函数有两个,最基本的函数是is.na()它可以应用于向量、数据框等多种对象,返回逻辑值。

    统计学家
  • Oracle SQL语句分类

    职场亮哥
  • 快速排序算法

    爱撒谎的男孩
  • 【前端切图】用css画一个卡通形象-小猪佩奇

    王小婷

扫码关注云+社区

领取腾讯云代金券