Can any one help me perform clustering and gene enrichment analysis.
I had discovered my differential gene expression list using these commands
targets <- readTargets("targets.txt")
f <- function(x) as.numeric(x$Flags > -50)
RG <- read.maimages(targets,source="genepix", columns=list(R="F635 Median",G="F532 Median"),wt.fun=f)
RG$genes <- readGAL()
RG.b <- backgroundCorrect(RG, method="normexp", offset=50)
MA <- normalizeWithinArrays(RG.b)
biolrep <- c(1, 1, 2, 2)
design <- c(1, -1, 1, -1)
library (statmod)
corfit <- duplicateCorrelation(MA, design, ndups = 1, block = biolrep)
fit <- lmFit(MA, design, block = biolrep, cor = corfit$consensus)
fit <- eBayes(fit)
fit2 <- topTable(fit, number=600, adjust = "BH", p.value=0.05, lfc=2)
head(fit2)
Block Column Row Name ID Loc GO
2729 48 15 31 Blank Blank Empty N/A
19312 47 6 19 TR046495 G13 chr04:27400414 N/A
2659 47 28 15 BLANK K13 Empty N/A
15465 45 16 29 TR042648 E13 LOC_Os03g50030.1 GO:0016787
42447 33 17 6 TR069630 E16 LOC_Os11g42100.1 GO:0008150
43985 14 6 12 TR071168 F09 LOC_Os03g50010.1;LOC_Os03g50010.2 GO:0005739;GO:0006950;GO:0016787;GO:0005739;GO:0006950;GO:0016787
Annotation logFC AveExpr t P.Value adj.P.Val B
2729 N/A -3.615243 12.01787 -15.33867 7.085888e-07 0.02098715 5.965012
19312 N/A -2.925755 10.49668 -12.84876 2.517883e-06 0.02098715 5.070669
2659 N/A -3.027424 10.75164 -12.52566 3.017522e-06 0.02098715 4.933931
15465 Phospholipase A2, putative, expressed 3.294050 11.45860 11.80853 4.581567e-06 0.02098715 4.610336
42447 Leucine Rich Repeat family protein, expressed -2.729774 10.97718 -11.75398 4.733877e-06 0.02098715 4.584526
43985 Toc64, putative, expressed 3.377292 11.35714 11.71446 4.847810e-06 0.02098715 4.565715
So please I want to cluster my data and draw heatmap then perform gene enrichment analysis
Note This data was a time course experiment
1 answer
In general, I would use heatmap.2 for heatmaps (using the normalized expression values for the differentially expressed probes) and web-based tools (like GATHER, DAVID, FuncAssociate, etc.) for functional enrichment (GO, KEGG, etc).
However, for the functional enrichment, you will need some sort of standard nomenclature (typically official gene symbols), and I don't see anything like that I recognize. You could try to figure this out, but it looks like you already have GO mappings in your annotations. So, if it was me, I'd probably manually count the relevant statistics to do the hypergeometric or Fisher Exact test manually.
As for the heatmap, I'm not sure what is the most efficient strategy to get a heatmap from your limma result, but this is what I found with a quick Google search:
http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/r/heatmap/
Log in to answer this question.