Difference between revisions of "Nanguiano Week 9"

From LMU BioDB 2015
Jump to: navigation, search
(Export Information: added gdb export info)
(Add link to week 9 files)
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Running GenMAPP Builder ==
 
== Running GenMAPP Builder ==
 +
 +
* The following zip file contains all of the files from this export and QA: [[Media:Week9_Files_NA.zip|Week 9 Files]]
  
 
I followed the process from the [[Running_GenMAPP_Builder | Running GenMAPP Builder Tutorial Page]].
 
I followed the process from the [[Running_GenMAPP_Builder | Running GenMAPP Builder Tutorial Page]].
Line 48: Line 50:
 
** Note: ''None''
 
** Note: ''None''
  
Name of .gdb file (give filename and upload and link to compressed file):  
+
Name of .gdb file (give filename and upload and link to compressed file): [[Media:Vc-Std_20160916_NA.zip|Vc-Std_20160916_NA.gdb]]
 
* Time taken to export: '''5.15 hours'''
 
* Time taken to export: '''5.15 hours'''
 
** Start time: '''09/16/16, 12:26:08 PM'''
 
** Start time: '''09/16/16, 12:26:08 PM'''
Line 55: Line 57:
  
 
===TallyEngine===
 
===TallyEngine===
 
+
* The procedure for Tally Engine and the rest of the checks is transcribed from  [[How_Do_I_Count_Thee%3F_Let_Me_Count_The_Ways|How Do I Count Thee? Let me Count The Ways]].
* Run the TallyEngine in GenMAPP Builder and record the number of records for UniProt and GO in the XML data and in the Postgres databases.
+
* I ran TallyEngine in GenMAPP Builder to record the number of records for UniProt and GO in the XML data and in the Postgres databases.
** Choose the menu item Tallies > Run XML and Database Tallies for UniProt and GO...
+
** I chose the menu item Tallies > Run XML and Database Tallies for UniProt and GO...
** Take a screenshot of the results.  Upload the image to the wiki and display it on this page.
+
[[Image:Tallyengine_Vcholerae_results_NA.png]]
** For more information, [[How_Do_I_Count_Thee%3F_Let_Me_Count_The_Ways | see this page.]]
+
** Count for Ordered Locus: 3,831
  
 
=== Using XMLPipeDB match to Validate the XML Results from the TallyEngine===
 
=== Using XMLPipeDB match to Validate the XML Results from the TallyEngine===
  
[[How_Do_I_Count_Thee%3F_Let_Me_Count_The_Ways | Follow the instructions found on this page to run XMLPipeDB match.]]
+
* After entering into the directory containing the match utility and the uniprot xml file, I ran the command
 
+
java -jar xmlpipedb-match-1.1.1.jar "VC_[0-9][0-9][0-9][0-9]" < uniprot-organism%3A243277.xml
Are your results the same as you got for the TallyEngine?  Why or why not?
+
* It returned a total of 2,738 unique matches.
 +
[[Image:Xmlpipedb_match_results_NA.png]]
 +
* My results were not the same as my results for Tally Engine. Tally Engine returned 3,789 unique matches, while this returned 2,738. This is likely due to potentially due to differently formatted names in the xml file, as we are only checking for names in the structure VC_####.
  
 
=== Using SQL Queries to Validate the PostgreSQL Database Results from the TallyEngine===
 
=== Using SQL Queries to Validate the PostgreSQL Database Results from the TallyEngine===
  
For more information, [[How_Do_I_Count_Thee%3F_Let_Me_Count_The_Ways | see this page.]]
+
*Next, I checked the values in SQL to see if they would validate the results from Tally Engine or the match utility.
 
+
* In PgAdminIII, I ran the command:  
You can also look for counts at the SQL level, using some variation of a ''select count(*)'' query.  This requires some knowledge of which table received what data.  Here&rsquo;s an initial tip: the ''gene/name'' tags in the XML file land in the ''genenametype'' table. A query on this table counting values from this table that were marked as ''ordered locus'' in the XML file matching the pattern ''VC_[0-9][0-9][0-9][0-9]'' would look like this:
+
 
+
 
  select count(*) from genenametype where type = 'ordered locus' and value ~ 'VC_[0-9][0-9][0-9][0-9]';
 
  select count(*) from genenametype where type = 'ordered locus' and value ~ 'VC_[0-9][0-9][0-9][0-9]';
 
