This is a test version of Biostars. For the public version, visit https://www.biostars.org.
EDGE microarray time series analysis fit_models() ERROR

Hi All,

I'm using the bioconductor EDGE package for R to look for differentially expressed genes in a microarray time series dataset. I have a question regarding the parameters on the de_object creation using build_study {edge}.

1) How is the ind argument incorporated into the full/null model creation and fit_models() argument? When I try to add this into my expression set it creates a de_object, but I get an error, please see code below:

#setup data
eset <- list()
eset$expr <- as.matrix(P20)
eset$ind <- as.factor(P20annot$patient)
eset$time <- as.numeric(P20annot$time)
eset$gender <- as.factor(P20annot$gender)
summary(eset)
Length Class  Mode   
expr   923967 -none- numeric
ind        51 factor numeric
time       51 -none- numeric
gender     51 factor numeric
de_obj <- build_study(data = eset$expr, tme = eset$time, adj.var = eset$gender, ind = eset$ind, sampling = "timecourse")
fullModel(de_obj)
~adj.var + ns(tme, df = 2, intercept = FALSE)
<environment: 0x11dfca8>
nullModel(de_obj)
~adj.var
<environment: 0x11dfca808>
full_matrix <- fullMatrix(de_obj)
null_matrix <- nullMatrix(de_obj)
#Fit the model (likelihood ratio test)
ef_obj <- fit_models(de_obj, stat.type = "lrt")
Error in svd(X) : a dimension is zero
de_lrt <- lrt(de_obj, nullDistn = "normal")
Error in svd(X) : a dimension is zero

My design annotation is below. Please note that each individual was only sampled at three of the five time points. I feel this is what is giving me the error, but I'm unsure why. When I run the code without ind as a parameter it runs just fine.

print(annotation)
        value ind time gender
1    M_115_0h 115    0      M
2    M_122_0h 122    0      F
3    M_117_0h 117    0      F
4    M_126_0h 126    0      M
5    M_129_0h 129    0      F
6    M_140_0h 140    0      F
7    M_142_0h 142    0      F
8    M_143_0h 143    0      M
9    M_146_0h 146    0      M
10   M_148_0h 148    0      M
11   M_152_0h 152    0      M
12   M_156_0h 156    0      F
13   M_132_0h 132    0      F
14   M_147_0h 147    0      F
15   M_150_0h 150    0      M
16   M_153_0h 153    0      M
17   M_155_0h 155    0      F
18   M_129_6h 129    6      F
19   M_140_6h 140    6      F
20   M_142_6h 142    6      F
21   M_143_6h 143    6      M
22   M_152_6h 152    6      M
23   M_156_6h 156    6      F
24  M_115_24h 115   24      M
25  M_122_24h 122   24      F
26  M_117_24h 117   24      F
27  M_126_24h 126   24      M
28  M_129_24h 129   24      F
29  M_140_24h 140   24      F
30  M_142_24h 142   24      F
31  M_143_24h 143   24      M
32  M_146_24h 146   24      M
33  M_148_24h 148   24      M
34  M_152_24h 152   24      M
35  M_156_24h 156   24      F
36  M_115_72h 115   72      M
37  M_122_72h 122   72      F
38  M_117_72h 117   72      F
39  M_126_72h 126   72      M
40  M_132_72h 132   72      F
41  M_147_72h 147   72      F
42  M_149_72h 149   72      M
43  M_150_72h 150   72      M
44  M_153_72h 153   72      M
45  M_155_72h 155   72      F
46 M_132_168h 132  168      F
47 M_147_168h 147  168      F
48 M_149_168h 149  168      M
49 M_150_168h 150  168      M
50 M_153_168h 153  168      M
51 M_155_168h 155  168      F

Also, there is an argument: basis.df = 2. How do I know what # to set the degree of freedom to for this?

Thanks!

microarray time-series

0 answers

No answers yet.

Log in to answer this question.