Difference between revisions of "Nanguiano Week 8"
From LMU BioDB 2015
(added links) |
(→Files as of 10/22/15: added GO and MAPPFinder files) |
||
(36 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == Statistical Analysis of ''Vibrio cholerae'' Microarray Data (Part 1) == |
− | + | === Files as of 10/22/15 === | |
+ | * [[Media:Merrell_Compiled_Raw_Data_Vibrio_NA_20151015.xls | Current Spreadsheet]] | ||
+ | <!-- [[File:Merrell_Compiled_Raw_Data_Vibrio_NA_20151015.xls]] --> | ||
+ | * [[Media:Merrell_Compiled_Raw_Data_Vibrio_NA_20151015_GenMAPP.txt | Text file for GenMAPP]] | ||
+ | <!-- [[File:Merrell_Compiled_Raw_Data_Vibrio_NA_20151015_GenMAPP.txt]] --> | ||
+ | * [[Media:Merrell_Compiled_Raw_Data_Vibrio_NA_20151015_GenMAPP_Exceptions.EX.txt | GenMAPP Errors File]] | ||
+ | <!-- [[File:Merrell_Compiled_Raw_Data_Vibrio_NA_20151015_GenMAPP_Exceptions.EX.txt]] --> | ||
+ | * [[Media:Merrell_Compiled_Raw_Data_Vibrio_NA_20151015_Expression_ColorSet.gex | Expression Color Set]] | ||
+ | <!-- [[File:Merrell_Compiled_Raw_Data_Vibrio_NA_20151015_Expression_ColorSet.gex]] --> | ||
+ | * [[Media:GenMAPP-Results-Criterion1-GO_NA_Decreased.txt | MAPPFinder Gene Ontology Results]] | ||
+ | <!-- [[File:GenMAPP-Results-Criterion1-GO_NA_Decreased.txt]] --> | ||
+ | * [[Media:Phosphoribosylformylglycinamidine_synthase_activity_NA.mapp | Phosphoribosylformylglycinamidine Synthase Activity MAPP]] | ||
+ | <!-- [[File:Phosphoribosylformylglycinamidine_synthase_activity_NA.mapp]] --> | ||
− | + | === Normalize the log ratios for the set of slides in the experiment === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | * '''The below instructions are from the [http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae Sample Microarray Analysis for ''Vibrio cholerae'' page] hosted by [http://www.openwetware.org OpenWetWare.org].''' | |
− | == | + | * First, I downloaded the data file from [http://www.openwetware.org/wiki/Media:Merrell_Compiled_Raw_Data_Vibrio.xls Open Wet Ware]. |
+ | * To scale and center the data (between chip normalization), I performed the following operations: | ||
+ | ** I inserted a new Worksheet into the Excel file, and name it "scaled_centered". | ||
+ | ** In the "compiled_raw_data" worksheet, I pressed <code>Command + A</code>to select everything, and then copied it all. I pasted the information in the "scaled_centered" sheet. | ||
+ | ** I Inserted two rows in between the column headers and the first row of data. | ||
+ | ** I typed "Average" in cell A2 and "StdDev" in cell A3. | ||
+ | ** Now I needed to compute the Average Log Ration for each column. In cell B2, I typed the following equation: <pre> =AVERAGE(B4:B5224) </pre> | ||
+ | ** To compute the Standard Deviation, I typed the following equation in cell B3: <pre> =STDEV(B4:B5224) </pre> | ||
+ | ** To apply the formula to all of the columns, I dragged the small box on the bottom right-hand corner across each column to apply it to all columns. | ||
+ | **Next, I copied the column headings and pasted them to the right of C4to create a second set of headers. I edited the names of the columns so they read: A1_scaled_centered, A2_scaled_centered, etc. | ||
+ | ** In cell N4 under the column titled "A1_scaled_centered", I typed the following equation: <pre> =(B4-B$2)/B$3 </pre> | ||
+ | ** I clicked cell N4, then double-clicked the small box on the bottom right when the cursor turned into a plus so that it applied to every row in the column. | ||
+ | ** I dragged the formula from N4 across the remaining columns to apply it to all of them, then applied the formula to all of the rows of the columns. | ||
− | + | === Perform statistical analysis on the ratios === | |
− | + | ||
− | + | * To perform the statistical analysis, I performed the following steps: | |
+ | ** First, I inserted a new worksheet and named it "statistics". | ||
+ | ** I copied the first column from the "scaled_centered" worksheet (the column titled ID), then pasted the column into the new sheet. | ||
+ | ** Back in the "scaled_centered" sheet, I copied all of the columns with "_scaled_centered" in the titles and pasted them using "Edit -> Paste Special -> Values" in the "statistics" sheet, starting at cell B1. | ||
+ | ** Then, I deleted rows 2 and 3 from "statistics" (Average/StdDev). | ||
+ | ** To the right of my "_scaled_centered" columns, I created three columns, titled "Avg_LogFC_A", "Avg_LogFC_B", and "Avg_LogFC_C". | ||
+ | ** To compute the average log fold change for the replicates, I typed in cell N2 under "Avg_LogFC_A" the equation: <pre> =AVERAGE(B2:E2) </pre> | ||
+ | ** I applied the formula to the entire column, as well as to the next two columns. | ||
+ | ** Now I needed to computer the average of the averages. In the column after "Avg_LogFC_C", I created a new column titled "Avg_LogFC_all". Under the column header, I typed the equation: <pre> =AVERAGE(N2:P2) </pre> | ||
+ | ** After applying the formula to the whole column, I created a new column called "Tstat" next to the "Avg_LogFC_all". Under this column header, I entered the following equation: <pre> =AVERAGE(N2:P2)/(STDEV(N2:P2)/SQRT(3)) </pre> | ||
+ | ** I then applied it to all rows in the column. | ||
+ | ** Next to the "Tstat" column, I labeled the next column "Pvalue". In the cell below the label, I entered the equation: <pre> =TDIST(ABS(R2),2,2) </pre> <!-- when sorting by p<0.05, should be 948 values--> | ||
+ | ** Then, I applied the formula to all of the rows in the column. | ||
− | + | === Calculate the Bonferroni p value Correction === | |
− | + | ||
− | == | + | * I labeled the next two columns to the right of the "Pvalue" column with the same label, "Bonferroni_Pvalue". |
+ | * Under the first "Bonferroni_Pvalue" column, I typed the equation: <pre> =S2*5221 </pre> | ||
+ | * Then, I applied the formula to the whole column. In order to replace any corrected P value that was greater than 1 with the number 1, I typed the following formula under the header of the second "Bonferonni_Pvalue" column: <pre>=IF(T2>1,1,T2)</pre>. | ||
+ | * I applied the formula to the whole column. | ||
− | + | === Calculate the Benjamini & Hochberg p value Correction === | |
− | + | * To calculate the B&H p value correction, I began by creating a new worksheet and naming it "B-H_Pvalue". | |
+ | * I coped and pasted the "ID" column from the "statistics" worksheet into the second column. | ||
+ | * I named the first column "MasterIndex". I typed a 1 in cell A2 and a 2 in cell A3, selected both cells, then double-clicked the box in the right-hand corner to fill the entire column. | ||
+ | * Using "Paste Special -> Values", I copied the Pvalue column from "statistics" into column C. | ||
+ | * I selected columns A, B, and C, and sorted by ascending order on Column C. To do this, I selected Data -> Sort. I sorted by column C, smallest to largest. | ||
+ | * In cell D1, I typed the header "Rank". This column will contain the p value rank, from smallest to largest. I repeated the same process that I used for the "MasterIndex" column in order to fill the column with numbers from 1 to 5,221. | ||
+ | * In column E1, I typed "B-H_Pvalue". In cell E2, I typed the formula: <pre>=(C2*5221)/D2</pre> | ||
+ | * I applied the formula to the whole column. | ||
+ | * In cell F1, I typed "B-H_Pvalue". | ||
+ | * In cell F2, I typed the formula: <pre>=IF(E2>1,1,E2)</pre> | ||
+ | * I copied that equation into the entire column. | ||
+ | * I sorted the columns in ascending order by the MasterIndex column, then copied column F (the adjusted B-H_Pvalues) and used Paste -> Paste Special to paste it in the statistics sheet to the right of the Bonferroni_Pvalue. | ||
− | * | + | === Prepare file for GenMAPP === |
− | ** | + | |
− | ** | + | * I inserted a new worksheet and name it "forGenMAPP". |
− | * | + | * I copied everything from the statistics worksheet, and pasted it into the new worksheet using Paste -> Paste Special -> Values. |
− | + | * Next, I began formatting the spreadsheet for GenMAPP. | |
− | + | ** I selected Columns B through Q (all the fold changes), then selected Format -> Cells. Under the number tab, I selected 2 decimal places. | |
− | *** | + | ** Next, I selected Columns S through U (p values). I selected Format -> Cells, and under the number tab, selected 4 decimal places. |
− | **** | + | ** I deleted column T, which was the left-most Bonferroni P value column, preserving the one that had the results of the If statement. |
− | + | ** To the right of the "ID" column, I inserted a column. I typed the header "SystemCode" into the top cell, and replaced the entire column with the letter "N". | |
− | + | ** Lastly, I saved the file as a "Text (Tab-delimited) (*.txt)" file. | |
+ | |||
+ | === Sanity Check: Number of genes significantly changed === | ||
+ | |||
+ | Now, I wanted to perform a sanity check to make sure I performed the analysis correctly. | ||
+ | |||
+ | * To begin, I opened the spreadsheet and went to the "forGenMAPP" tab. | ||
+ | * I selected cell A1, then selected Data -> Filter to activate the filter for each tab. | ||
+ | * On the "Pvalue" column, I selected the dropdown arrow and applied the following filters, recording the number of values that remained after filtering, as well as what percentage that is of the genes lie within the range. | ||
+ | ** p < 0.05: 948 (18.15%) | ||
+ | ** p < 0.01: 235 (4.50%) | ||
+ | ** p < 0.001: 24 (0.45%) | ||
+ | ** p < 0.0001: 2 (0.03%) | ||
+ | * After clearing the filter on the "Pvalue" column, I then moved to filter the Bonferroni and B-H P value columns. I performed the following filters, recording the same values as before (number and percentage). | ||
+ | ** Bonferroni p < 0.05: 0 (0%) | ||
+ | ** B&H p < 0.05: 0 (0%) | ||
+ | * Next, I filtered the "Avg_LogFC_all" column and recorded the number and percent of each search. | ||
+ | ** p < 0.05 && Avg_LogFC_all > 0: 352 (6.74%) | ||
+ | ** p < 0.05 && Avg_LogFC_all < 0: 596 (11.41%) | ||
+ | ** p < 0.05 && Avg_LogFC_all > 0.25: 339 (6.49%) | ||
+ | ** p < 0.05 && Avg_LogFC_all < -0.25: 579 (11.08%) | ||
+ | * '''''What criteria did [http://www.nature.com/nature/journal/v417/n6889/full/nature00778.html Merrell et al. (2002)] use to determine a significant gene expression change? How does it compare to our method?''''' | ||
+ | ** Merrel et al. (2002) used a two-class SAM (statistical analysis for microarrays) analysis to determine a significant expression change. Genes with a twofold change in expression or more in all patents were considered significantly changed. This seems to indicate that they used the change in expression to help determine statistical significance, whereas we used p values to determine significance. | ||
+ | |||
+ | === Sanity Check: Compare individual genes with known data === | ||
+ | |||
+ | * Merrell et al. (2002) report that genes with IDs: VC0028, VC0941, VC0869, VC0051, VC0647, VC0468, VC2350, and VCA0583 were all significantly changed in their data. Look these genes up in your spreadsheet. '''''What are their fold changes and p values? Are they significantly changed in our analysis?''''' | ||
+ | |||
+ | == MAPPFinder Analysis of ''Vibrio cholerae'' Microarray Data (Part 2) == | ||
+ | |||
+ | === Map Onto Biological Pathways (GenMAPP & MAPPFinder) === | ||
+ | * '''The below instructions are from the [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols GenMAPP and MAPPFinder Protocols page] hosted by [http://www.openwetware.org OpenWetWare.org].''' | ||
+ | |||
+ | Each time I launched GenMAPP, I needed to make sure I had the correct Gene Database (.gdb) loaded. The database I was using was [http://sourceforge.net/projects/xmlpipedb/files/V.%20cholerae%20Gene%20Database/V.%20cholerae%2020101022/Vc-Std_External_20101022.zip/download Vc-Std_External_20101022.gdb], which I extracted prior to continuing. | ||
+ | * In the lower left hand corner of GenMAPP, it indicated that there was no database selected. I selected Data -> Choose Gene Database, then selected the .gdb file. | ||
+ | |||
+ | ==== GenMAPP Expression Dataset Manager Procedure ==== | ||
+ | |||
+ | * I selected Data -> Expression Dataset Manager, then chose Expression Dataset -> New Dataset. I selected the text file that I'd created (linked above) in the dialog box. | ||
+ | ** In the window that appeared, I just hit "ok" to continue. | ||
+ | ** The file reported '''121 errors'''. | ||
+ | *** In the EX.txt file, I opened it in excel and filtered by the "~Errors~" column. All 121 errors had the error message "Gene not found in OrderedLocusNames or any related system." | ||
+ | *** My partner, Emily Simso, had 772 errors. This is likely due to the names that were used for the genes. Since the file I used was newer, it's possible that the gene names were changed. Additionally, since the file I'm using was created by Dr. Dahlquist and Dr. Dionisio, it's possible that they knew the proper names and protocol to use to ensure the most successful files. | ||
+ | * Now, I needed to customize the color set for GenMAPP. Under the "Color Sets" "Name" header, I named it "Significant Genes" and selected "Avg_LogFC_All" under the Gene Value dropdown. I created two criterion that I was going to color: | ||
+ | ** "Increased": [Avg_LogFC_all] > 0.25 AND [Pvalue] < 0.05 | ||
+ | ** "Decreased": [Avg_LogFC_all] < -0.25 AND [Pvalue] < 0.05 | ||
+ | ** To create the criteria, I selected "New" under Criteria Builder. I entered the name, then selected a color. For "Increased", I used a magenta pink color, and for "Decreased", I used a cyan blue color. Then, I wrote in the criteria, selecting the first part of the expression under the "Columns" section, selecting the operation under the "Ops" column, and then typing in the number. I used the operation "AND" between the two pieces of the expression. | ||
+ | * Lastly, I saved the expression dataset by selecting Expression Datasets -> Save, then exited. | ||
+ | |||
+ | ==== MAPPFinder Procedure ==== | ||
+ | |||
+ | * Next, I needed to use MAPPFinder to look at '''decreased expression'''. I selected Tools -> MAPPFinder to launch the program. | ||
+ | ** I selected "Calculate New Results", then selected "Find File" and selected the ".gex" file that had been produced in the last step. | ||
+ | ** I close the Color Set "Significant Genes", and filtered by "Decreased". | ||
+ | ** I checked the boxes "Gene Ontology" and "Click here to calculate p values", then hit "Browse", and selected where I would save the new file, as well as gave it a name. | ||
+ | ** Then, I hit "Run MAPPFinder". | ||
+ | * I selected "Show Ranked List" after the Gene Ontology Browser opened. The top 10 GO terms were listed below: | ||
+ | *# glucose catabolic process | ||
+ | *# hexose catabolic process | ||
+ | *# glycolysis | ||
+ | *# monosaccharide catabolic process | ||
+ | *# cytoplasm | ||
+ | *# alcohol catabolic process | ||
+ | *# cellular carbohydrate catabolic process | ||
+ | *# glucose metabolic process | ||
+ | *# protein folding | ||
+ | *# hexose metabolic process | ||
+ | ** '''Compare your list with your partner who used a different version of the Gene Database. Are your terms the same or different? Why do you think that is? Record your answer in your individual journal entry.''' | ||
+ | |||
+ | * In the MAPPFinder Browser window, I selected "Collapse Tree". To search for a gene, I typed the gene ID into the "Search for a specific Gene ID" input box, then selected "OrderedLocusNames" in the "Select Gene ID type" dropdown. I searched for the following terms, and recorded the corresponding GO terms: | ||
+ | ** VC0028: | ||
+ | *** GO Terms: branched chain family amino acid biosynthetic process, cellular amino acid biosynthetic process, metabolic process, metal ion binding, iron-sulfur cluster binding, 4 iron, 4 sulfur cluster binding, catalytic activity, lyase activity, dihydroxy-acid dehydratase activity | ||
+ | ** VC0941: | ||
+ | *** GO Terms: glycine metabolic process, L-serine metabolic process, one-carbon metabolic process, cytoplasm, pyridoxal phosphate binding, catalytic activity, transferase activity, glycine hydroxymethyltransferase activity, | ||
+ | ** VC0869: | ||
+ | *** GO Terms: glutamine metabolic process, purine nucleotide biosynthetic process, 'de novo' IMP biosynthetic process, cytoplasm, nucleotide binding, ATP binding, catalytic activity, ligase activity, phosphoribosylformyglycinamidine synthase activity | ||
+ | ** VC0051: | ||
+ | *** GO Terms: purine nucleotide biosynthetic process, 'de novo' IMP biosynthetic process, nucleotide binding, ATP binding, catalytic activity, lyase activity, carboxy-lyase activity, phosphoribosylaminoimidazole carboxylase activity | ||
+ | ** VC0647: | ||
+ | *** GO Terms: mRNA catabolic process, RNA processing, cytoplasm, mitochondion, RNA binding, 3'-5'-exoribonuclease activity, transferase activity, nucleotidyltransferase activity, polyribonucleotide nuclotidyltransferase activity | ||
+ | ** VC0468: | ||
+ | *** GO Terms: glutathione biosynthetic process, metal ion binding, nucloetide binding, ATP binding, catalytic activity, ligase activity, glutathione synthase activity | ||
+ | ** VC2350: | ||
+ | *** GO Terms: deoxyribonucleotide catabolic process, metabolic process, cytoplasm, catalytic activity, lyase activity, deoxyribose-phosphase aldolase activity | ||
+ | ** VCA0583: | ||
+ | *** GO Terms: transport, outer membrane-bounded periplasmic space, transporter activity | ||
+ | * The GO Terms I found were not the same as the ones my partner found. <!-- why or why not? --> | ||
+ | * Searching for VC0869 again, I double-clicked the GO term "phosphoribosylformyglycinamidine synthase activity". This opened a window showing what genes went under that category. The expression did change significantly, in that the expression was increased. | ||
+ | ** I double-clicked the gene, named PUR4_VIBCH. | ||
+ | *** The function of this gene, according to [http://www.ncbi.nlm.nih.gov/gene?cmd=Retrieve&dopt=Graphics&list_uids=2614536 NCBI], the function of the gene is to "catalyze the formation of 2-(formamido)-N1-(5-phospho-D-ribosyl)acetamidine from N2-formyl-N1-(5-phospho-D-ribosyl)glycinamide and L-glutamine in purine biosynthesis" | ||
+ | |||
+ | |||
+ | |||
+ | * Launch Microsoft Excel. Open the copies of the .txt files in Excel (you will need to "Show all files" and click "Finish" to the wizard that will open your file). This will show you the same data that you saw in the MAPPFinder Browser, but in tabular form. | ||
+ | * Look at the top of the spreadsheet. There are rows of information that give you the background information on how MAPPFinder made the calculations. '''Compare this information with your partner who used a different version of the Vibrio Gene Database. Which numbers are different? Why are they different? Record this information in your individual journal entry.''' | ||
+ | * You will filter this list to show the top GO terms represented in your data for both the "Increased" and "Decreased" criteria. You will need to filter your list down to about 20 terms. Click on a cell in the row of headers for the data. Then go to the Data menu and click "Filter > Autofilter". Drop-down arrows will appear in the row of headers. You can now choose to filter the data. Click on the drop-down arrow for the column you wish to filter and choose "(Custom…)". A window will open giving you choices on how you want to filter. You must set these two filters: | ||
+ | Z Score (in column N) greater than 2 | ||
+ | PermuteP (in column O) less than 0.05 | ||
+ | |||
+ | :You will use these two filters depending on the number of terms you have: | ||
+ | |||
+ | Number Changed (in column I) greater than or equal to 4 or 5 AND less than 100 | ||
+ | Percent Changed (in column L) greater than or equal to 25-50% | ||
+ | |||
+ | * Save your changes to an Excel spreadsheet. Select File > Save As and select Excel workbook (.xls) from the drop-down menu. Your filter settings won’t be saved in a .txt file. | ||
+ | * '''Are any of your filtered GO terms closely related to one another, meaning are they a direct child or parent to another term in the list? You can judge this by comparing your spreadsheet with the MAPPFinder browser. Highlight the terms that fit this relationship with the same color in your Excel spreadsheet. Upload your .xls file to your journal page.''' | ||
+ | * '''Interpret your results. Look up the definitions for any GO terms that are unfamiliar to you. The "official" definitions for GO terms can be found at [http://www.geneontology.org http://www.geneontology.org]. You can use one of the online biological dictionaries as a supplement, if needed. Write a paragraph relating the results of this GO analysis to the experiment performed (comparing laboratory-grown and patient-derived ''Vibrio cholerae''. You need to give a biological interpretation of what do each of these GO terms in your filtered list have to to with the pathogenecity of the bacterium? You may consult with your partner on this, but your explanation on your individual journal page needs to be in your own words. This is where the real "brain power" comes in with interpreting DNA microarray data. Even experienced scientists struggle with this part. Use your creativity as a scientist to stretch your brain in this question.''' | ||
+ | * '''There is one other file you need to save to your journal page. It has a .gmf extension and should be in the same fold as the .gex file that you created with the GenMAPP Expression Dataset Manager. You will need this file to re-open your results in MAPPFinder.''' | ||
+ | |||
+ | == Conclusion == | ||
+ | |||
+ | * Write a paragraph that briefly summarizes and gives a scientific conclusion for the work that you did this week. | ||
== Links == | == Links == | ||
{{Template:Nanguiano}} | {{Template:Nanguiano}} |
Latest revision as of 22:58, 22 October 2015
Contents
- 1 Statistical Analysis of Vibrio cholerae Microarray Data (Part 1)
- 1.1 Files as of 10/22/15
- 1.2 Normalize the log ratios for the set of slides in the experiment
- 1.3 Perform statistical analysis on the ratios
- 1.4 Calculate the Bonferroni p value Correction
- 1.5 Calculate the Benjamini & Hochberg p value Correction
- 1.6 Prepare file for GenMAPP
- 1.7 Sanity Check: Number of genes significantly changed
- 1.8 Sanity Check: Compare individual genes with known data
- 2 MAPPFinder Analysis of Vibrio cholerae Microarray Data (Part 2)
- 3 Conclusion
- 4 Links
Statistical Analysis of Vibrio cholerae Microarray Data (Part 1)
Files as of 10/22/15
- Current Spreadsheet
- Text file for GenMAPP
- GenMAPP Errors File
- Expression Color Set
- MAPPFinder Gene Ontology Results
- Phosphoribosylformylglycinamidine Synthase Activity MAPP
Normalize the log ratios for the set of slides in the experiment
- The below instructions are from the Sample Microarray Analysis for Vibrio cholerae page hosted by OpenWetWare.org.
- First, I downloaded the data file from Open Wet Ware.
- To scale and center the data (between chip normalization), I performed the following operations:
- I inserted a new Worksheet into the Excel file, and name it "scaled_centered".
- In the "compiled_raw_data" worksheet, I pressed
Command + A
to select everything, and then copied it all. I pasted the information in the "scaled_centered" sheet. - I Inserted two rows in between the column headers and the first row of data.
- I typed "Average" in cell A2 and "StdDev" in cell A3.
- Now I needed to compute the Average Log Ration for each column. In cell B2, I typed the following equation:
=AVERAGE(B4:B5224)
- To compute the Standard Deviation, I typed the following equation in cell B3:
=STDEV(B4:B5224)
- To apply the formula to all of the columns, I dragged the small box on the bottom right-hand corner across each column to apply it to all columns.
- Next, I copied the column headings and pasted them to the right of C4to create a second set of headers. I edited the names of the columns so they read: A1_scaled_centered, A2_scaled_centered, etc.
- In cell N4 under the column titled "A1_scaled_centered", I typed the following equation:
=(B4-B$2)/B$3
- I clicked cell N4, then double-clicked the small box on the bottom right when the cursor turned into a plus so that it applied to every row in the column.
- I dragged the formula from N4 across the remaining columns to apply it to all of them, then applied the formula to all of the rows of the columns.
Perform statistical analysis on the ratios
- To perform the statistical analysis, I performed the following steps:
- First, I inserted a new worksheet and named it "statistics".
- I copied the first column from the "scaled_centered" worksheet (the column titled ID), then pasted the column into the new sheet.
- Back in the "scaled_centered" sheet, I copied all of the columns with "_scaled_centered" in the titles and pasted them using "Edit -> Paste Special -> Values" in the "statistics" sheet, starting at cell B1.
- Then, I deleted rows 2 and 3 from "statistics" (Average/StdDev).
- To the right of my "_scaled_centered" columns, I created three columns, titled "Avg_LogFC_A", "Avg_LogFC_B", and "Avg_LogFC_C".
- To compute the average log fold change for the replicates, I typed in cell N2 under "Avg_LogFC_A" the equation:
=AVERAGE(B2:E2)
- I applied the formula to the entire column, as well as to the next two columns.
- Now I needed to computer the average of the averages. In the column after "Avg_LogFC_C", I created a new column titled "Avg_LogFC_all". Under the column header, I typed the equation:
=AVERAGE(N2:P2)
- After applying the formula to the whole column, I created a new column called "Tstat" next to the "Avg_LogFC_all". Under this column header, I entered the following equation:
=AVERAGE(N2:P2)/(STDEV(N2:P2)/SQRT(3))
- I then applied it to all rows in the column.
- Next to the "Tstat" column, I labeled the next column "Pvalue". In the cell below the label, I entered the equation:
=TDIST(ABS(R2),2,2)
- Then, I applied the formula to all of the rows in the column.
Calculate the Bonferroni p value Correction
- I labeled the next two columns to the right of the "Pvalue" column with the same label, "Bonferroni_Pvalue".
- Under the first "Bonferroni_Pvalue" column, I typed the equation:
=S2*5221
- Then, I applied the formula to the whole column. In order to replace any corrected P value that was greater than 1 with the number 1, I typed the following formula under the header of the second "Bonferonni_Pvalue" column:
=IF(T2>1,1,T2)
. - I applied the formula to the whole column.
Calculate the Benjamini & Hochberg p value Correction
- To calculate the B&H p value correction, I began by creating a new worksheet and naming it "B-H_Pvalue".
- I coped and pasted the "ID" column from the "statistics" worksheet into the second column.
- I named the first column "MasterIndex". I typed a 1 in cell A2 and a 2 in cell A3, selected both cells, then double-clicked the box in the right-hand corner to fill the entire column.
- Using "Paste Special -> Values", I copied the Pvalue column from "statistics" into column C.
- I selected columns A, B, and C, and sorted by ascending order on Column C. To do this, I selected Data -> Sort. I sorted by column C, smallest to largest.
- In cell D1, I typed the header "Rank". This column will contain the p value rank, from smallest to largest. I repeated the same process that I used for the "MasterIndex" column in order to fill the column with numbers from 1 to 5,221.
- In column E1, I typed "B-H_Pvalue". In cell E2, I typed the formula:
=(C2*5221)/D2
- I applied the formula to the whole column.
- In cell F1, I typed "B-H_Pvalue".
- In cell F2, I typed the formula:
=IF(E2>1,1,E2)
- I copied that equation into the entire column.
- I sorted the columns in ascending order by the MasterIndex column, then copied column F (the adjusted B-H_Pvalues) and used Paste -> Paste Special to paste it in the statistics sheet to the right of the Bonferroni_Pvalue.
Prepare file for GenMAPP
- I inserted a new worksheet and name it "forGenMAPP".
- I copied everything from the statistics worksheet, and pasted it into the new worksheet using Paste -> Paste Special -> Values.
- Next, I began formatting the spreadsheet for GenMAPP.
- I selected Columns B through Q (all the fold changes), then selected Format -> Cells. Under the number tab, I selected 2 decimal places.
- Next, I selected Columns S through U (p values). I selected Format -> Cells, and under the number tab, selected 4 decimal places.
- I deleted column T, which was the left-most Bonferroni P value column, preserving the one that had the results of the If statement.
- To the right of the "ID" column, I inserted a column. I typed the header "SystemCode" into the top cell, and replaced the entire column with the letter "N".
- Lastly, I saved the file as a "Text (Tab-delimited) (*.txt)" file.
Sanity Check: Number of genes significantly changed
Now, I wanted to perform a sanity check to make sure I performed the analysis correctly.
- To begin, I opened the spreadsheet and went to the "forGenMAPP" tab.
- I selected cell A1, then selected Data -> Filter to activate the filter for each tab.
- On the "Pvalue" column, I selected the dropdown arrow and applied the following filters, recording the number of values that remained after filtering, as well as what percentage that is of the genes lie within the range.
- p < 0.05: 948 (18.15%)
- p < 0.01: 235 (4.50%)
- p < 0.001: 24 (0.45%)
- p < 0.0001: 2 (0.03%)
- After clearing the filter on the "Pvalue" column, I then moved to filter the Bonferroni and B-H P value columns. I performed the following filters, recording the same values as before (number and percentage).
- Bonferroni p < 0.05: 0 (0%)
- B&H p < 0.05: 0 (0%)
- Next, I filtered the "Avg_LogFC_all" column and recorded the number and percent of each search.
- p < 0.05 && Avg_LogFC_all > 0: 352 (6.74%)
- p < 0.05 && Avg_LogFC_all < 0: 596 (11.41%)
- p < 0.05 && Avg_LogFC_all > 0.25: 339 (6.49%)
- p < 0.05 && Avg_LogFC_all < -0.25: 579 (11.08%)
- What criteria did Merrell et al. (2002) use to determine a significant gene expression change? How does it compare to our method?
- Merrel et al. (2002) used a two-class SAM (statistical analysis for microarrays) analysis to determine a significant expression change. Genes with a twofold change in expression or more in all patents were considered significantly changed. This seems to indicate that they used the change in expression to help determine statistical significance, whereas we used p values to determine significance.
Sanity Check: Compare individual genes with known data
- Merrell et al. (2002) report that genes with IDs: VC0028, VC0941, VC0869, VC0051, VC0647, VC0468, VC2350, and VCA0583 were all significantly changed in their data. Look these genes up in your spreadsheet. What are their fold changes and p values? Are they significantly changed in our analysis?
MAPPFinder Analysis of Vibrio cholerae Microarray Data (Part 2)
Map Onto Biological Pathways (GenMAPP & MAPPFinder)
- The below instructions are from the GenMAPP and MAPPFinder Protocols page hosted by OpenWetWare.org.
Each time I launched GenMAPP, I needed to make sure I had the correct Gene Database (.gdb) loaded. The database I was using was Vc-Std_External_20101022.gdb, which I extracted prior to continuing.
- In the lower left hand corner of GenMAPP, it indicated that there was no database selected. I selected Data -> Choose Gene Database, then selected the .gdb file.
GenMAPP Expression Dataset Manager Procedure
- I selected Data -> Expression Dataset Manager, then chose Expression Dataset -> New Dataset. I selected the text file that I'd created (linked above) in the dialog box.
- In the window that appeared, I just hit "ok" to continue.
- The file reported 121 errors.
- In the EX.txt file, I opened it in excel and filtered by the "~Errors~" column. All 121 errors had the error message "Gene not found in OrderedLocusNames or any related system."
- My partner, Emily Simso, had 772 errors. This is likely due to the names that were used for the genes. Since the file I used was newer, it's possible that the gene names were changed. Additionally, since the file I'm using was created by Dr. Dahlquist and Dr. Dionisio, it's possible that they knew the proper names and protocol to use to ensure the most successful files.
- Now, I needed to customize the color set for GenMAPP. Under the "Color Sets" "Name" header, I named it "Significant Genes" and selected "Avg_LogFC_All" under the Gene Value dropdown. I created two criterion that I was going to color:
- "Increased": [Avg_LogFC_all] > 0.25 AND [Pvalue] < 0.05
- "Decreased": [Avg_LogFC_all] < -0.25 AND [Pvalue] < 0.05
- To create the criteria, I selected "New" under Criteria Builder. I entered the name, then selected a color. For "Increased", I used a magenta pink color, and for "Decreased", I used a cyan blue color. Then, I wrote in the criteria, selecting the first part of the expression under the "Columns" section, selecting the operation under the "Ops" column, and then typing in the number. I used the operation "AND" between the two pieces of the expression.
- Lastly, I saved the expression dataset by selecting Expression Datasets -> Save, then exited.
MAPPFinder Procedure
- Next, I needed to use MAPPFinder to look at decreased expression. I selected Tools -> MAPPFinder to launch the program.
- I selected "Calculate New Results", then selected "Find File" and selected the ".gex" file that had been produced in the last step.
- I close the Color Set "Significant Genes", and filtered by "Decreased".
- I checked the boxes "Gene Ontology" and "Click here to calculate p values", then hit "Browse", and selected where I would save the new file, as well as gave it a name.
- Then, I hit "Run MAPPFinder".
- I selected "Show Ranked List" after the Gene Ontology Browser opened. The top 10 GO terms were listed below:
- glucose catabolic process
- hexose catabolic process
- glycolysis
- monosaccharide catabolic process
- cytoplasm
- alcohol catabolic process
- cellular carbohydrate catabolic process
- glucose metabolic process
- protein folding
- hexose metabolic process
- Compare your list with your partner who used a different version of the Gene Database. Are your terms the same or different? Why do you think that is? Record your answer in your individual journal entry.
- In the MAPPFinder Browser window, I selected "Collapse Tree". To search for a gene, I typed the gene ID into the "Search for a specific Gene ID" input box, then selected "OrderedLocusNames" in the "Select Gene ID type" dropdown. I searched for the following terms, and recorded the corresponding GO terms:
- VC0028:
- GO Terms: branched chain family amino acid biosynthetic process, cellular amino acid biosynthetic process, metabolic process, metal ion binding, iron-sulfur cluster binding, 4 iron, 4 sulfur cluster binding, catalytic activity, lyase activity, dihydroxy-acid dehydratase activity
- VC0941:
- GO Terms: glycine metabolic process, L-serine metabolic process, one-carbon metabolic process, cytoplasm, pyridoxal phosphate binding, catalytic activity, transferase activity, glycine hydroxymethyltransferase activity,
- VC0869:
- GO Terms: glutamine metabolic process, purine nucleotide biosynthetic process, 'de novo' IMP biosynthetic process, cytoplasm, nucleotide binding, ATP binding, catalytic activity, ligase activity, phosphoribosylformyglycinamidine synthase activity
- VC0051:
- GO Terms: purine nucleotide biosynthetic process, 'de novo' IMP biosynthetic process, nucleotide binding, ATP binding, catalytic activity, lyase activity, carboxy-lyase activity, phosphoribosylaminoimidazole carboxylase activity
- VC0647:
- GO Terms: mRNA catabolic process, RNA processing, cytoplasm, mitochondion, RNA binding, 3'-5'-exoribonuclease activity, transferase activity, nucleotidyltransferase activity, polyribonucleotide nuclotidyltransferase activity
- VC0468:
- GO Terms: glutathione biosynthetic process, metal ion binding, nucloetide binding, ATP binding, catalytic activity, ligase activity, glutathione synthase activity
- VC2350:
- GO Terms: deoxyribonucleotide catabolic process, metabolic process, cytoplasm, catalytic activity, lyase activity, deoxyribose-phosphase aldolase activity
- VCA0583:
- GO Terms: transport, outer membrane-bounded periplasmic space, transporter activity
- VC0028:
- The GO Terms I found were not the same as the ones my partner found.
- Searching for VC0869 again, I double-clicked the GO term "phosphoribosylformyglycinamidine synthase activity". This opened a window showing what genes went under that category. The expression did change significantly, in that the expression was increased.
- I double-clicked the gene, named PUR4_VIBCH.
- The function of this gene, according to NCBI, the function of the gene is to "catalyze the formation of 2-(formamido)-N1-(5-phospho-D-ribosyl)acetamidine from N2-formyl-N1-(5-phospho-D-ribosyl)glycinamide and L-glutamine in purine biosynthesis"
- I double-clicked the gene, named PUR4_VIBCH.
- Launch Microsoft Excel. Open the copies of the .txt files in Excel (you will need to "Show all files" and click "Finish" to the wizard that will open your file). This will show you the same data that you saw in the MAPPFinder Browser, but in tabular form.
- Look at the top of the spreadsheet. There are rows of information that give you the background information on how MAPPFinder made the calculations. Compare this information with your partner who used a different version of the Vibrio Gene Database. Which numbers are different? Why are they different? Record this information in your individual journal entry.
- You will filter this list to show the top GO terms represented in your data for both the "Increased" and "Decreased" criteria. You will need to filter your list down to about 20 terms. Click on a cell in the row of headers for the data. Then go to the Data menu and click "Filter > Autofilter". Drop-down arrows will appear in the row of headers. You can now choose to filter the data. Click on the drop-down arrow for the column you wish to filter and choose "(Custom…)". A window will open giving you choices on how you want to filter. You must set these two filters:
Z Score (in column N) greater than 2 PermuteP (in column O) less than 0.05
- You will use these two filters depending on the number of terms you have:
Number Changed (in column I) greater than or equal to 4 or 5 AND less than 100 Percent Changed (in column L) greater than or equal to 25-50%
- Save your changes to an Excel spreadsheet. Select File > Save As and select Excel workbook (.xls) from the drop-down menu. Your filter settings won’t be saved in a .txt file.
- Are any of your filtered GO terms closely related to one another, meaning are they a direct child or parent to another term in the list? You can judge this by comparing your spreadsheet with the MAPPFinder browser. Highlight the terms that fit this relationship with the same color in your Excel spreadsheet. Upload your .xls file to your journal page.
- Interpret your results. Look up the definitions for any GO terms that are unfamiliar to you. The "official" definitions for GO terms can be found at http://www.geneontology.org. You can use one of the online biological dictionaries as a supplement, if needed. Write a paragraph relating the results of this GO analysis to the experiment performed (comparing laboratory-grown and patient-derived Vibrio cholerae. You need to give a biological interpretation of what do each of these GO terms in your filtered list have to to with the pathogenecity of the bacterium? You may consult with your partner on this, but your explanation on your individual journal page needs to be in your own words. This is where the real "brain power" comes in with interpreting DNA microarray data. Even experienced scientists struggle with this part. Use your creativity as a scientist to stretch your brain in this question.
- There is one other file you need to save to your journal page. It has a .gmf extension and should be in the same fold as the .gex file that you created with the GenMAPP Expression Dataset Manager. You will need this file to re-open your results in MAPPFinder.
Conclusion
- Write a paragraph that briefly summarizes and gives a scientific conclusion for the work that you did this week.
Links
Nicole Anguiano
BIOL 367, Fall 2015
Assignment Links
- Week 1 Assignment
- Week 2 Assignment
- Week 3 Assignment
- Week 4 Assignment
- Week 5 Assignment
- Week 6 Assignment
- Week 7 Assignment
- Week 8 Assignment
- Week 9 Assignment
- Week 10 Assignment
- Week 11 Assignment
- Week 12 Assignment
- Week 14 Assignment
- Week 15 Assignment
Individual Journals
- Individual Journal Week 2
- Individual Journal Week 3
- Individual Journal Week 4
- Individual Journal Week 5
- Individual Journal Week 6
- Individual Journal Week 7
- Individual Journal Week 8
- Individual Journal Week 9
- Individual Journal Week 10
- Individual Journal Week 11
- Individual Assessment
- Deliverables