I have a dataset from non-genomic data. 150 compounds was measured in leaves after a insect contact and non-insect contact (control). I have leaves in resistant and susceptible genotype. A subset of my data can be found at here.
Supposing Compound (Composto vary from 1 to 150) are genes, I used limma to get "differential" compunds between Genotypes, Estado (Resistante or Suscptible) and Tratamento (SI = without insect; CI = with insect).
I suppose that insect can increase or decrease some compounds in leaves and I suppose that resistant genotypes differ from susceptible ones in compounds productions.
My doubts:
- I could use limma in this type of data?
- I see that some compounds values are not normal distributed. I think to use box-cox to transform it. There are a way to found the lambda for each non normal row and do the conversion on the fly in MAList object only to that row (compound)?
- If not possible to use box-cox, I think to use vsn or quantile to normalize the data. What they you advice? Or another one?
The targets are here.
I used this code to do an exploratory analysis:
library(limma)
dados01 <- read.table("Exemplo.csv", sep="\t", dec=",", header=TRUE, row.names = 1)
head(dados01)
targets <- readTargets("Targets.csv")
targets
### Tratamento
Group <- factor(targets$Tratamento, levels=c("SI","CI","PSI","PCI"))
design <- model.matrix(~0+Group)
colnames(design) <- c("SI", "CI","PSI","PCI")
design
contrast.matrix <- makeContrasts(CI-SI, CI-PCI,CI-PSI,SI-PCI,SI-PSI, levels=design)
contrast.matrix
E <- new("EList")
E$E <-dados01
E$genes <-rownames(dados01)
E2 <- normalizeBetweenArrays(E)
E2 <- normalizeVSN(E)
fit <- lmFit(E2, design)
fit2 <- contrasts.fit(fit, contrast.matrix)
fit2 <- eBayes(fit2)
topTable(fit2, coef=1, adjust="BH")
results <- decideTests(fit2)
vennDiagram(results)
results
### Estado
Group <- factor(targets$Estado, levels=c("Resistente","Suscetivel","Padrao"))
design <- model.matrix(~0+Group)
colnames(design) <- c("Resistente", "Suscetivel", "Padrao")
design
contrast.matrix <- makeContrasts(Resistente-Suscetivel, Resistente-Padrao, Suscetivel-Padrao, levels=design)
contrast.matrix
fit <- lmFit(E2, design)
fit2 <- contrasts.fit(fit, contrast.matrix)
fit2 <- eBayes(fit2)
topTable(fit2, coef=1, adjust="BH")
results <- decideTests(fit2)
vennDiagram(results)
results
Any comments here are very welcome!