+
[[Image:SQL_Query_Results_NA.png]]
In ''pgAdmin III'', you can issue these queries by clicking on the pencil/SQL icon in the toolbar, typing the query into the ''SQL Editor'' tab, then clicking on the green triangular ''Play'' button to run.
+
* The results were not the same as the ones reported by Tally Engine, nor were they the same as the ones reported by the match utility. It returned 2,737 matches, one less than the result returned by the match utility. While it is less than the Tally Engine perhaps due to a different naming convention, I don't fully understand why it would be off by one from the match utility.
 
+
[[Image:Pgadminiii-query.png]]
+
 
+
Are your results the same as reported by the TallyEngine?  Why or why not?
+
  
 
===OriginalRowCounts Comparison===
 
===OriginalRowCounts Comparison===
  
Within the .gdb file, look at the OriginalRowCounts table to see if the database has the expected tables with the expected number of records. Compare the tables and records with a benchmark .gdb file.
+
* Within the .gdb file, I looked at the OriginalRowCounts table to see if the database had the expected tables with the expected number of records. I compared it with a benchmark .gdb file.
 +
* Benchmark .gdb file (2010): [[Media:Vc-Std_External_20101022.gdb|Vc-Std_External_20101022]]
  
Benchmark .gdb file:
+
*Original GDB:
 +
<gallery>
 +
Image:Week9_Benchmark_gdb_tables_1_NA.png
 +
Image:Week9_Benchmark_gdb_tables_2_NA.png
 +
</gallery>
  
Copy the OriginalRowCounts table from the benchmark and new gdb and paste them here:
+
*New GDB:
 +
<gallery>
 +
Image:Week9_New_gdb_tables_1_NA.png
 +
Image:Week9_New_gdb_tables_2_NA.png
 +
</gallery>
  
Note:
+
* The new gdb had 10 additional tables.
 +
* The have the same number of OrderedLocusNames, 7,664, but most of the other values are different.
  
 
===Visual Inspection===
 
===Visual Inspection===
Line 96: Line 104:
  
 
* Look at the Systems table. Is there a date in the Date field for all gene ID systems present in the database?
 
* Look at the Systems table. Is there a date in the Date field for all gene ID systems present in the database?
 +
** No. The majority of systems to not have a date included in their date field.
 
* Open the UniProt, RefSeq, and OrderedLocusNames tables. Scroll down through the table. Do all of the IDs look like they take the correct form for that type of ID?
 
* Open the UniProt, RefSeq, and OrderedLocusNames tables. Scroll down through the table. Do all of the IDs look like they take the correct form for that type of ID?
 
+
** The UniProt IDs all look correct.
Note:
+
** The RefSeq IDs also all look correct.
 +
** The IDs in OrderedLocusNames appear to take two forms: one which is of the form VC_####, and one of the form VC_A####. This seems to prove the hypothesis that the difference between Tally Engine and the match/SQL results was due to a difference in searched names.
 +
*** To test this, the command <code>java -jar xmlpipedb-match-1.1.1.jar "VC_A?[0-9][0-9][0-9][0-9]" < uniprot-organism%3A243277.xml</code> returns  3,831 unique matches, the same as the Tally Engine. Running the command <code>select count(*) from genenametype where type = 'ordered locus' and value ~ 'VC_A?[0-9][0-9][0-9][0-9';</code> in SQL also returns 3,831. Therefore, I am decently confident that this was the reason the utilities were returning different results. I am still uncertain as to why SQL returned one less value than the match utility at first, before this new filter.
  
 
===.gdb Use in GenMAPP===
 
===.gdb Use in GenMAPP===
 
<!--Need to add more instructions here.-->
 
 
While the above sections perform quality assurance on the exported Gene Database via verifying ID counts, the "proof in the pudding" is to actually use the Gene Database in GenMAPP.  You can follow the instructions in [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols Part 2 of the ''Vibrio cholerae'' Microarray Data Analysis] to verify that the Gene Database works in GenMAPP.  In this case, the emphasis is not on the findings of the data analysis itself, but that the Gene Database functions appropriate in GenMAPP.
 
 
For assistance with using the GenMAPP program, the GenMAPP Help is very extensive.  To access it within GenMAPP, go to the menu item Help > GenMAPP Help and either browse or search for your topic of interest.
 
 
Note:
 
  
 
====Putting a gene on the MAPP using the GeneFinder window====
 
