Blitvak Week 9

From LMU BioDB 2015
Revision as of 03:25, 1 November 2015 by Blitvak (Talk | contribs) (quality analysis sections added)

Jump to: navigation, search

Initial Preparations

List of required programs was initially sourced from the Running GenMAPP Builder page

One of the final goals is to perform an export of a Vibrio cholerae GenMAPP Gene Database

In preparation for this assignment, it was ensured that these programs were installed on a Windows workstation:

Downloading the Required Files

List of required files was initially sourced from the Running GenMAPP Builder page

Retrieving the UniProt XML file, Performed on 10/27

  • The UniProt Complete Proteomes page was entered
  • The Superkingdom Bacteria was selected and Reference proteome was clicked on (72 results currently)
  • "vibrio cholerae" was added to the search bar and search was clicked upon. The results were filtered to the only proteome of interest (Vibrio cholerae serotype O1 (strain ATCC 39315 / El Tor Inaba N16961))
  • The result was clicked upon and, on the result page, UniProtKB was clicked upon in the "Map to" section (on left of the page)
  • On the UniProtKB results page, Download was clicked; in the box that appeared, download all was selected, the format was set to XML, and the file was set to be compressed.

Retrieving the GOA file, Performed on 10/27

  • The UniProt-GOA ftp site was entered
  • The link to the "proteomes" directory was clicked in the main directory
  • In "proteomes", the file V_cholerae_ATCC_39315.goa was searched for, found, and downloaded by using right-click with "Save link as"

Retrieving the GO OBO-XML file, Performed on 10/27

Downloading/Updating GenMAPP Builder,Performed on 10/27

Export Process

Creating a New Database in PostgreSQL

Creating a new database in PostgreSQL

  • pgAdmin III was launched and a connection to the server was made. "Databases" was right clicked and select "New Database..." was chosen. The database was given a name, V.cholerae_20151027_gmb3build5, and OK was clicked.
  • The new database was selected and the Query Tool was launched. Open File was clicked in the Query Tool and gmbuilder.sql in the gmbuilder-3.0.0-build-5 folder (within the sql folder) was selected. Upon selection of that file, a query was loaded into Query Tool and it was subsequently executed by clicking the green "Execute Query" arrow
  • This query populates the created database with all of its tables. In order to ensure that the query properly worked, it was checked under Database Name -> Schemas -> Public -> Tables, that there were 167 tables total.

Importing Data

  • gmbuilder.bat in the gmbuilder folder was launched
  • Under file -> configure database, the host was left as localhost, the port number was left as 5432, database name was set to V.cholerae_20151027_gmb3build5, Username was set to BL, Password was set to the password of the PostgreSQL database that was recently created. OK was clicked.

Data Import into V.cholerae_20151027_gmb3build5

  • File -> Import UniProt XML was selected
    • The UniProt XML file that was previously extracted was chosen, open was clicked. The import process was allowed to proceed uninterrupted.
  • File -> Import GO OBO-XML was selected
    • The GO OBO-XML that was previously extracted was chosen, open was clicked. The import process was allowed to proceed uninterrupted.
  • File -> Import GOA was selected
    • The GOA file that was downloaded previously was chosen, open was clicked, and the import process was allowed to proceed uninterrupted.

Exporting a GenMAPP Gene Database (.gdb file)

  • File -> Export to GenMAPP Gene Database was selected
  • BL was typed into the Owner field. The species of interest was selected for export (V. cholerae)
  • Next was clicked, the create GenMAPP database file/location was selected, and the boxes for the exporting of Molecular Function, Cellular Component, and Biological Process Gene Ontology Terms were left checked. The export process was initialized by clicking next; the windows were left open for the program to continue and finish with the export process (was estimated to take somewhere between 1-2 hrs).

Gene Database Testing Report

Export Information

Version of GenMAPP Builder: 3.0.0-build-5

Computer on which export was run: Workstation in Seaver 120

Postgres Database name: V.cholerae_20151027_gmb3build5

UniProt XML filename: compressed uniprot-organism%3A243277_BL_20151027.xml

