Configuring GAEVAL and Extending the GAEVAL Object Code

GAEVAL is installed from distribution pre-configured to operate as a stand-alone utility. Optionally GAEVAL may be configured to interact with existing databases and as part of a database package. This may or may not necessitate extending the GAEVAL object code. Discussed below are the optional configuration / database wrappers currently available to GAEVAL.

xGDB - The eXtensible Genome Data Broker

GAEVAL may be configured to operate alongside an xGDB database by using the following configuration options. All configuration options presented in this section are available at runtime by executing the xGAEVAL.pl command with the optional '--configuration' parameter. For example:

perl xGAEVAL.pl --configuration conf/xGDB.conf

The configuration options found in this file are in the form of a perl data structures. At this time the accepted objects are:

$dbUSER

$dbUSER should be set to a string containing the MySQL account username of a user with select, delete, and insert privileges to the database with which GAEVAL will be interacting.

$dbPASS

$dbPASS should be set to the password required for the $dbUSER MySQL account.

$argHR (HASH REFERENCE)

$argHR is the data structure passed to the majority of the GAEVAL initialization and process functions. Here is where most configuration options will be found. The currently supported keys are as follows.

$argHR->{dsn}

This is the perl DBI style database source name string.
$argHR->{dsn} = "DBI:mysql:MyGAEVALdb:localhost"

$argHR->{GAEVAL_ANN_TBL}

This should contain the name of the MySQL table storing the primary annotation data. This table should conform to the minimal GAEVAL annotation source table scheme.
$argHR->{GAEVAL_ANN_TBL} = 'chr_gene_annotation'

$argHR->{GAEVAL_ANN_TABLES} (ARRAY REFERENCE)

This array contains hash references with the information required for GAEVAL to recognize external annotation tables.

$argHR->{GAEVAL_ANN_TABLES}->[0]->{ANN_TBL}

This should contain the name of the MySQL table storing external annotations.
$argHR->{GAEVAL_ANN_TABLES}->[0]->{ANN_TBL} = 'user_gene_annotation';

$argHR->{GAEVAL_ANN_TABLES}->[0]->{ANN_conditional}

This SQL conditional is added to the queries involving external annotations.
$argHR->{GAEVAL_ANN_TABLES}->[0]->{ANN_conditional} = "&&(status = 'ACCEPTED')";

$argHR->{GAEVAL_ANN_TABLES}->[0]->{ANNselect}

This is the SQL select statement used to query external annotations and should included the fields (uid,geneId,gene_structure,l_pos,r_pos, and gseg_gi or chr).
$argHR->{GAEVAL_ANN_TABLES}->[0]->{ANNselect} = 'select uid,geneId,gene_structure,l_pos,r_pos,strand from user_gene_annotation';

$argHR->{GAEVAL_ANN_TABLES}->[0]->{dsn}

This is the perl DBI style database source name string for the database storing the external annotations.
$argHR->{dsn} = "DBI:mysql:MyANNOTATIONdb:localhost"

$argHR->{GAEVAL_ANN_TABLES}->[0]->{dbPASS}

dbPASS should be set to the password required for the dbUSER MySQL account.

$argHR->{GAEVAL_ANN_TABLES}->[0]->{dbUSER}

dbUSER should be set to a string containing the MySQL account username of a user with select privileges to the database containing the external annotations with which GAEVAL will be interacting.

$argHR->{GAEVAL_ANNselect}

This is the SQL select statement used to query annotations and should included the fields (uid,gene_structure,l_pos,r_pos,and gseg_gi or chr) additional fields added to this statement will be available to the GAEVAL object in the $self->{ann_DBdata} hash.
$argHR->{GAEVAL_ANNselect} = 'select uid,gene_structure,chr,l_pos,r_pos FROM chr_gene_annotation ORDER BY chr,l_pos,r_pos';

$argHR->{GAEVAL_ISO_TABLES} (ARRAY REFERENCE)

This array contains hash references with the information required for GAEVAL to recognize multiple evidence types.
NOTE: When using only a single source of evidence, this configuration is still the only way to set custom table names.

$argHR->{GAEVAL_ISO_TABLES}->[0]->{ISO_TBL}

This should contain the name of the MySQL table storing evidence to annotation assignments. This table is usually generated by GAEVAL.
$argHR->{GAEVAL_ISO_TABLES}->[0]->{ISO_TBL} = 'gbk_cdna_gaeval';

$argHR->{GAEVAL_ISO_TABLES}->[0]->{PGS_TBL}

This should contain the name of the MySQL table storing evidence alignments. This table should conform to the minimal GAEVAL evidence table scheme.
$argHR->{GAEVAL_ISO_TABLES}->[0]->{PGS_TBL} = 'cdna_good_pgs';

$argHR->{GAEVAL_ISO_TABLES}->[0]->{PGSselect}

This is the SQL select statement used to query evidence and should included the fields (uid,pgs,l_pos,r_pos,isCognate, and gseg_gi or chr)
$argHR->{GAEVAL_ISO_TABLES}->[0]->{PGSselect} = 'select uid,pgs,chr,l_pos,r_pos,isCognate FROM cdna_good_pgs ORDER BY chr,l_pos,r_pos';

$argHR->{GAEVAL_ISO_TABLES}->[0]->{SEQ_TBL}

This should contain the name of the MySQL table storing evidence source information. This table should conform to the minimal GAEVAL evidence source table scheme.
$argHR->{GAEVAL_ISO_TABLES}->[0]->{SEQ_TBL} = 'cdna';

$argHR->{GAEVAL_ISO_TABLES}->[0]->{TPS_conditional}

This SQL conditional is added to the queries involving 3` end sequences such as 3`ESTs.
$argHR->{GAEVAL_ISO_TABLES}->[0]->{TPS_conditional}="&&(SEQ.type='T')";

$argHR->{GAEVAL_ISO_TABLES}->[0]->{_HAS_CLONEPAIRS}

If an evidence source contains clonepairs such as ESTs offten do, adding this option will activate the use of these clonepairs. This requires that the evidence table (PGS_TBL) contain the pairUID field and that this field contain the uid for the PGS of the alternate member of the clonepair.
$argHR->{GAEVAL_ISO_TABLES}->[0]->{_HAS_CLONEPAIRS}=1;

$argHR->{GAEVAL_PROPERTIES_TBL}

This should contain the name of the MySQL table that will be used to store the property flags issued by GAEVAL for each annotation.
$argHR->{GAEVAL_PROPERTIES_TBL} = 'gbk_gaeval_properties'

$argHR->{GAEVAL_SUPPORT_TBL}

This should contain the name of the MySQL table that will be used to store the annotation support results calculated by GAEVAL.
$argHR->{GAEVAL_SUPPORT_TBL} = 'gbk_gaeval'