1. Visión general
matriz | función |
---|---|
Expresión de matriz | LMFIT |
grupo matriz | eBayes |
matriz de comparación Diferencia | mesa de arriba |
2. Leer la expresión de matriz:
suppressPackageStartupMessages(library(CLL))
data(sCLLex)
exprSet=exprs(sCLLex)
samples=sampleNames(sCLLex)
pdata=pData(sCLLex)
group_list=as.character(pdata[,2])
dim(exprSet)
exprSet[1:5,1:5]
group_list
La expresión de la matriz obtenida exprSet, cuyas columnas son el nombre de cada muestra, cada ID de sonda está bien, una expresión pura de la matriz, debe ser numérico!
QC puede hacerlo simplemente detecta la expresión de la matriz:
par(cex = 0.7)
n.sample=ncol(exprSet)
if(n.sample>40) par(cex = 0.5)
cols <- rainbow(n.sample*1.2)
boxplot(exprSet, col = cols,main="expression value",las=2)
Si estos se encontraron datos directamente diagrama de caja fichas respectivas bastante aseado, la diferencia se puede comparar.
3. Hacer agrupación matriz
suppressMessages(library(limma))
design <- model.matrix(~0+factor(group_list))
colnames(design)=levels(factor(group_list))
rownames(design)=colnames(exprSet)
design
diseño es una matriz de agrupación necesita ser ajustado de acuerdo con el diseño experimental del chip hemos descargado los datos.
4. Hacer un diff matriz
contrast.matrix<-makeContrasts(paste0(unique(group_list),
collapse = "-"),levels = design)
contrast.matrix
Lo anterior ha hecho buenos los datos de entrada necesarios, aquí es cómo utilizar el paquete para realizar el análisis de varianza limma!
step 1
fit <- lmFit(exprSet,design)
step 2
fit2 <- contrasts.fit(fit, contrast.matrix)
fit2 <- eBayes(fit2)
step 3
tempOutput = topTable(fit2, coef=1, n=Inf)
nrDEG = na.omit(tempOutput)
head(nrDEG)
write.csv(nrDEG,"limma_notrend.results.csv",quote = F)
Detalles enlace: https://www.jianshu.com/p/11534a814405