基因排名微阵列

时间:2013-02-14 05:41:00

标签: r bioinformatics bioconductor

我想知道是否有人熟悉Bioconductor RankProduct包,用于排名和获得差异表达的基因。有关该软件的一些信息如下papermanualdocumentation

我在使用该程序时遇到了一些问题,可能是因为我对R语言知之甚少。我尝试使用自己的数据复制上面pdf文件中的步骤。虽然我自己的数据集不在示例中的.cel文件中,但仅作为制表符分隔文件中的行和列。我有两个条件(1和2,每个重复= 4)

这是我的代码:

library(RankProd)
library(preprocessCore)

#Read expression data
#gdata <- read.table(file="data2.txt", sep="\t", header=T) #9000 rows of genes X 8 columns of chips
gdata <- read.table(file="data2.txt", sep="\t", header=T, row.names=1) #9000 rows of genes X 8 columns of chips

#colnames(gdata)

# This vector contains the microarray sample names
SampleNames= names(data.frame(gdata[,-1]))
#names(datExpr)=gdata[,1]

# This vector contains the gene names
datExpr.gnames= gdata$GeneName

# Since the first column contains the gene names, exclude it.
# dataExp is then the matix required
datExpr=data.frame(gdata[,-1])

#convert data into matrix form
datExpr <- as.matrix(datExpr)

#data normalization - quantile normalization
#datExpr.log.norm <- normalize.quantiles((log2(datExpr)),copy=TRUE) #with logged data
datExpr <- datExpr.log.norm
#datExpr.norm <- normalize.quantiles(datExpr,copy=TRUE) #without logged data
#datExpr <- datExpr.norm


# Identify two class data - control/treatment (or condition 1/condition2)
nl <- 4
n2 <- 4
cl <- rep(c(0,1), c(nl, n2))

datExpr.cl <- cl

# data were generated under identical or very similar conditions except the
# factor of interest (e.g., control and treatment),
origin <- rep(1, nl + n2)

datExpr.origin <- origin

# Data anslysis
datExpr.sub <- datExpr[,which(datExpr.origin == 1)]
datExpr.cl.sub <- datExpr.cl[which(datExpr.origin == 1)]
datExpr.origin.sub <- datExpr.origin[which(datExpr.origin == 1)]

#Rank product analysis and output
#RP.out <- RP(datExpr.sub, datExpr.cl.sub, num.perm = 100, logged = TRUE,na.rm = FALSE,    plot = FALSE, rand = 123)

RP.out <- RPadvance(datExpr.sub, datExpr.cl.sub, datExpr.origin.sub, num.perm = 100,logged = TRUE,
                na.rm = FALSE, gene.names = datExpr.gnames, plot = FALSE,rand = 123)



# Output a table of the identified genes based on user-specified selection criteria
topGene(RP.out, cutoff = 0.05, method = "pfp", logged = TRUE,logbase = 2, gene.names = datExpr.gnames)

我确实运行了代码,但我的倍数在一种情况下变化为差异表达的基因VS另一种情况是0或无穷大。我想知道是否有任何有此计划经验的人可以帮助我。

1 个答案:

答案 0 :(得分:0)

乍一看我注意到的是

#datExpr.log.norm <- normalize.quantiles((log2(datExpr)),copy=TRUE) #with logged data
datExpr <- datExpr.log.norm

这里只要第一行被注释掉,datExpr就会为空。