Dinh 2011/NOTES/2011-12-14: Difference between revisions

From ZhangLabWiki
Jump to navigation Jump to search
>Dinh
>Dinh
mNo edit summary
 
Line 78: Line 78:
  [[File:AMD_permuTTest0.001_pca-rotationHclust.png]]
  [[File:AMD_permuTTest0.001_pca-rotationHclust.png]]
* Heatmap and dendrograms
* Heatmap and dendrograms
> B = as.matrix(na.omit(A))
> C = B[1:1000,]
> library(gplots)
> png("heatmap.top1000p0.05.png", res=150, width=1600, height=800)
> heatmap.2(C, trace="none", dendrogram="both",col=bluered,labRow=FALSE)
> dev.off()
  With p<0.05 and highest 1000 average differences (between patient and controls)
  With p<0.05 and highest 1000 average differences (between patient and controls)
  [[File:AMD_heatmap1000.png | 600px]]
  [[File:AMD_heatmap1000.png | 600px]]

Latest revision as of 00:37, 21 December 2011

AMD (Kang Zhang Lab)[edit]

  • Created a matrix file with 20% missing value allowed, minimum read depth = 1, std >=0.1
275,888 AMD_methyl_min76_minSTD0.1 (all sites)
267,388 AMD_methyl_min76_minSTD0.1 (autosomes)
  • Overall hierarchical clustering (all sites):
File:AMD HclustALL.png
  • Remove dataset 2200001
A = read.table("AMD_methyl_min76_minSTD0.1.autosomes", header=TRUE, row.names=1)
A$2200001 = NULL
A$mean_RD = NULL
A$min_RD = NULL
A$STDEV = NULL
  • Perform PCA
File:AMD pcaAutosomes.png
  • Remove the two outlier datasets
A$X7781002c =NULL
A$X12113001 =NULL
File:AMD pcaAusomesV2.png
  • Create sample_info.txt, remove the three outlier datasets
File:AMD sample info.txt
  • Perform permutation T-Test File:Perm-cpgPermutationTTest 12152011.txt
  • I'm performing the test for the dataset to validate the method that I am using on a simpler grouping of samples. I will go back to the schizophrenia group after refining this method.
1) Two groups, methylation level of samples in Patient cohort and methylation level of samples in Control cohort 
2) Require minimum 5 data in each group
3) Permute and calculate the p-value for each time the average in one group is higher (one-sided p-value, need to get the other side as well...)
   if average of group1 is 0.5, and the pvalue for a greater average is 0.98, then the pvalue for group1>= group2 is 0.02
   if average of group1 is 0.5, and the pvalue for a greater average is 0.02, then the pvalue for group1> group2 is 0.02
pval cutoff significant #sites #sites from permutation1 #sites from permutation2 #sites from permutation3 average #sites of permutation FDR
0.05 14689 1540 1259 1360 1386 9%
0.01 3127 190 157 178 175 6%
0.001 696 28 21 26 25 4%
  • I did hierarchical clustering on the 14,689 sites, but it did not separate well
> A = read.table("AMD_signif0.05", header=TRUE, row.names=1)
> A$STDEV=NULL
> A$min_RD=NULL
> A$mean_RD=NULL
> A$ave_diff=NULL
> A$pval=NULL
> A$X2200001=NULL
> A$X7781002c=NULL
> A$X12113001=NULL
> B = as.matrix(A)
> dissim=1-abs(cor(B,method="pearson", use="pairwise.complete.obs"))
> distance=as.dist(dissim)
> plot(hclust(distance, method="average"), main="Permutation t-test significant sites, p<0.05")
File:AMD permuTTest0.05 hclust.png
  • PCA with prcomp on top 14,689 sites
> C = na.omit(B)
> pca1=prcomp(t(C), scale=TRUE)
> mycol=c(4,1,1,1,1,1,1,4,1,1,1,1,4,1,4,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,4,1,1,1,4,4,4,4,1,1,1,1,1,1,1,1,4,4,4,4,4,4,4,4,4,4,4,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,4,4,4,4,1,4,1,4,1)
> plot(pca1$x, pch=20, col=mycol)
> mycol[which(mycol == 1)] = 2
> plot(pca1$x, pch=20, col=mycol, main="Permutation t-test significant sites, p<0.05")

Red dot = control
Blue dot = patient
Control and patient separate on both PC1 and PC2.
16.3% of variance on PC1 and 5.5% variance on PC2
File:AMD permuTTest0.05 pca.png
File:AMD permuTTEst0.05 pca-rotationHist.png
  • PCA with prcomp on top 696 sites
15.3% variance on PC1 and 3.7% variance on PC2
File:AMD permuTTest0.001 pca.png
*Outlying blue dot is sample 1599001
File:AMD permuTTest0.001 pca-rotationHclust.png
  • Heatmap and dendrograms
> B = as.matrix(na.omit(A))
> C = B[1:1000,]
> library(gplots)
> png("heatmap.top1000p0.05.png", res=150, width=1600, height=800) 
> heatmap.2(C, trace="none", dendrogram="both",col=bluered,labRow=FALSE)
> dev.off()
With p<0.05 and highest 1000 average differences (between patient and controls)
File:AMD heatmap1000.png
With p<0.05 and highest 500 average differences (between patient and controls)
File:AMD heatmap500.png
With p<0.05 and highest 250 average differences (between patient and controls)
File:AMD heatmap250.png
With p<0.05 and highest 100 average differences (between patient and controls)
File:AMD heatmap100.png

Discussion[edit]

  • The minimum marker set for AMD must be >1000 sites because in heatmap and dendrogram on the top 1000 sites, 2 controls were considered patients.
  • I am wondering if I should do GREAT on the p<0.05 sites, and thereby reducing to a list of genes?
  • I can then look at just the CpGs at just promoters/introns/exons/enhancers in a heatmap+dendrogram to see which localization of CpGs are more significant.