R Proteomics: проблемы с входным файлом "ExpressionSet": Обработка информации: пакет msmsTest - PullRequest
0 голосов
/ 12 мая 2018

Обновлен вопрос:

Я хочу использовать пакет 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, мне кажется, это нормально, но я получаю ошибку всякий раз, когда использую команду "e <- pp.msms.data (myStackoverflowexample)" с пакетом msmsTest. </p>

Пожалуйста, помогите мне, я застрял несколько недель, и это, наверное, очень глупо, что я скучаю.

Вы можете получить примеры наборов данных (необработанные данные и феноданные) здесь: 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"’

Так что я застрял там и не могу идти дальше.

Я попытался определить свой набор данных как .data.frame () или as.matrix (), но я получаю то же сообщение об ошибке.

Я прочитал информацию о функции exprs () в biobase: «Эти общие функции получают доступ к выражениям и измерениям ошибок данных анализа, хранящихся в объекте, производном от класса eSet».

Но это мне мало помогает ... Я читал пост, связанный с похожими проблемами exprs () для геномных данных, но для меня это звучит как "бред". Очевидно, что-то не так со структурой класса eSet моего data.frame, но я не понимаю, что это значит и как ее решить.

Кто-нибудь знает, как решить эту проблему и как продолжить?

Заранее большое спасибо,

С уважением,

SKYR

1 Ответ

0 голосов
/ 13 мая 2018

Глядя на msmsTests виньетка и pp.msms.data функцию здесь , функция принимает в качестве аргумента только следующее:

msnset: A MSnSet со спектральными счетчиками в матрице выражений.

В разделе 2 виньетки (пример набора данных LC-MS / MS) приведен пример.Вам нужно будет превратить ваши данные в класс, который принимает pp.msms.data - это не простой фрейм данных или матрица.

Этот объект MSnSet содержит матрицу спектральных отсчетов (SpC) в слоте assayData и обработку фактора в слоте phenoData.(См. Также выражение «Установить виньетка по виньетке» («ExpressionSetIntroduction», пакет = «Биобаза») [10])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...