====Putting a gene on the MAPP using the GeneFinder window====
  
* In the main GenMAPP Drafting Board window, left-click on the icon for "Gene" in the upper left corner of the window.  Click on the Drafting Board to place the Gene on the MAPP.  Now, right-click on the gene to access the GeneFinder window.  Type or paste a gene ID into the Gene ID field.  Select the appropriate Gene ID system from the drop-down menu and click the Search button.  For example, for ''Vibrio cholerae'', you could search for the ID "VC0028", which is an OrderedLocusNames ID.  Once the ID has been found, click the OK button to return to the Drafting Board window.
+
* In the main GenMAPP Drafting Board window, left-click on the icon for "Gene" in the upper left corner of the window.  Click on the Drafting Board to place the Gene on the MAPP.  Now, right-click on the gene to access the GeneFinder window.  Type or paste a gene ID into the Gene ID field.  Select the appropriate Gene ID system from the drop-down menu and click the Search button.   
** For the Final Project, you will need to try a sample ID from each of the gene ID systems, not just OrderedLocusNames.  
+
** I chose the Gene ID "VC0017" from the "OrderedLocusNames" system.  
* Open the Backpage by left-clicking on the gene box on the Drafting Board to see if all of the cross-referenced IDs that are supposed to be there are there.
+
* Double-clicking the gene to get the backpage returned the following webpage:
 
+
[[Image:Week9_VC0017_Backpage_NA.png]]
Note:
+
* All crosslinks that were supposed to be present were present.  
  
 
====Creating an Expression Dataset in the Expression Dataset Manager====
 
====Creating an Expression Dataset in the Expression Dataset Manager====
  
* How many of the IDs were imported out of the total IDs in the microarray dataset? How many exceptions were there? Look in the EX.txt file and look at the error codes for the records that were not imported into the Expression Dataset. Do these represent IDs that were present in the UniProt XML, but were somehow not imported? or were they not present in the UniProt XML?
+
* The following instructions came from [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols|The GenMAPP and MAPPFinder Protocols on OpenWetWare].
  
