Handling Negative Values in Log-Transformed a Dataset for Differential Expression Analysis with Limma
1
0
Entering edit mode
9 days ago
Maryam • 0

Hi everyone!

I am analyzing dataset GSE49515 and have obtained the preprocessed series matrix, which contains normalized, log-transformed values.

However, I have noticed the presence of negative values in this matrix, and I am unsure if these negative values are a result of background correction or log transformation. Unfortunately, I am unable to analyze the CEL files.

Can I proceed with these negative values for the purpose of performing differential expression analysis using Limma? If not, should I replace the negative values with zero or NA? Or can I add the minimum value to all values? Or if you know another better way I appreciate if you tell me.

microarray • 434 views
ADD COMMENT
2
Entering edit mode
8 days ago
Gordon Smyth ★ 7.7k

There is no problem with negative values on the log-scale. limma can handle them perfectly well. You don't need to take any special action.

ADD COMMENT
0
Entering edit mode

What about negative values that are not log transformed? Should I do any thing special for them? should I use the following code for log transformation of them?

ex<-log2(ex-min(ex)+1)
ADD REPLY
0
Entering edit mode

There are no negative values on the unlogged scale for the dataset in your question.

Please follow documented limma pipelines. There is never any need for ad hoc code like you mention.

ADD REPLY
0
Entering edit mode

However, I cannot use the preprocessing methods mentioned in the limma documentation. I am using the submitter-supplied data from GEO (series matrix), which I read using the getGEO function in R. Some preprocessing procedures have already been performed on this data. In some datasets, such as GSE164174, there are negative unlogged values. As you know, certain background correction procedures can result in negative expression values. These negative values lead to NaN values during log transformation. I would like to know how to handle this issue. Can I add the minimum value to all values to make them zero or greater? Can I use the previously mentioned code to accomplish this?

ADD REPLY
0
Entering edit mode

The submitter supplied expression values for GSE164174 are already on the log-scale. You don't need to do anything. You should not be logging again so there will be no NAs. As already noted, limma handles the negative values without any problem.

If there were background-corrected unlogged values that were negative, then that would be handled by limma's backgroundCorrect() function with method="normexp". As I say, there is never any need to do your own ad hoc background correction.

ADD REPLY

Login before adding your answer.

Traffic: 1808 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6