Dahlquist:Modified ANOVA and p value Corrections for Microarray Data: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
(→‎Statistical Analysis Within Excel: Moved first portion of the procedure in the subsection to the description for the section.)
(→‎Calculate the Modified ANOVA: Continued procedure.)
Line 52: Line 52:
===Calculate the Modified ANOVA===
===Calculate the Modified ANOVA===


*Compute the average log fold change for each timepoint in each strain.
*In the first spreadsheet after the last column of normalized log fold changes, label the next five columns by typing "[strain]_Avg_LogFC_[timepont]" in the first cell of each column. For example, the first of cell of the first of the five columns should be "wt_Avg_LogFC_t15".
*Calculate the average log fold change for each timepoint in the wildtype. To do so, type the following formula into the second cell of the t15 column:
=AVERAGE(B2:E2)
and press enter. Instead of typing the cell designations, click on the beginning cell and then double click on the lower right hand corner. Calculate the average log fold change for the other timepoints using the formula above but changing the columns to those that correspond to the timepoint you are working on.
 
*After the last column of the average log fold changes, label the next few columns (the number of which corresponds to the number of columns of the normalized log fold changes) by typing "[strain]_mean_centered_LogFC_[timepoint]-[flask number]" into the first cell of each column. For example, the first cell of the first column should be "wt_mean_centered_LogFC_t15-1".
*Stubtract the mean from the log fold changes for each timepoint for each flask. To do so, type the following formula into the second cell of the first column "wt_mean_centered_LogFC_t15-1":
=B2-$Y2
and press enter. Instead of typing the cell designations, click on the beginning cell and then double click on the lower right hand corner. Repeat this procedure for the rest of the timepoints and flaks. You can use the same formula as above but change the columns to the normalized log fold change and average log fold change columns that you are using.
 
*After the last column of the mean centered normalized log fold changes, label the first cell of the next column as "wt_SSH".


===Calculate the Bonferroni p value Correction===
===Calculate the Bonferroni p value Correction===


===Calculate the Benjamini & Hochberg p value Correction===
===Calculate the Benjamini & Hochberg p value Correction===

Revision as of 19:10, 25 October 2011

Home        Research        Protocols        Notebook        People        Publications        Courses        Contact       


Introduction

Modified ANOVA

  • To analyze the significant changes in our gene expression, p-values were calculated using an F-distribution.
  • The first step to calculating this F-distribution is by calculating the sum of the squares of the null hypothesis, or SSH.
  • The null hypothesis being that no genes experience any significant change in expression, therefore the population mean (μ) is 0.
  • To calculate the SSH each genes log fold change was squared and summed over every flask i; i=1, 2, 3, 4, 5; and every time point j; j=t15, t30, t60, t90, and t120.
SSH=ΣiΣj(Yij)2 
  • The second step is to calculate the sum of squares of the alternate hypothesis, or SSF, the difference from the SSH being that the hypothesis states there is at least one significantly changed gene.
  • This is represented by subtracting the population mean from the log fold change before squaring it.
  • The population mean can be calculated by averaging the log fold change for each time point, these values were subtracted from each log fold change for each gene at their respective time point.
  • The values were then squared, and summed over every flask i, and time point j.
SSF=ΣiΣj(Yijj)2 
  • Finally, the F-distribution is calculated by subtracting the SSF from the SSH and dividing by the SSH, then by multiplying this value by the number of flasks(F) subtracted from the number of trials(N) divided by the number of flasks.
  • This will give you the F-distribution with degrees of freedom F, N-F.
[(SSH-SSF)/SSF * (N-F)/F] ~ F(F,N-F)
  • This F-distribution, F(F,N-F), can then be converted to p-values using the FDIST() command in excel with the degrees of freedom F, N-F.
  • Note, the F value is 5 for every deletion strain and the wild type, while N-F will vary because the wildtype has 23 repetitions and not 20 like the deletion strains.

Bonferroni p value Correction

  • False positives must be corrected from the data's p values before it can be considered accurate.
  • One way of correcting these p values is the Bonferroni Correction.
  • Accomplished by multiplying each p value by the total number of hypotheses(n).
P≤α/n
  • One negative aspect of this correction is that the final result will consist of only the most extreme outliers, thus ignoring some potential significant genes.
  • For any p values that are above 1, change the values to 1.

Benjamini & Hochberg p value Correction

  • A more robust method of correcting the data's p values is the Benjamini & Hochberg correction, or B&H.
  • Once the p values are calculated they are sorted from least to greatest and an index(i) from 1 to n is created to rank these values, 1 being the lowest p value and n being the highest.
  • The p values are then multiplied by the total number of hypotheses(n) and divided by their rank(i).
P≤i*α/n
  • For any p values that are above 1, change the values to 1.

Statistical Analysis Within Excel

  • Create an Excel workbook with a spreadsheet for each of the following labels: "wt_logFCs_SSH", "wt_LogFCs_SSF_SSH_Fstat_pval", "dCIN5", "dGLN3", "dHMO1", "dZAP1", "Bonferroni", and "B&H".
  • Copy the list of gene IDS from the final output of normalized data from R into the first column (labelled "Gene ID") of each of the first six spreadsheets of the workbook.
  • For each strain, copy all of the normalized log fold changes from the same R output into the columns after the first of the spreadsheet within the workbook corresponding to the strain. If not already labelled appropriately in the R output, label the columns containing the normalized log fold changes in the format "[strain]_LogFC_[timepoint]-[flask number]". For example, column B in the first spreadsheet should be labelled "wt_LogFC_t15-1".

Calculate the Modified ANOVA

  • In the first spreadsheet after the last column of normalized log fold changes, label the next five columns by typing "[strain]_Avg_LogFC_[timepont]" in the first cell of each column. For example, the first of cell of the first of the five columns should be "wt_Avg_LogFC_t15".
  • Calculate the average log fold change for each timepoint in the wildtype. To do so, type the following formula into the second cell of the t15 column:
=AVERAGE(B2:E2)

and press enter. Instead of typing the cell designations, click on the beginning cell and then double click on the lower right hand corner. Calculate the average log fold change for the other timepoints using the formula above but changing the columns to those that correspond to the timepoint you are working on.

  • After the last column of the average log fold changes, label the next few columns (the number of which corresponds to the number of columns of the normalized log fold changes) by typing "[strain]_mean_centered_LogFC_[timepoint]-[flask number]" into the first cell of each column. For example, the first cell of the first column should be "wt_mean_centered_LogFC_t15-1".
  • Stubtract the mean from the log fold changes for each timepoint for each flask. To do so, type the following formula into the second cell of the first column "wt_mean_centered_LogFC_t15-1":
=B2-$Y2

and press enter. Instead of typing the cell designations, click on the beginning cell and then double click on the lower right hand corner. Repeat this procedure for the rest of the timepoints and flaks. You can use the same formula as above but change the columns to the normalized log fold change and average log fold change columns that you are using.

  • After the last column of the mean centered normalized log fold changes, label the first cell of the next column as "wt_SSH".

Calculate the Bonferroni p value Correction

Calculate the Benjamini & Hochberg p value Correction