Tripal v1.0 (6.x-1.0)
|
Functions | |
tripal_db_get_db ($select_values) | |
tripal_db_get_db_by_db_id ($db_id) | |
tripal_db_get_db_by_name ($name) | |
tripal_db_get_db_options () | |
tripal_db_get_dbxref ($select_values) | |
tripal_db_get_dbxref_by_accession ($accession, $db_id=0) | |
tripal_db_add_db ($dbname, $description= '', $url= '', $urlprefix= '', $update=0) | |
tripal_db_add_dbxref ($db_id, $accession, $version= '', $description= '') |
tripal_db_add_db | ( | $ | dbname, |
$ | description = '' , |
||
$ | url = '' , |
||
$ | urlprefix = '' , |
||
$ | update = 0 |
||
) |
Adds a new database to the Chado DB table and returns the DB object.
$dbname | The name of the database. This name is usually used as the prefix for CV term accessions |
$description | Optional. A description of the database. By default no description is required. |
$url | Optional. The URL for the database |
$urlprefix | Optional. The URL that is to be used as a prefix when constructing a link to a database term |
$update | Optional. Set this to '1' to force an update of the database if it already exists. The default is to not update. If the database exists then nothing is added. |
Definition at line 291 of file tripal_db.api.inc.
{ // build the values array for inserting/updating $ins_values = array( 'name' => $dbname, 'description' => $description, 'url' => $url, 'urlprefix' => $urlprefix ); // get the database record if it already exists $sel_values = array('name' => $dbname); $sel_options = array('statement_name' => 'sel_db_na'); $result = tripal_core_chado_select('db', array('*'), $sel_values, $sel_options); // if it does not exists then add it if (count($result) == 0) { $ins_options = array('statement_name' => 'ins_db_nadeurur'); $success = tripal_core_chado_insert('db', $ins_values, $ins_options); if (!$success) { watchdog('tripal_db', "Cannot create db '$dbname'.", NULL, WATCHDOG_WARNING); return 0; } $result = tripal_core_chado_select('db', array('*'), $sel_values, $sel_options); } // if it exists and update is enabled the do the update elseif ($update) { $upd_options = array('statement_name' => 'upd_db_nadeurur'); $success = tripal_core_chado_update('db', $sel_values, $ins_values, $upd_options); if (!$success) { watchdog('tripal_db', "Cannot update db '$dbname'.", NULL, WATCHDOG_WARNING); return 0; } $result = tripal_core_chado_select('db', array('*'), $sel_values, $sel_options); } // return the database object return $result[0]; }
tripal_db_add_dbxref | ( | $ | db_id, |
$ | accession, | ||
$ | version = '' , |
||
$ | description = '' |
||
) |
Definition at line 336 of file tripal_db.api.inc.
{ $ins_values = array( 'db_id' => $db_id, 'accession' => $accession, 'version' => $version, 'description' => $description ); // check to see if the dbxref exists $sel_values = array( 'db_id' => $db_id, 'accession' => $accession, ); $sel_options = array('statement_name' => 'sel_dbxref_dbacve', 'is_duplicate' => 1); $result = tripal_core_chado_select('dbxref', array('*'), $sel_values, $sel_options); // if it doesn't already exist then add it if (!$result) { $ins_options = array('statement_name' => 'ins_dbxref_dbacvede'); $success = tripal_core_chado_insert('dbxref', $ins_values, $ins_options); if (!$success) { watchdog('tripal_cv', "Failed to insert the dbxref record $accession", NULL, WATCHDOG_WARNING); return 0; } $result = tripal_core_chado_select('dbxref', array('*'), $sel_values, $sel_options); } return $result[0]; }
tripal_db_get_db | ( | $ | select_values | ) |
Purpose: To retrieve a chado database object
$select_values | An array meant to uniquely select a given database |
The database is selected using tripal_core_chado select and as such the $select_values array parameter meant to uniquely identify the database to be returned follows the same form as when using tripal_core_chado_select directly.
Example Usage:
$select_values = array( 'name' => 'SOFP' ); $db_object = tripal_db_get_db($select_values);
The above code selects the SOFP db and returns the following object:
$db_object = stdClass Object ( [db_id] => 49 [name] => SOFP [description] => [urlprefix] => [url] => );
Definition at line 44 of file tripal_db.api.inc.
{ $columns = array( 'db_id', 'name', 'description', 'urlprefix', 'url' ); $results = tripal_core_chado_select('db', $columns, $select_values); if (sizeof($results) == 1) { return $results[0]; } elseif (empty($results)) { watchdog('tripal_cdb', 'tripal_db_get_db: No db matches criteria values:%values', array('%values' => print_r($select_values, TRUE)), WATCHDOG_WARNING ); return FALSE; } else { watchdog('tripal_db', 'tripal_db_get_db: 2+ dbs match criteria values:%values', array('%values' => print_r($select_values, TRUE)), WATCHDOG_WARNING ); } }
tripal_db_get_db_by_db_id | ( | $ | db_id | ) |
Purpose: To retrieve a chado db object
$db_id | db.db_id |
Definition at line 85 of file tripal_db.api.inc.
{ $r = db_fetch_object(chado_query( "SELECT * FROM {db} WHERE db_id=%d", $db_id )); return $r; }
tripal_db_get_db_by_name | ( | $ | name | ) |
Purpose: To retrieve a chado db object
$name | db.name |
Definition at line 104 of file tripal_db.api.inc.
{ $r = db_fetch_object(chado_query( "SELECT * FROM {db} WHERE name='%s'", $name )); return $r; }
tripal_db_get_db_options | ( | ) |
Purpose: Create an options array to be used in a form element which provides a list of all chado dbs
Definition at line 135 of file tripal_db.api.inc.
{ $result = chado_query( "SELECT db_id, name FROM {db}" ); $options = array(); while ( $r = db_fetch_object($result) ) { $options[$r->db_id] = $r->name; } return $options; }
tripal_db_get_dbxref | ( | $ | select_values | ) |
Purpose: To retrieve a chado database reference object
$select_values | An array meant to uniquely select a given database reference |
The database reference is selected using tripal_core_chado select and as such the $select_values array parameter meant to uniquely identify the database reference to be returned follows the same form as when using tripal_core_chado_select directly.
Example Usage:
$select_values = array( 'accession' => 'synonym', 'db_id' => array( 'name' => 'SOFP' ) ); $dbxref_object = tripal_db_get_dbxref($select_values);
The above code selects the synonym database reference and returns the following object:
$dbxref_object = stdClass Object ( [dbxref_id] => 2581 [accession] => synonym [description] => [version] => [db_db_id] => 49 [db_name] => SOFP [db_description] => [db_urlprefix] => [db_url] => );
Definition at line 203 of file tripal_db.api.inc.
{ $columns = array( 'dbxref_id', 'db_id', 'accession', 'description', 'version' ); $results = tripal_core_chado_select('dbxref', $columns, $select_values); if (sizeof($results) == 1) { $dbxref = tripal_db_add_db_to_object(array('db_id' => $results[0]->db_id), $results[0], array()); unset($dbxref->db_id); return $dbxref; } elseif (empty($results)) { watchdog('tripal_db', 'tripal_db_get_dbxref: No dbxref matches criteria values:%values', array('%values' => print_r($select_values, TRUE)), WATCHDOG_WARNING ); return FALSE; } else { watchdog('tripal_db', 'tripal_db_get_dbxref: 2+ dbxrefs match criteria values:%values', array('%values' => print_r($select_values, TRUE)), WATCHDOG_WARNING ); } }
tripal_db_get_dbxref_by_accession | ( | $ | accession, |
$ | db_id = 0 |
||
) |
Purpose: To retrieve a chado dbxref object with a given accession
$accession | dbxref.accession |
$db_id | dbxref.db_id |
Definition at line 249 of file tripal_db.api.inc.
{ if (!empty($db_id)) { $r = db_fetch_object(chado_query( "SELECT * FROM {dbxref} WHERE accession='%s' AND db_id=%d", $accession, $db_id )); } else { $r = db_fetch_object(chado_query( "SELECT * FROM {dbxref} WHERE accession='%s'", $accession )); } return $r; }