123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?php
- function tripal_featuremap_get_property($featuremap_id, $property) {
- return tripal_core_get_property('featuremap', $featuremap_id, $property, 'featuremap_property');
- }
- function tripal_featuremap_insert_property($featuremap_id, $property, $value, $update_if_present = 0) {
- return tripal_core_insert_property('featuremap', $featuremap_id, $property, 'featuremap_property', $value, $update_if_present);
- }
- function tripal_featuremap_update_property($featuremap_id, $property, $value, $insert_if_missing = 0) {
- return tripal_core_update_property('featuremap', $featuremap_id, $property, 'featuremap_property', $value, $insert_if_missing);
- }
- function tripal_featuremap_delete_property($featuremap_id, $property) {
- return tripal_core_delete_property('featuremap', $featuremap_id, $property, 'featuremap_property');
- }
- function tripal_featuremap_add_featuremap_dbxref($featuremap_id, $featuremap_dbxref) {
-
- $dbname = '';
- $accession = '';
- if(preg_match('/^(.*?):(.*?)$/', $featuremap_dbxref, $matches)) {
- $dbname = $matches[1];
- $accession = $matches[2];
- }
- else {
- return FALSE;
- }
-
- $values = array(
- 'dbxref_id' => array(
- 'accession' => $accession,
- 'db_id' => array(
- 'name' => $dbname,
- ),
- ),
- 'featuremap_id' => $featuremap_id,
- );
- $options = array('statement_name' => 'sel_featuremapdbxref_dbpu');
- $results = tripal_core_chado_select('featuremap_dbxref', array('*'), $values, $options);
-
- if(count($results) > 0) {
- return $results[0];
- }
-
- $db = tripal_db_add_db($dbname);
-
- $dbxvalues = array(
- 'accession' => $accession,
- 'db_id' => $db->db_id,
- );
- $dbxoptions = array('statement_name' => 'sel_dbxref_acdb');
- $results = tripal_core_chado_select('dbxref', array('dbxref_id'), $dbxvalues, $dbxoptions);
-
- if(count($results) == 0){
- $dbxref = tripal_db_add_dbxref($db->db_id, $accession);
- }
- else {
- $dbxref = $results[0];
- }
-
- $options = array('statement_name' => 'ins_featuremapdbxref_dbpu');
- $results = tripal_core_chado_insert('featuremap_dbxref', $values, $options);
- if (!$results) {
- tripal_core_report_error('t_featuremap', TRIPAL_ERROR, "Cannot add map dbxref: %db:%accession.",
- array('%db' => $dbname, '%accession' => $accession));
- return FALSE;
- }
- return $results;
- }
|