SPIA包(R)应用于Illumina表达微阵列数据

时间:2016-03-01 17:04:29

标签: r package

我一直在试验GSEA的替代注释表达(mRNA)数据。 SPIA(信令路径集成分析)看起来很有趣,但似乎只有一条错误消息:

Error in spia(de = sigGenes, all = allGenes, organism = "hsa", plots = TRUE,  :  
de must be a vector of log2 fold changes. The names of de should >be     
included in the reference array!

输入需要一个log2折叠变量的矢量(我的矢量名为sigGenes),Entrez ID作为关联名称,以及微阵列中包含的Entrez ID的整数矢量(allGenes):

head(sigGenes)
6144 115286  23530  10776  83933   6232 
0.368  0.301  0.106  0.234 -0.214  0.591 
head(allGenes)
6144 115286  23530  10776  83933   6232

我已经删除了其EntrezID注释为NA的值。 我还使用下面站点I列表中提供的示例将来自Illumina微阵列的数据仅限于Affymetrix阵列中发现的那些基因。我仍然得到同样的错误。

以下是R代码的全部内容:

library(Biobase)
library(limma)
library(SPIA)

sigGenes <- subset(full_table, P.Value<0.01)$logFC
names(sigGenes) <- subset(full_table, P.Value<0.01)$EntrezID
sigGenes<-sigGenes[!is.na(names(sigGenes))] # remove NAs

allGenes <- unique(full_table$EntrezID[!is.na(full_table$EntrezID)])

spiaOut <- spia(de=sigGenes, all=allGenes, organism="hsa", plots=TRUE, data.dir="./")

关于我还能尝试什么的任何想法? 如果偏离主题道歉(这里仍然是新的)。如果需要,很高兴在其他地方提出问题。

此处应用于Affymetrix平台数据的SPIA示例:http://www.gettinggeneticsdone.com/2012/03/pathway-analysis-for-high-throughput.html

2 个答案:

答案 0 :(得分:1)

删除重复项确实有帮助。 作为一种解决方法,我在每组重复项中选择了中值(仅因为值很接近),如下所示:

$a=1; $b=33; $c=1;

$condition = '$a==1||$b==2||$c==3';
eval('$isTrue = ' . $condition . ';');
echo intval($isTrue); // should output 1

或者只是删除重复项:

dups<-unique(names(sigGenes[which(duplicated(names(sigGenes)))])) # determine which are duplicates
dupID<-names(sigGenes) %in% dups # determine the laocation of all duplicates
sigGenes_dup<-vector(); j=0; # determine the median value for each duplicate
for (i in dups){j=j+1; sigGenes_dup[j]<- median(sigGenes[names(sigGenes)==i])  }
names(sigGenes_dup)<-dups
sigGenes<-sigGenes[!(names(sigGenes) %in% dups)] # remove duplicates from sigGenes
sigGenes<-c(sigGenes,sigGenes_dup) # append the median values of the duplicates

答案 1 :(得分:0)

根据我们的讨论,我建议删除sigGenes中的重复条目。如果没有其他信息,很难说重复项可能来自何处,以及删除哪一项。