can negative value microarray matrix data analysed by limma directly
1
0
Entering edit mode
linouhao ▴ 20
@linouhao-15901
Last seen 11 months ago
United States

hi, there are a lot of data preprocessing methods in geo microarray data, here listed at least 5 methods,

1    log2 RMA signal values     ,  
2     MAS5.0 signal intensity 
3     GeneSpring (11.5.1) Normalized Signal Intensity,
4     normalized log10 ratio Ch1/Ch2 (test/reference)
5     Normalized signal intensity (Background corrected, log2 transformed, quantile normalized and base line transformed using the median of all samples).

we can see in the geo website, it has geo2r script, all used limma, no matter what happened, just sometimes use log2 when found too huge values, so is it suiatble for limma to do so, especially for data like in GSE55542, there is negtive value after variety ways of preprocess(in fact method 5)

so is it suitable?

limma microarray normalization • 1.6k views
ADD COMMENT
0
Entering edit mode

here is a link , is the people right?

https://www.researchgate.net/post/How_can_I_deal_with_Illumina_microarray_gene_expression_data_negative_values

ADD REPLY
0
Entering edit mode

The discussion on research gate is not of much value.

ADD REPLY
1
Entering edit mode
@gordon-smyth
Last seen 45 minutes ago
WEHI, Melbourne, Australia

limma is routinely used for all the preprocessing methods that you mentioned, and some of them are covered in the limma User's Guide.

Not sure what problem you are worried about. limma has no problem with any of processing methods, whether negative values or not. Intensities can obviously be negative on the log-scale and that doesn't cause any problems. Unlogged intensities can also be negative after background correction, and limma handles that by normexp background correction.

ADD COMMENT
0
Entering edit mode

Your help has really solved my huge confusion. You can help me look at a specific data set. I find the result is very strange. The adj.P.Val in it is all the same value.

df <- vroom('GSE18246_series_matrix.txt', delim = '\t') %>% column_to_rownames(var = 'ID_REF')

exprSet <- df %>%
  dplyr::select(c(1:6))
group <- factor(c(rep("control",3), rep("treat",3)))
treat_group_names <- 'treat'
control_group_names <- 'control'
design <- model.matrix(~0 + factor(group)) 
colnames(design) <- levels(factor(group))
rownames(design) <- colnames(exprSet)
cont.matrix <- makeContrasts(contrasts = paste0(treat_group_names, '-' , control_group_names),  levels = design)
fit1 <- lmFit(exprSet, design)              
fit2 <- contrasts.fit(fit1, cont.matrix) 
efit <- eBayes(fit2, trend = T)  
tempDEG <- topTable(efit, coef = paste0(treat_group_names, '-', control_group_names), number = Inf)
tempDEG_sig <- tempDEG %>%
  dplyr::filter(adj.P.Val < 0.05)
ADD REPLY
0
Entering edit mode

Hello! Can you cite the documentation where this information appears. Thanks!

ADD REPLY

Login before adding your answer.

Traffic: 677 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