Note:
+
* I selected "Data" then "Expression Dataset Manager". I selected "Expression Dataset" then "New Dataset". I first attempted using the tab-delineated text file [[Media:Merrell_Compiled_Raw_Data_Vibrio_NA_20151015_GenMAPP.txt| I had created last year]], but it would not function properly with GenMAPP. I defaulted to using a file I was certain functioned properly, the Merrel compiled raw data from [[Media:Week8HW-AV.zip|Anu Varshneya's Week 8 Files]].
 +
* No columns contained text, so I selected "Ok", and waited for the raw expression data to be converted.
 +
** '''121 errors were detected in the raw data'''.
 +
** All of the error codes in the file stated ''Gene not found in OrderedLocusNames or any related system''.
 +
** 5,221 total IDs were imported.
 +
** I checked the UniProt-OrderedLocusNames table for four genes listed as errors: VC2209, VC2338, VCA0595, and VC0284. None of them were found in the table. From this, it can be assumed that the missing genes are not part of the UniPort XML.
 +
* I typed in "AvgLogFCAll" as the Name of the Color Set, and selected "Avg_LogFC_All" as the gene value.
 +
* I defined two criteria:
 +
** Increased: <code>[Avg_LogFC_all] > 0.25 AND [Pvalue] < 0.05</code>, Color: Green
 +
** Decreased: <code>[Avg_LogFC_all] < -0.25 AND [Pvalue] < 0.05</code>, Color: Red
 +
* Then, I selected "Expression Datasets" -> "Save".
  
 
====Coloring a MAPP with expression data====
 
====Coloring a MAPP with expression data====
  
Note:
+
* I launched the MAPPFinder tool from Tools -> MAPPFinder. Then I selected "Calculate New Results". The .gex file was correct, so I hit "Ok."
 +
* I selected the color set "AvgLogFCAll", and the Criteria "Increased". I selected the box next to "Gene Ontology" and "Click here to calculate p values".
 +
* I chose to save the results as "MAPPFinder-Increased-09162016-NA". Then I selected "Run MAPPFinder".
  
 
====Running MAPPFinder====
 
====Running MAPPFinder====
  
Note:
+
* After running MAPPFinder, these were my main results:
 +
[[Image:Week9_MAPPFinder_01_Main_NA.png]]
 +
* Opening the biological process dropdown gave this result:
 +
[[Image:Week9_MAPPFinder_BioProc_NA.png]]
 +
* I attempted to open one of the processes in MAPPFinder but obtained the following error:
 +
[[Image:Week9_MAPPFinder_Error_NA.png]]
 +
* Selecting Show Ranked List showed the following result:
 +
[[Image:Week9_MAPPFinder_GO_results_NA.png]]
  
 
== Links ==
 
== Links ==
 
{{Template:Nanguiano}}
 
{{Template:Nanguiano}}

Latest revision as of 04:43, 17 September 2016

Running GenMAPP Builder

  • The following zip file contains all of the files from this export and QA: Week 9 Files

I followed the process from the Running GenMAPP Builder Tutorial Page.

Software

The following software was utilized:

  1. Any tool that can unpack .gz and .zip files
  2. PostgreSQL on Windows (http://www.enterprisedb.com/products-services-training/pgdownload)
  3. GenMAPP Builder version 3.0.0 build 5 (https://github.com/lmu-bioinformatics/xmlpipedb/releases)
  4. Java JDK 1.8 64-bit
  5. GenMAPP 2 can be downloaded here. The file to download is "GenMAPPv2Setup.exe".
  6. XMLPipeDB match utility (https://sourceforge.net/projects/xmlpipedb/files/) for counting IDs in XML files
  7. Microsoft Access or any other tool that can read .mdb files

Quality Assurance

The template for this information was taken from the Gene Database Testing Report Sample Page.

Export Information

Version of GenMAPP Builder: 3.0.0 build 5

Computer on which export was run: Seaver 120-14, HP LV2311 Windows 7 Enterprise

Postgres Database name: V_Cholerae_20160916_gmbuilder03b5

UniProt XML filename (give filename and upload and link to compressed file): uniprot-organism%3A243277.xml

GO OBO-XML filename (give filename and upload and link to compressed file): go_daily-termdb.obo-xml

GOA filename (give filename and upload and link to compressed file): 46.V_cholerae_ATCC_39315.goa

Name of .gdb file (give filename and upload and link to compressed file): Vc-Std_20160916_NA.gdb

  • Time taken to export: 5.15 hours
    • Start time: 09/16/16, 12:26:08 PM
    • End time: 09/16/16, 7:16:23 PM
      • Note: There was a time during the export in which the computer was locked and not running the export, from 2:56pm - 4:19pm.

TallyEngine

  • The procedure for Tally Engine and the rest of the checks is transcribed from How Do I Count Thee? Let me Count The Ways.
  • I ran TallyEngine in GenMAPP Builder to record the number of records for UniProt and GO in the XML data and in the Postgres databases.
    • I chose the menu item Tallies > Run XML and Database Tallies for UniProt and GO...

Tallyengine Vcholerae results NA.png

    • Count for Ordered Locus: 3,831

Using XMLPipeDB match to Validate the XML Results from the TallyEngine

  • After entering into the directory containing the match utility and the uniprot xml file, I ran the command
java -jar xmlpipedb-match-1.1.1.jar "VC_[0-9][0-9][0-9][0-9]" < uniprot-organism%3A243277.xml
  • It returned a total of 2,738 unique matches.

Xmlpipedb match results NA.png

  • My results were not the same as my results for Tally Engine. Tally Engine returned 3,789 unique matches, while this returned 2,738. This is likely due to potentially due to differently formatted names in the xml file, as we are only checking for names in the structure VC_####.

Using SQL Queries to Validate the PostgreSQL Database Results from the TallyEngine

  • Next, I checked the values in SQL to see if they would validate the results from Tally Engine or the match utility.
  • In PgAdminIII, I ran the command:
select count(*) from genenametype where type = 'ordered locus' and value ~ 'VC_[0-9][0-9][0-9][0-9]';

SQL Query Results NA.png

  • The results were not the same as the ones reported by Tally Engine, nor were they the same as the ones reported by the match utility. It returned 2,737 matches, one less than the result returned by the match utility. While it is less than the Tally Engine perhaps due to a different naming convention, I don't fully understand why it would be off by one from the match utility.

OriginalRowCounts Comparison

  • Within the .gdb file, I looked at the OriginalRowCounts table to see if the database had the expected tables with the expected number of records. I compared it with a benchmark .gdb file.
  • Benchmark .gdb file (2010): Vc-Std_External_20101022
  • Original GDB:
  • New GDB:
  • The new gdb had 10 additional tables.
  • The have the same number of OrderedLocusNames, 7,664, but most of the other values are different.

Visual Inspection

Perform visual inspection of individual tables to see if there are any problems.

  • Look at the Systems table. Is there a date in the Date field for all gene ID systems present in the database?
    • No. The majority of systems to not have a date included in their date field.
  • Open the UniProt, RefSeq, and OrderedLocusNames tables. Scroll down through the table. Do all of the IDs look like they take the correct form for that type of ID?
    • The UniProt IDs all look correct.
    • The RefSeq IDs also all look correct.
    • The IDs in OrderedLocusNames appear to take two forms: one which is of the form VC_####, and one of the form VC_A####. This seems to prove the hypothesis that the difference between Tally Engine and the match/SQL results was due to a difference in searched names.
      • To test this, the command java -jar xmlpipedb-match-1.1.1.jar "VC_A?[0-9][0-9][0-9][0-9]" < uniprot-organism%3A243277.xml returns 3,831 unique matches, the same as the Tally Engine. Running the command select count(*) from genenametype where type = 'ordered locus' and value ~ 'VC_A?[0-9][0-9][0-9][0-9'; in SQL also returns 3,831. Therefore, I am decently confident that this was the reason the utilities were returning different results. I am still uncertain as to why SQL returned one less value than the match utility at first, before this new filter.

.gdb Use in GenMAPP

Putting a gene on the MAPP using the GeneFinder window

  • In the main GenMAPP Drafting Board window, left-click on the icon for "Gene" in the upper left corner of the window. Click on the Drafting Board to place the Gene on the MAPP. Now, right-click on the gene to access the GeneFinder window. Type or paste a gene ID into the Gene ID field. Select the appropriate Gene ID system from the drop-down menu and click the Search button.
    • I chose the Gene ID "VC0017" from the "OrderedLocusNames" system.
  • Double-clicking the gene to get the backpage returned the following webpage:

Week9 VC0017 Backpage NA.png

  • All crosslinks that were supposed to be present were present.

Creating an Expression Dataset in the Expression Dataset Manager

  • I selected "Data" then "Expression Dataset Manager". I selected "Expression Dataset" then "New Dataset". I first attempted using the tab-delineated text file I had created last year, but it would not function properly with GenMAPP. I defaulted to using a file I was certain functioned properly, the Merrel compiled raw data from Anu Varshneya's Week 8 Files.
  • No columns contained text, so I selected "Ok", and waited for the raw expression data to be converted.
    • 121 errors were detected in the raw data.
    • All of the error codes in the file stated Gene not found in OrderedLocusNames or any related system.
    • 5,221 total IDs were imported.
    • I checked the UniProt-OrderedLocusNames table for four genes listed as errors: VC2209, VC2338, VCA0595, and VC0284. None of them were found in the table. From this, it can be assumed that the missing genes are not part of the UniPort XML.
  • I typed in "AvgLogFCAll" as the Name of the Color Set, and selected "Avg_LogFC_All" as the gene value.
  • I defined two criteria:
    • Increased: [Avg_LogFC_all] > 0.25 AND [Pvalue] < 0.05, Color: Green
    • Decreased: [Avg_LogFC_all] < -0.25 AND [Pvalue] < 0.05, Color: Red
  • Then, I selected "Expression Datasets" -> "Save".

Coloring a MAPP with expression data

  • I launched the MAPPFinder tool from Tools -> MAPPFinder. Then I selected "Calculate New Results". The .gex file was correct, so I hit "Ok."
  • I selected the color set "AvgLogFCAll", and the Criteria "Increased". I selected the box next to "Gene Ontology" and "Click here to calculate p values".
  • I chose to save the results as "MAPPFinder-Increased-09162016-NA". Then I selected "Run MAPPFinder".

Running MAPPFinder

  • After running MAPPFinder, these were my main results:

Week9 MAPPFinder 01 Main NA.png

  • Opening the biological process dropdown gave this result:

Week9 MAPPFinder BioProc NA.png

  • I attempted to open one of the processes in MAPPFinder but obtained the following error:

Week9 MAPPFinder Error NA.png

  • Selecting Show Ranked List showed the following result:

Week9 MAPPFinder GO results NA.png

Links

Nicole Anguiano
BIOL 367, Fall 2015

Assignment Links
Individual Journals
Shared Journals