Question: Limma analysis - decomposition problem
0
gravatar for iside
3.6 years ago by
iside10
European Union
iside10 wrote:

Dear all,

I am running a differential expression analysis with limma. My dataset includes unrelated individuals as well as twins, and I am aware that limma is not designed to deal with familiar data, but, as explained in the users' guide I may use the family as a blocking variable (in this way limma will estimate a within-family correlation from the expression data and will use it for the differential analysis).

Unfortunately, when running lmFit with the correlation factor I get this error:

Error in chol.default(V) : 
  the leading minor of order 2 is not positive definite
  
I understand that this depends on my data structure, and clearly I do not have a positive definite matrix, therefore it doesn't respect the assumptions of cholesky decomposition. But do you have any suggestion on how to overcome the problem?  
 
This is the code I am using:

formula <- ~ condition
design <- model.matrix(formula, data=info)
corfit <- duplicateCorrelation(eset, design, block=info$famID)
fit <- lmFit(eset, design, block=info$famID, correlation=corfit.corr$consensus)

Thanks in advance

ADD COMMENTlink modified 3.6 years ago by andrew.j.skelton735.6k • written 3.6 years ago by iside10

I have the same problem with lmFit! Have you found any solution yet? I have log2 transformed data as well.

Thanks a lot!

ADD REPLYlink written 3.4 years ago by elenichri10
1
gravatar for andrew.j.skelton73
3.6 years ago by
London
andrew.j.skelton735.6k wrote:

Is your normalised eset in log2 space? It'd be useful to see the output of:

range(eset)

edit: It'd also be useful to see a pheno table so we can gauge the experimental design.

ADD COMMENTlink modified 3.6 years ago • written 3.6 years ago by andrew.j.skelton735.6k

Hi Andrew,

thanks for your reply. 

The data had already been normalised, and corrected for batch effect with the package Combat. The output you asked for is the following:

range(expression)

[1]  6.109361 16.553681.

My design matrix is composed by two columns: Intercept (136 rows set to 1) and  conditioncase, where control is set to 0 (68 rows) and case is set to 1 (68 rows).

 

ADD REPLYlink written 3.6 years ago by iside10

Thanks, how many levels are there to your condition variable? i.e. How many conditions do you have?

ADD REPLYlink written 3.6 years ago by andrew.j.skelton735.6k

I have only 2 conditions. Either case or control. 

ADD REPLYlink written 3.6 years ago by iside10

ok, that explains your intercept model. What's the output of corfit?

ADD REPLYlink written 3.6 years ago by andrew.j.skelton735.6k

I get only a matrix of NAs!

ADD REPLYlink written 3.6 years ago by iside10

Ah, no errors when running duplicateCorrelation?

ADD REPLYlink written 3.6 years ago by andrew.j.skelton735.6k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 760 users visited in the last hour