GO OBO-XML filename: compressed BL_20151027_go_daily-termdb.obo-xml

  • GO OBO-XML version (derived from the date modified on the file, itself): Date modified - 10/27/2015 2:24 AM
  • GO OBO-XML download link: GO website
  • Time taken to import: 6.98 minutes
  • Time taken to process: 4.54 minutes
    • Note: Import times were as expected; nothing unusual occurred during the import process.

GOA filename: compressed 46.V_cholerae_ATCC_39315_BL_20151027.goa

  • GOA version (taken from here: Last Update - 13-Oct-2015 07:31
  • GOA download link: link
  • Time taken to import: 0.06
    • Note: Import times were as expected; nothing unusual occurred during the import process.

Name of .gdb file: compressed Vc-Std_20151027_BL.gdb

  • Time taken to export: one hour and nineteen minutes
    • Start time: 3:56
    • End time: 5:15

Note: Export times were as expected; nothing unusual occurred during the export process. Program windows, however, were closed by the time the export product was observed; the time taken to export was found out by observing the time on the Date Modified part of the produced file. The found end time was in line with the times found by others (ranged around an hour and 15 minutes)

Analyzing the Quality of the Exported Gene Database

Using TallyEngine

  • PostgreSQL was initialized through pgAdmin III and the database V.cholerae_20151027_gmb3build5 was left running
  • GenMAPP builder was booted and Run XML and Database Tallies for UniProt and GO was selected under the Tallies menu item; the UniProt XML and GO files that were imported were chosen

Using XMLPipeDB match to Validate the XML Results from TallyEngine

  • The Windows command line was launched (cmd.exe)
  • This set of commands was inputted into the command line in order to utilize XMLPipeDB match:

java -jar xmlpipedb-match-1.1.1.jar "VC_[0-9][0-9][0-9][0-9]" < uniprot-taxonomy%3A243277.xml

    • 2738 unique matches were found through XMLPipeDB match

Are your results the same as you got for the TallyEngine? Why or why not?

  • These results are not the same as what was found using TallyEngine (3789 results were found through TallyEngine)

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

  • pgAdmin III was booted and all of the necessary connections were made
  • It was realized that the gene/name tags in the XML file end up in the genenametype table (source: the wiki page regarding database quality analysis
  • In pgAdmin III, the query select count(*) from genenametype where type = 'ordered locus' and value ~ 'VC_[0-9][0-9][0-9][0-9]'; was issued via the SQL Query menu in order to further validate the PostgreSQL Database Results according to TallyEngine
    • 2737 unique matches were found in pgAdmin III (postgres database results)

Using Microsoft Access to check the counts

  • The exported Vc-Std_20151027_BL.gdb file was opened using Microsoft Access











For more information, see this page.

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’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]';

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.

Are your results the same as reported by the TallyEngine? Why or why not?

  • 2737 unique matches were found in pgAdmin III (postgres database counts)

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.

Benchmark .gdb file:

7664 unique matches found using Microsoft Access


Copy the OriginalRowCounts table from the benchmark and new gdb and paste them here:

Note: Some IDs have underscores, some have four numbers, and some have the letter A

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?
  • 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?

Note: select count(*) from genenametype where type = 'ordered locus' and value ~ 'VC_A?[0-9][0-9][0-9][0-9]';

.gdb Use in GenMAPP

Note:

Putting a gene on the MAPP using the GeneFinder window

  • Try a sample ID from each of the gene ID systems. Open the Backpage and see if all of the cross-referenced IDs that are supposed to be there are there.

Note:

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?

Note:

Coloring a MAPP with expression data

Note:

Running MAPPFinder

Note:


Compare Gene Database to Outside Resource

The OrderedLocusNames IDs in the exported Gene Database are derived from the UniProt XML. It is a good idea to check your list of OrderedLocusNames IDs to see how complete it is using the original source of the data (the sequencing organization, the MOD, etc.) Because UniProt is a protein database, it does not reference any non-protein genome features such as genes that code for functional RNAs, centromeres, telomeres, etc.

Note:







Brandon Litvak
BIOL 367, Fall 2015

Weekly Assignments Individual Journal Pages Shared Journal Pages