更新的问题:
我想使用msmsTest包来统计我的蛋白质组学数据(这是光谱计数类型)。
但是,当使用以下命令导入文件时,我看到一条消息错误:
e <- pp.msms.data(myStackoverflowexample)
Error in MSnbase:::logging(msnset, "Applied pp.msms.data preprocessing") :
no slot of name "processingData" for this object of class "ExpressionSet".我认为我的问题来自上一步,当我试图以适当的格式生成文件时,它应该是一个ExpressionSet文件。为此,我尝试一步一步地遵循ExpressionSetIntroduction手册,这对我来说似乎是可以的,但每当我在msmsTest包中使用命令"e <- pp.msms.data(myStackoverflowexample)“时,都会收到错误消息。
请帮帮我,我被卡住了几个星期,这可能是一个非常愚蠢的东西,我错过了。
您可以在以下位置获取示例数据集(原始数据和phenodata):https://www.dropbox.com/s/o9ts4k5qrnyem6d/rawdata.txt?dl=0 https://www.dropbox.com/s/3oy6n6y5hfq30ee/pdata.txt?dl=0
下面是允许我从头开始构建ExpressionSet文件的代码:
library(limma)
library(MSnbase)
library(msmsEDA)
library(msmsTests)
library(edgeR)
# creation of the file "assay data" in the correct format :
dataDirectory<- setwd(".../msmsTest-essai - stkvflw")
exprsFile <- file.path(dataDirectory, "rawdata.txt")
exprs <- as.matrix(read.table(exprsFile, header=TRUE, sep="\t",row.names=1))
# creation of the phenotypic data file:
pDataFile <- file.path(dataDirectory, "pdata.txt")
pData <- read.table(pDataFile,row.names=1, header=TRUE, sep="\t")
head(pData)
all(rownames(pData)==colnames(exprs)) # verification that rows and names of both files match
metadata <- data.frame(labelDescription= c("molecule treatment",
"number of years",
"tissues from Velpeau Hospital patients",
"in cm",
"in kg"),
row.names=c("treat", "age", "tissue", "height", "weight"))
phenoData <- new("AnnotatedDataFrame", data=pData, varMetadata=metadata)
experimentData <- new("MIAME",
name="Mickael Jordan",
lab="Chicago Bulls",
contact="mjordan@lab.not.exist",
title="Basket-ball Research Institute",
abstract="An example ExpressionSet",
url="www.lab.not.exist",
other=list(
notes="Created from text files"
))
myStackoverflowexample <- ExpressionSet(assayData=exprs,
phenoData=phenoData,
experimentData=experimentData,
annotation="blablabla")
myStackoverflowexample
ExpressionSet (storageMode: lockedEnvironment)
assayData: 8 features, 208 samples
element names: exprs
protocolData: none
phenoData
sampleNames: A1 A2 ... C64 (208 total)
varLabels: treat age ... weight (5 total)
varMetadata: labelDescription
featureData: none
experimentData: use 'experimentData(object)'
Annotation: blablabla
summary(myStackoverflowexample)
Length Class Mode
1 ExpressionSet S4因此,在这段代码之后,我不得不使用msmsTest包:
e <- pp.msms.data(myStackoverflowexample)
Error in MSnbase:::logging(msnset, "Applied pp.msms.data preprocessing") :
no slot of name "processingData" for this object of class "ExpressionSet"如果我们看一下这个手册示例,我们会看到一行“正在处理信息”,在键入myStackoverflowexample时没有出现
data(msms.dataset) # example given in the manual
msms.dataset
MSnSet (storageMode: lockedEnvironment)
assayData: 697 features, 14 samples
element names: exprs
protocolData: none
phenoData
sampleNames: U2.2502.1 U2.2502.2 ... U6.0302.3 (14 total)
varLabels: treat batch
varMetadata: labelDescription
featureData: none
experimentData: use 'experimentData(object)'
pubMedIds: http://www.ncbi.nlm.nih.gov/pubmed/22588121
Annotation:
- - - **Processing information** - - -
MSnbase version: 1.8.0 有没有关于这个问题的线索,并最终能够通过统计分析来处理我的文件?
非常感谢您的帮助。
初始问题(以及之前的问题):
我想试试msmsTest包。
但是,当我用我的示例数据集尝试手册中的代码时,我得到了以下错误消息:
b<-read.delim("example.data.set.txt")
head(b)
name condition tissue LogFC
1 kjhss1 control brain 7.129283
2 sdth2 control brain 7.179909
3 sgdhstjh20 control brain 9.353147
4 jdygfjgdkydg21 control brain 6.459432
5 shfjdfyjydg22 control brain 9.372865
6 jdyjkdg23 control brain 9.541097
str(b)
'data.frame': 4461 obs. of 4 variables:
$ name : Factor w/ 1131 levels "dghwg1041","dghwg1086",..: 480 761 787 360 863 385 133 888 563 738 ...
$ condition: Factor w/ 5 levels "control","treatmentA",..: 1 1 1 1 1 1 1 1 1 1 ...
$ tissue : Factor w/ 2 levels "brain","heart": 1 1 1 1 1 1 1 1 1 1 ...
$ LogFC : num 7.13 7.18 9.35 6.46 9.37 ...
e <- pp.msms.data(b)
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘exprs’ for signature ‘"data.frame"’所以我被困在那里了,我不能再往前走了。
我试图定义我的dataset as.data.frame()或as.matrix(),但我得到了相同的错误消息。
我读过关于biobase中的exprs()函数的信息:“这些泛型函数访问存储在从eSet类派生的对象中的分析数据的表达式和误差度量。”
但这对我帮助不大。我读过一些关于基因组数据的类似exprs()问题的帖子,但对我来说,这听起来像是“胡言乱语”。显然,可能是我的data.frame的eSet类结构有问题,但我不明白这意味着什么,也不知道如何解决它。
有没有人知道如何解决这个问题以及如何继续?
在此之前我要感谢你,
致以亲切的问候,
SkyR
发布于 2018-05-13 05:05:37
查看msmsTests vignette和pp.msms.data函数here,该函数仅接受以下内容作为其参数:
msnset:在表达式矩阵中具有谱计数的
MSnSet。
vignette的第2节( LC-MS/MS数据集示例)向您展示了一个示例。您必须将您的数据放入pp.msms.data可接受的类中-这既不是简单的数据帧,也不是矩阵。
此MSnSet对象在assayData插槽中包含光谱计数(SpC)矩阵,在phenoData插槽中包含因子处理。(另请参阅vignette的expressionSet vignette(“ExpressionSetIntroduction”,package=“Biobase”) 10)
https://stackoverflow.com/questions/50310210
复制相似问题