Kaynağa Gözat

Updated 6.x-1482618-API_for_default_views_integration branch to current 6.x-1.x branch status

Lacey Sanderson 12 yıl önce
ebeveyn
işleme
2e15f7a2d5
63 değiştirilmiş dosya ile 25376 ekleme ve 18843 silme
  1. 13 77
      tripal_analysis/tripal_analysis.api.inc
  2. 87 265
      tripal_analysis/tripal_analysis.module
  3. 3 3
      tripal_bulk_loader/tripal_bulk_loader.admin.templates.inc
  4. 1 1
      tripal_bulk_loader/tripal_bulk_loader.constants.inc
  5. 6 5
      tripal_bulk_loader/tripal_bulk_loader.drush.inc
  6. 19 19
      tripal_bulk_loader/tripal_bulk_loader.loader.inc
  7. 0 57
      tripal_contact/tripal_contact.api.inc
  8. 102 0
      tripal_core/api/get_FKs.php
  9. 145 24
      tripal_core/api/tripal_core.api.inc
  10. 10753 0
      tripal_core/api/tripal_core.schema_v1.11.api.inc
  11. 13269 0
      tripal_core/api/tripal_core.schema_v1.2.api.inc
  12. 0 2
      tripal_core/chado_schema/initialize-1.11.sql
  13. 0 1
      tripal_core/chado_schema/initialize-1.2.sql
  14. 1 6
      tripal_core/chado_schema/upgrade-1.11-1.2.sql
  15. 27 13
      tripal_core/includes/chado_install.php
  16. 0 0
      tripal_core/includes/jobs.php
  17. 0 0
      tripal_core/includes/mviews.php
  18. 8 4
      tripal_core/tripal_core.install
  19. 5 5
      tripal_core/tripal_core.module
  20. 0 12737
      tripal_core/tripal_core.schema.api.inc
  21. 0 28
      tripal_core/tripal_launch_jobs_multi.php
  22. 4 4
      tripal_cv/tripal_cv.views.inc
  23. 0 22
      tripal_db/tripal_db.api.inc
  24. 14 168
      tripal_feature/api/tripal_feature.api.inc
  25. 0 0
      tripal_feature/includes/fasta_loader.inc
  26. 2 2
      tripal_feature/includes/gff_loader.inc
  27. 0 0
      tripal_feature/includes/indexFeatures.inc
  28. 0 0
      tripal_feature/includes/syncFeatures.inc
  29. 0 0
      tripal_feature/includes/tripal_feature-db_references.inc
  30. 0 0
      tripal_feature/includes/tripal_feature-delete.inc
  31. 0 0
      tripal_feature/includes/tripal_feature-properties.inc
  32. 0 0
      tripal_feature/includes/tripal_feature-relationships.inc
  33. 0 0
      tripal_feature/includes/tripal_feature-secondary_tables.inc
  34. 0 0
      tripal_feature/includes/tripal_feature.admin.inc
  35. 195 22
      tripal_feature/tripal_feature.module
  36. 11 25
      tripal_genetic/tripal_genetic.api.inc
  37. 12 66
      tripal_library/tripal_library.api.inc
  38. 336 35
      tripal_natural_diversity/tripal_natural_diversity.api.inc
  39. 16 17
      tripal_organism/tripal_organism.api.inc
  40. 21 91
      tripal_organism/tripal_organism.module
  41. 0 61
      tripal_pub/e_utilities.pl
  42. 0 2687
      tripal_pub/publication.obo
  43. 0 9
      tripal_pub/tripal_pub.info
  44. 0 91
      tripal_pub/tripal_pub.install
  45. 0 1729
      tripal_pub/tripal_pub.module
  46. 0 71
      tripal_pub/tripal_pub.views.inc
  47. 15 354
      tripal_stock/tripal_stock.api.inc
  48. 1 77
      tripal_stock/tripal_stock.module
  49. 1 1
      tripal_views/tripal_views.api.inc
  50. 11 2
      tripal_views/tripal_views.install
  51. 5 4
      tripal_views/tripal_views.module
  52. 36 12
      tripal_views/tripal_views.views.inc
  53. 16 11
      tripal_views/tripal_views_integration.inc
  54. 3 3
      tripal_views/views/handlers/chado_views_handler_field_aggregate.inc
  55. 7 7
      tripal_views/views/handlers/chado_views_handler_field_boolean.inc
  56. 1 1
      tripal_views/views/handlers/chado_views_handler_field_counter.inc
  57. 3 3
      tripal_views/views/handlers/chado_views_handler_field_date.inc
  58. 5 5
      tripal_views/views/handlers/chado_views_handler_filter_boolean_operator.inc
  59. 3 3
      tripal_views/views/handlers/chado_views_handler_filter_date.inc
  60. 6 6
      tripal_views/views/handlers/chado_views_handler_filter_select_string.inc
  61. 206 0
      tripal_views/views/handlers/tripal_views_handler_filter_string_selectbox.inc
  62. 5 5
      tripal_views/views/handlers/views_handler_filter_chado_select_string.inc
  63. 2 2
      tripal_views/views/handlers/views_handler_join_chado_aggregator.inc

+ 13 - 77
tripal_analysis/tripal_analysis.api.inc

@@ -116,7 +116,7 @@ function tripal_analysis_get_node($analysis_id) {
  */
  */
 
 
 /**
 /**
- * Implements hook_chado_analysis_schema()
+ * Implements hook_chado_schema_v1_11_table()
  * Purpose: To add descriptions and foreign keys to default table description
  * Purpose: To add descriptions and foreign keys to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
@@ -125,10 +125,10 @@ function tripal_analysis_get_node($analysis_id) {
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_analysis_chado_analysis_schema() {
+function tripal_analysis_chado_schema_v1_11_analysis() {
   $description = array();
   $description = array();
 
 
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_analysis_schema()
+  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_schema_v1_11_analysis()
 
 
   $referring_tables = array(
   $referring_tables = array(
       'analysisfeature',
       'analysisfeature',
@@ -142,91 +142,27 @@ function tripal_analysis_chado_analysis_schema() {
 }
 }
 
 
 /**
 /**
- * Implements hook_chado_analysisfeature_schema()
+ * Implements hook_chado_schema_v1_2_table()
  * Purpose: To add descriptions and foreign keys to default table description
  * Purpose: To add descriptions and foreign keys to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
  * @return
  * @return
- *    Array describing the analysisfeature table
+ *    Array describing the analysis table
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_analysis_chado_analysisfeature_schema() {
+function tripal_analysis_chado_schema_v1_2_analysis() {
   $description = array();
   $description = array();
 
 
-  $description['foreign keys']['feature'] = array(
-        'table' => 'feature',
-        'columns' => array(
-          'feature_id' => 'feature_id',
-        ),
-  );
-
-  $description['foreign keys']['analysis'] = array(
-        'table' => 'analysis',
-        'columns' => array(
-          'analysis_id' => 'analysis_id',
-        ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_chado_analysisfeatureprop_schema()
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the analysisfeatureprop table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_analysis_chado_analysisfeatureprop_schema() {
-  $description = array();
+  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_schema_v1_2_analysis()
 
 
-  $description['foreign keys']['analysisfeature'] = array(
-        'table' => 'analysisfeature',
-        'columns' => array(
-          'analysisfeature_id' => 'analysisfeature_id',
-        ),
-  );
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-  return $description;
-}
-
-
-/**
-  * Implements hook_chado_analysisprop_schema()
-  * Purpose: To add descriptions and foreign keys to default table description
-  * Note: This array will be merged with the array from all other implementations
-  *
-  * @return
-  *    Array describing the analysisprop table
-  *
-  * @ingroup tripal_schema_api
-  */
-function tripal_analysis_chado_analysisprop_schema() {
-  $description = array();
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
-  $description['foreign keys']['analysis'] = array(
-        'table' => 'analysis',
-        'columns' => array(
-          'analysis_id' => 'analysis_id',
-        ),
+  $referring_tables = array(
+      'analysisfeature',
+      'analysisprop',
+      'phylotree',
+      'quantification'
   );
   );
+  $description['referring_tables'] = $referring_tables;
 
 
   return $description;
   return $description;
 }
 }

+ 87 - 265
tripal_analysis/tripal_analysis.module

@@ -58,14 +58,6 @@ function tripal_analysis_init() {
  * @ingroup tripal_analysis
  * @ingroup tripal_analysis
  */
  */
 function tripal_analysis_menu() {
 function tripal_analysis_menu() {
-  // Display available analyses
-  $items['analyses'] = array(
-      'menu_name' => ('primary-links'), //Enable the 'Analysis' primary link
-      'title' => 'Analyses',
-      'page callback' => 'tripal_analysis_show_analyses',
-      'access arguments' => array('access chado_analysis content'),
-      'type' => MENU_NORMAL_ITEM
-  );
   //Sync analysis
   //Sync analysis
   $items['chado_sync_analyses'] = array(
   $items['chado_sync_analyses'] = array(
      'title' => 'Sync Data',
      'title' => 'Sync Data',
@@ -95,26 +87,6 @@ function tripal_analysis_menu() {
   return $items;
   return $items;
 }
 }
 
 
-/**
- * Display the summary view of analyses when click on the 'Analyses'
- * primary-link
- *
- * @ingroup tripal_analysis
- */
-function tripal_analysis_show_analyses() {
-  // Show libraries stored in Drupal's {chado_analysis} table
-  $sql = "SELECT COUNT(analysis_id) FROM {chado_analysis}";
-  $no_ana = db_result(db_query($sql));
-  if ($no_ana != 0) {
-    $analyses = get_chado_analyses();
-    return theme('tripal_analysis_analysis_page', $analyses);
-  }
-  else {
-    return t("No analysis available at this time.");
-  }
-
-}
-
 /**
 /**
  * Provide information to drupal about the node types that we're creating
  * Provide information to drupal about the node types that we're creating
  * in this module
  * in this module
@@ -211,13 +183,6 @@ function chado_analysis_insert($node) {
     drupal_write_record('node_revisions', $record, 'nid');
     drupal_write_record('node_revisions', $record, 'nid');
   }
   }
 
 
-  if ($node->setpermissions) {
-    $job_args[0] = $analysis_id;
-    $job_args[1] = $node->nid;
-    tripal_add_job("Set permission for analysis associated features", 'tripal_analysis',
-                                'tripal_analysis_set_feature_permission', $job_args, $user->uid);
-  }
-
    // add the analysis to the node object for
    // add the analysis to the node object for
    // use by other analysis modules that may be using this function
    // use by other analysis modules that may be using this function
     $node->analysis = $analysis;
     $node->analysis = $analysis;
@@ -274,62 +239,53 @@ function chado_analysis_update($node) {
   if ($node->revision) {
   if ($node->revision) {
     // TODO -- decide what to do about revisions
     // TODO -- decide what to do about revisions
   }
   }
-  else {
-    // Create a timestamp so we can insert it into the chado database
-    $time = $node->timeexecuted;
-    $month = $time['month'];
-    $day = $time['day'];
-    $year = $time['year'];
-    $timestamp = $month . '/' . $day . '/' . $year;
-
-    // get the analysis_id for this node:
-    $sql = "SELECT analysis_id ".
-             "FROM {chado_analysis} ".
-             "WHERE nid = %d";
-    $analysis_id = db_fetch_object(db_query($sql, $node->nid))->analysis_id;
-
-    $sql = "UPDATE {analysis} ".
-             "SET name = '%s', ".
-             "    description = '%s', ".
-             "    program = '%s', ".
-             "    programversion = '%s', ".
-             "    algorithm = '%s', ".
-             "    sourcename = '%s', ".
-             "    sourceversion = '%s', ".
-             "    sourceuri = '%s', ".
-             "    timeexecuted = '%s' ".
-             "WHERE analysis_id = %d ";
-
-    $previous_db = tripal_db_set_active('chado');  // use chado database
-    db_query($sql, $node->analysisname, $node->description, $node->program,
-    $node->programversion, $node->algorithm, $node->sourcename,
-    $node->sourceversion, $node->sourceuri, $timestamp, $analysis_id);
-      tripal_db_set_active($previous_db);  // switch back to drupal database
-
-    // Create a title for the analysis node using the unique keys so when the
-    // node is saved, it will have a title
-    $record = new stdClass();
-    // If the analysis has a name, use it as the node title. If not, construct
-    // the title using program, programversion, and sourcename
-    if ($node->analysisname) {
-      $record->title = $node->analysisname;
-    }
-    else {
-      //Construct node title as "program (version)
-      $record->title = "$node->program ($node->programversion)";
-    }
-
-    if ($node->setpermissions) {
-      $job_args[0] = $analysis_id;
-      $job_args[1] = $node->nid;
-      tripal_add_job("Set permission for analysis associated features", 'tripal_analysis',
-                                  'tripal_analysis_set_feature_permission', $job_args, $user->uid);
-    }
+  // Create a timestamp so we can insert it into the chado database
+  $time = $node->timeexecuted;
+  $month = $time['month'];
+  $day = $time['day'];
+  $year = $time['year'];
+  $timestamp = $month . '/' . $day . '/' . $year;
 
 
-    $record->nid = $node->nid;
-    drupal_write_record('node', $record, 'nid');
-    drupal_write_record('node_revisions', $record, 'nid');
+  // get the analysis_id for this node:
+  $sql = "SELECT analysis_id ".
+           "FROM {chado_analysis} ".
+           "WHERE nid = %d";
+  $analysis_id = db_fetch_object(db_query($sql, $node->nid))->analysis_id;
+
+  $sql = "UPDATE {analysis} ".
+           "SET name = '%s', ".
+           "    description = '%s', ".
+           "    program = '%s', ".
+           "    programversion = '%s', ".
+           "    algorithm = '%s', ".
+           "    sourcename = '%s', ".
+           "    sourceversion = '%s', ".
+           "    sourceuri = '%s', ".
+           "    timeexecuted = '%s' ".
+           "WHERE analysis_id = %d ";
+
+  $previous_db = tripal_db_set_active('chado');  // use chado database
+  db_query($sql, $node->analysisname, $node->description, $node->program,
+  $node->programversion, $node->algorithm, $node->sourcename,
+  $node->sourceversion, $node->sourceuri, $timestamp, $analysis_id);
+    tripal_db_set_active($previous_db);  // switch back to drupal database
+
+  // Create a title for the analysis node using the unique keys so when the
+  // node is saved, it will have a title
+  $record = new stdClass();
+  // If the analysis has a name, use it as the node title. If not, construct
+  // the title using program, programversion, and sourcename
+  if ($node->analysisname) {
+    $record->title = $node->analysisname;
   }
   }
+  else {
+    //Construct node title as "program (version)
+    $record->title = "$node->program ($node->programversion)";
+  }
+
+  $record->nid = $node->nid;
+  drupal_write_record('node', $record, 'nid');
+  drupal_write_record('node_revisions', $record, 'nid');
 }
 }
 
 
 /**
 /**
@@ -351,39 +307,39 @@ function chado_analysis_form($node) {
   if (!$analysis_id) {
   if (!$analysis_id) {
     $analysis_id = $analysis->analysis_id;
     $analysis_id = $analysis->analysis_id;
   }
   }
-    $analysisname = $node->analysisname;
+  $analysisname = $node->analysisname;
   if (!$analysisname) {
   if (!$analysisname) {
     $analysisname = $analysis->name;
     $analysisname = $analysis->name;
   }
   }
-    $program = $node->program;
+  $program = $node->program;
   if (!$program) {
   if (!$program) {
     $program = $analysis->program;
     $program = $analysis->program;
   }
   }
-    $programversion = $node->programversion;
+  $programversion = $node->programversion;
   if (!$programversion) {
   if (!$programversion) {
     $programversion = $analysis->programversion;
     $programversion = $analysis->programversion;
   }
   }
-    $algorithm = $node->algorithm;
+  $algorithm = $node->algorithm;
   if (!$algorithm) {
   if (!$algorithm) {
     $algorithm = $analysis->algorithm;
     $algorithm = $analysis->algorithm;
   }
   }
-    $sourcename = $node->sourcename;
+  $sourcename = $node->sourcename;
   if (!$sourcename) {
   if (!$sourcename) {
     $sourcename = $analysis->sourcename;
     $sourcename = $analysis->sourcename;
   }
   }
-    $sourceversion = $node->sourceversion;
+  $sourceversion = $node->sourceversion;
   if (!$sourceversion) {
   if (!$sourceversion) {
     $sourceversion = $analysis->sourceversion;
     $sourceversion = $analysis->sourceversion;
   }
   }
-    $sourceuri = $node->sourceuri;
+  $sourceuri = $node->sourceuri;
   if (!$sourceuri) {
   if (!$sourceuri) {
     $sourceuri = $analysis->sourceuri;
     $sourceuri = $analysis->sourceuri;
   }
   }
-    $timeexecuted = $node->timeexecuted;
+  $timeexecuted = $node->timeexecuted;
   if (!$timeexecuted) {
   if (!$timeexecuted) {
     $timeexecuted = $analysis->timeexecuted;
     $timeexecuted = $analysis->timeexecuted;
   }
   }
-    $description = $node->description;
+  $description = $node->description;
   if (!$description) {
   if (!$description) {
     $description = $analysis->description;
     $description = $analysis->description;
   }
   }
@@ -482,15 +438,6 @@ function chado_analysis_form($node) {
          someone to recreate the analysis, including materials and methods
          someone to recreate the analysis, including materials and methods
          for collection of the source data and performing the analysis'),
          for collection of the source data and performing the analysis'),
   );
   );
-  /* Set permissions for all features associated with this analysis */
-  if (module_exists('node_privacy_byrole')) {
-    $form['setpermissions'] = array(
-        '#type' => 'checkbox',
-          '#title' => t('Submit a job to set the same permissions for all features associated with this analysis'),
-          '#default_value' => FALSE,
-         '#weight' => 10
-    );
-  }
 
 
   return $form;
   return $form;
 }
 }
@@ -813,11 +760,41 @@ function tripal_analysis_perm() {
  */
  */
 function tripal_analysis_theme() {
 function tripal_analysis_theme() {
   return array(
   return array(
-      'tripal_analysis_analysis_page' => array(
-         'arguments' => array('analyses'),
-      ),
+    'tripal_analysis_base' => array(
+       'arguments' => array('node' => NULL),
+       'template' => 'tripal_analysis_base',
+    ),
   );
   );
 }
 }
+/**
+ *
+ *
+ * @ingroup tripal_feature
+ */
+function tripal_analysis_block($op = 'list', $delta = 0, $edit=array()) {
+  switch ($op) {
+    case 'list':
+      $blocks['base']['info'] = t('Tripal Analysis Details');
+      $blocks['base']['cache'] = BLOCK_NO_CACHE;
+      return $blocks;
+
+  case 'view':
+    if (user_access('access chado_analysis content') and arg(0) == 'node' and is_numeric(arg(1))) {
+      $nid = arg(1);
+      $node = node_load($nid);
+
+      $block = array();
+      switch ($delta) {       
+        case 'base':
+          $block['subject'] = t('Analysis Details');
+          $block['content'] = theme('tripal_analysis_base', $node);
+          break;
+        default :
+      }
+      return $block;
+    }
+  }
+}
 
 
 /**
 /**
  * This function uses analysis_id's of all drupal analysis nodes as input and
  * This function uses analysis_id's of all drupal analysis nodes as input and
@@ -862,64 +839,6 @@ function get_chado_analyses() {
   }
   }
 }
 }
 
 
-/**
- * Theme the List Analysis page
- *
- * @param $analyses
- *   An array of analyses to list
- *
- * @ingroup tripal_analysis
- */
-function theme_tripal_analysis_analysis_page($analyses) {
-
-  $output = "<br />Analyses are listed in the descending order of their execution time.<br /><a id=\"tripal_expandableBox_toggle_button\" onClick=\"toggleExpandableBoxes()\">[-] Collapse All</a>";
-
-  foreach ($analyses as $analysis) {
-    // Prepare information for html output
-    $ana_node_url = url("node/$analysis->node_id");
-    if ($analysis->sourceversion) {
-      $ver = "($analysis->sourceversion)";
-      }
-      $date =  preg_replace("/^(\d+-\d+-\d+) .*/", "$1", $analysis->timeexecuted);
-
-      // Generate html output
-    $output .= "<div class=\"tripal_chado_analysis-info-box\" style=\"padding:5px\">
-                         <div class=\"tripal_expandableBox\">
-                           <h3>$analysis->name ($date)</h3>
-                         </div>
-                         <div class=\"tripal_expandableBoxContent\">
-                           <span>
-                             <table class=\"tripal_chado_analysis_content\">
-                               <tr><td>
-                                 Name: <a href=\"$ana_node_url\">$analysis->name</a>
-                               </td></tr>
-                               <tr><td>
-                                 Program: $analysis->program ($analysis->programversion)
-                               </td></tr>
-                               <tr><td>
-                                 Algorithm: $analysis->algorithm
-                               </td></tr>
-                             <tr><td>
-                                 Source: $analysis->sourcename $ver
-                             </td></tr>
-                             <tr><td>
-                                 Source URI: $analysis->sourceuri
-                               </td></tr>
-                               <tr><td>
-                                 Executed Time:$date
-                               </td></tr>
-                               <tr><td>
-                                 Description: $analysis->description
-                               </td></tr>
-                             </table>
-                           </span>
-                         </div>
-                       </div>";
-  }
-
-  return $output;
-}
-
 /**
 /**
  * Remove orphaned drupal nodes or chado analysis
  * Remove orphaned drupal nodes or chado analysis
  *
  *
@@ -986,103 +905,6 @@ function tripal_analyses_cleanup($dummy = NULL, $job_id = NULL) {
   return '';
   return '';
 }
 }
 
 
-/**
-function tripal_analysis_reindex_features ($analysis_id = NULL, $job_id = NULL){
-  $i = 0;
-
-  // if the caller provided a analysis_id then get all of the features
-  // associated with the analysis. Otherwise get all sequences associated
-  // with all libraries.
-  if(!$analysis_id){
-    $sql = "SELECT Analysis_id, Feature_id ".
-          "FROM {Analysisfeature} ".
-          "ORDER BY analysis_id";
-    $previous_db = tripal_db_set_active('chado');  // use chado database
-    $results = db_query($sql);
-    tripal_db_set_active($previous_db);  // now use drupal database
-  } else {
-    $sql = "SELECT Analysis_id, Feature_id ".
-             "FROM {Analysisfeature} ".
-             "WHERE analysis_id = %d";
-             "ORDER BY analysis_id";
-    $previous_db = tripal_db_set_active('chado');  // use chado database
-    $results = db_query($sql,$analysis_id);
-    tripal_db_set_active($previous_db);  // now use drupal database
-  }
-
-  // load into ids array
-  $count = 0;
-  $ids = array();
-  while($id = db_fetch_object($results)){
-    $ids[$count] = $id->feature_id;
-    $count++;
-  }
-
-  $interval = intval($count * 0.01);
-  foreach($ids as $feature_id){
-    // update the job status every 1% features
-    if($job_id and $i % interval == 0){
-      tripal_job_set_progress($job_id,intval(($i/$count)*100));
-    }
-    tripal_feature_sync_feature ($feature_id);
-    $i++;
-  }
-} */
-
-/**
-function tripal_analysis_taxonify_features ($analysis_id = NULL, $job_id = NULL){
-  $i = 0;
-
-  // if the caller provided a analysis_id then get all of the features
-  // associated with the analysis. Otherwise get all sequences assoicated
-  // with all libraries.
-  if(!$analysis_id){
-    $sql = "SELECT Analysis_id, Feature_id ".
-          "FROM {Analysisfeature} ".
-          "ORDER BY analysis_id";
-    $previous_db = tripal_db_set_active('chado');  // use chado database
-    $results = db_query($sql);
-    tripal_db_set_active($previous_db);  // now use drupal database
-  } else {
-    $sql = "SELECT Analysis_id, Feature_id ".
-             "FROM {Analysisfeature} ".
-             "WHERE analysis_id = %d";
-             "ORDER BY analysis_id";
-    $previous_db = tripal_db_set_active('chado');  // use chado database
-    $results = db_query($sql,$analysis_id);
-    tripal_db_set_active($previous_db);  // now use drupal database
-  }
-
-  // load into ids array
-  $count = 0;
-  $ids = array();
-  while($id = db_fetch_object($results)){
-    $ids[$count] = $id->feature_id;
-    $count++;
-  }
-
-  // make sure our vocabularies are set before proceeding
-  tripal_feature_set_vocabulary();
-
-  // use this SQL for getting the nodes
-  $nsql =  "SELECT * FROM {chado_feature} CF ".
-            "  INNER JOIN {node} N ON N.nid = CF.nid ".
-            "WHERE feature_id = %d";
-
-  // iterate through the features and set the taxonomy
-  $interval = intval($count * 0.01);
-  foreach($ids as $feature_id){
-    // update the job status every 1% features
-    if($job_id and $i % $interval == 0){
-      tripal_job_set_progress($job_id,intval(($i/$count)*100));
-    }
-    $node = db_fetch_object(db_query($nsql,$feature_id));
-    tripal_feature_set_taxonomy($node,$feature_id);
-    $i++;
-  }
-}
- */
-
 /**
 /**
  * Implements hook_views_api()
  * Implements hook_views_api()
  * Purpose: Essentially this hook tells drupal that there is views support for
  * Purpose: Essentially this hook tells drupal that there is views support for

+ 3 - 3
tripal_bulk_loader/tripal_bulk_loader.admin.templates.inc

@@ -848,7 +848,7 @@ function tripal_bulk_loader_add_template_field_form(&$form_state = NULL) {
   $chado_fields = array();
   $chado_fields = array();
   $fk_options = array();
   $fk_options = array();
   $fk_options['NULL'] = 'None';
   $fk_options['NULL'] = 'None';
-  $table_description = module_invoke_all('chado_' . $table . '_schema');
+  $table_description = tripal_core_get_chado_table_schema($table);
   //dpm($table_description, 'table description for |'.$table.'|');
   //dpm($table_description, 'table description for |'.$table.'|');
   if ($field_type == 'foreign key') {
   if ($field_type == 'foreign key') {
     $foreign_field2table = array();
     $foreign_field2table = array();
@@ -1464,7 +1464,7 @@ function tripal_bulk_loader_edit_template_field_form(&$form_state = NULL) {
   $chado_fields = array();
   $chado_fields = array();
   $fk_options = array();
   $fk_options = array();
   $fk_options['NULL'] = 'None';
   $fk_options['NULL'] = 'None';
-  $table_description = module_invoke_all('chado_' . $table . '_schema');
+  $table_description = tripal_core_get_chado_table_schema($table);
   if ($field_type == 'foreign key') {
   if ($field_type == 'foreign key') {
     $foreign_field2table = array();
     $foreign_field2table = array();
     foreach ($table_description['foreign keys'] as $key_table => $key_array) {
     foreach ($table_description['foreign keys'] as $key_table => $key_array) {
@@ -2147,4 +2147,4 @@ function tripal_bulk_loader_edit_field_ahah() {
   print drupal_json(array('status' => TRUE, 'data' => $output));
   print drupal_json(array('status' => TRUE, 'data' => $output));
   exit();
   exit();
 
 
-}
+}

+ 1 - 1
tripal_bulk_loader/tripal_bulk_loader.constants.inc

@@ -367,7 +367,7 @@ function theme_tripal_bulk_loader_set_constants_form($form) {
     // @coder-ignore: no user input thus don't need to filter
     // @coder-ignore: no user input thus don't need to filter
     $form['exposed_fields']['existing'] = array(
     $form['exposed_fields']['existing'] = array(
       '#type' => 'markup',
       '#type' => 'markup',
-      '#value' => theme('table', $header, $rows, array('id' => 'mytable')) . '<br />'
+      '#value' => filter_xss(theme('table', $header, $rows, array('id' => 'mytable')) . '<br />'),
     );
     );
   }
   }
 
 

+ 6 - 5
tripal_bulk_loader/tripal_bulk_loader.drush.inc

@@ -1,7 +1,8 @@
 <?php
 <?php
 
 
 /**
 /**
- * Implements drush integration for this module
+ *  @file
+ *  Implements drush integration for this module
  */
  */
 
 
 /**
 /**
@@ -20,10 +21,10 @@ function tripal_bulk_loader_drush_command() {
  * Code ran for the tripal-loader-progress drush command
  * Code ran for the tripal-loader-progress drush command
  * Display the progress of any running tripal bulk loading job.
  * Display the progress of any running tripal bulk loading job.
  */
  */
-function drush_tripal_bulk_loader_tripal_loader_progress () {
+function drush_tripal_bulk_loader_tripal_loader_progress() {
 
 
   // determine the progress of any loading jobs
   // determine the progress of any loading jobs
-  $sql = "SELECT t.loader_name, t.file, t.job_id FROM tripal_bulk_loader t WHERE job_status='Loading...'";
+  $sql = "SELECT t.loader_name, t.file, t.job_id FROM {tripal_bulk_loader} t WHERE job_status='Loading...'";
   $resource = db_query($sql);
   $resource = db_query($sql);
 
 
   while ($r = db_fetch_object($resource)) {
   while ($r = db_fetch_object($resource)) {
@@ -36,7 +37,7 @@ function drush_tripal_bulk_loader_tripal_loader_progress () {
           . "File:" . $r->file . "\n"
           . "File:" . $r->file . "\n"
           . "Current Constant Set:\n"
           . "Current Constant Set:\n"
           . "\tLines processed: " . $progress->num_lines . "\n"
           . "\tLines processed: " . $progress->num_lines . "\n"
-          . "\tRecord Inserted: " .$progress->num_records . "\n"
+          . "\tRecord Inserted: " . $progress->num_records . "\n"
           . "\tPercent Complete: " . $progress->percent_file . "\n"
           . "\tPercent Complete: " . $progress->percent_file . "\n"
           . "Number of Constant Sets fully loaded: " . $progress->num_constant_sets_loaded . "\n"
           . "Number of Constant Sets fully loaded: " . $progress->num_constant_sets_loaded . "\n"
           . "Job Percent Complete: " . $progress->total_percent . "\n"
           . "Job Percent Complete: " . $progress->total_percent . "\n"
@@ -44,4 +45,4 @@ function drush_tripal_bulk_loader_tripal_loader_progress () {
       }
       }
     }
     }
   }
   }
-}
+}

+ 19 - 19
tripal_bulk_loader/tripal_bulk_loader.loader.inc

@@ -295,7 +295,7 @@ function tripal_bulk_loader_load_data($nid, $job_id) {
       chado_query("LOCK TABLE %s IN %s MODE", $table, $lockmode);
       chado_query("LOCK TABLE %s IN %s MODE", $table, $lockmode);
     }
     }
 
 
-    tripal_bulk_loader_progress_bar(0,$total_lines);
+    tripal_bulk_loader_progress_bar(0, $total_lines);
     while (!feof($file_handle)) {
     while (!feof($file_handle)) {
 
 
       // Clear variables
       // Clear variables
@@ -317,7 +317,7 @@ function tripal_bulk_loader_load_data($nid, $job_id) {
       if ($node->job_id and $num_lines % $interval == 0) {
       if ($node->job_id and $num_lines % $interval == 0) {
         // percentage of lines processed for the current group
         // percentage of lines processed for the current group
         $group_progress = round(($num_lines/$total_lines)*100);
         $group_progress = round(($num_lines/$total_lines)*100);
-        tripal_bulk_loader_progress_bar($num_lines,$total_lines);
+        tripal_bulk_loader_progress_bar($num_lines, $total_lines);
         // percentage of lines processed for all groups
         // percentage of lines processed for all groups
         // <previous group index> * 100 + <current group progress>
         // <previous group index> * 100 + <current group progress>
         // --------------------------------------------------------
         // --------------------------------------------------------
@@ -386,7 +386,7 @@ function tripal_bulk_loader_load_data($nid, $job_id) {
       break;
       break;
     }
     }
 
 
-    tripal_bulk_loader_progress_bar($total_lines,$total_lines);
+    tripal_bulk_loader_progress_bar($total_lines, $total_lines);
     tripal_bulk_loader_progress_file_track_job($job_id, FALSE, FALSE, TRUE);
     tripal_bulk_loader_progress_file_track_job($job_id, FALSE, FALSE, TRUE);
   } //end of foreach constant set
   } //end of foreach constant set
 
 
@@ -449,7 +449,7 @@ function process_data_array_for_line($priority, &$data, &$default_data, $addt) {
     $no_errors = FALSE;
     $no_errors = FALSE;
   }
   }
 
 
-  $table_desc = module_invoke_all('chado_' . $table . '_schema');
+  $table_desc = tripal_core_get_chado_table_schema($table);
   if (preg_match('/optional/', $table_array['mode'])) {
   if (preg_match('/optional/', $table_array['mode'])) {
     // Check all db required fields are set
     // Check all db required fields are set
     $fields = $table_desc['fields'];
     $fields = $table_desc['fields'];
@@ -732,22 +732,22 @@ function tripal_bulk_loader_flatten_array($values) {
 function tripal_bulk_loader_progress_bar($current=0, $total=100, $size=50) {
 function tripal_bulk_loader_progress_bar($current=0, $total=100, $size=50) {
 
 
   // First iteration
   // First iteration
-  if($current == 0) {
+  if ($current == 0) {
     $new_bar = TRUE;
     $new_bar = TRUE;
-    fputs(STDOUT,"Progress:\n");
+    fputs(STDOUT, "Progress:\n");
   }
   }
 
 
   //Percentage round off for a more clean, consistent look
   //Percentage round off for a more clean, consistent look
-  $perc = round(($current/$total)*100,2);
+  $perc = round(($current/$total)*100, 2);
   // percent indicator must be four characters, if shorter, add some spaces
   // percent indicator must be four characters, if shorter, add some spaces
-  for($i=strlen($perc); $i<=4; $i++) {
-    $perc = ' '.$perc;
+  for ($i = strlen($perc); $i <= 4; $i++) {
+    $perc = ' ' . $perc;
   }
   }
 
 
   $total_size = $size + $i + 3 + 2;
   $total_size = $size + $i + 3 + 2;
   // if it's not first go, remove the previous bar
   // if it's not first go, remove the previous bar
-  if(!$new_bar) {
-    for($place = $total_size; $place > 0; $place--) {
+  if (!$new_bar) {
+    for ($place = $total_size; $place > 0; $place--) {
       // echo a backspace (hex:08) to remove the previous character
       // echo a backspace (hex:08) to remove the previous character
       echo "\x08";
       echo "\x08";
     }
     }
@@ -756,9 +756,9 @@ function tripal_bulk_loader_progress_bar($current=0, $total=100, $size=50) {
   // output the progess bar as it should be
   // output the progess bar as it should be
   // Start with a border
   // Start with a border
   echo '[';
   echo '[';
-  for($place = 0; $place <= $size; $place++) {
+  for ($place = 0; $place <= $size; $place++) {
     // output "full" spaces if this portion is completed
     // output "full" spaces if this portion is completed
-    if($place <= ($current / $total * $size)) {
+    if ($place <= ($current / $total * $size)) {
       echo '|';
       echo '|';
     }
     }
     else {
     else {
@@ -773,7 +773,7 @@ function tripal_bulk_loader_progress_bar($current=0, $total=100, $size=50) {
   echo " $perc%";
   echo " $perc%";
 
 
   // if it's the end, add a new line
   // if it's the end, add a new line
-  if($current == $total) {
+  if ($current == $total) {
     echo "\n";
     echo "\n";
   }
   }
 
 
@@ -801,20 +801,20 @@ function tripal_bulk_loader_progress_bar($current=0, $total=100, $size=50) {
  */
  */
 function tripal_bulk_loader_progress_file_track_job($job_id, $record_added, $line_complete = FALSE, $close = FALSE) {
 function tripal_bulk_loader_progress_file_track_job($job_id, $record_added, $line_complete = FALSE, $close = FALSE) {
   // retrieve the file handle
   // retrieve the file handle
-  $file_handle = variable_get('tripal_bulk_loader_progress_file_handle',NULL);
+  $file_handle = variable_get('tripal_bulk_loader_progress_file_handle', NULL);
 
 
   // open file for reading if not already
   // open file for reading if not already
   if (!$file_handle) {
   if (!$file_handle) {
-    $file_handle = fopen('/tmp/tripal_bulk_loader_progress-'.$job_id.'.out', 'w');
+    $file_handle = fopen('/tmp/tripal_bulk_loader_progress-'. $job_id . '.out', 'w');
     variable_set('tripal_bulk_loader_progress_file_handle', $file_handle);
     variable_set('tripal_bulk_loader_progress_file_handle', $file_handle);
   }
   }
 
 
   if ($record_added) {
   if ($record_added) {
-    fwrite($file_handle,'.');
+    fwrite($file_handle, '.');
   }
   }
 
 
   if ($line_complete) {
   if ($line_complete) {
-    fwrite($file_handle,"\n");
+    fwrite($file_handle, "\n");
   }
   }
 
 
   // close the file if finished
   // close the file if finished
@@ -822,4 +822,4 @@ function tripal_bulk_loader_progress_file_track_job($job_id, $record_added, $lin
     fclose($file_handle);
     fclose($file_handle);
     variable_set('tripal_bulk_loader_progress_file_handle', NULL);
     variable_set('tripal_bulk_loader_progress_file_handle', NULL);
   }
   }
-}
+}

+ 0 - 57
tripal_contact/tripal_contact.api.inc

@@ -1,60 +1,3 @@
 <?php
 <?php
 
 
-/**
- * @file
- * @todo Add file header description
- */
 
 
-/**
- * @section Chado Table Descriptions
- */
-
- /**
- * Implements hook_chado_contact_schema()
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the contact table
- */
-function tripal_stock_chado_contact_schema() {
-  $description = array();
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
-  return $description;
-}
-
- /**
- * Implements hook_chado_contact_relationship_schema()
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the contact_relationship table
- */
-function tripal_stock_chado_contact_relationship_schema() {
-  $description = array();
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
-  $description['foreign keys']['contact'] = array(
-        'table' => 'contact',
-        'columns' => array(
-          'subject_id' => 'contact_id',
-          'object_id' => 'contact_id',
-        ),
-  );
-
-  return $description;
-}

+ 102 - 0
tripal_core/api/get_FKs.php

@@ -0,0 +1,102 @@
+<?php
+// This script will generate an updated schema API array for each 
+// Chado table.  It requires Chado is installed in a 'chado' schema of 
+// the drupal database.  It also requires existing schema hooks for 
+// version of Chado.  The goal is to use the output of this script to 
+// update the existing schema hooks.  Redirect the output of this script to 
+// a file and then replace the existing schema API include file (e.g. 
+// tripal_core.schema_v1.2.api.inc).  Be sure to check it before replacing
+
+// thie script requires a single argument (-v) which is the Chado version
+//
+// example usage in drupal directory root:
+//
+// php ./sites/all/modules/tripal/tripal_core/api/get_FKs.php -v 1.11 > \
+//   ./sites/all/modules/tripal/tripal_core/apitripal_core.schema_v1.11.api.inc.new
+//
+// php ./sites/all/modules/tripal/tripal_core/api/get_FKs.php -v 1.2 > \
+//   ./sites/all/modules/tripal/tripal_core/api/tripal_core.schema_v1.2.api.inc.new
+
+
+$arguments = getopt("v:");
+
+if (isset($arguments['v'])) {
+  $drupal_base_url = parse_url('http://www.example.com');
+  $_SERVER['HTTP_HOST'] = $drupal_base_url['host'];
+  $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] = $_SERVER['PHP_SELF'];
+  $_SERVER['REMOTE_ADDR'] = NULL;
+  $_SERVER['REQUEST_METHOD'] = NULL;
+
+  require_once 'includes/bootstrap.inc';
+  drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
+
+  $version = $arguments['v'];
+  get_chado_fk_relationships($version);
+}
+
+/**
+ *
+ */
+function get_chado_fk_relationships($version){
+
+  // convert the version to a form suitable for function names
+  $v = $version;
+  $v = preg_replace("/\./","_",$v);
+ 
+  $tables = tripal_core_get_chado_tables(); 
+  $sql ="
+    SELECT
+        tc.constraint_name, tc.table_name, kcu.column_name, 
+        ccu.table_name AS foreign_table_name,
+        ccu.column_name AS foreign_column_name 
+    FROM 
+        information_schema.table_constraints AS tc 
+        JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name
+        JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name
+    WHERE constraint_type = 'FOREIGN KEY' AND tc.table_name='%s'
+  ";
+    
+  // iterate through the tables and get the foreign keys
+  print "<?php\n";
+  foreach ($tables as $table){
+
+     // get the existing table array
+     $table_arr = tripal_core_get_chado_table_schema($table);
+     
+     if(empty($table_arr)){
+        print "ERROR: emptye table definition $table\n";
+     }
+
+     // get the foreign keys and add them to the array
+     $fks = db_query($sql,$table);
+     while($fk = db_fetch_object($fks)){
+        $table_arr['foreign keys'][$fk->foreign_table_name]['table'] = $fk->foreign_table_name;
+        $table_arr['foreign keys'][$fk->foreign_table_name]['columns'][$fk->column_name] = $fk->foreign_column_name;
+      }
+      
+      // reformat the array to be more legible
+      $arr = var_export($table_arr,1);
+      $arr = preg_replace("/\n\s+array/","array",$arr); // move array( to previous line
+      $arr = preg_replace("/\n/","\n  ",$arr); // add indentation
+      
+      // print out the new Schema API function for this table
+print "/**
+ * Implements hook_chado_schema_v".$v."_".$table."()
+ * Purpose: To describe the structure of '$table' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the '$table' table
+ *
+ * @ingroup tripal_chado_v".$version."_schema_api
+ *
+ */
+function tripal_core_chado_schema_v".$v."_".$table."() {
+  \$description =  $arr;
+  return \$description;
+}
+";
+  }
+}

+ 145 - 24
tripal_core/tripal_core.api.inc → tripal_core/api/tripal_core.api.inc

@@ -1,6 +1,7 @@
 <?php
 <?php
 
 
-require_once "tripal_core.schema.api.inc";
+require_once "tripal_core.schema_v1.2.api.inc";
+require_once "tripal_core.schema_v1.11.api.inc";
 
 
 /**
 /**
  * @file
  * @file
@@ -139,7 +140,7 @@ function tripal_core_chado_insert($table, $values, $options = array()) {
   }
   }
 
 
   // get the table description
   // get the table description
-  $table_desc = module_invoke_all('chado_' . $table . '_schema');
+  $table_desc = tripal_core_get_chado_table_schema($table);
   if (empty($table_desc)) {
   if (empty($table_desc)) {
     watchdog('tripal_core', 'tripal_core_chado_insert: There is no table description for !table_name', array('!table_name' => $table), WATCHDOG_WARNING);
     watchdog('tripal_core', 'tripal_core_chado_insert: There is no table description for !table_name', array('!table_name' => $table), WATCHDOG_WARNING);
   }
   }
@@ -364,7 +365,7 @@ function tripal_core_chado_delete($table, $match) {
   $delete_matches = array();  // contains the values for the where clause
   $delete_matches = array();  // contains the values for the where clause
 
 
   // get the table description
   // get the table description
-  $table_desc = module_invoke_all('chado_' . $table . '_schema');
+  $table_desc = tripal_core_get_chado_table_schema($table);
 
 
   // get the values needed for matching in the SQL statement
   // get the values needed for matching in the SQL statement
   foreach ($match as $field => $value) {
   foreach ($match as $field => $value) {
@@ -494,7 +495,7 @@ function tripal_core_chado_update($table, $match, $values) {
   $update_matches = array();  // contains the values for the where clause
   $update_matches = array();  // contains the values for the where clause
 
 
   // get the table description
   // get the table description
-  $table_desc = module_invoke_all('chado_' . $table . '_schema');
+  $table_desc = tripal_core_get_chado_table_schema($table);
 
 
   // get the values needed for matching in the SQL statement
   // get the values needed for matching in the SQL statement
   foreach ($match as $field => $value) {
   foreach ($match as $field => $value) {
@@ -674,7 +675,7 @@ function tripal_core_chado_select($table, $columns, $values, $options = NULL) {
   }
   }
 
 
   // get the table description
   // get the table description
-  $table_desc = module_invoke_all('chado_' . $table . '_schema');
+  $table_desc = tripal_core_get_chado_table_schema($table);
   $select = '';
   $select = '';
   $from = '';
   $from = '';
   $where = '';
   $where = '';
@@ -695,7 +696,7 @@ function tripal_core_chado_select($table, $columns, $values, $options = NULL) {
           'case_insensitive_columns' => $options['case_insensitive_columns']
           'case_insensitive_columns' => $options['case_insensitive_columns']
         );
         );
         $results = tripal_core_chado_get_foreign_key($table_desc, $field, $value, $foreign_options);
         $results = tripal_core_chado_get_foreign_key($table_desc, $field, $value, $foreign_options);
-        if (count($results) ==0) {
+        if (!$results or count($results) ==0) {
 
 
           // foreign key records are required
           // foreign key records are required
           // thus if none matched then return FALSE and alert the admin through watchdog
           // thus if none matched then return FALSE and alert the admin through watchdog
@@ -707,7 +708,7 @@ function tripal_core_chado_select($table, $columns, $values, $options = NULL) {
           //   '!field' => $field,
           //   '!field' => $field,
           // ),
           // ),
           // WATCHDOG_WARNING);
           // WATCHDOG_WARNING);
-          return FALSE;
+          return array();
         }
         }
         else {
         else {
           $where[$field] = $results;
           $where[$field] = $results;
@@ -775,6 +776,7 @@ function tripal_core_chado_select($table, $columns, $values, $options = NULL) {
   if ($options['return_sql']) {
   if ($options['return_sql']) {
     return array('sql' => $sql, 'args' => $args);
     return array('sql' => $sql, 'args' => $args);
   }
   }
+
   $previous_db = tripal_db_set_active('chado');  // use chado database
   $previous_db = tripal_db_set_active('chado');  // use chado database
   $resource = db_query($sql, $args);
   $resource = db_query($sql, $args);
   tripal_db_set_active($previous_db);  // now use drupal database
   tripal_db_set_active($previous_db);  // now use drupal database
@@ -858,7 +860,7 @@ function tripal_core_chado_get_foreign_key($table_desc, $field, $values, $option
       if (is_array($def['table'])) {
       if (is_array($def['table'])) {
         //foreign key was described 2X
         //foreign key was described 2X
         $message = "The foreign key " . $name . " was defined twice. Please check modules "
         $message = "The foreign key " . $name . " was defined twice. Please check modules "
-          ."to determine if hook_chado_" . $table_desc['table'] . "_schema() was "
+          ."to determine if hook_chado_schema_<version>_" . $table_desc['table'] . "() was "
           ."implemented and defined this foreign key when it wasn't supposed to. Modules "
           ."implemented and defined this foreign key when it wasn't supposed to. Modules "
           ."this hook was implemented in: " . implode(', ',
           ."this hook was implemented in: " . implode(', ',
           module_implements("chado_" . $table_desc['table'] . "_schema")) . ".";
           module_implements("chado_" . $table_desc['table'] . "_schema")) . ".";
@@ -891,16 +893,17 @@ function tripal_core_chado_get_foreign_key($table_desc, $field, $values, $option
     // TODO: what do we do if we get to this point and we have a fk
     // TODO: what do we do if we get to this point and we have a fk
     // relationship expected but we don't have any definition for one in the
     // relationship expected but we don't have any definition for one in the
     // table schema??
     // table schema??
-    $message = "There is no foreign key relationship defined for " . $field . ".
+    $version = tripal_core_get_chado_version();
+    $message = t("There is no foreign key relationship defined for " . $field . ".
        To define a foreign key relationship, determine the table this foreign
        To define a foreign key relationship, determine the table this foreign
        key referrs to (<foreign table>) and then implement
        key referrs to (<foreign table>) and then implement
-       hook_chado_<foreign table>_schema(). See
-       tripal_feature_chado_feature_schema for an example.";
+       hook_chado_chado_schema_v<version>_<foreign table>(). See
+       tripal_feature_chado_v1_2_schema_feature for an example. Chado version: $version");
     watchdog('tripal_core', $message);
     watchdog('tripal_core', $message);
     drupal_set_message(check_plain($message), 'error');
     drupal_set_message(check_plain($message), 'error');
   }
   }
 
 
-  return FALSE;
+  return array();
 }
 }
 
 
 /**
 /**
@@ -964,7 +967,7 @@ function tripal_core_generate_chado_var($table, $values, $base_options = array()
   $all = new stdClass();
   $all = new stdClass();
 
 
   // get description for the current table----------------------------------------------------------
   // get description for the current table----------------------------------------------------------
-  $table_desc = module_invoke_all('chado_' . $table . '_schema');
+  $table_desc = tripal_core_get_chado_table_schema($table);
   $table_primary_key = $table_desc['primary key'][0];
   $table_primary_key = $table_desc['primary key'][0];
   $table_columns = array_keys($table_desc['fields']);
   $table_columns = array_keys($table_desc['fields']);
 
 
@@ -1056,8 +1059,7 @@ function tripal_core_generate_chado_var($table, $values, $base_options = array()
       if (db_table_exists('chado_' . $table)) {
       if (db_table_exists('chado_' . $table)) {
         // that has a foreign key to this one ($table_desc['primary key'][0]
         // that has a foreign key to this one ($table_desc['primary key'][0]
         // and to the node table (nid)
         // and to the node table (nid)
-        // @coder-ignore: acting on chado schema rather then drupal schema therefore, table prefixing does not apply
-        $sql = "SELECT %s, nid FROM chado_%s WHERE %s=%d";
+        $sql = "SELECT %s, nid FROM {chado_%s} WHERE %s=%d";
         $mapping = db_fetch_object(db_query(
         $mapping = db_fetch_object(db_query(
           $sql,
           $sql,
           $table_primary_key,
           $table_primary_key,
@@ -1202,7 +1204,7 @@ function tripal_core_expand_chado_vars($object, $type, $to_expand, $table_option
       if (preg_match('/(\w+)\.(\w+)/', $to_expand, $matches)) {
       if (preg_match('/(\w+)\.(\w+)/', $to_expand, $matches)) {
         $tablename = $matches[1];
         $tablename = $matches[1];
         $fieldname = $matches[2];
         $fieldname = $matches[2];
-        $table_desc = module_invoke_all('chado_' . $tablename . '_schema');
+        $table_desc = tripal_core_get_chado_table_schema($tablename);
         $values = array();
         $values = array();
         foreach ($table_desc['primary key'] as $key) {
         foreach ($table_desc['primary key'] as $key) {
           $values[$key] = $object->{$key};
           $values[$key] = $object->{$key};
@@ -1240,7 +1242,7 @@ function tripal_core_expand_chado_vars($object, $type, $to_expand, $table_option
     break;
     break;
     case "table": //--------------------------------------------------------------------------------
     case "table": //--------------------------------------------------------------------------------
       $foreign_table = $to_expand;
       $foreign_table = $to_expand;
-      $foreign_table_desc = module_invoke_all('chado_' . $foreign_table . '_schema');
+      $foreign_table_desc = tripal_core_get_chado_table_schema($foreign_table);
       // If it's connected to the base table
       // If it's connected to the base table
       if ($foreign_table_desc['foreign keys'][$base_table]) {
       if ($foreign_table_desc['foreign keys'][$base_table]) {
         foreach ($foreign_table_desc['foreign keys'][$base_table]['columns'] as $left => $right) {
         foreach ($foreign_table_desc['foreign keys'][$base_table]['columns'] as $left => $right) {
@@ -1263,7 +1265,7 @@ function tripal_core_expand_chado_vars($object, $type, $to_expand, $table_option
             // than once with the same table we want to alter the
             // than once with the same table we want to alter the
             // array structure
             // array structure
             if (count($foreign_table_desc['foreign keys'][$base_table]['columns']) > 1) {
             if (count($foreign_table_desc['foreign keys'][$base_table]['columns']) > 1) {
-              if(!is_object($object->{$foreign_table})){
+              if (!is_object($object->{$foreign_table})) {
                  $object->{$foreign_table} = new stdClass();
                  $object->{$foreign_table} = new stdClass();
               }
               }
               $object->{$foreign_table}->{$left} = $foreign_object;
               $object->{$foreign_table}->{$left} = $foreign_object;
@@ -1515,7 +1517,7 @@ function chado_get_node_id($table, $id) {
  */
  */
 function tripal_core_get_property($basetable, $record_id, $property, $cv_name) {
 function tripal_core_get_property($basetable, $record_id, $property, $cv_name) {
   // get the foreign key for this property table
   // get the foreign key for this property table
-  $table_desc = module_invoke_all('chado_' . $basetable . 'prop_schema');
+  $table_desc = tripal_core_get_chado_table_schema($basetable . 'prop');
   $fkcol = key($table_desc['foreign keys'][$basetable]['columns']);
   $fkcol = key($table_desc['foreign keys'][$basetable]['columns']);
 
 
   // construct the array of values to be selected
   // construct the array of values to be selected
@@ -1595,7 +1597,7 @@ function tripal_core_insert_property($basetable, $record_id, $property,
   }
   }
 
 
   // get the foreign key for this property table
   // get the foreign key for this property table
-  $table_desc = module_invoke_all('chado_' . $basetable . 'prop_schema');
+  $table_desc = tripal_core_get_chado_table_schema($basetable . 'prop');
   $fkcol = key($table_desc['foreign keys'][$basetable]['columns']);
   $fkcol = key($table_desc['foreign keys'][$basetable]['columns']);
 
 
   // construct the array of values to be inserted
   // construct the array of values to be inserted
@@ -1660,7 +1662,7 @@ function tripal_core_update_property($basetable, $record_id, $property,
   }
   }
 
 
   // get the foreign key for this property table
   // get the foreign key for this property table
-  $table_desc = module_invoke_all('chado_' . $basetable . 'prop_schema');
+  $table_desc = tripal_core_get_chado_table_schema($basetable . 'prop');
   $fkcol = key($table_desc['foreign keys'][$basetable]['columns']);
   $fkcol = key($table_desc['foreign keys'][$basetable]['columns']);
 
 
   // construct the array that will match the exact record to update
   // construct the array that will match the exact record to update
@@ -1710,7 +1712,7 @@ function tripal_core_update_property_by_id($basetable, $record_id, $property,
   $cv_name, $value) {
   $cv_name, $value) {
 
 
   // get the primary key for this property table
   // get the primary key for this property table
-  $table_desc = module_invoke_all('chado_' . $basetable . 'prop_schema');
+  $table_desc = tripal_core_get_chado_table_schema($basetable . 'prop');
   $pkcol = $table_desc['primary key'][0];
   $pkcol = $table_desc['primary key'][0];
 
 
   // construct the array that will match the exact record to update
   // construct the array that will match the exact record to update
@@ -1755,7 +1757,7 @@ function tripal_core_update_property_by_id($basetable, $record_id, $property,
 function tripal_core_delete_property($basetable, $record_id, $property, $cv_name) {
 function tripal_core_delete_property($basetable, $record_id, $property, $cv_name) {
 
 
   // get the foreign key for this property table
   // get the foreign key for this property table
-  $table_desc = module_invoke_all('chado_' . $basetable . 'prop_schema');
+  $table_desc = tripal_core_get_chado_table_schema($basetable . 'prop');
   $fkcol = key($table_desc['foreign keys'][$basetable]['columns']);
   $fkcol = key($table_desc['foreign keys'][$basetable]['columns']);
 
 
   // construct the array that will match the exact record to update
   // construct the array that will match the exact record to update
@@ -1789,7 +1791,7 @@ function tripal_core_delete_property($basetable, $record_id, $property, $cv_name
 function tripal_core_delete_property_by_id($basetable, $record_id) {
 function tripal_core_delete_property_by_id($basetable, $record_id) {
 
 
   // get the foreign key for this property table
   // get the foreign key for this property table
-  $table_desc = module_invoke_all('chado_' . $basetable . 'prop_schema');
+  $table_desc = tripal_core_get_chado_table_schema($basetable . 'prop');
   $pkcol = $table_desc['primary key'][0];
   $pkcol = $table_desc['primary key'][0];
 
 
   // construct the array that will match the exact record to update
   // construct the array that will match the exact record to update
@@ -2166,3 +2168,122 @@ function tripal_core_chado_schema_exists() {
   }
   }
 }
 }
 
 
+/**
+ * Retrieves the list tables in the Chado schema.  By default it only retursn
+ * the default Chado tables, but may also return custom tables added to the
+ * Chado schema as well.
+ *
+ * @param $include_custom
+ *   Optional.  Set as TRUE to include any custom tables created in the
+ *   Chado schema. Custom tables are added to Chado using the
+ *   tripal_core_chado_create_table() function.
+ *
+ * @returns
+ *   An associative array where the key and value pairs are the Chado table names.
+ *
+ * @ingroup tripal_core_api
+ */
+function tripal_core_get_chado_tables($include_custom = NULL) {
+
+  if (is_array($db_url) AND array_key_exists('chado', $db_url)) {
+    $previous_db = tripal_db_set_active('chado');
+    // @coder-ignore: acting on pg_catalog schema rather then drupal schema therefore, table prefixing does not apply
+    $sql = 'SELECT tablename FROM pg_tables';
+    $resource = db_query($sql);
+    tripal_db_set_active($previous_db);
+  }
+  else {
+    // @coder-ignore: acting on pg_catalog schema rather then drupal schema therefore, table prefixing does not apply
+    $sql = "SELECT tablename FROM pg_tables WHERE schemaname='chado'";
+    $resource = db_query($sql);
+  }
+
+  $tables = array();
+  while ($r = db_fetch_object($resource)) {
+    $tables[$r->tablename] = $r->tablename;
+  }
+
+  // now add in the custom tables too
+  if ($include_custom) {
+    $sql = "SELECT table_name FROM {tripal_custom_tables}";
+    $resource = db_query($sql);
+  }
+  while ($r = db_fetch_object($resource)) {
+    $tables[$r->table_name] = $r->table_name;
+  }
+
+  asort($tables);
+  return $tables;
+}
+/**
+ * Retrieves the version number of the Chado schema.  
+ *
+ * @returns
+ *   The numeric version of Chado
+ *
+ * @ingroup tripal_core_api
+ */
+function tripal_core_get_chado_version () {
+
+  // check that Chado is installed if not return 'uninstalled as the version'
+  $chado_exists = tripal_core_chado_schema_exists();
+  if(!$chado_exists){
+     return 'not installed';
+  }
+
+  // if the table doesn't exist then we don't know what version but we know
+  // it must be 1.11 or older.
+  $previous_db = tripal_db_set_active('chado');
+  $prop_exists = db_table_exists('chadoprop');
+  tripal_db_set_active($previous_db);
+  if(!$prop_exists){
+     return "1.11 or older";
+  }
+  
+  // we can't use the Tripal API to query this table
+  // because the Tripal API depends on this fucntion to 
+  // tell it the version. So, we need a typical SQL statement
+  $sql = "SELECT value "
+        ."FROM chadoprop CP "
+        ."  INNER JOIN cvterm CVT on CVT.cvterm_id = CP.type_id "
+        ."  INNER JOIN cv CV on CVT.cv_id = CV.cv_id "
+        ."WHERE CV.name = 'chado_properties' and CVT.name = 'version'";
+  $previous_db = tripal_db_set_active('chado');
+  $v = db_fetch_object(db_query($sql));
+  $previous_db = tripal_db_set_active('chado');
+  
+  // if we don't have a version in the chadoprop table then it must be 
+  // v1.11 or older 
+  if(!$v->value){
+     return "1.11 or older";
+  }
+  return $v->value;
+}
+/**
+ * Retrieves the chado tables Schema API array.  
+ *
+ * @param $table
+ *   The name of the table to retrieve.  The function will use the appopriate
+ *   Tripal chado schema API hooks (e.g. v1.11 or v1.2).
+ *
+ * @returns
+ *   A Drupal Schema API array defining the table.
+ *
+ * @ingroup tripal_core_api
+ */
+function tripal_core_get_chado_table_schema($table) {
+
+   // first get the chado version that is installed
+   $v = tripal_core_get_chado_version();
+   
+   // Tripal only supports v1.11 or newer
+   if(strcmp($v,'1.11 or older')==0){
+      $v = "1.11";
+   }
+
+   // get the table array from the proper chado schema
+   $v = preg_replace("/\./","_",$v); // reformat version for hook name
+   $table_arr = module_invoke_all("chado_schema_v".$v."_" . $table);
+
+   return $table_arr;
+}

+ 10753 - 0
tripal_core/api/tripal_core.schema_v1.11.api.inc

@@ -0,0 +1,10753 @@
+<?php
+/* @file: This file contains default schema definitions for all chado v1.11 tables
+ *        to be used by other function. Specifically these functions are used
+ *        by the tripal_core select/insert/update API functions and by
+ *        the Tripal Views module.
+ *
+ *        These schema definitions can be augmented by anohter modules
+ *        (specifically to add missing definitions) by implementing
+ *        hook_chado_schema_v1_11_<table name>().
+ *
+ * @defgroup tripal_schema_api Core Module Schema API
+ * @{
+ * Provides an application programming interface (API) for describing Chado tables.
+ * This API consists of a set of functions, one for each table in Chado.  Each
+ * function simply returns a Drupal style array that defines the table.
+ *
+ * Because Drupal 6 does not handle foreign key (FK) relationships, however FK 
+ * relationships are needed to for Tripal Views.  Therefore, FK relationships
+ * have been added to the schema defintitions below.
+ *
+ * The functions provided in this documentation should not be called as is, but if you need
+ * the Drupal-style array definition for any table, use the following function
+ * call:
+ *
+ *   $table_desc = tripal_core_get_chado_table_schema($table)
+ *
+ * where the variable $table contains the name of the table you want to
+ * retireve.  The tripal_core_get_chado_table_schema function determines the appropriate version of 
+ * Chado and uses the Drupal hook infrastructure to call the appropriate 
+ * hook function to retrieve the table schema.
+ *
+ * @}
+ * @ingroup tripal_api
+ */
+ 
+/**
+ * Implements hook_chado_schema_v1_11_acquisition()
+ * Purpose: To describe the structure of 'acquisition' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'acquisition' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_acquisition() {
+  $description =  array (
+    'table' => 'acquisition',
+    'fields' => array (
+      'acquisition_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'assay_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'protocol_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'channel_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'acquisitiondate' => array (
+        'type' => 'datetime',
+        'not NULL' => '',
+        'default' => 'ow(',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'uri' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'acquisition_id',
+    ),
+    'unique keys' => array (
+      'acquisition_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'acquisition_idx1' => array (
+        0 => 'assay_id',
+      ),
+      'acquisition_idx2' => array (
+        0 => 'protocol_id',
+      ),
+      'acquisition_idx3' => array (
+        0 => 'channel_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+      'channel' => array (
+        'table' => 'channel',
+        'columns' => array (
+          'channel_id' => 'channel_id',
+        ),
+      ),
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_acquisition_relationship()
+ * Purpose: To describe the structure of 'acquisition_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'acquisition_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_acquisition_relationship() {
+  $description =  array (
+    'table' => 'acquisition_relationship',
+    'fields' => array (
+      'acquisition_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'acquisition_relationship_id',
+    ),
+    'unique keys' => array (
+      'acquisition_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'acquisition_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'acquisition_relationship_idx2' => array (
+        0 => 'type_id',
+      ),
+      'acquisition_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'acquisition' => array (
+        'table' => 'acquisition',
+        'columns' => array (
+          'subject_id' => 'acquisition_id',
+          'object_id' => 'acquisition_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_acquisitionprop()
+ * Purpose: To describe the structure of 'acquisitionprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'acquisitionprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_acquisitionprop() {
+  $description =  array (
+    'table' => 'acquisitionprop',
+    'fields' => array (
+      'acquisitionprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'acquisition_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'acquisitionprop_id',
+    ),
+    'unique keys' => array (
+      'acquisitionprop_c1' => array (
+        0 => 'acquisition_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'acquisitionprop_idx1' => array (
+        0 => 'acquisition_id',
+      ),
+      'acquisitionprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'acquisition' => array (
+        'table' => 'acquisition',
+        'columns' => array (
+          'acquisition_id' => 'acquisition_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_analysis()
+ * Purpose: To describe the structure of 'analysis' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'analysis' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_analysis() {
+  $description =  array (
+    'referring_tables' => array (
+      0 => 'analysisfeature',
+      1 => 'analysisprop',
+      2 => 'phylotree',
+      3 => 'quantification',
+    ),
+    'table' => 'analysis',
+    'fields' => array (
+      'analysis_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'program' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'programversion' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'algorithm' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'sourcename' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'sourceversion' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'sourceuri' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'timeexecuted' => array (
+        'type' => 'datetime',
+        'not NULL' => '1',
+        'default' => 'ow(',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'analysis_id',
+    ),
+    'unique keys' => array (
+      'analysis_c1' => array (
+        0 => 'program',
+        1 => 'programversion',
+        2 => 'sourcename',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_analysisfeature()
+ * Purpose: To describe the structure of 'analysisfeature' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'analysisfeature' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_analysisfeature() {
+  $description =  array (
+    'table' => 'analysisfeature',
+    'fields' => array (
+      'analysisfeature_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'analysis_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'rawscore' => array (
+        'type' => 'float',
+        'size' => 'big',
+        'not NULL' => '',
+      ),
+      'normscore' => array (
+        'type' => 'float',
+        'size' => 'big',
+        'not NULL' => '',
+      ),
+      'significance' => array (
+        'type' => 'float',
+        'size' => 'big',
+        'not NULL' => '',
+      ),
+      'identity' => array (
+        'type' => 'float',
+        'size' => 'big',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'analysisfeature_id',
+    ),
+    'unique keys' => array (
+      'analysisfeature_c1' => array (
+        0 => 'feature_id',
+        1 => 'analysis_id',
+      ),
+    ),
+    'indexes' => array (
+      'analysisfeature_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'analysisfeature_idx2' => array (
+        0 => 'analysis_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'analysis' => array (
+        'table' => 'analysis',
+        'columns' => array (
+          'analysis_id' => 'analysis_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_analysisfeatureprop()
+ * Purpose: To describe the structure of 'analysisfeatureprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'analysisfeatureprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_analysisfeatureprop() {
+  $description =  array (
+    'table' => 'analysisfeatureprop',
+    'fields' => array (
+      'analysisfeatureprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'analysisfeature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'analysisfeatureprop_id',
+    ),
+    'unique keys' => array (
+      'analysisfeature_id_type_id_rank' => array (
+        0 => 'analysisfeature_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'analysisfeature' => array (
+        'table' => 'analysisfeature',
+        'columns' => array (
+          'analysisfeature_id' => 'analysisfeature_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_analysisprop()
+ * Purpose: To describe the structure of 'analysisprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'analysisprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_analysisprop() {
+  $description =  array (
+    'table' => 'analysisprop',
+    'fields' => array (
+      'analysisprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'analysis_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'analysisprop_id',
+    ),
+    'unique keys' => array (
+      'analysisprop_c1' => array (
+        0 => 'analysis_id',
+        1 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'analysisprop_idx1' => array (
+        0 => 'analysis_id',
+      ),
+      'analysisprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'analysis' => array (
+        'table' => 'analysis',
+        'columns' => array (
+          'analysis_id' => 'analysis_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_arraydesign()
+ * Purpose: To describe the structure of 'arraydesign' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'arraydesign' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_arraydesign() {
+  $description =  array (
+    'table' => 'arraydesign',
+    'fields' => array (
+      'arraydesign_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'manufacturer_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'platformtype_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'substratetype_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'protocol_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'version' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'array_dimensions' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'element_dimensions' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'num_of_elements' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'num_array_columns' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'num_array_rows' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'num_grid_columns' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'num_grid_rows' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'num_sub_columns' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'num_sub_rows' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'arraydesign_id',
+    ),
+    'unique keys' => array (
+      'arraydesign_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'arraydesign_idx1' => array (
+        0 => 'manufacturer_id',
+      ),
+      'arraydesign_idx2' => array (
+        0 => 'platformtype_id',
+      ),
+      'arraydesign_idx3' => array (
+        0 => 'substratetype_id',
+      ),
+      'arraydesign_idx4' => array (
+        0 => 'protocol_id',
+      ),
+      'arraydesign_idx5' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'platformtype_id' => 'cvterm_id',
+          'substratetype_id' => 'cvterm_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'manufacturer_id' => 'contact_id',
+        ),
+      ),
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_arraydesignprop()
+ * Purpose: To describe the structure of 'arraydesignprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'arraydesignprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_arraydesignprop() {
+  $description =  array (
+    'table' => 'arraydesignprop',
+    'fields' => array (
+      'arraydesignprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'arraydesign_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'arraydesignprop_id',
+    ),
+    'unique keys' => array (
+      'arraydesignprop_c1' => array (
+        0 => 'arraydesign_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'arraydesignprop_idx1' => array (
+        0 => 'arraydesign_id',
+      ),
+      'arraydesignprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'arraydesign' => array (
+        'table' => 'arraydesign',
+        'columns' => array (
+          'arraydesign_id' => 'arraydesign_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_assay()
+ * Purpose: To describe the structure of 'assay' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'assay' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_assay() {
+  $description =  array (
+    'table' => 'assay',
+    'fields' => array (
+      'assay_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'arraydesign_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'protocol_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'assaydate' => array (
+        'type' => 'datetime',
+        'not NULL' => '',
+        'default' => 'ow(',
+      ),
+      'arrayidentifier' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'arraybatchidentifier' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'operator_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'assay_id',
+    ),
+    'unique keys' => array (
+      'assay_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'assay_idx1' => array (
+        0 => 'arraydesign_id',
+      ),
+      'assay_idx2' => array (
+        0 => 'protocol_id',
+      ),
+      'assay_idx3' => array (
+        0 => 'operator_id',
+      ),
+      'assay_idx4' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'operator_id' => 'contact_id',
+        ),
+      ),
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+      'arraydesign' => array (
+        'table' => 'arraydesign',
+        'columns' => array (
+          'arraydesign_id' => 'arraydesign_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_assay_biomaterial()
+ * Purpose: To describe the structure of 'assay_biomaterial' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'assay_biomaterial' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_assay_biomaterial() {
+  $description =  array (
+    'table' => 'assay_biomaterial',
+    'fields' => array (
+      'assay_biomaterial_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'assay_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'biomaterial_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'channel_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'assay_biomaterial_id',
+    ),
+    'unique keys' => array (
+      'assay_biomaterial_c1' => array (
+        0 => 'assay_id',
+        1 => 'biomaterial_id',
+        2 => 'channel_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'assay_biomaterial_idx1' => array (
+        0 => 'assay_id',
+      ),
+      'assay_biomaterial_idx2' => array (
+        0 => 'biomaterial_id',
+      ),
+      'assay_biomaterial_idx3' => array (
+        0 => 'channel_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'channel' => array (
+        'table' => 'channel',
+        'columns' => array (
+          'channel_id' => 'channel_id',
+        ),
+      ),
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'biomaterial_id' => 'biomaterial_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_assay_project()
+ * Purpose: To describe the structure of 'assay_project' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'assay_project' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_assay_project() {
+  $description =  array (
+    'table' => 'assay_project',
+    'fields' => array (
+      'assay_project_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'assay_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'project_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'assay_project_id',
+    ),
+    'unique keys' => array (
+      'assay_project_c1' => array (
+        0 => 'assay_id',
+        1 => 'project_id',
+      ),
+    ),
+    'indexes' => array (
+      'assay_project_idx1' => array (
+        0 => 'assay_id',
+      ),
+      'assay_project_idx2' => array (
+        0 => 'project_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'project' => array (
+        'table' => 'project',
+        'columns' => array (
+          'project_id' => 'project_id',
+        ),
+      ),
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_assayprop()
+ * Purpose: To describe the structure of 'assayprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'assayprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_assayprop() {
+  $description =  array (
+    'table' => 'assayprop',
+    'fields' => array (
+      'assayprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'assay_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'assayprop_id',
+    ),
+    'unique keys' => array (
+      'assayprop_c1' => array (
+        0 => 'assay_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'assayprop_idx1' => array (
+        0 => 'assay_id',
+      ),
+      'assayprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_biomaterial()
+ * Purpose: To describe the structure of 'biomaterial' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'biomaterial' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_biomaterial() {
+  $description =  array (
+    'table' => 'biomaterial',
+    'fields' => array (
+      'biomaterial_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'taxon_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'biosourceprovider_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'biomaterial_id',
+    ),
+    'unique keys' => array (
+      'biomaterial_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'biomaterial_idx1' => array (
+        0 => 'taxon_id',
+      ),
+      'biomaterial_idx2' => array (
+        0 => 'biosourceprovider_id',
+      ),
+      'biomaterial_idx3' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'taxon_id' => 'organism_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'biosourceprovider_id' => 'contact_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_biomaterial_dbxref()
+ * Purpose: To describe the structure of 'biomaterial_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'biomaterial_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_biomaterial_dbxref() {
+  $description =  array (
+    'table' => 'biomaterial_dbxref',
+    'fields' => array (
+      'biomaterial_dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'biomaterial_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'biomaterial_dbxref_id',
+    ),
+    'unique keys' => array (
+      'biomaterial_dbxref_c1' => array (
+        0 => 'biomaterial_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'biomaterial_dbxref_idx1' => array (
+        0 => 'biomaterial_id',
+      ),
+      'biomaterial_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'biomaterial_id' => 'biomaterial_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_biomaterial_relationship()
+ * Purpose: To describe the structure of 'biomaterial_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'biomaterial_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_biomaterial_relationship() {
+  $description =  array (
+    'table' => 'biomaterial_relationship',
+    'fields' => array (
+      'biomaterial_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'biomaterial_relationship_id',
+    ),
+    'unique keys' => array (
+      'biomaterial_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'biomaterial_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'biomaterial_relationship_idx2' => array (
+        0 => 'object_id',
+      ),
+      'biomaterial_relationship_idx3' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'subject_id' => 'biomaterial_id',
+          'object_id' => 'biomaterial_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_biomaterial_treatment()
+ * Purpose: To describe the structure of 'biomaterial_treatment' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'biomaterial_treatment' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_biomaterial_treatment() {
+  $description =  array (
+    'table' => 'biomaterial_treatment',
+    'fields' => array (
+      'biomaterial_treatment_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'biomaterial_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'treatment_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'unittype_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'value' => array (
+        'type' => 'float',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'biomaterial_treatment_id',
+    ),
+    'unique keys' => array (
+      'biomaterial_treatment_c1' => array (
+        0 => 'biomaterial_id',
+        1 => 'treatment_id',
+      ),
+    ),
+    'indexes' => array (
+      'biomaterial_treatment_idx1' => array (
+        0 => 'biomaterial_id',
+      ),
+      'biomaterial_treatment_idx2' => array (
+        0 => 'treatment_id',
+      ),
+      'biomaterial_treatment_idx3' => array (
+        0 => 'unittype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'unittype_id' => 'cvterm_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'biomaterial_id' => 'biomaterial_id',
+        ),
+      ),
+      'treatment' => array (
+        'table' => 'treatment',
+        'columns' => array (
+          'treatment_id' => 'treatment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_biomaterialprop()
+ * Purpose: To describe the structure of 'biomaterialprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'biomaterialprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_biomaterialprop() {
+  $description =  array (
+    'table' => 'biomaterialprop',
+    'fields' => array (
+      'biomaterialprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'biomaterial_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'biomaterialprop_id',
+    ),
+    'unique keys' => array (
+      'biomaterialprop_c1' => array (
+        0 => 'biomaterial_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'biomaterialprop_idx1' => array (
+        0 => 'biomaterial_id',
+      ),
+      'biomaterialprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'biomaterial_id' => 'biomaterial_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_line()
+ * Purpose: To describe the structure of 'cell_line' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_line() {
+  $description =  array (
+    'table' => 'cell_line',
+    'fields' => array (
+      'cell_line_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'uniquename' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'organism_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'timeaccessioned' => array (
+        'type' => 'datetime',
+        'not NULL' => '1',
+        'default' => 'ow(',
+      ),
+      'timelastmodified' => array (
+        'type' => 'datetime',
+        'not NULL' => '1',
+        'default' => 'ow(',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_id',
+    ),
+    'unique keys' => array (
+      'cell_line_c1' => array (
+        0 => 'uniquename',
+        1 => 'organism_id',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_line_cvterm()
+ * Purpose: To describe the structure of 'cell_line_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_line_cvterm() {
+  $description =  array (
+    'table' => 'cell_line_cvterm',
+    'fields' => array (
+      'cell_line_cvterm_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cell_line_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_cvterm_id',
+    ),
+    'unique keys' => array (
+      'cell_line_cvterm_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'cvterm_id',
+        2 => 'pub_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_line_cvtermprop()
+ * Purpose: To describe the structure of 'cell_line_cvtermprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_cvtermprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_line_cvtermprop() {
+  $description =  array (
+    'table' => 'cell_line_cvtermprop',
+    'fields' => array (
+      'cell_line_cvtermprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cell_line_cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_cvtermprop_id',
+    ),
+    'unique keys' => array (
+      'cell_line_cvtermprop_c1' => array (
+        0 => 'cell_line_cvterm_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'cell_line_cvterm' => array (
+        'table' => 'cell_line_cvterm',
+        'columns' => array (
+          'cell_line_cvterm_id' => 'cell_line_cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_line_dbxref()
+ * Purpose: To describe the structure of 'cell_line_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_line_dbxref() {
+  $description =  array (
+    'table' => 'cell_line_dbxref',
+    'fields' => array (
+      'cell_line_dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cell_line_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_current' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'ru',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_dbxref_id',
+    ),
+    'unique keys' => array (
+      'cell_line_dbxref_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_line_feature()
+ * Purpose: To describe the structure of 'cell_line_feature' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_feature' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_line_feature() {
+  $description =  array (
+    'table' => 'cell_line_feature',
+    'fields' => array (
+      'cell_line_feature_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cell_line_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_feature_id',
+    ),
+    'unique keys' => array (
+      'cell_line_feature_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'feature_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_line_library()
+ * Purpose: To describe the structure of 'cell_line_library' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_library' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_line_library() {
+  $description =  array (
+    'table' => 'cell_line_library',
+    'fields' => array (
+      'cell_line_library_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cell_line_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'library_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_library_id',
+    ),
+    'unique keys' => array (
+      'cell_line_library_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'library_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_line_pub()
+ * Purpose: To describe the structure of 'cell_line_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_line_pub() {
+  $description =  array (
+    'table' => 'cell_line_pub',
+    'fields' => array (
+      'cell_line_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cell_line_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_pub_id',
+    ),
+    'unique keys' => array (
+      'cell_line_pub_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_line_relationship()
+ * Purpose: To describe the structure of 'cell_line_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_line_relationship() {
+  $description =  array (
+    'table' => 'cell_line_relationship',
+    'fields' => array (
+      'cell_line_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_relationship_id',
+    ),
+    'unique keys' => array (
+      'cell_line_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'subject_id' => 'cell_line_id',
+          'object_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_line_synonym()
+ * Purpose: To describe the structure of 'cell_line_synonym' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_synonym' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_line_synonym() {
+  $description =  array (
+    'table' => 'cell_line_synonym',
+    'fields' => array (
+      'cell_line_synonym_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cell_line_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'synonym_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_current' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+      'is_internal' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_synonym_id',
+    ),
+    'unique keys' => array (
+      'cell_line_synonym_c1' => array (
+        0 => 'synonym_id',
+        1 => 'cell_line_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'synonym' => array (
+        'table' => 'synonym',
+        'columns' => array (
+          'synonym_id' => 'synonym_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_lineprop()
+ * Purpose: To describe the structure of 'cell_lineprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_lineprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_lineprop() {
+  $description =  array (
+    'table' => 'cell_lineprop',
+    'fields' => array (
+      'cell_lineprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cell_line_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_lineprop_id',
+    ),
+    'unique keys' => array (
+      'cell_lineprop_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cell_lineprop_pub()
+ * Purpose: To describe the structure of 'cell_lineprop_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_lineprop_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cell_lineprop_pub() {
+  $description =  array (
+    'table' => 'cell_lineprop_pub',
+    'fields' => array (
+      'cell_lineprop_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cell_lineprop_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_lineprop_pub_id',
+    ),
+    'unique keys' => array (
+      'cell_lineprop_pub_c1' => array (
+        0 => 'cell_lineprop_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'cell_lineprop' => array (
+        'table' => 'cell_lineprop',
+        'columns' => array (
+          'cell_lineprop_id' => 'cell_lineprop_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_channel()
+ * Purpose: To describe the structure of 'channel' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'channel' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_channel() {
+  $description =  array (
+    'table' => 'channel',
+    'fields' => array (
+      'channel_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'definition' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'channel_id',
+    ),
+    'unique keys' => array (
+      'channel_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_contact()
+ * Purpose: To describe the structure of 'contact' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'contact' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_contact() {
+  $description =  array (
+    'table' => 'contact',
+    'fields' => array (
+      'contact_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'description' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'contact_id',
+    ),
+    'unique keys' => array (
+      'contact_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_contact_relationship()
+ * Purpose: To describe the structure of 'contact_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'contact_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_contact_relationship() {
+  $description =  array (
+    'table' => 'contact_relationship',
+    'fields' => array (
+      'contact_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'contact_relationship_id',
+    ),
+    'unique keys' => array (
+      'contact_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'contact_relationship_idx1' => array (
+        0 => 'type_id',
+      ),
+      'contact_relationship_idx2' => array (
+        0 => 'subject_id',
+      ),
+      'contact_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'subject_id' => 'contact_id',
+          'object_id' => 'contact_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_control()
+ * Purpose: To describe the structure of 'control' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'control' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_control() {
+  $description =  array (
+    'table' => 'control',
+    'fields' => array (
+      'control_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'assay_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'tableinfo_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'row_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'control_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'control_idx1' => array (
+        0 => 'type_id',
+      ),
+      'control_idx2' => array (
+        0 => 'assay_id',
+      ),
+      'control_idx3' => array (
+        0 => 'tableinfo_id',
+      ),
+      'control_idx4' => array (
+        0 => 'row_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'tableinfo' => array (
+        'table' => 'tableinfo',
+        'columns' => array (
+          'tableinfo_id' => 'tableinfo_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cv()
+ * Purpose: To describe the structure of 'cv' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cv' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cv() {
+  $description =  array (
+    'table' => 'cv',
+    'fields' => array (
+      'cv_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'definition' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cv_id',
+    ),
+    'unique keys' => array (
+      'cv_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cvterm()
+ * Purpose: To describe the structure of 'cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvterm' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cvterm() {
+  $description =  array (
+    'table' => 'cvterm',
+    'fields' => array (
+      'cvterm_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cv_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '1024',
+        'not NULL' => '1',
+      ),
+      'definition' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_obsolete' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+      'is_relationshiptype' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvterm_id',
+    ),
+    'unique keys' => array (
+      'cvterm_c1' => array (
+        0 => 'name',
+        1 => 'cv_id',
+        2 => 'is_obsolete',
+      ),
+      'cvterm_c2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'cvterm_idx1' => array (
+        0 => 'cv_id',
+      ),
+      'cvterm_idx2' => array (
+        0 => 'name',
+      ),
+      'cvterm_idx3' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cv' => array (
+        'table' => 'cv',
+        'columns' => array (
+          'cv_id' => 'cv_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cvterm_dbxref()
+ * Purpose: To describe the structure of 'cvterm_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvterm_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cvterm_dbxref() {
+  $description =  array (
+    'table' => 'cvterm_dbxref',
+    'fields' => array (
+      'cvterm_dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_for_definition' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvterm_dbxref_id',
+    ),
+    'unique keys' => array (
+      'cvterm_dbxref_c1' => array (
+        0 => 'cvterm_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'cvterm_dbxref_idx1' => array (
+        0 => 'cvterm_id',
+      ),
+      'cvterm_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cvterm_relationship()
+ * Purpose: To describe the structure of 'cvterm_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvterm_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cvterm_relationship() {
+  $description =  array (
+    'table' => 'cvterm_relationship',
+    'fields' => array (
+      'cvterm_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvterm_relationship_id',
+    ),
+    'unique keys' => array (
+      'cvterm_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'cvterm_relationship_idx1' => array (
+        0 => 'type_id',
+      ),
+      'cvterm_relationship_idx2' => array (
+        0 => 'subject_id',
+      ),
+      'cvterm_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+          'subject_id' => 'cvterm_id',
+          'object_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cvtermpath()
+ * Purpose: To describe the structure of 'cvtermpath' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvtermpath' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cvtermpath() {
+  $description =  array (
+    'table' => 'cvtermpath',
+    'fields' => array (
+      'cvtermpath_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cv_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pathdistance' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvtermpath_id',
+    ),
+    'unique keys' => array (
+      'cvtermpath_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'pathdistance',
+      ),
+    ),
+    'indexes' => array (
+      'cvtermpath_idx1' => array (
+        0 => 'type_id',
+      ),
+      'cvtermpath_idx2' => array (
+        0 => 'subject_id',
+      ),
+      'cvtermpath_idx3' => array (
+        0 => 'object_id',
+      ),
+      'cvtermpath_idx4' => array (
+        0 => 'cv_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cv' => array (
+        'table' => 'cv',
+        'columns' => array (
+          'cv_id' => 'cv_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+          'subject_id' => 'cvterm_id',
+          'object_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cvtermprop()
+ * Purpose: To describe the structure of 'cvtermprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvtermprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cvtermprop() {
+  $description =  array (
+    'table' => 'cvtermprop',
+    'fields' => array (
+      'cvtermprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+        'default' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvtermprop_id',
+    ),
+    'unique keys' => array (
+      'cvterm_id' => array (
+        0 => 'cvterm_id',
+        1 => 'type_id',
+        2 => 'value',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'cvtermprop_idx1' => array (
+        0 => 'cvterm_id',
+      ),
+      'cvtermprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_cvtermsynonym()
+ * Purpose: To describe the structure of 'cvtermsynonym' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvtermsynonym' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_cvtermsynonym() {
+  $description =  array (
+    'table' => 'cvtermsynonym',
+    'fields' => array (
+      'cvtermsynonym_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'synonym' => array (
+        'type' => 'varchar',
+        'length' => '1024',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvtermsynonym_id',
+    ),
+    'unique keys' => array (
+      'cvtermsynonym_c1' => array (
+        0 => 'cvterm_id',
+        1 => 'synonym',
+      ),
+    ),
+    'indexes' => array (
+      'cvtermsynonym_idx1' => array (
+        0 => 'cvterm_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_db()
+ * Purpose: To describe the structure of 'db' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'db' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_db() {
+  $description =  array (
+    'table' => 'db',
+    'fields' => array (
+      'db_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'description' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'urlprefix' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'url' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'db_id',
+    ),
+    'unique keys' => array (
+      'db_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_dbxref()
+ * Purpose: To describe the structure of 'dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_dbxref() {
+  $description =  array (
+    'table' => 'dbxref',
+    'fields' => array (
+      'dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'db_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'accession' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'version' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+        'default' => '',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'dbxref_id',
+    ),
+    'unique keys' => array (
+      'dbxref_c1' => array (
+        0 => 'db_id',
+        1 => 'accession',
+        2 => 'version',
+      ),
+    ),
+    'indexes' => array (
+      'dbxref_idx1' => array (
+        0 => 'db_id',
+      ),
+      'dbxref_idx2' => array (
+        0 => 'accession',
+      ),
+      'dbxref_idx3' => array (
+        0 => 'version',
+      ),
+    ),
+    'foreign keys' => array (
+      'db' => array (
+        'table' => 'db',
+        'columns' => array (
+          'db_id' => 'db_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_dbxrefprop()
+ * Purpose: To describe the structure of 'dbxrefprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'dbxrefprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_dbxrefprop() {
+  $description =  array (
+    'table' => 'dbxrefprop',
+    'fields' => array (
+      'dbxrefprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+        'default' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'dbxrefprop_id',
+    ),
+    'unique keys' => array (
+      'dbxrefprop_c1' => array (
+        0 => 'dbxref_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'dbxrefprop_idx1' => array (
+        0 => 'dbxref_id',
+      ),
+      'dbxrefprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_eimage()
+ * Purpose: To describe the structure of 'eimage' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'eimage' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_eimage() {
+  $description =  array (
+    'table' => 'eimage',
+    'fields' => array (
+      'eimage_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'eimage_data' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'eimage_type' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'image_uri' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'eimage_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_element()
+ * Purpose: To describe the structure of 'element' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'element' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_element() {
+  $description =  array (
+    'table' => 'element',
+    'fields' => array (
+      'element_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'arraydesign_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'element_id',
+    ),
+    'unique keys' => array (
+      'element_c1' => array (
+        0 => 'feature_id',
+        1 => 'arraydesign_id',
+      ),
+    ),
+    'indexes' => array (
+      'element_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'element_idx2' => array (
+        0 => 'arraydesign_id',
+      ),
+      'element_idx3' => array (
+        0 => 'type_id',
+      ),
+      'element_idx4' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'arraydesign' => array (
+        'table' => 'arraydesign',
+        'columns' => array (
+          'arraydesign_id' => 'arraydesign_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_element_relationship()
+ * Purpose: To describe the structure of 'element_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'element_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_element_relationship() {
+  $description =  array (
+    'table' => 'element_relationship',
+    'fields' => array (
+      'element_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'element_relationship_id',
+    ),
+    'unique keys' => array (
+      'element_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'element_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'element_relationship_idx2' => array (
+        0 => 'type_id',
+      ),
+      'element_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+      'element_relationship_idx4' => array (
+        0 => 'value',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'element' => array (
+        'table' => 'element',
+        'columns' => array (
+          'subject_id' => 'element_id',
+          'object_id' => 'element_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_elementresult()
+ * Purpose: To describe the structure of 'elementresult' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'elementresult' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_elementresult() {
+  $description =  array (
+    'table' => 'elementresult',
+    'fields' => array (
+      'elementresult_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'element_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'quantification_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'signal' => array (
+        'type' => 'float',
+        'size' => 'big',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'elementresult_id',
+    ),
+    'unique keys' => array (
+      'elementresult_c1' => array (
+        0 => 'element_id',
+        1 => 'quantification_id',
+      ),
+    ),
+    'indexes' => array (
+      'elementresult_idx1' => array (
+        0 => 'element_id',
+      ),
+      'elementresult_idx2' => array (
+        0 => 'quantification_id',
+      ),
+      'elementresult_idx3' => array (
+        0 => 'signal',
+      ),
+    ),
+    'foreign keys' => array (
+      'quantification' => array (
+        'table' => 'quantification',
+        'columns' => array (
+          'quantification_id' => 'quantification_id',
+        ),
+      ),
+      'element' => array (
+        'table' => 'element',
+        'columns' => array (
+          'element_id' => 'element_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_elementresult_relationship()
+ * Purpose: To describe the structure of 'elementresult_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'elementresult_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_elementresult_relationship() {
+  $description =  array (
+    'table' => 'elementresult_relationship',
+    'fields' => array (
+      'elementresult_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'elementresult_relationship_id',
+    ),
+    'unique keys' => array (
+      'elementresult_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'elementresult_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'elementresult_relationship_idx2' => array (
+        0 => 'type_id',
+      ),
+      'elementresult_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+      'elementresult_relationship_idx4' => array (
+        0 => 'value',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'elementresult' => array (
+        'table' => 'elementresult',
+        'columns' => array (
+          'subject_id' => 'elementresult_id',
+          'object_id' => 'elementresult_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_environment()
+ * Purpose: To describe the structure of 'environment' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'environment' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_environment() {
+  $description =  array (
+    'table' => 'environment',
+    'fields' => array (
+      'environment_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'uniquename' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'environment_id',
+    ),
+    'unique keys' => array (
+      'environment_c1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'indexes' => array (
+      'environment_idx1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_environment_cvterm()
+ * Purpose: To describe the structure of 'environment_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'environment_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_environment_cvterm() {
+  $description =  array (
+    'table' => 'environment_cvterm',
+    'fields' => array (
+      'environment_cvterm_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'environment_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'environment_cvterm_id',
+    ),
+    'unique keys' => array (
+      'environment_cvterm_c1' => array (
+        0 => 'environment_id',
+        1 => 'cvterm_id',
+      ),
+    ),
+    'indexes' => array (
+      'environment_cvterm_idx1' => array (
+        0 => 'environment_id',
+      ),
+      'environment_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'environment' => array (
+        'table' => 'environment',
+        'columns' => array (
+          'environment_id' => 'environment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_expression()
+ * Purpose: To describe the structure of 'expression' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expression' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_expression() {
+  $description =  array (
+    'table' => 'expression',
+    'fields' => array (
+      'expression_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'uniquename' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'md5checksum' => array (
+        'type' => 'char',
+        'length' => '32',
+        'not NULL' => '',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expression_id',
+    ),
+    'unique keys' => array (
+      'expression_c1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_expression_cvterm()
+ * Purpose: To describe the structure of 'expression_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expression_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_expression_cvterm() {
+  $description =  array (
+    'table' => 'expression_cvterm',
+    'fields' => array (
+      'expression_cvterm_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'expression_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+      'cvterm_type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expression_cvterm_id',
+    ),
+    'unique keys' => array (
+      'expression_cvterm_c1' => array (
+        0 => 'expression_id',
+        1 => 'cvterm_id',
+        2 => 'cvterm_type_id',
+      ),
+    ),
+    'indexes' => array (
+      'expression_cvterm_idx1' => array (
+        0 => 'expression_id',
+      ),
+      'expression_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+      'expression_cvterm_idx3' => array (
+        0 => 'cvterm_type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+          'cvterm_type_id' => 'cvterm_id',
+        ),
+      ),
+      'expression' => array (
+        'table' => 'expression',
+        'columns' => array (
+          'expression_id' => 'expression_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_expression_cvtermprop()
+ * Purpose: To describe the structure of 'expression_cvtermprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expression_cvtermprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_expression_cvtermprop() {
+  $description =  array (
+    'table' => 'expression_cvtermprop',
+    'fields' => array (
+      'expression_cvtermprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'expression_cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expression_cvtermprop_id',
+    ),
+    'unique keys' => array (
+      'expression_cvtermprop_c1' => array (
+        0 => 'expression_cvterm_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'expression_cvtermprop_idx1' => array (
+        0 => 'expression_cvterm_id',
+      ),
+      'expression_cvtermprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'expression_cvterm' => array (
+        'table' => 'expression_cvterm',
+        'columns' => array (
+          'expression_cvterm_id' => 'expression_cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_expression_image()
+ * Purpose: To describe the structure of 'expression_image' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expression_image' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_expression_image() {
+  $description =  array (
+    'table' => 'expression_image',
+    'fields' => array (
+      'expression_image_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'expression_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'eimage_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expression_image_id',
+    ),
+    'unique keys' => array (
+      'expression_image_c1' => array (
+        0 => 'expression_id',
+        1 => 'eimage_id',
+      ),
+    ),
+    'indexes' => array (
+      'expression_image_idx1' => array (
+        0 => 'expression_id',
+      ),
+      'expression_image_idx2' => array (
+        0 => 'eimage_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'expression' => array (
+        'table' => 'expression',
+        'columns' => array (
+          'expression_id' => 'expression_id',
+        ),
+      ),
+      'eimage' => array (
+        'table' => 'eimage',
+        'columns' => array (
+          'eimage_id' => 'eimage_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_expression_pub()
+ * Purpose: To describe the structure of 'expression_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expression_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_expression_pub() {
+  $description =  array (
+    'table' => 'expression_pub',
+    'fields' => array (
+      'expression_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'expression_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expression_pub_id',
+    ),
+    'unique keys' => array (
+      'expression_pub_c1' => array (
+        0 => 'expression_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'expression_pub_idx1' => array (
+        0 => 'expression_id',
+      ),
+      'expression_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'expression' => array (
+        'table' => 'expression',
+        'columns' => array (
+          'expression_id' => 'expression_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_expressionprop()
+ * Purpose: To describe the structure of 'expressionprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expressionprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_expressionprop() {
+  $description =  array (
+    'table' => 'expressionprop',
+    'fields' => array (
+      'expressionprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'expression_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expressionprop_id',
+    ),
+    'unique keys' => array (
+      'expressionprop_c1' => array (
+        0 => 'expression_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'expressionprop_idx1' => array (
+        0 => 'expression_id',
+      ),
+      'expressionprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'expression' => array (
+        'table' => 'expression',
+        'columns' => array (
+          'expression_id' => 'expression_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature()
+ * Purpose: To describe the structure of 'feature' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature() {
+  $description =  array (
+    'table' => 'feature',
+    'fields' => array (
+      'feature_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'organism_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'uniquename' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'residues' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'seqlen' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'md5checksum' => array (
+        'type' => 'char',
+        'length' => '32',
+        'not NULL' => '',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_analysis' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+      'is_obsolete' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+      'timeaccessioned' => array (
+        'type' => 'datetime',
+        'not NULL' => '1',
+        'default' => 'ow(',
+      ),
+      'timelastmodified' => array (
+        'type' => 'datetime',
+        'not NULL' => '1',
+        'default' => 'ow(',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_id',
+    ),
+    'unique keys' => array (
+      'feature_c1' => array (
+        0 => 'organism_id',
+        1 => 'uniquename',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_idx1' => array (
+        0 => 'dbxref_id',
+      ),
+      'feature_idx2' => array (
+        0 => 'organism_id',
+      ),
+      'feature_idx3' => array (
+        0 => 'type_id',
+      ),
+      'feature_idx4' => array (
+        0 => 'uniquename',
+      ),
+      'feature_name_ind1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+    'referring_tables' => array (
+      0 => 'analysisfeature',
+      1 => 'element',
+      2 => 'feature_cvterm',
+      3 => 'feature_dbxref',
+      4 => 'feature_expression',
+      5 => 'feature_genotype',
+      6 => 'feature_phenotype',
+      7 => 'feature_pub',
+      8 => 'feature_relationship',
+      9 => 'feature_synonym',
+      10 => 'featureloc',
+      11 => 'featurepos',
+      12 => 'featureprop',
+      13 => 'featurerange',
+      14 => 'library_feature',
+      15 => 'phylonode',
+      16 => 'wwwuser_feature',
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_cvterm()
+ * Purpose: To describe the structure of 'feature_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_cvterm() {
+  $description =  array (
+    'table' => 'feature_cvterm',
+    'fields' => array (
+      'feature_cvterm_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_not' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_cvterm_id',
+    ),
+    'unique keys' => array (
+      'feature_cvterm_c1' => array (
+        0 => 'feature_id',
+        1 => 'cvterm_id',
+        2 => 'pub_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_cvterm_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'feature_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+      'feature_cvterm_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_cvterm_dbxref()
+ * Purpose: To describe the structure of 'feature_cvterm_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_cvterm_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_cvterm_dbxref() {
+  $description =  array (
+    'table' => 'feature_cvterm_dbxref',
+    'fields' => array (
+      'feature_cvterm_dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_cvterm_dbxref_id',
+    ),
+    'unique keys' => array (
+      'feature_cvterm_dbxref_c1' => array (
+        0 => 'feature_cvterm_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_cvterm_dbxref_idx1' => array (
+        0 => 'feature_cvterm_id',
+      ),
+      'feature_cvterm_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature_cvterm' => array (
+        'table' => 'feature_cvterm',
+        'columns' => array (
+          'feature_cvterm_id' => 'feature_cvterm_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_cvterm_pub()
+ * Purpose: To describe the structure of 'feature_cvterm_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_cvterm_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_cvterm_pub() {
+  $description =  array (
+    'table' => 'feature_cvterm_pub',
+    'fields' => array (
+      'feature_cvterm_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_cvterm_pub_id',
+    ),
+    'unique keys' => array (
+      'feature_cvterm_pub_c1' => array (
+        0 => 'feature_cvterm_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_cvterm_pub_idx1' => array (
+        0 => 'feature_cvterm_id',
+      ),
+      'feature_cvterm_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature_cvterm' => array (
+        'table' => 'feature_cvterm',
+        'columns' => array (
+          'feature_cvterm_id' => 'feature_cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_cvtermprop()
+ * Purpose: To describe the structure of 'feature_cvtermprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_cvtermprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_cvtermprop() {
+  $description =  array (
+    'table' => 'feature_cvtermprop',
+    'fields' => array (
+      'feature_cvtermprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_cvtermprop_id',
+    ),
+    'unique keys' => array (
+      'feature_cvtermprop_c1' => array (
+        0 => 'feature_cvterm_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_cvtermprop_idx1' => array (
+        0 => 'feature_cvterm_id',
+      ),
+      'feature_cvtermprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature_cvterm' => array (
+        'table' => 'feature_cvterm',
+        'columns' => array (
+          'feature_cvterm_id' => 'feature_cvterm_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_dbxref()
+ * Purpose: To describe the structure of 'feature_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_dbxref() {
+  $description =  array (
+    'table' => 'feature_dbxref',
+    'fields' => array (
+      'feature_dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_current' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'ru',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_dbxref_id',
+    ),
+    'unique keys' => array (
+      'feature_dbxref_c1' => array (
+        0 => 'feature_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_dbxref_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'feature_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_expression()
+ * Purpose: To describe the structure of 'feature_expression' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_expression' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_expression() {
+  $description =  array (
+    'table' => 'feature_expression',
+    'fields' => array (
+      'feature_expression_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'expression_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_expression_id',
+    ),
+    'unique keys' => array (
+      'feature_expression_c1' => array (
+        0 => 'expression_id',
+        1 => 'feature_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_expression_idx1' => array (
+        0 => 'expression_id',
+      ),
+      'feature_expression_idx2' => array (
+        0 => 'feature_id',
+      ),
+      'feature_expression_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'expression' => array (
+        'table' => 'expression',
+        'columns' => array (
+          'expression_id' => 'expression_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_expressionprop()
+ * Purpose: To describe the structure of 'feature_expressionprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_expressionprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_expressionprop() {
+  $description =  array (
+    'table' => 'feature_expressionprop',
+    'fields' => array (
+      'feature_expressionprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_expression_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_expressionprop_id',
+    ),
+    'unique keys' => array (
+      'feature_expressionprop_c1' => array (
+        0 => 'feature_expression_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_expressionprop_idx1' => array (
+        0 => 'feature_expression_id',
+      ),
+      'feature_expressionprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature_expression' => array (
+        'table' => 'feature_expression',
+        'columns' => array (
+          'feature_expression_id' => 'feature_expression_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_genotype()
+ * Purpose: To describe the structure of 'feature_genotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_genotype' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_genotype() {
+  $description =  array (
+    'table' => 'feature_genotype',
+    'fields' => array (
+      'feature_genotype_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'genotype_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'chromosome_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cgroup' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_genotype_id',
+    ),
+    'unique keys' => array (
+      'feature_genotype_c1' => array (
+        0 => 'feature_id',
+        1 => 'genotype_id',
+        2 => 'cvterm_id',
+        3 => 'chromosome_id',
+        4 => 'rank',
+        5 => 'cgroup',
+      ),
+    ),
+    'indexes' => array (
+      'feature_genotype_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'feature_genotype_idx2' => array (
+        0 => 'genotype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+          'chromosome_id' => 'feature_id',
+        ),
+      ),
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype_id' => 'genotype_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_phenotype()
+ * Purpose: To describe the structure of 'feature_phenotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_phenotype' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_phenotype() {
+  $description =  array (
+    'table' => 'feature_phenotype',
+    'fields' => array (
+      'feature_phenotype_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'phenotype_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_phenotype_id',
+    ),
+    'unique keys' => array (
+      'feature_phenotype_c1' => array (
+        0 => 'feature_id',
+        1 => 'phenotype_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_phenotype_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'feature_phenotype_idx2' => array (
+        0 => 'phenotype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'phenotype' => array (
+        'table' => 'phenotype',
+        'columns' => array (
+          'phenotype_id' => 'phenotype_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_pub()
+ * Purpose: To describe the structure of 'feature_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_pub() {
+  $description =  array (
+    'table' => 'feature_pub',
+    'fields' => array (
+      'feature_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_pub_id',
+    ),
+    'unique keys' => array (
+      'feature_pub_c1' => array (
+        0 => 'feature_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_pub_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'feature_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_pubprop()
+ * Purpose: To describe the structure of 'feature_pubprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_pubprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_pubprop() {
+  $description =  array (
+    'table' => 'feature_pubprop',
+    'fields' => array (
+      'feature_pubprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_pubprop_id',
+    ),
+    'unique keys' => array (
+      'feature_pubprop_c1' => array (
+        0 => 'feature_pub_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_pubprop_idx1' => array (
+        0 => 'feature_pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature_pub' => array (
+        'table' => 'feature_pub',
+        'columns' => array (
+          'feature_pub_id' => 'feature_pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_relationship()
+ * Purpose: To describe the structure of 'feature_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_relationship() {
+  $description =  array (
+    'table' => 'feature_relationship',
+    'fields' => array (
+      'feature_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_relationship_id',
+    ),
+    'unique keys' => array (
+      'feature_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'feature_relationship_idx2' => array (
+        0 => 'object_id',
+      ),
+      'feature_relationship_idx3' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'object_id' => 'feature_id',
+          'subject_id' => 'feature_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_relationship_pub()
+ * Purpose: To describe the structure of 'feature_relationship_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_relationship_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_relationship_pub() {
+  $description =  array (
+    'table' => 'feature_relationship_pub',
+    'fields' => array (
+      'feature_relationship_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_relationship_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_relationship_pub_id',
+    ),
+    'unique keys' => array (
+      'feature_relationship_pub_c1' => array (
+        0 => 'feature_relationship_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_relationship_pub_idx1' => array (
+        0 => 'feature_relationship_id',
+      ),
+      'feature_relationship_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'feature_relationship' => array (
+        'table' => 'feature_relationship',
+        'columns' => array (
+          'feature_relationship_id' => 'feature_relationship_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_relationshipprop()
+ * Purpose: To describe the structure of 'feature_relationshipprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_relationshipprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_relationshipprop() {
+  $description =  array (
+    'table' => 'feature_relationshipprop',
+    'fields' => array (
+      'feature_relationshipprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_relationship_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_relationshipprop_id',
+    ),
+    'unique keys' => array (
+      'feature_relationshipprop_c1' => array (
+        0 => 'feature_relationship_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_relationshipprop_idx1' => array (
+        0 => 'feature_relationship_id',
+      ),
+      'feature_relationshipprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature_relationship' => array (
+        'table' => 'feature_relationship',
+        'columns' => array (
+          'feature_relationship_id' => 'feature_relationship_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_relationshipprop_pub()
+ * Purpose: To describe the structure of 'feature_relationshipprop_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_relationshipprop_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_relationshipprop_pub() {
+  $description =  array (
+    'table' => 'feature_relationshipprop_pub',
+    'fields' => array (
+      'feature_relationshipprop_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_relationshipprop_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_relationshipprop_pub_id',
+    ),
+    'unique keys' => array (
+      'feature_relationshipprop_pub_c1' => array (
+        0 => 'feature_relationshipprop_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_relationshipprop_pub_idx1' => array (
+        0 => 'feature_relationshipprop_id',
+      ),
+      'feature_relationshipprop_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature_relationshipprop' => array (
+        'table' => 'feature_relationshipprop',
+        'columns' => array (
+          'feature_relationshipprop_id' => 'feature_relationshipprop_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_feature_synonym()
+ * Purpose: To describe the structure of 'feature_synonym' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_synonym' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_feature_synonym() {
+  $description =  array (
+    'table' => 'feature_synonym',
+    'fields' => array (
+      'feature_synonym_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'synonym_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_current' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+      'is_internal' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_synonym_id',
+    ),
+    'unique keys' => array (
+      'feature_synonym_c1' => array (
+        0 => 'synonym_id',
+        1 => 'feature_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_synonym_idx1' => array (
+        0 => 'synonym_id',
+      ),
+      'feature_synonym_idx2' => array (
+        0 => 'feature_id',
+      ),
+      'feature_synonym_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'synonym' => array (
+        'table' => 'synonym',
+        'columns' => array (
+          'synonym_id' => 'synonym_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_featureloc()
+ * Purpose: To describe the structure of 'featureloc' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featureloc' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_featureloc() {
+  $description =  array (
+    'table' => 'featureloc',
+    'fields' => array (
+      'featureloc_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'srcfeature_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'fmin' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'is_fmin_partial' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+      'fmax' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'is_fmax_partial' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+      'strand' => array (
+        'type' => 'int',
+        'size' => 'small',
+        'not NULL' => '',
+      ),
+      'phase' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'residue_info' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'locgroup' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featureloc_id',
+    ),
+    'unique keys' => array (
+      'featureloc_c1' => array (
+        0 => 'feature_id',
+        1 => 'locgroup',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'binloc_boxrange' => array (
+        0 => 'fmin',
+      ),
+      'binloc_boxrange_src' => array (
+        0 => 'srcfeature_id',
+        1 => 'fmin',
+      ),
+      'featureloc_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'featureloc_idx2' => array (
+        0 => 'srcfeature_id',
+      ),
+      'featureloc_idx3' => array (
+        0 => 'srcfeature_id',
+        1 => 'fmin',
+        2 => 'fmax',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+          'srcfeature_id' => 'feature_id',
+        ),
+      ),
+    ),
+    'referring_tables' => array (
+      0 => 'analysisfeature',
+      1 => 'featureloc_pub',
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_featureloc_pub()
+ * Purpose: To describe the structure of 'featureloc_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featureloc_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_featureloc_pub() {
+  $description =  array (
+    'table' => 'featureloc_pub',
+    'fields' => array (
+      'featureloc_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'featureloc_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featureloc_pub_id',
+    ),
+    'unique keys' => array (
+      'featureloc_pub_c1' => array (
+        0 => 'featureloc_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'featureloc_pub_idx1' => array (
+        0 => 'featureloc_id',
+      ),
+      'featureloc_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'featureloc' => array (
+        'table' => 'featureloc',
+        'columns' => array (
+          'featureloc_id' => 'featureloc_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_featuremap()
+ * Purpose: To describe the structure of 'featuremap' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featuremap' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_featuremap() {
+  $description =  array (
+    'table' => 'featuremap',
+    'fields' => array (
+      'featuremap_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'unittype_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featuremap_id',
+    ),
+    'unique keys' => array (
+      'featuremap_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'unittype_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_featuremap_pub()
+ * Purpose: To describe the structure of 'featuremap_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featuremap_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_featuremap_pub() {
+  $description =  array (
+    'table' => 'featuremap_pub',
+    'fields' => array (
+      'featuremap_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'featuremap_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featuremap_pub_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'featuremap_pub_idx1' => array (
+        0 => 'featuremap_id',
+      ),
+      'featuremap_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'featuremap' => array (
+        'table' => 'featuremap',
+        'columns' => array (
+          'featuremap_id' => 'featuremap_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_featurepos()
+ * Purpose: To describe the structure of 'featurepos' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featurepos' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_featurepos() {
+  $description =  array (
+    'table' => 'featurepos',
+    'fields' => array (
+      'featurepos_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'featuremap_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'map_feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'mappos' => array (
+        'type' => 'float',
+        'size' => 'big',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featurepos_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'featurepos_idx1' => array (
+        0 => 'featuremap_id',
+      ),
+      'featurepos_idx2' => array (
+        0 => 'feature_id',
+      ),
+      'featurepos_idx3' => array (
+        0 => 'map_feature_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+          'map_feature_id' => 'feature_id',
+        ),
+      ),
+      'featuremap' => array (
+        'table' => 'featuremap',
+        'columns' => array (
+          'featuremap_id' => 'featuremap_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_featureprop()
+ * Purpose: To describe the structure of 'featureprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featureprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_featureprop() {
+  $description =  array (
+    'table' => 'featureprop',
+    'fields' => array (
+      'featureprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featureprop_id',
+    ),
+    'unique keys' => array (
+      'featureprop_c1' => array (
+        0 => 'feature_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'featureprop_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'featureprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+    'referring_tables' => array (
+      0 => 'analysisfeature',
+      1 => 'featureprop_pub',
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_featureprop_pub()
+ * Purpose: To describe the structure of 'featureprop_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featureprop_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_featureprop_pub() {
+  $description =  array (
+    'table' => 'featureprop_pub',
+    'fields' => array (
+      'featureprop_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'featureprop_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featureprop_pub_id',
+    ),
+    'unique keys' => array (
+      'featureprop_pub_c1' => array (
+        0 => 'featureprop_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'featureprop_pub_idx1' => array (
+        0 => 'featureprop_id',
+      ),
+      'featureprop_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'featureprop' => array (
+        'table' => 'featureprop',
+        'columns' => array (
+          'featureprop_id' => 'featureprop_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_featurerange()
+ * Purpose: To describe the structure of 'featurerange' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featurerange' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_featurerange() {
+  $description =  array (
+    'table' => 'featurerange',
+    'fields' => array (
+      'featurerange_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'featuremap_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'leftstartf_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'leftendf_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'rightstartf_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'rightendf_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'rangestr' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featurerange_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'featurerange_idx1' => array (
+        0 => 'featuremap_id',
+      ),
+      'featurerange_idx2' => array (
+        0 => 'feature_id',
+      ),
+      'featurerange_idx3' => array (
+        0 => 'leftstartf_id',
+      ),
+      'featurerange_idx4' => array (
+        0 => 'leftendf_id',
+      ),
+      'featurerange_idx5' => array (
+        0 => 'rightstartf_id',
+      ),
+      'featurerange_idx6' => array (
+        0 => 'rightendf_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+          'leftstartf_id' => 'feature_id',
+          'leftendf_id' => 'feature_id',
+          'rightstartf_id' => 'feature_id',
+          'rightendf_id' => 'feature_id',
+        ),
+      ),
+      'featuremap' => array (
+        'table' => 'featuremap',
+        'columns' => array (
+          'featuremap_id' => 'featuremap_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_genotype()
+ * Purpose: To describe the structure of 'genotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'genotype' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_genotype() {
+  $description =  array (
+    'table' => 'genotype',
+    'fields' => array (
+      'genotype_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'uniquename' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'description' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'genotype_id',
+    ),
+    'unique keys' => array (
+      'genotype_c1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'indexes' => array (
+      'genotype_idx1' => array (
+        0 => 'uniquename',
+      ),
+      'genotype_idx2' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_library()
+ * Purpose: To describe the structure of 'library' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_library() {
+  $description =  array (
+    'table' => 'library',
+    'fields' => array (
+      'library_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'organism_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'uniquename' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_obsolete' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+      'timeaccessioned' => array (
+        'type' => 'datetime',
+        'not NULL' => '1',
+        'default' => 'ow(',
+      ),
+      'timelastmodified' => array (
+        'type' => 'datetime',
+        'not NULL' => '1',
+        'default' => 'ow(',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_id',
+    ),
+    'unique keys' => array (
+      'library_c1' => array (
+        0 => 'organism_id',
+        1 => 'uniquename',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_idx1' => array (
+        0 => 'organism_id',
+      ),
+      'library_idx2' => array (
+        0 => 'type_id',
+      ),
+      'library_idx3' => array (
+        0 => 'uniquename',
+      ),
+      'library_name_ind1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_library_cvterm()
+ * Purpose: To describe the structure of 'library_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_library_cvterm() {
+  $description =  array (
+    'table' => 'library_cvterm',
+    'fields' => array (
+      'library_cvterm_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'library_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_cvterm_id',
+    ),
+    'unique keys' => array (
+      'library_cvterm_c1' => array (
+        0 => 'library_id',
+        1 => 'cvterm_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_cvterm_idx1' => array (
+        0 => 'library_id',
+      ),
+      'library_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+      'library_cvterm_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_library_dbxref()
+ * Purpose: To describe the structure of 'library_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_library_dbxref() {
+  $description =  array (
+    'table' => 'library_dbxref',
+    'fields' => array (
+      'library_dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'library_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_current' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'ru',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_dbxref_id',
+    ),
+    'unique keys' => array (
+      'library_dbxref_c1' => array (
+        0 => 'library_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_dbxref_idx1' => array (
+        0 => 'library_id',
+      ),
+      'library_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_library_feature()
+ * Purpose: To describe the structure of 'library_feature' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library_feature' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_library_feature() {
+  $description =  array (
+    'table' => 'library_feature',
+    'fields' => array (
+      'library_feature_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'library_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_feature_id',
+    ),
+    'unique keys' => array (
+      'library_feature_c1' => array (
+        0 => 'library_id',
+        1 => 'feature_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_feature_idx1' => array (
+        0 => 'library_id',
+      ),
+      'library_feature_idx2' => array (
+        0 => 'feature_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_library_pub()
+ * Purpose: To describe the structure of 'library_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_library_pub() {
+  $description =  array (
+    'table' => 'library_pub',
+    'fields' => array (
+      'library_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'library_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_pub_id',
+    ),
+    'unique keys' => array (
+      'library_pub_c1' => array (
+        0 => 'library_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_pub_idx1' => array (
+        0 => 'library_id',
+      ),
+      'library_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_library_synonym()
+ * Purpose: To describe the structure of 'library_synonym' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library_synonym' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_library_synonym() {
+  $description =  array (
+    'table' => 'library_synonym',
+    'fields' => array (
+      'library_synonym_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'synonym_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'library_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_current' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'ru',
+      ),
+      'is_internal' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_synonym_id',
+    ),
+    'unique keys' => array (
+      'library_synonym_c1' => array (
+        0 => 'synonym_id',
+        1 => 'library_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_synonym_idx1' => array (
+        0 => 'synonym_id',
+      ),
+      'library_synonym_idx2' => array (
+        0 => 'library_id',
+      ),
+      'library_synonym_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'synonym' => array (
+        'table' => 'synonym',
+        'columns' => array (
+          'synonym_id' => 'synonym_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_libraryprop()
+ * Purpose: To describe the structure of 'libraryprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'libraryprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_libraryprop() {
+  $description =  array (
+    'table' => 'libraryprop',
+    'fields' => array (
+      'libraryprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'library_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'libraryprop_id',
+    ),
+    'unique keys' => array (
+      'libraryprop_c1' => array (
+        0 => 'library_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'libraryprop_idx1' => array (
+        0 => 'library_id',
+      ),
+      'libraryprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_libraryprop_pub()
+ * Purpose: To describe the structure of 'libraryprop_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'libraryprop_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_libraryprop_pub() {
+  $description =  array (
+    'table' => 'libraryprop_pub',
+    'fields' => array (
+      'libraryprop_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'libraryprop_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'libraryprop_pub_id',
+    ),
+    'unique keys' => array (
+      'libraryprop_pub_c1' => array (
+        0 => 'libraryprop_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'libraryprop_pub_idx1' => array (
+        0 => 'libraryprop_id',
+      ),
+      'libraryprop_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'libraryprop' => array (
+        'table' => 'libraryprop',
+        'columns' => array (
+          'libraryprop_id' => 'libraryprop_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_magedocumentation()
+ * Purpose: To describe the structure of 'magedocumentation' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'magedocumentation' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_magedocumentation() {
+  $description =  array (
+    'table' => 'magedocumentation',
+    'fields' => array (
+      'magedocumentation_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'mageml_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'tableinfo_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'row_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'mageidentifier' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'magedocumentation_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'magedocumentation_idx1' => array (
+        0 => 'mageml_id',
+      ),
+      'magedocumentation_idx2' => array (
+        0 => 'tableinfo_id',
+      ),
+      'magedocumentation_idx3' => array (
+        0 => 'row_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'tableinfo' => array (
+        'table' => 'tableinfo',
+        'columns' => array (
+          'tableinfo_id' => 'tableinfo_id',
+        ),
+      ),
+      'mageml' => array (
+        'table' => 'mageml',
+        'columns' => array (
+          'mageml_id' => 'mageml_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_mageml()
+ * Purpose: To describe the structure of 'mageml' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'mageml' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_mageml() {
+  $description =  array (
+    'table' => 'mageml',
+    'fields' => array (
+      'mageml_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'mage_package' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'mage_ml' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'mageml_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_materialized_view()
+ * Purpose: To describe the structure of 'materialized_view' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'materialized_view' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_materialized_view() {
+  $description =  array (
+    'table' => 'materialized_view',
+    'fields' => array (
+      'materialized_view_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'last_update' => array (
+        'type' => 'datetime',
+        'not NULL' => '',
+      ),
+      'refresh_time' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '64',
+        'not NULL' => '',
+      ),
+      'mv_schema' => array (
+        'type' => 'varchar',
+        'length' => '64',
+        'not NULL' => '',
+      ),
+      'mv_table' => array (
+        'type' => 'varchar',
+        'length' => '128',
+        'not NULL' => '',
+      ),
+      'mv_specs' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'indexed' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'query' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'special_index' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+    ),
+    'unique keys' => array (
+      'name' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_organism()
+ * Purpose: To describe the structure of 'organism' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'organism' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_organism() {
+  $description =  array (
+    'table' => 'organism',
+    'fields' => array (
+      'organism_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'abbreviation' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'genus' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'species' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'common_name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'comment' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'organism_id',
+    ),
+    'unique keys' => array (
+      'organism_c1' => array (
+        0 => 'genus',
+        1 => 'species',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+    'referring_tables' => array (
+      0 => 'biomaterial',
+      1 => 'feature',
+      2 => 'library',
+      3 => 'organism_dbxref',
+      4 => 'organismprop',
+      5 => 'phylonode_organism',
+      6 => 'stock',
+      7 => 'wwwuser_organism',
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_organism_dbxref()
+ * Purpose: To describe the structure of 'organism_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'organism_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_organism_dbxref() {
+  $description =  array (
+    'table' => 'organism_dbxref',
+    'fields' => array (
+      'organism_dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'organism_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'organism_dbxref_id',
+    ),
+    'unique keys' => array (
+      'organism_dbxref_c1' => array (
+        0 => 'organism_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'organism_dbxref_idx1' => array (
+        0 => 'organism_id',
+      ),
+      'organism_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_organismprop()
+ * Purpose: To describe the structure of 'organismprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'organismprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_organismprop() {
+  $description =  array (
+    'table' => 'organismprop',
+    'fields' => array (
+      'organismprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'organism_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'organismprop_id',
+    ),
+    'unique keys' => array (
+      'organismprop_c1' => array (
+        0 => 'organism_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'organismprop_idx1' => array (
+        0 => 'organism_id',
+      ),
+      'organismprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phendesc()
+ * Purpose: To describe the structure of 'phendesc' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phendesc' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phendesc() {
+  $description =  array (
+    'table' => 'phendesc',
+    'fields' => array (
+      'phendesc_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'genotype_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'environment_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phendesc_id',
+    ),
+    'unique keys' => array (
+      'phendesc_c1' => array (
+        0 => 'genotype_id',
+        1 => 'environment_id',
+        2 => 'type_id',
+        3 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'phendesc_idx1' => array (
+        0 => 'genotype_id',
+      ),
+      'phendesc_idx2' => array (
+        0 => 'environment_id',
+      ),
+      'phendesc_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype_id' => 'genotype_id',
+        ),
+      ),
+      'environment' => array (
+        'table' => 'environment',
+        'columns' => array (
+          'environment_id' => 'environment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phenotype()
+ * Purpose: To describe the structure of 'phenotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phenotype' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phenotype() {
+  $description =  array (
+    'table' => 'phenotype',
+    'fields' => array (
+      'phenotype_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'uniquename' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'observable_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'attr_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'cvalue_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'assay_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phenotype_id',
+    ),
+    'unique keys' => array (
+      'phenotype_c1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'indexes' => array (
+      'phenotype_idx1' => array (
+        0 => 'cvalue_id',
+      ),
+      'phenotype_idx2' => array (
+        0 => 'observable_id',
+      ),
+      'phenotype_idx3' => array (
+        0 => 'attr_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'observable_id' => 'cvterm_id',
+          'attr_id' => 'cvterm_id',
+          'cvalue_id' => 'cvterm_id',
+          'assay_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phenotype_comparison()
+ * Purpose: To describe the structure of 'phenotype_comparison' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phenotype_comparison' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phenotype_comparison() {
+  $description =  array (
+    'table' => 'phenotype_comparison',
+    'fields' => array (
+      'phenotype_comparison_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'genotype1_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'environment1_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'genotype2_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'environment2_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'phenotype1_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'phenotype2_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'organism_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phenotype_comparison_id',
+    ),
+    'unique keys' => array (
+      'phenotype_comparison_c1' => array (
+        0 => 'genotype1_id',
+        1 => 'environment1_id',
+        2 => 'genotype2_id',
+        3 => 'environment2_id',
+        4 => 'phenotype1_id',
+        5 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'phenotype_comparison_idx1' => array (
+        0 => 'genotype1_id',
+      ),
+      'phenotype_comparison_idx2' => array (
+        0 => 'genotype2_id',
+      ),
+      'phenotype_comparison_idx4' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+      'phenotype' => array (
+        'table' => 'phenotype',
+        'columns' => array (
+          'phenotype1_id' => 'phenotype_id',
+          'phenotype2_id' => 'phenotype_id',
+        ),
+      ),
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype1_id' => 'genotype_id',
+          'genotype2_id' => 'genotype_id',
+        ),
+      ),
+      'environment' => array (
+        'table' => 'environment',
+        'columns' => array (
+          'environment1_id' => 'environment_id',
+          'environment2_id' => 'environment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phenotype_comparison_cvterm()
+ * Purpose: To describe the structure of 'phenotype_comparison_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phenotype_comparison_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phenotype_comparison_cvterm() {
+  $description =  array (
+    'table' => 'phenotype_comparison_cvterm',
+    'fields' => array (
+      'phenotype_comparison_cvterm_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'phenotype_comparison_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phenotype_comparison_cvterm_id',
+    ),
+    'unique keys' => array (
+      'phenotype_comparison_cvterm_c1' => array (
+        0 => 'phenotype_comparison_id',
+        1 => 'cvterm_id',
+      ),
+    ),
+    'indexes' => array (
+      'phenotype_comparison_cvterm_idx1' => array (
+        0 => 'phenotype_comparison_id',
+      ),
+      'phenotype_comparison_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'phenotype_comparison' => array (
+        'table' => 'phenotype_comparison',
+        'columns' => array (
+          'phenotype_comparison_id' => 'phenotype_comparison_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phenotype_cvterm()
+ * Purpose: To describe the structure of 'phenotype_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phenotype_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phenotype_cvterm() {
+  $description =  array (
+    'table' => 'phenotype_cvterm',
+    'fields' => array (
+      'phenotype_cvterm_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'phenotype_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phenotype_cvterm_id',
+    ),
+    'unique keys' => array (
+      'phenotype_cvterm_c1' => array (
+        0 => 'phenotype_id',
+        1 => 'cvterm_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'phenotype_cvterm_idx1' => array (
+        0 => 'phenotype_id',
+      ),
+      'phenotype_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'phenotype' => array (
+        'table' => 'phenotype',
+        'columns' => array (
+          'phenotype_id' => 'phenotype_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phenstatement()
+ * Purpose: To describe the structure of 'phenstatement' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phenstatement' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phenstatement() {
+  $description =  array (
+    'table' => 'phenstatement',
+    'fields' => array (
+      'phenstatement_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'genotype_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'environment_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'phenotype_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phenstatement_id',
+    ),
+    'unique keys' => array (
+      'phenstatement_c1' => array (
+        0 => 'genotype_id',
+        1 => 'phenotype_id',
+        2 => 'environment_id',
+        3 => 'type_id',
+        4 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'phenstatement_idx1' => array (
+        0 => 'genotype_id',
+      ),
+      'phenstatement_idx2' => array (
+        0 => 'phenotype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'phenotype' => array (
+        'table' => 'phenotype',
+        'columns' => array (
+          'phenotype_id' => 'phenotype_id',
+        ),
+      ),
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype_id' => 'genotype_id',
+        ),
+      ),
+      'environment' => array (
+        'table' => 'environment',
+        'columns' => array (
+          'environment_id' => 'environment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phylonode()
+ * Purpose: To describe the structure of 'phylonode' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonode' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phylonode() {
+  $description =  array (
+    'table' => 'phylonode',
+    'fields' => array (
+      'phylonode_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'phylotree_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'parent_phylonode_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'left_idx' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'right_idx' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'label' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'distance' => array (
+        'type' => 'float',
+        'size' => 'big',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonode_id',
+    ),
+    'unique keys' => array (
+      'phylotree_id' => array (
+        0 => 'phylotree_id',
+        1 => 'left_idx',
+      ),
+      'phylonode_phylotree_id_key1' => array (
+        0 => 'phylotree_id',
+        1 => 'right_idx',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'phylotree' => array (
+        'table' => 'phylotree',
+        'columns' => array (
+          'phylotree_id' => 'phylotree_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'parent_phylonode_id' => 'phylonode_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phylonode_dbxref()
+ * Purpose: To describe the structure of 'phylonode_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonode_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phylonode_dbxref() {
+  $description =  array (
+    'table' => 'phylonode_dbxref',
+    'fields' => array (
+      'phylonode_dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'phylonode_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonode_dbxref_id',
+    ),
+    'unique keys' => array (
+      'phylonode_id' => array (
+        0 => 'phylonode_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'phylonode_dbxref_idx1' => array (
+        0 => 'phylonode_id',
+      ),
+      'phylonode_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'phylonode_id' => 'phylonode_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phylonode_organism()
+ * Purpose: To describe the structure of 'phylonode_organism' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonode_organism' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phylonode_organism() {
+  $description =  array (
+    'table' => 'phylonode_organism',
+    'fields' => array (
+      'phylonode_organism_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'phylonode_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'organism_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonode_organism_id',
+    ),
+    'unique keys' => array (
+      'phylonode_id' => array (
+        0 => 'phylonode_id',
+      ),
+    ),
+    'indexes' => array (
+      'phylonode_organism_idx1' => array (
+        0 => 'phylonode_id',
+      ),
+      'phylonode_organism_idx2' => array (
+        0 => 'organism_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'phylonode_id' => 'phylonode_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phylonode_pub()
+ * Purpose: To describe the structure of 'phylonode_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonode_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phylonode_pub() {
+  $description =  array (
+    'table' => 'phylonode_pub',
+    'fields' => array (
+      'phylonode_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'phylonode_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonode_pub_id',
+    ),
+    'unique keys' => array (
+      'phylonode_id' => array (
+        0 => 'phylonode_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'phylonode_pub_idx1' => array (
+        0 => 'phylonode_id',
+      ),
+      'phylonode_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'phylonode_id' => 'phylonode_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phylonode_relationship()
+ * Purpose: To describe the structure of 'phylonode_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonode_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phylonode_relationship() {
+  $description =  array (
+    'table' => 'phylonode_relationship',
+    'fields' => array (
+      'phylonode_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'phylotree_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonode_relationship_id',
+    ),
+    'unique keys' => array (
+      'subject_id' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'phylonode_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'phylonode_relationship_idx2' => array (
+        0 => 'object_id',
+      ),
+      'phylonode_relationship_idx3' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'phylotree' => array (
+        'table' => 'phylotree',
+        'columns' => array (
+          'phylotree_id' => 'phylotree_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'subject_id' => 'phylonode_id',
+          'object_id' => 'phylonode_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phylonodeprop()
+ * Purpose: To describe the structure of 'phylonodeprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonodeprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phylonodeprop() {
+  $description =  array (
+    'table' => 'phylonodeprop',
+    'fields' => array (
+      'phylonodeprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'phylonode_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+        'default' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonodeprop_id',
+    ),
+    'unique keys' => array (
+      'phylonode_id' => array (
+        0 => 'phylonode_id',
+        1 => 'type_id',
+        2 => 'value',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'phylonodeprop_idx1' => array (
+        0 => 'phylonode_id',
+      ),
+      'phylonodeprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'phylonode_id' => 'phylonode_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phylotree()
+ * Purpose: To describe the structure of 'phylotree' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylotree' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phylotree() {
+  $description =  array (
+    'table' => 'phylotree',
+    'fields' => array (
+      'phylotree_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'analysis_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'comment' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylotree_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'phylotree_idx1' => array (
+        0 => 'phylotree_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'analysis' => array (
+        'table' => 'analysis',
+        'columns' => array (
+          'analysis_id' => 'analysis_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_phylotree_pub()
+ * Purpose: To describe the structure of 'phylotree_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylotree_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_phylotree_pub() {
+  $description =  array (
+    'table' => 'phylotree_pub',
+    'fields' => array (
+      'phylotree_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'phylotree_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylotree_pub_id',
+    ),
+    'unique keys' => array (
+      'phylotree_id' => array (
+        0 => 'phylotree_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'phylotree_pub_idx1' => array (
+        0 => 'phylotree_id',
+      ),
+      'phylotree_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'phylotree' => array (
+        'table' => 'phylotree',
+        'columns' => array (
+          'phylotree_id' => 'phylotree_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_project()
+ * Purpose: To describe the structure of 'project' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'project' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_project() {
+  $description =  array (
+    'table' => 'project',
+    'fields' => array (
+      'project_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'description' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'project_id',
+    ),
+    'unique keys' => array (
+      'project_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_protocol()
+ * Purpose: To describe the structure of 'protocol' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'protocol' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_protocol() {
+  $description =  array (
+    'table' => 'protocol',
+    'fields' => array (
+      'protocol_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'uri' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'protocoldescription' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'hardwaredescription' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'softwaredescription' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'protocol_id',
+    ),
+    'unique keys' => array (
+      'protocol_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'protocol_idx1' => array (
+        0 => 'type_id',
+      ),
+      'protocol_idx2' => array (
+        0 => 'pub_id',
+      ),
+      'protocol_idx3' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_protocolparam()
+ * Purpose: To describe the structure of 'protocolparam' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'protocolparam' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_protocolparam() {
+  $description =  array (
+    'table' => 'protocolparam',
+    'fields' => array (
+      'protocolparam_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'protocol_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'datatype_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'unittype_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'protocolparam_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'protocolparam_idx1' => array (
+        0 => 'protocol_id',
+      ),
+      'protocolparam_idx2' => array (
+        0 => 'datatype_id',
+      ),
+      'protocolparam_idx3' => array (
+        0 => 'unittype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'datatype_id' => 'cvterm_id',
+          'unittype_id' => 'cvterm_id',
+        ),
+      ),
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_pub()
+ * Purpose: To describe the structure of 'pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_pub() {
+  $description =  array (
+    'table' => 'pub',
+    'fields' => array (
+      'pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'title' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'volumetitle' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'volume' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'series_name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'issue' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'pyear' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'pages' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'miniref' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'uniquename' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_obsolete' => array (
+        'type' => 'boolean',
+        'not NULL' => '',
+        'default' => 'als',
+      ),
+      'publisher' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'pubplace' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'pub_id',
+    ),
+    'unique keys' => array (
+      'pub_c1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'indexes' => array (
+      'pub_idx1' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_pub_dbxref()
+ * Purpose: To describe the structure of 'pub_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'pub_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_pub_dbxref() {
+  $description =  array (
+    'table' => 'pub_dbxref',
+    'fields' => array (
+      'pub_dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_current' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'ru',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'pub_dbxref_id',
+    ),
+    'unique keys' => array (
+      'pub_dbxref_c1' => array (
+        0 => 'pub_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'pub_dbxref_idx1' => array (
+        0 => 'pub_id',
+      ),
+      'pub_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_pub_relationship()
+ * Purpose: To describe the structure of 'pub_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'pub_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_pub_relationship() {
+  $description =  array (
+    'table' => 'pub_relationship',
+    'fields' => array (
+      'pub_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'pub_relationship_id',
+    ),
+    'unique keys' => array (
+      'pub_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'pub_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'pub_relationship_idx2' => array (
+        0 => 'object_id',
+      ),
+      'pub_relationship_idx3' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'subject_id' => 'pub_id',
+          'object_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_pubauthor()
+ * Purpose: To describe the structure of 'pubauthor' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'pubauthor' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_pubauthor() {
+  $description =  array (
+    'table' => 'pubauthor',
+    'fields' => array (
+      'pubauthor_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'editor' => array (
+        'type' => 'boolean',
+        'not NULL' => '',
+        'default' => 'als',
+      ),
+      'surname' => array (
+        'type' => 'varchar',
+        'length' => '100',
+        'not NULL' => '1',
+      ),
+      'givennames' => array (
+        'type' => 'varchar',
+        'length' => '100',
+        'not NULL' => '',
+      ),
+      'suffix' => array (
+        'type' => 'varchar',
+        'length' => '100',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'pubauthor_id',
+    ),
+    'unique keys' => array (
+      'pubauthor_c1' => array (
+        0 => 'pub_id',
+        1 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'pubauthor_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_pubprop()
+ * Purpose: To describe the structure of 'pubprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'pubprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_pubprop() {
+  $description =  array (
+    'table' => 'pubprop',
+    'fields' => array (
+      'pubprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'pubprop_id',
+    ),
+    'unique keys' => array (
+      'pubprop_c1' => array (
+        0 => 'pub_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'pubprop_idx1' => array (
+        0 => 'pub_id',
+      ),
+      'pubprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_quantification()
+ * Purpose: To describe the structure of 'quantification' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'quantification' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_quantification() {
+  $description =  array (
+    'table' => 'quantification',
+    'fields' => array (
+      'quantification_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'acquisition_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'operator_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'protocol_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'analysis_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'quantificationdate' => array (
+        'type' => 'datetime',
+        'not NULL' => '',
+        'default' => 'ow(',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'uri' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'quantification_id',
+    ),
+    'unique keys' => array (
+      'quantification_c1' => array (
+        0 => 'name',
+        1 => 'analysis_id',
+      ),
+    ),
+    'indexes' => array (
+      'quantification_idx1' => array (
+        0 => 'acquisition_id',
+      ),
+      'quantification_idx2' => array (
+        0 => 'operator_id',
+      ),
+      'quantification_idx3' => array (
+        0 => 'protocol_id',
+      ),
+      'quantification_idx4' => array (
+        0 => 'analysis_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'analysis' => array (
+        'table' => 'analysis',
+        'columns' => array (
+          'analysis_id' => 'analysis_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'operator_id' => 'contact_id',
+        ),
+      ),
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+      'acquisition' => array (
+        'table' => 'acquisition',
+        'columns' => array (
+          'acquisition_id' => 'acquisition_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_quantification_relationship()
+ * Purpose: To describe the structure of 'quantification_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'quantification_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_quantification_relationship() {
+  $description =  array (
+    'table' => 'quantification_relationship',
+    'fields' => array (
+      'quantification_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'quantification_relationship_id',
+    ),
+    'unique keys' => array (
+      'quantification_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'quantification_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'quantification_relationship_idx2' => array (
+        0 => 'type_id',
+      ),
+      'quantification_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'quantification' => array (
+        'table' => 'quantification',
+        'columns' => array (
+          'subject_id' => 'quantification_id',
+          'object_id' => 'quantification_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_quantificationprop()
+ * Purpose: To describe the structure of 'quantificationprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'quantificationprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_quantificationprop() {
+  $description =  array (
+    'table' => 'quantificationprop',
+    'fields' => array (
+      'quantificationprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'quantification_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'quantificationprop_id',
+    ),
+    'unique keys' => array (
+      'quantificationprop_c1' => array (
+        0 => 'quantification_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'quantificationprop_idx1' => array (
+        0 => 'quantification_id',
+      ),
+      'quantificationprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'quantification' => array (
+        'table' => 'quantification',
+        'columns' => array (
+          'quantification_id' => 'quantification_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stock()
+ * Purpose: To describe the structure of 'stock' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stock() {
+  $description =  array (
+    'table' => 'stock',
+    'fields' => array (
+      'stock_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'organism_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'uniquename' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_obsolete' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'als',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_id',
+    ),
+    'unique keys' => array (
+      'stock_c1' => array (
+        0 => 'organism_id',
+        1 => 'uniquename',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_idx1' => array (
+        0 => 'dbxref_id',
+      ),
+      'stock_idx2' => array (
+        0 => 'organism_id',
+      ),
+      'stock_idx3' => array (
+        0 => 'type_id',
+      ),
+      'stock_idx4' => array (
+        0 => 'uniquename',
+      ),
+      'stock_name_ind1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stock_cvterm()
+ * Purpose: To describe the structure of 'stock_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stock_cvterm() {
+  $description =  array (
+    'table' => 'stock_cvterm',
+    'fields' => array (
+      'stock_cvterm_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'stock_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'cvterm_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_cvterm_id',
+    ),
+    'unique keys' => array (
+      'stock_cvterm_c1' => array (
+        0 => 'stock_id',
+        1 => 'cvterm_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_cvterm_idx1' => array (
+        0 => 'stock_id',
+      ),
+      'stock_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+      'stock_cvterm_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stock_dbxref()
+ * Purpose: To describe the structure of 'stock_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stock_dbxref() {
+  $description =  array (
+    'table' => 'stock_dbxref',
+    'fields' => array (
+      'stock_dbxref_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'stock_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'is_current' => array (
+        'type' => 'boolean',
+        'not NULL' => '1',
+        'default' => 'ru',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_dbxref_id',
+    ),
+    'unique keys' => array (
+      'stock_dbxref_c1' => array (
+        0 => 'stock_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_dbxref_idx1' => array (
+        0 => 'stock_id',
+      ),
+      'stock_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stock_genotype()
+ * Purpose: To describe the structure of 'stock_genotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_genotype' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stock_genotype() {
+  $description =  array (
+    'table' => 'stock_genotype',
+    'fields' => array (
+      'stock_genotype_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'stock_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'genotype_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_genotype_id',
+    ),
+    'unique keys' => array (
+      'stock_genotype_c1' => array (
+        0 => 'stock_id',
+        1 => 'genotype_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_genotype_idx1' => array (
+        0 => 'stock_id',
+      ),
+      'stock_genotype_idx2' => array (
+        0 => 'genotype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype_id' => 'genotype_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stock_pub()
+ * Purpose: To describe the structure of 'stock_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stock_pub() {
+  $description =  array (
+    'table' => 'stock_pub',
+    'fields' => array (
+      'stock_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'stock_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_pub_id',
+    ),
+    'unique keys' => array (
+      'stock_pub_c1' => array (
+        0 => 'stock_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_pub_idx1' => array (
+        0 => 'stock_id',
+      ),
+      'stock_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stock_relationship()
+ * Purpose: To describe the structure of 'stock_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_relationship' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stock_relationship() {
+  $description =  array (
+    'table' => 'stock_relationship',
+    'fields' => array (
+      'stock_relationship_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'subject_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'object_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_relationship_id',
+    ),
+    'unique keys' => array (
+      'stock_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'stock_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'stock_relationship_idx2' => array (
+        0 => 'object_id',
+      ),
+      'stock_relationship_idx3' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'subject_id' => 'stock_id',
+          'object_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stock_relationship_pub()
+ * Purpose: To describe the structure of 'stock_relationship_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_relationship_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stock_relationship_pub() {
+  $description =  array (
+    'table' => 'stock_relationship_pub',
+    'fields' => array (
+      'stock_relationship_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'stock_relationship_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_relationship_pub_id',
+    ),
+    'unique keys' => array (
+      'stock_relationship_pub_c1' => array (
+        0 => 'stock_relationship_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_relationship_pub_idx1' => array (
+        0 => 'stock_relationship_id',
+      ),
+      'stock_relationship_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'stock_relationship' => array (
+        'table' => 'stock_relationship',
+        'columns' => array (
+          'stock_relationship_id' => 'stock_relationship_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stockcollection()
+ * Purpose: To describe the structure of 'stockcollection' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stockcollection' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stockcollection() {
+  $description =  array (
+    'table' => 'stockcollection',
+    'fields' => array (
+      'stockcollection_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'contact_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '',
+      ),
+      'uniquename' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stockcollection_id',
+    ),
+    'unique keys' => array (
+      'stockcollection_c1' => array (
+        0 => 'uniquename',
+        1 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'stockcollection_idx1' => array (
+        0 => 'contact_id',
+      ),
+      'stockcollection_idx2' => array (
+        0 => 'type_id',
+      ),
+      'stockcollection_idx3' => array (
+        0 => 'uniquename',
+      ),
+      'stockcollection_name_ind1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'contact_id' => 'contact_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stockcollection_stock()
+ * Purpose: To describe the structure of 'stockcollection_stock' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stockcollection_stock' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stockcollection_stock() {
+  $description =  array (
+    'table' => 'stockcollection_stock',
+    'fields' => array (
+      'stockcollection_stock_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'stockcollection_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'stock_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stockcollection_stock_id',
+    ),
+    'unique keys' => array (
+      'stockcollection_stock_c1' => array (
+        0 => 'stockcollection_id',
+        1 => 'stock_id',
+      ),
+    ),
+    'indexes' => array (
+      'stockcollection_stock_idx1' => array (
+        0 => 'stockcollection_id',
+      ),
+      'stockcollection_stock_idx2' => array (
+        0 => 'stock_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+      'stockcollection' => array (
+        'table' => 'stockcollection',
+        'columns' => array (
+          'stockcollection_id' => 'stockcollection_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stockcollectionprop()
+ * Purpose: To describe the structure of 'stockcollectionprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stockcollectionprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stockcollectionprop() {
+  $description =  array (
+    'table' => 'stockcollectionprop',
+    'fields' => array (
+      'stockcollectionprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'stockcollection_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stockcollectionprop_id',
+    ),
+    'unique keys' => array (
+      'stockcollectionprop_c1' => array (
+        0 => 'stockcollection_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'stockcollectionprop_idx1' => array (
+        0 => 'stockcollection_id',
+      ),
+      'stockcollectionprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'stockcollection' => array (
+        'table' => 'stockcollection',
+        'columns' => array (
+          'stockcollection_id' => 'stockcollection_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stockprop()
+ * Purpose: To describe the structure of 'stockprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stockprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stockprop() {
+  $description =  array (
+    'table' => 'stockprop',
+    'fields' => array (
+      'stockprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'stock_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stockprop_id',
+    ),
+    'unique keys' => array (
+      'stockprop_c1' => array (
+        0 => 'stock_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'stockprop_idx1' => array (
+        0 => 'stock_id',
+      ),
+      'stockprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_stockprop_pub()
+ * Purpose: To describe the structure of 'stockprop_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stockprop_pub' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_stockprop_pub() {
+  $description =  array (
+    'table' => 'stockprop_pub',
+    'fields' => array (
+      'stockprop_pub_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'stockprop_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stockprop_pub_id',
+    ),
+    'unique keys' => array (
+      'stockprop_pub_c1' => array (
+        0 => 'stockprop_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'stockprop_pub_idx1' => array (
+        0 => 'stockprop_id',
+      ),
+      'stockprop_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'stockprop' => array (
+        'table' => 'stockprop',
+        'columns' => array (
+          'stockprop_id' => 'stockprop_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_study()
+ * Purpose: To describe the structure of 'study' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'study' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_study() {
+  $description =  array (
+    'table' => 'study',
+    'fields' => array (
+      'study_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'contact_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'pub_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'dbxref_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'study_id',
+    ),
+    'unique keys' => array (
+      'study_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'study_idx1' => array (
+        0 => 'contact_id',
+      ),
+      'study_idx2' => array (
+        0 => 'pub_id',
+      ),
+      'study_idx3' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'contact_id' => 'contact_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_study_assay()
+ * Purpose: To describe the structure of 'study_assay' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'study_assay' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_study_assay() {
+  $description =  array (
+    'table' => 'study_assay',
+    'fields' => array (
+      'study_assay_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'study_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'assay_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'study_assay_id',
+    ),
+    'unique keys' => array (
+      'study_assay_c1' => array (
+        0 => 'study_id',
+        1 => 'assay_id',
+      ),
+    ),
+    'indexes' => array (
+      'study_assay_idx1' => array (
+        0 => 'study_id',
+      ),
+      'study_assay_idx2' => array (
+        0 => 'assay_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+      'study' => array (
+        'table' => 'study',
+        'columns' => array (
+          'study_id' => 'study_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_studydesign()
+ * Purpose: To describe the structure of 'studydesign' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studydesign' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_studydesign() {
+  $description =  array (
+    'table' => 'studydesign',
+    'fields' => array (
+      'studydesign_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'study_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studydesign_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'studydesign_idx1' => array (
+        0 => 'study_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'study' => array (
+        'table' => 'study',
+        'columns' => array (
+          'study_id' => 'study_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_studydesignprop()
+ * Purpose: To describe the structure of 'studydesignprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studydesignprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_studydesignprop() {
+  $description =  array (
+    'table' => 'studydesignprop',
+    'fields' => array (
+      'studydesignprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'studydesign_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studydesignprop_id',
+    ),
+    'unique keys' => array (
+      'studydesignprop_c1' => array (
+        0 => 'studydesign_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'studydesignprop_idx1' => array (
+        0 => 'studydesign_id',
+      ),
+      'studydesignprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'studydesign' => array (
+        'table' => 'studydesign',
+        'columns' => array (
+          'studydesign_id' => 'studydesign_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_studyfactor()
+ * Purpose: To describe the structure of 'studyfactor' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studyfactor' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_studyfactor() {
+  $description =  array (
+    'table' => 'studyfactor',
+    'fields' => array (
+      'studyfactor_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'studydesign_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '1',
+      ),
+      'description' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studyfactor_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'studyfactor_idx1' => array (
+        0 => 'studydesign_id',
+      ),
+      'studyfactor_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'studydesign' => array (
+        'table' => 'studydesign',
+        'columns' => array (
+          'studydesign_id' => 'studydesign_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_studyfactorvalue()
+ * Purpose: To describe the structure of 'studyfactorvalue' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studyfactorvalue' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_studyfactorvalue() {
+  $description =  array (
+    'table' => 'studyfactorvalue',
+    'fields' => array (
+      'studyfactorvalue_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'studyfactor_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'assay_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'factorvalue' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studyfactorvalue_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'studyfactorvalue_idx1' => array (
+        0 => 'studyfactor_id',
+      ),
+      'studyfactorvalue_idx2' => array (
+        0 => 'assay_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+      'studyfactor' => array (
+        'table' => 'studyfactor',
+        'columns' => array (
+          'studyfactor_id' => 'studyfactor_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_studyprop()
+ * Purpose: To describe the structure of 'studyprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studyprop' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_studyprop() {
+  $description =  array (
+    'table' => 'studyprop',
+    'fields' => array (
+      'studyprop_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'study_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'value' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studyprop_id',
+    ),
+    'unique keys' => array (
+      'study_id' => array (
+        0 => 'study_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'studyprop_idx1' => array (
+        0 => 'study_id',
+      ),
+      'studyprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'study' => array (
+        'table' => 'study',
+        'columns' => array (
+          'study_id' => 'study_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_studyprop_feature()
+ * Purpose: To describe the structure of 'studyprop_feature' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studyprop_feature' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_studyprop_feature() {
+  $description =  array (
+    'table' => 'studyprop_feature',
+    'fields' => array (
+      'studyprop_feature_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'studyprop_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'feature_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studyprop_feature_id',
+    ),
+    'unique keys' => array (
+      'studyprop_id' => array (
+        0 => 'studyprop_id',
+        1 => 'feature_id',
+      ),
+    ),
+    'indexes' => array (
+      'studyprop_feature_idx1' => array (
+        0 => 'studyprop_id',
+      ),
+      'studyprop_feature_idx2' => array (
+        0 => 'feature_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'studyprop' => array (
+        'table' => 'studyprop',
+        'columns' => array (
+          'studyprop_id' => 'studyprop_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_synonym()
+ * Purpose: To describe the structure of 'synonym' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'synonym' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_synonym() {
+  $description =  array (
+    'table' => 'synonym',
+    'fields' => array (
+      'synonym_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'synonym_sgml' => array (
+        'type' => 'varchar',
+        'length' => '255',
+        'not NULL' => '1',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'synonym_id',
+    ),
+    'unique keys' => array (
+      'synonym_c1' => array (
+        0 => 'name',
+        1 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'synonym_idx1' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_tableinfo()
+ * Purpose: To describe the structure of 'tableinfo' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'tableinfo' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_tableinfo() {
+  $description =  array (
+    'table' => 'tableinfo',
+    'fields' => array (
+      'tableinfo_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'name' => array (
+        'type' => 'varchar',
+        'length' => '30',
+        'not NULL' => '1',
+      ),
+      'primary_key_column' => array (
+        'type' => 'varchar',
+        'length' => '30',
+        'not NULL' => '',
+      ),
+      'is_view' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+      'view_on_table_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'superclass_table_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'is_updateable' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '1',
+      ),
+      'modification_date' => array (
+        'type' => 'date',
+        'not NULL' => '1',
+        'default' => 'ow(',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'tableinfo_id',
+    ),
+    'unique keys' => array (
+      'tableinfo_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_treatment()
+ * Purpose: To describe the structure of 'treatment' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'treatment' table
+ *
+ * @ingroup tripal_chado_v1.11_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_11_treatment() {
+  $description =  array (
+    'table' => 'treatment',
+    'fields' => array (
+      'treatment_id' => array (
+        'type' => 'serial',
+        'not NULL' => '1',
+      ),
+      'rank' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+        'default' => '0',
+      ),
+      'biomaterial_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'type_id' => array (
+        'type' => 'int',
+        'not NULL' => '1',
+      ),
+      'protocol_id' => array (
+        'type' => 'int',
+        'not NULL' => '',
+      ),
+      'name' => array (
+        'type' => 'text',
+        'not NULL' => '',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'treatment_id',
+    ),
+    'unique keys' => array (
+    ),
+    'indexes' => array (
+      'treatment_idx1' => array (
+        0 => 'biomaterial_id',
+      ),
+      'treatment_idx2' => array (
+        0 => 'type_id',
+      ),
+      'treatment_idx3' => array (
+        0 => 'protocol_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'biomaterial_id' => 'biomaterial_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}

+ 13269 - 0
tripal_core/api/tripal_core.schema_v1.2.api.inc

@@ -0,0 +1,13269 @@
+<?php
+/* @file: This file contains default schema definitions for all chado v1.2 tables
+ *        to be used by other function. Specifically these functions are used
+ *        by the tripal_core select/insert/update API functions and by
+ *        the Tripal Views module.
+ *
+ *        These schema definitions can be augmented by anohter modules
+ *        (specifically to add missing definitions) by implementing
+ *        hook_chado_schema_v1_2_<table name>().
+ *
+ * @defgroup tripal_schema_api Core Module Schema API
+ * @{
+ * Provides an application programming interface (API) for describing Chado tables.
+ * This API consists of a set of functions, one for each table in Chado.  Each
+ * function simply returns a Drupal style array that defines the table.
+ *
+ * Because Drupal 6 does not handle foreign key (FK) relationships, however FK 
+ * relationships are needed to for Tripal Views.  Therefore, FK relationships
+ * have been added to the schema defintitions below.
+ *
+ * The functions provided in this documentation should not be called as is, but if you need
+ * the Drupal-style array definition for any table, use the following function
+ * call:
+ *
+ *   $table_desc = tripal_core_get_chado_table_schema($table)
+ *
+ * where the variable $table contains the name of the table you want to
+ * retireve.  The tripal_core_get_chado_table_schema function determines the appropriate version of 
+ * Chado and uses the Drupal hook infrastructure to call the appropriate 
+ * hook function to retrieve the table schema.
+ *
+ * @}
+ * @ingroup tripal_api
+ */
+ 
+/**
+ * Implements hook_chado_schema_v1_2_acquisition()
+ * Purpose: To describe the structure of 'acquisition' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'acquisition' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_acquisition() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'acquisition_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'assay_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'channel_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'acquisitiondate' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'datetime',
+        'not null' => false,
+        'default' => 'ow(',
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'uri' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'acquisition_id',
+    ),
+    'unique keys' => array (
+      'acquisition_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'acquisition_idx1' => array (
+        0 => 'assay_id',
+      ),
+      'acquisition_idx2' => array (
+        0 => 'protocol_id',
+      ),
+      'acquisition_idx3' => array (
+        0 => 'channel_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+      'channel' => array (
+        'table' => 'channel',
+        'columns' => array (
+          'channel_id' => 'channel_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_acquisition_relationship()
+ * Purpose: To describe the structure of 'acquisition_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'acquisition_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_acquisition_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'acquisition_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'acquisition_relationship_id',
+    ),
+    'unique keys' => array (
+      'acquisition_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'acquisition_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'acquisition_relationship_idx2' => array (
+        0 => 'type_id',
+      ),
+      'acquisition_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'acquisition' => array (
+        'table' => 'acquisition',
+        'columns' => array (
+          'subject_id' => 'acquisition_id',
+          'object_id' => 'acquisition_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_acquisitionprop()
+ * Purpose: To describe the structure of 'acquisitionprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'acquisitionprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_acquisitionprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'acquisitionprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'acquisition_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'acquisitionprop_id',
+    ),
+    'unique keys' => array (
+      'acquisitionprop_c1' => array (
+        0 => 'acquisition_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'acquisitionprop_idx1' => array (
+        0 => 'acquisition_id',
+      ),
+      'acquisitionprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'acquisition' => array (
+        'table' => 'acquisition',
+        'columns' => array (
+          'acquisition_id' => 'acquisition_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_analysis()
+ * Purpose: To describe the structure of 'analysis' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'analysis' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_analysis() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'analysis_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'program' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'programversion' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'algorithm' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'sourcename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'sourceversion' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'sourceuri' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'timeexecuted' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'datetime',
+        'not null' => true,
+        'default' => 'ow(',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'analysis_id',
+    ),
+    'unique keys' => array (
+      'analysis_c1' => array (
+        0 => 'program',
+        1 => 'programversion',
+        2 => 'sourcename',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_analysisfeature()
+ * Purpose: To describe the structure of 'analysisfeature' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'analysisfeature' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_analysisfeature() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'analysisfeature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'analysis_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'rawscore' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'size' => 'big',
+        'not null' => false,
+      ),
+      'normscore' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'size' => 'big',
+        'not null' => false,
+      ),
+      'significance' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'size' => 'big',
+        'not null' => false,
+      ),
+      'identity' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'size' => 'big',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'analysisfeature_id',
+    ),
+    'unique keys' => array (
+      'analysisfeature_c1' => array (
+        0 => 'feature_id',
+        1 => 'analysis_id',
+      ),
+    ),
+    'indexes' => array (
+      'analysisfeature_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'analysisfeature_idx2' => array (
+        0 => 'analysis_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'analysis' => array (
+        'table' => 'analysis',
+        'columns' => array (
+          'analysis_id' => 'analysis_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_analysisfeatureprop()
+ * Purpose: To describe the structure of 'analysisfeatureprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'analysisfeatureprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_analysisfeatureprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'analysisfeatureprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'analysisfeature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'analysisfeatureprop_id',
+    ),
+    'unique keys' => array (
+      'analysisfeature_id_type_id_rank' => array (
+        0 => 'analysisfeature_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'analysisfeature' => array (
+        'table' => 'analysisfeature',
+        'columns' => array (
+          'analysisfeature_id' => 'analysisfeature_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_analysisprop()
+ * Purpose: To describe the structure of 'analysisprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'analysisprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_analysisprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'analysisprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'analysis_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'analysisprop_id',
+    ),
+    'unique keys' => array (
+      'analysisprop_c1' => array (
+        0 => 'analysis_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'analysisprop_idx1' => array (
+        0 => 'analysis_id',
+      ),
+      'analysisprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'analysis' => array (
+        'table' => 'analysis',
+        'columns' => array (
+          'analysis_id' => 'analysis_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_arraydesign()
+ * Purpose: To describe the structure of 'arraydesign' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'arraydesign' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_arraydesign() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'arraydesign_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'manufacturer_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'platformtype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'substratetype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'version' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'array_dimensions' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'element_dimensions' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'num_of_elements' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'num_array_columns' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'num_array_rows' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'num_grid_columns' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'num_grid_rows' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'num_sub_columns' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'num_sub_rows' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'arraydesign_id',
+    ),
+    'unique keys' => array (
+      'arraydesign_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'arraydesign_idx1' => array (
+        0 => 'manufacturer_id',
+      ),
+      'arraydesign_idx2' => array (
+        0 => 'platformtype_id',
+      ),
+      'arraydesign_idx3' => array (
+        0 => 'substratetype_id',
+      ),
+      'arraydesign_idx4' => array (
+        0 => 'protocol_id',
+      ),
+      'arraydesign_idx5' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'platformtype_id' => 'cvterm_id',
+          'substratetype_id' => 'cvterm_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'manufacturer_id' => 'contact_id',
+        ),
+      ),
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_arraydesignprop()
+ * Purpose: To describe the structure of 'arraydesignprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'arraydesignprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_arraydesignprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'arraydesignprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'arraydesign_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'arraydesignprop_id',
+    ),
+    'unique keys' => array (
+      'arraydesignprop_c1' => array (
+        0 => 'arraydesign_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'arraydesignprop_idx1' => array (
+        0 => 'arraydesign_id',
+      ),
+      'arraydesignprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'arraydesign' => array (
+        'table' => 'arraydesign',
+        'columns' => array (
+          'arraydesign_id' => 'arraydesign_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_assay()
+ * Purpose: To describe the structure of 'assay' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'assay' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_assay() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'assay_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'arraydesign_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'assaydate' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'datetime',
+        'not null' => false,
+        'default' => 'ow(',
+      ),
+      'arrayidentifier' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'arraybatchidentifier' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'operator_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'assay_id',
+    ),
+    'unique keys' => array (
+      'assay_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'assay_idx1' => array (
+        0 => 'arraydesign_id',
+      ),
+      'assay_idx2' => array (
+        0 => 'protocol_id',
+      ),
+      'assay_idx3' => array (
+        0 => 'operator_id',
+      ),
+      'assay_idx4' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'operator_id' => 'contact_id',
+        ),
+      ),
+      'arraydesign' => array (
+        'table' => 'arraydesign',
+        'columns' => array (
+          'arraydesign_id' => 'arraydesign_id',
+        ),
+      ),
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_assay_biomaterial()
+ * Purpose: To describe the structure of 'assay_biomaterial' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'assay_biomaterial' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_assay_biomaterial() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'assay_biomaterial_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'assay_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'biomaterial_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'channel_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'assay_biomaterial_id',
+    ),
+    'unique keys' => array (
+      'assay_biomaterial_c1' => array (
+        0 => 'assay_id',
+        1 => 'biomaterial_id',
+        2 => 'channel_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'assay_biomaterial_idx1' => array (
+        0 => 'assay_id',
+      ),
+      'assay_biomaterial_idx2' => array (
+        0 => 'biomaterial_id',
+      ),
+      'assay_biomaterial_idx3' => array (
+        0 => 'channel_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'biomaterial_id' => 'biomaterial_id',
+        ),
+      ),
+      'channel' => array (
+        'table' => 'channel',
+        'columns' => array (
+          'channel_id' => 'channel_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_assay_project()
+ * Purpose: To describe the structure of 'assay_project' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'assay_project' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_assay_project() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'assay_project_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'assay_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'project_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'assay_project_id',
+    ),
+    'unique keys' => array (
+      'assay_project_c1' => array (
+        0 => 'assay_id',
+        1 => 'project_id',
+      ),
+    ),
+    'indexes' => array (
+      'assay_project_idx1' => array (
+        0 => 'assay_id',
+      ),
+      'assay_project_idx2' => array (
+        0 => 'project_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'project' => array (
+        'table' => 'project',
+        'columns' => array (
+          'project_id' => 'project_id',
+        ),
+      ),
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_assayprop()
+ * Purpose: To describe the structure of 'assayprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'assayprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_assayprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'assayprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'assay_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'assayprop_id',
+    ),
+    'unique keys' => array (
+      'assayprop_c1' => array (
+        0 => 'assay_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'assayprop_idx1' => array (
+        0 => 'assay_id',
+      ),
+      'assayprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_biomaterial()
+ * Purpose: To describe the structure of 'biomaterial' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'biomaterial' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_biomaterial() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'biomaterial_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'taxon_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'biosourceprovider_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'biomaterial_id',
+    ),
+    'unique keys' => array (
+      'biomaterial_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'biomaterial_idx1' => array (
+        0 => 'taxon_id',
+      ),
+      'biomaterial_idx2' => array (
+        0 => 'biosourceprovider_id',
+      ),
+      'biomaterial_idx3' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'taxon_id' => 'organism_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'biosourceprovider_id' => 'contact_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_biomaterial_dbxref()
+ * Purpose: To describe the structure of 'biomaterial_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'biomaterial_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_biomaterial_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'biomaterial_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'biomaterial_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'biomaterial_dbxref_id',
+    ),
+    'unique keys' => array (
+      'biomaterial_dbxref_c1' => array (
+        0 => 'biomaterial_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'biomaterial_dbxref_idx1' => array (
+        0 => 'biomaterial_id',
+      ),
+      'biomaterial_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'biomaterial_id' => 'biomaterial_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_biomaterial_relationship()
+ * Purpose: To describe the structure of 'biomaterial_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'biomaterial_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_biomaterial_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'biomaterial_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'biomaterial_relationship_id',
+    ),
+    'unique keys' => array (
+      'biomaterial_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'biomaterial_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'biomaterial_relationship_idx2' => array (
+        0 => 'object_id',
+      ),
+      'biomaterial_relationship_idx3' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'subject_id' => 'biomaterial_id',
+          'object_id' => 'biomaterial_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_biomaterial_treatment()
+ * Purpose: To describe the structure of 'biomaterial_treatment' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'biomaterial_treatment' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_biomaterial_treatment() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'biomaterial_treatment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'biomaterial_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'treatment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'unittype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'biomaterial_treatment_id',
+    ),
+    'unique keys' => array (
+      'biomaterial_treatment_c1' => array (
+        0 => 'biomaterial_id',
+        1 => 'treatment_id',
+      ),
+    ),
+    'indexes' => array (
+      'biomaterial_treatment_idx1' => array (
+        0 => 'biomaterial_id',
+      ),
+      'biomaterial_treatment_idx2' => array (
+        0 => 'treatment_id',
+      ),
+      'biomaterial_treatment_idx3' => array (
+        0 => 'unittype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'unittype_id' => 'cvterm_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'biomaterial_id' => 'biomaterial_id',
+        ),
+      ),
+      'treatment' => array (
+        'table' => 'treatment',
+        'columns' => array (
+          'treatment_id' => 'treatment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_biomaterialprop()
+ * Purpose: To describe the structure of 'biomaterialprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'biomaterialprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_biomaterialprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'biomaterialprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'biomaterial_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'biomaterialprop_id',
+    ),
+    'unique keys' => array (
+      'biomaterialprop_c1' => array (
+        0 => 'biomaterial_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'biomaterialprop_idx1' => array (
+        0 => 'biomaterial_id',
+      ),
+      'biomaterialprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'biomaterial_id' => 'biomaterial_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_line()
+ * Purpose: To describe the structure of 'cell_line' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_line() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_line_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'uniquename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'organism_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'timeaccessioned' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'datetime',
+        'not null' => true,
+        'default' => 'ow(',
+      ),
+      'timelastmodified' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'datetime',
+        'not null' => true,
+        'default' => 'ow(',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_id',
+    ),
+    'unique keys' => array (
+      'cell_line_c1' => array (
+        0 => 'uniquename',
+        1 => 'organism_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_line_cvterm()
+ * Purpose: To describe the structure of 'cell_line_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_line_cvterm() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_line_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cell_line_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_cvterm_id',
+    ),
+    'unique keys' => array (
+      'cell_line_cvterm_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'cvterm_id',
+        2 => 'pub_id',
+        3 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_line_cvtermprop()
+ * Purpose: To describe the structure of 'cell_line_cvtermprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_cvtermprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_line_cvtermprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_line_cvtermprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cell_line_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_cvtermprop_id',
+    ),
+    'unique keys' => array (
+      'cell_line_cvtermprop_c1' => array (
+        0 => 'cell_line_cvterm_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'cell_line_cvterm' => array (
+        'table' => 'cell_line_cvterm',
+        'columns' => array (
+          'cell_line_cvterm_id' => 'cell_line_cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_line_dbxref()
+ * Purpose: To describe the structure of 'cell_line_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_line_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_line_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cell_line_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_current' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'ru',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_dbxref_id',
+    ),
+    'unique keys' => array (
+      'cell_line_dbxref_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_line_feature()
+ * Purpose: To describe the structure of 'cell_line_feature' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_feature' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_line_feature() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_line_feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cell_line_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_feature_id',
+    ),
+    'unique keys' => array (
+      'cell_line_feature_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'feature_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_line_library()
+ * Purpose: To describe the structure of 'cell_line_library' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_library' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_line_library() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_line_library_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cell_line_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'library_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_library_id',
+    ),
+    'unique keys' => array (
+      'cell_line_library_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'library_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_line_pub()
+ * Purpose: To describe the structure of 'cell_line_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_line_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_line_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cell_line_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_pub_id',
+    ),
+    'unique keys' => array (
+      'cell_line_pub_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_line_relationship()
+ * Purpose: To describe the structure of 'cell_line_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_line_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_line_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_relationship_id',
+    ),
+    'unique keys' => array (
+      'cell_line_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'subject_id' => 'cell_line_id',
+          'object_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_line_synonym()
+ * Purpose: To describe the structure of 'cell_line_synonym' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_line_synonym' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_line_synonym() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_line_synonym_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cell_line_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'synonym_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_current' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+      'is_internal' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_line_synonym_id',
+    ),
+    'unique keys' => array (
+      'cell_line_synonym_c1' => array (
+        0 => 'synonym_id',
+        1 => 'cell_line_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'synonym' => array (
+        'table' => 'synonym',
+        'columns' => array (
+          'synonym_id' => 'synonym_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_lineprop()
+ * Purpose: To describe the structure of 'cell_lineprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_lineprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_lineprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_lineprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cell_line_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_lineprop_id',
+    ),
+    'unique keys' => array (
+      'cell_lineprop_c1' => array (
+        0 => 'cell_line_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'cell_line' => array (
+        'table' => 'cell_line',
+        'columns' => array (
+          'cell_line_id' => 'cell_line_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cell_lineprop_pub()
+ * Purpose: To describe the structure of 'cell_lineprop_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cell_lineprop_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cell_lineprop_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cell_lineprop_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cell_lineprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cell_lineprop_pub_id',
+    ),
+    'unique keys' => array (
+      'cell_lineprop_pub_c1' => array (
+        0 => 'cell_lineprop_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'cell_lineprop' => array (
+        'table' => 'cell_lineprop',
+        'columns' => array (
+          'cell_lineprop_id' => 'cell_lineprop_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_chadoprop()
+ * Purpose: To describe the structure of 'chadoprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'chadoprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_chadoprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'chadoprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'chadoprop_id',
+    ),
+    'unique keys' => array (
+      'chadoprop_c1' => array (
+        0 => 'type_id',
+        1 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_channel()
+ * Purpose: To describe the structure of 'channel' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'channel' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_channel() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'channel_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'definition' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'channel_id',
+    ),
+    'unique keys' => array (
+      'channel_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_contact()
+ * Purpose: To describe the structure of 'contact' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'contact' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_contact() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'contact_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'contact_id',
+    ),
+    'unique keys' => array (
+      'contact_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_contact_relationship()
+ * Purpose: To describe the structure of 'contact_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'contact_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_contact_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'contact_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'contact_relationship_id',
+    ),
+    'unique keys' => array (
+      'contact_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'contact_relationship_idx1' => array (
+        0 => 'type_id',
+      ),
+      'contact_relationship_idx2' => array (
+        0 => 'subject_id',
+      ),
+      'contact_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'subject_id' => 'contact_id',
+          'object_id' => 'contact_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_control()
+ * Purpose: To describe the structure of 'control' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'control' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_control() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'control_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'assay_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'tableinfo_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'row_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'control_id',
+    ),
+    'indexes' => array (
+      'control_idx1' => array (
+        0 => 'type_id',
+      ),
+      'control_idx2' => array (
+        0 => 'assay_id',
+      ),
+      'control_idx3' => array (
+        0 => 'tableinfo_id',
+      ),
+      'control_idx4' => array (
+        0 => 'row_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'tableinfo' => array (
+        'table' => 'tableinfo',
+        'columns' => array (
+          'tableinfo_id' => 'tableinfo_id',
+        ),
+      ),
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cv()
+ * Purpose: To describe the structure of 'cv' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cv' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cv() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cv_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'definition' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cv_id',
+    ),
+    'unique keys' => array (
+      'cv_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cvprop()
+ * Purpose: To describe the structure of 'cvprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cvprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cvprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cv_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvprop_id',
+    ),
+    'unique keys' => array (
+      'cvprop_c1' => array (
+        0 => 'cv_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'cv' => array (
+        'table' => 'cv',
+        'columns' => array (
+          'cv_id' => 'cv_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cvterm()
+ * Purpose: To describe the structure of 'cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvterm' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cvterm() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cv_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '1024',
+        'not null' => true,
+      ),
+      'definition' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_obsolete' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+      'is_relationshiptype' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvterm_id',
+    ),
+    'unique keys' => array (
+      'cvterm_c1' => array (
+        0 => 'name',
+        1 => 'cv_id',
+        2 => 'is_obsolete',
+      ),
+      'cvterm_c2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'cvterm_idx1' => array (
+        0 => 'cv_id',
+      ),
+      'cvterm_idx2' => array (
+        0 => 'name',
+      ),
+      'cvterm_idx3' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cv' => array (
+        'table' => 'cv',
+        'columns' => array (
+          'cv_id' => 'cv_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cvterm_dbxref()
+ * Purpose: To describe the structure of 'cvterm_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvterm_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cvterm_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cvterm_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_for_definition' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvterm_dbxref_id',
+    ),
+    'unique keys' => array (
+      'cvterm_dbxref_c1' => array (
+        0 => 'cvterm_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'cvterm_dbxref_idx1' => array (
+        0 => 'cvterm_id',
+      ),
+      'cvterm_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cvterm_relationship()
+ * Purpose: To describe the structure of 'cvterm_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvterm_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cvterm_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cvterm_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvterm_relationship_id',
+    ),
+    'unique keys' => array (
+      'cvterm_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'cvterm_relationship_idx1' => array (
+        0 => 'type_id',
+      ),
+      'cvterm_relationship_idx2' => array (
+        0 => 'subject_id',
+      ),
+      'cvterm_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+          'subject_id' => 'cvterm_id',
+          'object_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cvtermpath()
+ * Purpose: To describe the structure of 'cvtermpath' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvtermpath' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cvtermpath() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cvtermpath_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cv_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pathdistance' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvtermpath_id',
+    ),
+    'unique keys' => array (
+      'cvtermpath_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'pathdistance',
+      ),
+    ),
+    'indexes' => array (
+      'cvtermpath_idx1' => array (
+        0 => 'type_id',
+      ),
+      'cvtermpath_idx2' => array (
+        0 => 'subject_id',
+      ),
+      'cvtermpath_idx3' => array (
+        0 => 'object_id',
+      ),
+      'cvtermpath_idx4' => array (
+        0 => 'cv_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+          'subject_id' => 'cvterm_id',
+          'object_id' => 'cvterm_id',
+        ),
+      ),
+      'cv' => array (
+        'table' => 'cv',
+        'columns' => array (
+          'cv_id' => 'cv_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cvtermprop()
+ * Purpose: To describe the structure of 'cvtermprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvtermprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cvtermprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cvtermprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+        'default' => '',
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvtermprop_id',
+    ),
+    'unique keys' => array (
+      'cvterm_id' => array (
+        0 => 'cvterm_id',
+        1 => 'type_id',
+        2 => 'value',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'cvtermprop_idx1' => array (
+        0 => 'cvterm_id',
+      ),
+      'cvtermprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_cvtermsynonym()
+ * Purpose: To describe the structure of 'cvtermsynonym' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'cvtermsynonym' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_cvtermsynonym() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'cvtermsynonym_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'synonym' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '1024',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'cvtermsynonym_id',
+    ),
+    'unique keys' => array (
+      'cvtermsynonym_c1' => array (
+        0 => 'cvterm_id',
+        1 => 'synonym',
+      ),
+    ),
+    'indexes' => array (
+      'cvtermsynonym_idx1' => array (
+        0 => 'cvterm_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_db()
+ * Purpose: To describe the structure of 'db' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'db' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_db() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'db_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'urlprefix' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'url' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'db_id',
+    ),
+    'unique keys' => array (
+      'db_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_dbxref()
+ * Purpose: To describe the structure of 'dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'db_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'accession' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'version' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+        'default' => '',
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'dbxref_id',
+    ),
+    'unique keys' => array (
+      'dbxref_c1' => array (
+        0 => 'db_id',
+        1 => 'accession',
+        2 => 'version',
+      ),
+    ),
+    'indexes' => array (
+      'dbxref_idx1' => array (
+        0 => 'db_id',
+      ),
+      'dbxref_idx2' => array (
+        0 => 'accession',
+      ),
+      'dbxref_idx3' => array (
+        0 => 'version',
+      ),
+    ),
+    'foreign keys' => array (
+      'db' => array (
+        'table' => 'db',
+        'columns' => array (
+          'db_id' => 'db_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_dbxrefprop()
+ * Purpose: To describe the structure of 'dbxrefprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'dbxrefprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_dbxrefprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'dbxrefprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+        'default' => '',
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'dbxrefprop_id',
+    ),
+    'unique keys' => array (
+      'dbxrefprop_c1' => array (
+        0 => 'dbxref_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'dbxrefprop_idx1' => array (
+        0 => 'dbxref_id',
+      ),
+      'dbxrefprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_eimage()
+ * Purpose: To describe the structure of 'eimage' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'eimage' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_eimage() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'eimage_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'eimage_data' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'eimage_type' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'image_uri' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'eimage_id',
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_element()
+ * Purpose: To describe the structure of 'element' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'element' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_element() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'element_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'arraydesign_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'element_id',
+    ),
+    'unique keys' => array (
+      'element_c1' => array (
+        0 => 'feature_id',
+        1 => 'arraydesign_id',
+      ),
+    ),
+    'indexes' => array (
+      'element_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'element_idx2' => array (
+        0 => 'arraydesign_id',
+      ),
+      'element_idx3' => array (
+        0 => 'type_id',
+      ),
+      'element_idx4' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'arraydesign' => array (
+        'table' => 'arraydesign',
+        'columns' => array (
+          'arraydesign_id' => 'arraydesign_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_element_relationship()
+ * Purpose: To describe the structure of 'element_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'element_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_element_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'element_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'element_relationship_id',
+    ),
+    'unique keys' => array (
+      'element_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'element_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'element_relationship_idx2' => array (
+        0 => 'type_id',
+      ),
+      'element_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+      'element_relationship_idx4' => array (
+        0 => 'value',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'element' => array (
+        'table' => 'element',
+        'columns' => array (
+          'subject_id' => 'element_id',
+          'object_id' => 'element_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_elementresult()
+ * Purpose: To describe the structure of 'elementresult' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'elementresult' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_elementresult() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'elementresult_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'element_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'quantification_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'signal' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'size' => 'big',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'elementresult_id',
+    ),
+    'unique keys' => array (
+      'elementresult_c1' => array (
+        0 => 'element_id',
+        1 => 'quantification_id',
+      ),
+    ),
+    'indexes' => array (
+      'elementresult_idx1' => array (
+        0 => 'element_id',
+      ),
+      'elementresult_idx2' => array (
+        0 => 'quantification_id',
+      ),
+      'elementresult_idx3' => array (
+        0 => 'signal',
+      ),
+    ),
+    'foreign keys' => array (
+      'quantification' => array (
+        'table' => 'quantification',
+        'columns' => array (
+          'quantification_id' => 'quantification_id',
+        ),
+      ),
+      'element' => array (
+        'table' => 'element',
+        'columns' => array (
+          'element_id' => 'element_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_elementresult_relationship()
+ * Purpose: To describe the structure of 'elementresult_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'elementresult_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_elementresult_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'elementresult_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'elementresult_relationship_id',
+    ),
+    'unique keys' => array (
+      'elementresult_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'elementresult_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'elementresult_relationship_idx2' => array (
+        0 => 'type_id',
+      ),
+      'elementresult_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+      'elementresult_relationship_idx4' => array (
+        0 => 'value',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'elementresult' => array (
+        'table' => 'elementresult',
+        'columns' => array (
+          'subject_id' => 'elementresult_id',
+          'object_id' => 'elementresult_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_environment()
+ * Purpose: To describe the structure of 'environment' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'environment' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_environment() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'environment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'uniquename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'environment_id',
+    ),
+    'unique keys' => array (
+      'environment_c1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'indexes' => array (
+      'environment_idx1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_environment_cvterm()
+ * Purpose: To describe the structure of 'environment_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'environment_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_environment_cvterm() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'environment_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'environment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'environment_cvterm_id',
+    ),
+    'unique keys' => array (
+      'environment_cvterm_c1' => array (
+        0 => 'environment_id',
+        1 => 'cvterm_id',
+      ),
+    ),
+    'indexes' => array (
+      'environment_cvterm_idx1' => array (
+        0 => 'environment_id',
+      ),
+      'environment_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'environment' => array (
+        'table' => 'environment',
+        'columns' => array (
+          'environment_id' => 'environment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_expression()
+ * Purpose: To describe the structure of 'expression' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expression' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_expression() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'expression_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'uniquename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'md5checksum' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'char',
+        'length' => '32',
+        'not null' => false,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expression_id',
+    ),
+    'unique keys' => array (
+      'expression_c1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_expression_cvterm()
+ * Purpose: To describe the structure of 'expression_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expression_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_expression_cvterm() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'expression_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'expression_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+      'cvterm_type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expression_cvterm_id',
+    ),
+    'unique keys' => array (
+      'expression_cvterm_c1' => array (
+        0 => 'expression_id',
+        1 => 'cvterm_id',
+        2 => 'cvterm_type_id',
+      ),
+    ),
+    'indexes' => array (
+      'expression_cvterm_idx1' => array (
+        0 => 'expression_id',
+      ),
+      'expression_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+      'expression_cvterm_idx3' => array (
+        0 => 'cvterm_type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+          'cvterm_type_id' => 'cvterm_id',
+        ),
+      ),
+      'expression' => array (
+        'table' => 'expression',
+        'columns' => array (
+          'expression_id' => 'expression_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_expression_cvtermprop()
+ * Purpose: To describe the structure of 'expression_cvtermprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expression_cvtermprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_expression_cvtermprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'expression_cvtermprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'expression_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expression_cvtermprop_id',
+    ),
+    'unique keys' => array (
+      'expression_cvtermprop_c1' => array (
+        0 => 'expression_cvterm_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'expression_cvtermprop_idx1' => array (
+        0 => 'expression_cvterm_id',
+      ),
+      'expression_cvtermprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'expression_cvterm' => array (
+        'table' => 'expression_cvterm',
+        'columns' => array (
+          'expression_cvterm_id' => 'expression_cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_expression_image()
+ * Purpose: To describe the structure of 'expression_image' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expression_image' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_expression_image() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'expression_image_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'expression_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'eimage_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expression_image_id',
+    ),
+    'unique keys' => array (
+      'expression_image_c1' => array (
+        0 => 'expression_id',
+        1 => 'eimage_id',
+      ),
+    ),
+    'indexes' => array (
+      'expression_image_idx1' => array (
+        0 => 'expression_id',
+      ),
+      'expression_image_idx2' => array (
+        0 => 'eimage_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'expression' => array (
+        'table' => 'expression',
+        'columns' => array (
+          'expression_id' => 'expression_id',
+        ),
+      ),
+      'eimage' => array (
+        'table' => 'eimage',
+        'columns' => array (
+          'eimage_id' => 'eimage_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_expression_pub()
+ * Purpose: To describe the structure of 'expression_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expression_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_expression_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'expression_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'expression_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expression_pub_id',
+    ),
+    'unique keys' => array (
+      'expression_pub_c1' => array (
+        0 => 'expression_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'expression_pub_idx1' => array (
+        0 => 'expression_id',
+      ),
+      'expression_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'expression' => array (
+        'table' => 'expression',
+        'columns' => array (
+          'expression_id' => 'expression_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_expressionprop()
+ * Purpose: To describe the structure of 'expressionprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'expressionprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_expressionprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'expressionprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'expression_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'expressionprop_id',
+    ),
+    'unique keys' => array (
+      'expressionprop_c1' => array (
+        0 => 'expression_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'expressionprop_idx1' => array (
+        0 => 'expression_id',
+      ),
+      'expressionprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'expression' => array (
+        'table' => 'expression',
+        'columns' => array (
+          'expression_id' => 'expression_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature()
+ * Purpose: To describe the structure of 'feature' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'organism_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'uniquename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'residues' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'seqlen' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'md5checksum' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'char',
+        'length' => '32',
+        'not null' => false,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_analysis' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+      'is_obsolete' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+      'timeaccessioned' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'datetime',
+        'not null' => true,
+        'default' => 'ow(',
+      ),
+      'timelastmodified' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'datetime',
+        'not null' => true,
+        'default' => 'ow(',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_id',
+    ),
+    'unique keys' => array (
+      'feature_c1' => array (
+        0 => 'organism_id',
+        1 => 'uniquename',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_idx1' => array (
+        0 => 'dbxref_id',
+      ),
+      'feature_idx2' => array (
+        0 => 'organism_id',
+      ),
+      'feature_idx3' => array (
+        0 => 'type_id',
+      ),
+      'feature_idx4' => array (
+        0 => 'uniquename',
+      ),
+      'feature_name_ind1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_cvterm()
+ * Purpose: To describe the structure of 'feature_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_cvterm() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_not' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_cvterm_id',
+    ),
+    'unique keys' => array (
+      'feature_cvterm_c1' => array (
+        0 => 'feature_id',
+        1 => 'cvterm_id',
+        2 => 'pub_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_cvterm_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'feature_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+      'feature_cvterm_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_cvterm_dbxref()
+ * Purpose: To describe the structure of 'feature_cvterm_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_cvterm_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_cvterm_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_cvterm_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_cvterm_dbxref_id',
+    ),
+    'unique keys' => array (
+      'feature_cvterm_dbxref_c1' => array (
+        0 => 'feature_cvterm_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_cvterm_dbxref_idx1' => array (
+        0 => 'feature_cvterm_id',
+      ),
+      'feature_cvterm_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature_cvterm' => array (
+        'table' => 'feature_cvterm',
+        'columns' => array (
+          'feature_cvterm_id' => 'feature_cvterm_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_cvterm_pub()
+ * Purpose: To describe the structure of 'feature_cvterm_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_cvterm_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_cvterm_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_cvterm_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_cvterm_pub_id',
+    ),
+    'unique keys' => array (
+      'feature_cvterm_pub_c1' => array (
+        0 => 'feature_cvterm_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_cvterm_pub_idx1' => array (
+        0 => 'feature_cvterm_id',
+      ),
+      'feature_cvterm_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature_cvterm' => array (
+        'table' => 'feature_cvterm',
+        'columns' => array (
+          'feature_cvterm_id' => 'feature_cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_cvtermprop()
+ * Purpose: To describe the structure of 'feature_cvtermprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_cvtermprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_cvtermprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_cvtermprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_cvtermprop_id',
+    ),
+    'unique keys' => array (
+      'feature_cvtermprop_c1' => array (
+        0 => 'feature_cvterm_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_cvtermprop_idx1' => array (
+        0 => 'feature_cvterm_id',
+      ),
+      'feature_cvtermprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature_cvterm' => array (
+        'table' => 'feature_cvterm',
+        'columns' => array (
+          'feature_cvterm_id' => 'feature_cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_dbxref()
+ * Purpose: To describe the structure of 'feature_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_current' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'ru',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_dbxref_id',
+    ),
+    'unique keys' => array (
+      'feature_dbxref_c1' => array (
+        0 => 'feature_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_dbxref_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'feature_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_expression()
+ * Purpose: To describe the structure of 'feature_expression' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_expression' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_expression() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_expression_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'expression_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_expression_id',
+    ),
+    'unique keys' => array (
+      'feature_expression_c1' => array (
+        0 => 'expression_id',
+        1 => 'feature_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_expression_idx1' => array (
+        0 => 'expression_id',
+      ),
+      'feature_expression_idx2' => array (
+        0 => 'feature_id',
+      ),
+      'feature_expression_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'expression' => array (
+        'table' => 'expression',
+        'columns' => array (
+          'expression_id' => 'expression_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_expressionprop()
+ * Purpose: To describe the structure of 'feature_expressionprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_expressionprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_expressionprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_expressionprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_expression_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_expressionprop_id',
+    ),
+    'unique keys' => array (
+      'feature_expressionprop_c1' => array (
+        0 => 'feature_expression_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_expressionprop_idx1' => array (
+        0 => 'feature_expression_id',
+      ),
+      'feature_expressionprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature_expression' => array (
+        'table' => 'feature_expression',
+        'columns' => array (
+          'feature_expression_id' => 'feature_expression_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_genotype()
+ * Purpose: To describe the structure of 'feature_genotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_genotype' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_genotype() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_genotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'genotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'chromosome_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cgroup' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_genotype_id',
+    ),
+    'unique keys' => array (
+      'feature_genotype_c1' => array (
+        0 => 'feature_id',
+        1 => 'genotype_id',
+        2 => 'cvterm_id',
+        3 => 'chromosome_id',
+        4 => 'rank',
+        5 => 'cgroup',
+      ),
+    ),
+    'indexes' => array (
+      'feature_genotype_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'feature_genotype_idx2' => array (
+        0 => 'genotype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+          'chromosome_id' => 'feature_id',
+        ),
+      ),
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype_id' => 'genotype_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_phenotype()
+ * Purpose: To describe the structure of 'feature_phenotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_phenotype' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_phenotype() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_phenotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'phenotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_phenotype_id',
+    ),
+    'unique keys' => array (
+      'feature_phenotype_c1' => array (
+        0 => 'feature_id',
+        1 => 'phenotype_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_phenotype_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'feature_phenotype_idx2' => array (
+        0 => 'phenotype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'phenotype' => array (
+        'table' => 'phenotype',
+        'columns' => array (
+          'phenotype_id' => 'phenotype_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_pub()
+ * Purpose: To describe the structure of 'feature_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_pub_id',
+    ),
+    'unique keys' => array (
+      'feature_pub_c1' => array (
+        0 => 'feature_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_pub_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'feature_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_pubprop()
+ * Purpose: To describe the structure of 'feature_pubprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_pubprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_pubprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_pubprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_pubprop_id',
+    ),
+    'unique keys' => array (
+      'feature_pubprop_c1' => array (
+        0 => 'feature_pub_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_pubprop_idx1' => array (
+        0 => 'feature_pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature_pub' => array (
+        'table' => 'feature_pub',
+        'columns' => array (
+          'feature_pub_id' => 'feature_pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_relationship()
+ * Purpose: To describe the structure of 'feature_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_relationship_id',
+    ),
+    'unique keys' => array (
+      'feature_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'feature_relationship_idx2' => array (
+        0 => 'object_id',
+      ),
+      'feature_relationship_idx3' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'subject_id' => 'feature_id',
+          'object_id' => 'feature_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_relationship_pub()
+ * Purpose: To describe the structure of 'feature_relationship_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_relationship_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_relationship_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_relationship_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_relationship_pub_id',
+    ),
+    'unique keys' => array (
+      'feature_relationship_pub_c1' => array (
+        0 => 'feature_relationship_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_relationship_pub_idx1' => array (
+        0 => 'feature_relationship_id',
+      ),
+      'feature_relationship_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature_relationship' => array (
+        'table' => 'feature_relationship',
+        'columns' => array (
+          'feature_relationship_id' => 'feature_relationship_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_relationshipprop()
+ * Purpose: To describe the structure of 'feature_relationshipprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_relationshipprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_relationshipprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_relationshipprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_relationshipprop_id',
+    ),
+    'unique keys' => array (
+      'feature_relationshipprop_c1' => array (
+        0 => 'feature_relationship_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'feature_relationshipprop_idx1' => array (
+        0 => 'feature_relationship_id',
+      ),
+      'feature_relationshipprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature_relationship' => array (
+        'table' => 'feature_relationship',
+        'columns' => array (
+          'feature_relationship_id' => 'feature_relationship_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_relationshipprop_pub()
+ * Purpose: To describe the structure of 'feature_relationshipprop_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_relationshipprop_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_relationshipprop_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_relationshipprop_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_relationshipprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_relationshipprop_pub_id',
+    ),
+    'unique keys' => array (
+      'feature_relationshipprop_pub_c1' => array (
+        0 => 'feature_relationshipprop_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_relationshipprop_pub_idx1' => array (
+        0 => 'feature_relationshipprop_id',
+      ),
+      'feature_relationshipprop_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature_relationshipprop' => array (
+        'table' => 'feature_relationshipprop',
+        'columns' => array (
+          'feature_relationshipprop_id' => 'feature_relationshipprop_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_feature_synonym()
+ * Purpose: To describe the structure of 'feature_synonym' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'feature_synonym' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_feature_synonym() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'feature_synonym_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'synonym_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_current' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+      'is_internal' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'feature_synonym_id',
+    ),
+    'unique keys' => array (
+      'feature_synonym_c1' => array (
+        0 => 'synonym_id',
+        1 => 'feature_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'feature_synonym_idx1' => array (
+        0 => 'synonym_id',
+      ),
+      'feature_synonym_idx2' => array (
+        0 => 'feature_id',
+      ),
+      'feature_synonym_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'synonym' => array (
+        'table' => 'synonym',
+        'columns' => array (
+          'synonym_id' => 'synonym_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_featureloc()
+ * Purpose: To describe the structure of 'featureloc' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featureloc' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_featureloc() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'featureloc_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'srcfeature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'fmin' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'is_fmin_partial' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+      'fmax' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'is_fmax_partial' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+      'strand' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'size' => 'small',
+        'not null' => false,
+      ),
+      'phase' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'residue_info' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'locgroup' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featureloc_id',
+    ),
+    'unique keys' => array (
+      'featureloc_c1' => array (
+        0 => 'feature_id',
+        1 => 'locgroup',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'binloc_boxrange' => array (
+        0 => 'fmin',
+      ),
+      'binloc_boxrange_src' => array (
+        0 => 'srcfeature_id',
+        1 => 'fmin',
+      ),
+      'featureloc_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'featureloc_idx2' => array (
+        0 => 'srcfeature_id',
+      ),
+      'featureloc_idx3' => array (
+        0 => 'srcfeature_id',
+        1 => 'fmin',
+        2 => 'fmax',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+          'srcfeature_id' => 'feature_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_featureloc_pub()
+ * Purpose: To describe the structure of 'featureloc_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featureloc_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_featureloc_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'featureloc_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'featureloc_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featureloc_pub_id',
+    ),
+    'unique keys' => array (
+      'featureloc_pub_c1' => array (
+        0 => 'featureloc_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'featureloc_pub_idx1' => array (
+        0 => 'featureloc_id',
+      ),
+      'featureloc_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'featureloc' => array (
+        'table' => 'featureloc',
+        'columns' => array (
+          'featureloc_id' => 'featureloc_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_featuremap()
+ * Purpose: To describe the structure of 'featuremap' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featuremap' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_featuremap() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'featuremap_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'unittype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featuremap_id',
+    ),
+    'unique keys' => array (
+      'featuremap_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'unittype_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_featuremap_pub()
+ * Purpose: To describe the structure of 'featuremap_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featuremap_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_featuremap_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'featuremap_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'featuremap_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featuremap_pub_id',
+    ),
+    'indexes' => array (
+      'featuremap_pub_idx1' => array (
+        0 => 'featuremap_id',
+      ),
+      'featuremap_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'featuremap' => array (
+        'table' => 'featuremap',
+        'columns' => array (
+          'featuremap_id' => 'featuremap_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_featurepos()
+ * Purpose: To describe the structure of 'featurepos' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featurepos' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_featurepos() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'featurepos_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'featuremap_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'map_feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'mappos' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'size' => 'big',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featurepos_id',
+    ),
+    'indexes' => array (
+      'featurepos_idx1' => array (
+        0 => 'featuremap_id',
+      ),
+      'featurepos_idx2' => array (
+        0 => 'feature_id',
+      ),
+      'featurepos_idx3' => array (
+        0 => 'map_feature_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+          'map_feature_id' => 'feature_id',
+        ),
+      ),
+      'featuremap' => array (
+        'table' => 'featuremap',
+        'columns' => array (
+          'featuremap_id' => 'featuremap_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_featureprop()
+ * Purpose: To describe the structure of 'featureprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featureprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_featureprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'featureprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featureprop_id',
+    ),
+    'unique keys' => array (
+      'featureprop_c1' => array (
+        0 => 'feature_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'featureprop_idx1' => array (
+        0 => 'feature_id',
+      ),
+      'featureprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_featureprop_pub()
+ * Purpose: To describe the structure of 'featureprop_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featureprop_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_featureprop_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'featureprop_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'featureprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featureprop_pub_id',
+    ),
+    'unique keys' => array (
+      'featureprop_pub_c1' => array (
+        0 => 'featureprop_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'featureprop_pub_idx1' => array (
+        0 => 'featureprop_id',
+      ),
+      'featureprop_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'featureprop' => array (
+        'table' => 'featureprop',
+        'columns' => array (
+          'featureprop_id' => 'featureprop_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_featurerange()
+ * Purpose: To describe the structure of 'featurerange' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'featurerange' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_featurerange() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'featurerange_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'featuremap_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'leftstartf_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'leftendf_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'rightstartf_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'rightendf_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'rangestr' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'featurerange_id',
+    ),
+    'indexes' => array (
+      'featurerange_idx1' => array (
+        0 => 'featuremap_id',
+      ),
+      'featurerange_idx2' => array (
+        0 => 'feature_id',
+      ),
+      'featurerange_idx3' => array (
+        0 => 'leftstartf_id',
+      ),
+      'featurerange_idx4' => array (
+        0 => 'leftendf_id',
+      ),
+      'featurerange_idx5' => array (
+        0 => 'rightstartf_id',
+      ),
+      'featurerange_idx6' => array (
+        0 => 'rightendf_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+          'leftstartf_id' => 'feature_id',
+          'leftendf_id' => 'feature_id',
+          'rightstartf_id' => 'feature_id',
+          'rightendf_id' => 'feature_id',
+        ),
+      ),
+      'featuremap' => array (
+        'table' => 'featuremap',
+        'columns' => array (
+          'featuremap_id' => 'featuremap_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_genotype()
+ * Purpose: To describe the structure of 'genotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'genotype' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_genotype() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'genotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'uniquename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'genotype_id',
+    ),
+    'unique keys' => array (
+      'genotype_c1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'indexes' => array (
+      'genotype_idx1' => array (
+        0 => 'uniquename',
+      ),
+      'genotype_idx2' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_genotypeprop()
+ * Purpose: To describe the structure of 'genotypeprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'genotypeprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_genotypeprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'genotypeprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'genotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'genotypeprop_id',
+    ),
+    'unique keys' => array (
+      'genotypeprop_c1' => array (
+        0 => 'genotype_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'genotypeprop_idx1' => array (
+        0 => 'genotype_id',
+      ),
+      'genotypeprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype_id' => 'genotype_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_library()
+ * Purpose: To describe the structure of 'library' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_library() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'library_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'organism_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'uniquename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_obsolete' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+      'timeaccessioned' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'datetime',
+        'not null' => true,
+        'default' => 'ow(',
+      ),
+      'timelastmodified' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'datetime',
+        'not null' => true,
+        'default' => 'ow(',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_id',
+    ),
+    'unique keys' => array (
+      'library_c1' => array (
+        0 => 'organism_id',
+        1 => 'uniquename',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_idx1' => array (
+        0 => 'organism_id',
+      ),
+      'library_idx2' => array (
+        0 => 'type_id',
+      ),
+      'library_idx3' => array (
+        0 => 'uniquename',
+      ),
+      'library_name_ind1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_library_cvterm()
+ * Purpose: To describe the structure of 'library_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_library_cvterm() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'library_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'library_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_cvterm_id',
+    ),
+    'unique keys' => array (
+      'library_cvterm_c1' => array (
+        0 => 'library_id',
+        1 => 'cvterm_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_cvterm_idx1' => array (
+        0 => 'library_id',
+      ),
+      'library_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+      'library_cvterm_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_library_dbxref()
+ * Purpose: To describe the structure of 'library_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_library_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'library_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'library_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_current' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'ru',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_dbxref_id',
+    ),
+    'unique keys' => array (
+      'library_dbxref_c1' => array (
+        0 => 'library_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_dbxref_idx1' => array (
+        0 => 'library_id',
+      ),
+      'library_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_library_feature()
+ * Purpose: To describe the structure of 'library_feature' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library_feature' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_library_feature() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'library_feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'library_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_feature_id',
+    ),
+    'unique keys' => array (
+      'library_feature_c1' => array (
+        0 => 'library_id',
+        1 => 'feature_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_feature_idx1' => array (
+        0 => 'library_id',
+      ),
+      'library_feature_idx2' => array (
+        0 => 'feature_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_library_pub()
+ * Purpose: To describe the structure of 'library_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_library_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'library_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'library_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_pub_id',
+    ),
+    'unique keys' => array (
+      'library_pub_c1' => array (
+        0 => 'library_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_pub_idx1' => array (
+        0 => 'library_id',
+      ),
+      'library_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_library_synonym()
+ * Purpose: To describe the structure of 'library_synonym' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'library_synonym' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_library_synonym() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'library_synonym_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'synonym_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'library_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_current' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'ru',
+      ),
+      'is_internal' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'library_synonym_id',
+    ),
+    'unique keys' => array (
+      'library_synonym_c1' => array (
+        0 => 'synonym_id',
+        1 => 'library_id',
+        2 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'library_synonym_idx1' => array (
+        0 => 'synonym_id',
+      ),
+      'library_synonym_idx2' => array (
+        0 => 'library_id',
+      ),
+      'library_synonym_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'synonym' => array (
+        'table' => 'synonym',
+        'columns' => array (
+          'synonym_id' => 'synonym_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_libraryprop()
+ * Purpose: To describe the structure of 'libraryprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'libraryprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_libraryprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'libraryprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'library_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'libraryprop_id',
+    ),
+    'unique keys' => array (
+      'libraryprop_c1' => array (
+        0 => 'library_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'libraryprop_idx1' => array (
+        0 => 'library_id',
+      ),
+      'libraryprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'library' => array (
+        'table' => 'library',
+        'columns' => array (
+          'library_id' => 'library_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_libraryprop_pub()
+ * Purpose: To describe the structure of 'libraryprop_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'libraryprop_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_libraryprop_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'libraryprop_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'libraryprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'libraryprop_pub_id',
+    ),
+    'unique keys' => array (
+      'libraryprop_pub_c1' => array (
+        0 => 'libraryprop_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'libraryprop_pub_idx1' => array (
+        0 => 'libraryprop_id',
+      ),
+      'libraryprop_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'libraryprop' => array (
+        'table' => 'libraryprop',
+        'columns' => array (
+          'libraryprop_id' => 'libraryprop_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_magedocumentation()
+ * Purpose: To describe the structure of 'magedocumentation' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'magedocumentation' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_magedocumentation() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'magedocumentation_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'mageml_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'tableinfo_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'row_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'mageidentifier' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'magedocumentation_id',
+    ),
+    'indexes' => array (
+      'magedocumentation_idx1' => array (
+        0 => 'mageml_id',
+      ),
+      'magedocumentation_idx2' => array (
+        0 => 'tableinfo_id',
+      ),
+      'magedocumentation_idx3' => array (
+        0 => 'row_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'tableinfo' => array (
+        'table' => 'tableinfo',
+        'columns' => array (
+          'tableinfo_id' => 'tableinfo_id',
+        ),
+      ),
+      'mageml' => array (
+        'table' => 'mageml',
+        'columns' => array (
+          'mageml_id' => 'mageml_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_mageml()
+ * Purpose: To describe the structure of 'mageml' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'mageml' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_mageml() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'mageml_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'mage_package' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'mage_ml' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'mageml_id',
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_materialized_view()
+ * Purpose: To describe the structure of 'materialized_view' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'materialized_view' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_materialized_view() {
+  $description =  array (
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment()
+ * Purpose: To describe the structure of 'nd_experiment' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_geolocation_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_id',
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'nd_geolocation' => array (
+        'table' => 'nd_geolocation',
+        'columns' => array (
+          'nd_geolocation_id' => 'nd_geolocation_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment_contact()
+ * Purpose: To describe the structure of 'nd_experiment_contact' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment_contact' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment_contact() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_contact_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_experiment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'contact_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_contact_id',
+    ),
+    'foreign keys' => array (
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'contact_id' => 'contact_id',
+        ),
+      ),
+      'nd_experiment' => array (
+        'table' => 'nd_experiment',
+        'columns' => array (
+          'nd_experiment_id' => 'nd_experiment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment_dbxref()
+ * Purpose: To describe the structure of 'nd_experiment_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_experiment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_dbxref_id',
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'nd_experiment' => array (
+        'table' => 'nd_experiment',
+        'columns' => array (
+          'nd_experiment_id' => 'nd_experiment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment_genotype()
+ * Purpose: To describe the structure of 'nd_experiment_genotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment_genotype' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment_genotype() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_genotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_experiment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'genotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_genotype_id',
+    ),
+    'unique keys' => array (
+      'nd_experiment_genotype_c1' => array (
+        0 => 'nd_experiment_id',
+        1 => 'genotype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype_id' => 'genotype_id',
+        ),
+      ),
+      'nd_experiment' => array (
+        'table' => 'nd_experiment',
+        'columns' => array (
+          'nd_experiment_id' => 'nd_experiment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment_phenotype()
+ * Purpose: To describe the structure of 'nd_experiment_phenotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment_phenotype' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment_phenotype() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_phenotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_experiment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'phenotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_phenotype_id',
+    ),
+    'unique keys' => array (
+      'nd_experiment_phenotype_c1' => array (
+        0 => 'nd_experiment_id',
+        1 => 'phenotype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'phenotype' => array (
+        'table' => 'phenotype',
+        'columns' => array (
+          'phenotype_id' => 'phenotype_id',
+        ),
+      ),
+      'nd_experiment' => array (
+        'table' => 'nd_experiment',
+        'columns' => array (
+          'nd_experiment_id' => 'nd_experiment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment_project()
+ * Purpose: To describe the structure of 'nd_experiment_project' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment_project' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment_project() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_project_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'project_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'nd_experiment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_project_id',
+    ),
+    'foreign keys' => array (
+      'project' => array (
+        'table' => 'project',
+        'columns' => array (
+          'project_id' => 'project_id',
+        ),
+      ),
+      'nd_experiment' => array (
+        'table' => 'nd_experiment',
+        'columns' => array (
+          'nd_experiment_id' => 'nd_experiment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment_protocol()
+ * Purpose: To describe the structure of 'nd_experiment_protocol' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment_protocol' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment_protocol() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_experiment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'nd_protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_protocol_id',
+    ),
+    'foreign keys' => array (
+      'nd_experiment' => array (
+        'table' => 'nd_experiment',
+        'columns' => array (
+          'nd_experiment_id' => 'nd_experiment_id',
+        ),
+      ),
+      'nd_protocol' => array (
+        'table' => 'nd_protocol',
+        'columns' => array (
+          'nd_protocol_id' => 'nd_protocol_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment_pub()
+ * Purpose: To describe the structure of 'nd_experiment_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_experiment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_pub_id',
+    ),
+    'unique keys' => array (
+      'nd_experiment_pub_c1' => array (
+        0 => 'nd_experiment_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'nd_experiment_pub_idx1' => array (
+        0 => 'nd_experiment_id',
+      ),
+      'nd_experiment_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'nd_experiment' => array (
+        'table' => 'nd_experiment',
+        'columns' => array (
+          'nd_experiment_id' => 'nd_experiment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment_stock()
+ * Purpose: To describe the structure of 'nd_experiment_stock' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment_stock' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment_stock() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_experiment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_stock_id',
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+      'nd_experiment' => array (
+        'table' => 'nd_experiment',
+        'columns' => array (
+          'nd_experiment_id' => 'nd_experiment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment_stock_dbxref()
+ * Purpose: To describe the structure of 'nd_experiment_stock_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment_stock_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment_stock_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_stock_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_experiment_stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_stock_dbxref_id',
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'nd_experiment_stock' => array (
+        'table' => 'nd_experiment_stock',
+        'columns' => array (
+          'nd_experiment_stock_id' => 'nd_experiment_stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experiment_stockprop()
+ * Purpose: To describe the structure of 'nd_experiment_stockprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experiment_stockprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experiment_stockprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experiment_stockprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_experiment_stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experiment_stockprop_id',
+    ),
+    'unique keys' => array (
+      'nd_experiment_stockprop_c1' => array (
+        0 => 'nd_experiment_stock_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'nd_experiment_stock' => array (
+        'table' => 'nd_experiment_stock',
+        'columns' => array (
+          'nd_experiment_stock_id' => 'nd_experiment_stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_experimentprop()
+ * Purpose: To describe the structure of 'nd_experimentprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_experimentprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_experimentprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_experimentprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_experiment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_experimentprop_id',
+    ),
+    'unique keys' => array (
+      'nd_experimentprop_c1' => array (
+        0 => 'nd_experiment_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'nd_experiment' => array (
+        'table' => 'nd_experiment',
+        'columns' => array (
+          'nd_experiment_id' => 'nd_experiment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_geolocation()
+ * Purpose: To describe the structure of 'nd_geolocation' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_geolocation' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_geolocation() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_geolocation_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'latitude' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'not null' => false,
+      ),
+      'longitude' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'not null' => false,
+      ),
+      'geodetic_datum' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '32',
+        'not null' => false,
+      ),
+      'altitude' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_geolocation_id',
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_geolocationprop()
+ * Purpose: To describe the structure of 'nd_geolocationprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_geolocationprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_geolocationprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_geolocationprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_geolocation_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_geolocationprop_id',
+    ),
+    'unique keys' => array (
+      'nd_geolocationprop_c1' => array (
+        0 => 'nd_geolocation_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'nd_geolocation' => array (
+        'table' => 'nd_geolocation',
+        'columns' => array (
+          'nd_geolocation_id' => 'nd_geolocation_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_protocol()
+ * Purpose: To describe the structure of 'nd_protocol' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_protocol' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_protocol() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_protocol_id',
+    ),
+    'unique keys' => array (
+      'name' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_protocol_reagent()
+ * Purpose: To describe the structure of 'nd_protocol_reagent' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_protocol_reagent' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_protocol_reagent() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_protocol_reagent_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'reagent_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_protocol_reagent_id',
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'nd_protocol' => array (
+        'table' => 'nd_protocol',
+        'columns' => array (
+          'nd_protocol_id' => 'nd_protocol_id',
+        ),
+      ),
+      'nd_reagent' => array (
+        'table' => 'nd_reagent',
+        'columns' => array (
+          'reagent_id' => 'nd_reagent_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_protocolprop()
+ * Purpose: To describe the structure of 'nd_protocolprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_protocolprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_protocolprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_protocolprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_protocolprop_id',
+    ),
+    'unique keys' => array (
+      'nd_protocolprop_c1' => array (
+        0 => 'nd_protocol_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'nd_protocol' => array (
+        'table' => 'nd_protocol',
+        'columns' => array (
+          'nd_protocol_id' => 'nd_protocol_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_reagent()
+ * Purpose: To describe the structure of 'nd_reagent' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_reagent' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_reagent() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_reagent_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '80',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_reagent_id',
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_reagent_relationship()
+ * Purpose: To describe the structure of 'nd_reagent_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_reagent_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_reagent_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_reagent_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_reagent_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_reagent_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_reagent_relationship_id',
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'nd_reagent' => array (
+        'table' => 'nd_reagent',
+        'columns' => array (
+          'subject_reagent_id' => 'nd_reagent_id',
+          'object_reagent_id' => 'nd_reagent_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_nd_reagentprop()
+ * Purpose: To describe the structure of 'nd_reagentprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'nd_reagentprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_nd_reagentprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'nd_reagentprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'nd_reagent_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'nd_reagentprop_id',
+    ),
+    'unique keys' => array (
+      'nd_reagentprop_c1' => array (
+        0 => 'nd_reagent_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'nd_reagent' => array (
+        'table' => 'nd_reagent',
+        'columns' => array (
+          'nd_reagent_id' => 'nd_reagent_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_organism()
+ * Purpose: To describe the structure of 'organism' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'organism' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_organism() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'organism_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'abbreviation' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'genus' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'species' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'common_name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'comment' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'organism_id',
+    ),
+    'unique keys' => array (
+      'organism_c1' => array (
+        0 => 'genus',
+        1 => 'species',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_organism_dbxref()
+ * Purpose: To describe the structure of 'organism_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'organism_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_organism_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'organism_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'organism_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'organism_dbxref_id',
+    ),
+    'unique keys' => array (
+      'organism_dbxref_c1' => array (
+        0 => 'organism_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'organism_dbxref_idx1' => array (
+        0 => 'organism_id',
+      ),
+      'organism_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_organism_feature_count()
+ * Purpose: To describe the structure of 'organism_feature_count' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'organism_feature_count' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_organism_feature_count() {
+  $description =  array (
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_organismprop()
+ * Purpose: To describe the structure of 'organismprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'organismprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_organismprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'organismprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'organism_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'organismprop_id',
+    ),
+    'unique keys' => array (
+      'organismprop_c1' => array (
+        0 => 'organism_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'organismprop_idx1' => array (
+        0 => 'organism_id',
+      ),
+      'organismprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phendesc()
+ * Purpose: To describe the structure of 'phendesc' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phendesc' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phendesc() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phendesc_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'genotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'environment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phendesc_id',
+    ),
+    'unique keys' => array (
+      'phendesc_c1' => array (
+        0 => 'genotype_id',
+        1 => 'environment_id',
+        2 => 'type_id',
+        3 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'phendesc_idx1' => array (
+        0 => 'genotype_id',
+      ),
+      'phendesc_idx2' => array (
+        0 => 'environment_id',
+      ),
+      'phendesc_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype_id' => 'genotype_id',
+        ),
+      ),
+      'environment' => array (
+        'table' => 'environment',
+        'columns' => array (
+          'environment_id' => 'environment_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phenotype()
+ * Purpose: To describe the structure of 'phenotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phenotype' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phenotype() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phenotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'uniquename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'observable_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'attr_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'cvalue_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'assay_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phenotype_id',
+    ),
+    'unique keys' => array (
+      'phenotype_c1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'indexes' => array (
+      'phenotype_idx1' => array (
+        0 => 'cvalue_id',
+      ),
+      'phenotype_idx2' => array (
+        0 => 'observable_id',
+      ),
+      'phenotype_idx3' => array (
+        0 => 'attr_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'observable_id' => 'cvterm_id',
+          'attr_id' => 'cvterm_id',
+          'cvalue_id' => 'cvterm_id',
+          'assay_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phenotype_comparison()
+ * Purpose: To describe the structure of 'phenotype_comparison' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phenotype_comparison' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phenotype_comparison() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phenotype_comparison_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'genotype1_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'environment1_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'genotype2_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'environment2_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'phenotype1_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'phenotype2_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'organism_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phenotype_comparison_id',
+    ),
+    'unique keys' => array (
+      'phenotype_comparison_c1' => array (
+        0 => 'genotype1_id',
+        1 => 'environment1_id',
+        2 => 'genotype2_id',
+        3 => 'environment2_id',
+        4 => 'phenotype1_id',
+        5 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'phenotype_comparison_idx1' => array (
+        0 => 'genotype1_id',
+      ),
+      'phenotype_comparison_idx2' => array (
+        0 => 'genotype2_id',
+      ),
+      'phenotype_comparison_idx4' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype1_id' => 'genotype_id',
+          'genotype2_id' => 'genotype_id',
+        ),
+      ),
+      'environment' => array (
+        'table' => 'environment',
+        'columns' => array (
+          'environment1_id' => 'environment_id',
+          'environment2_id' => 'environment_id',
+        ),
+      ),
+      'phenotype' => array (
+        'table' => 'phenotype',
+        'columns' => array (
+          'phenotype1_id' => 'phenotype_id',
+          'phenotype2_id' => 'phenotype_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phenotype_comparison_cvterm()
+ * Purpose: To describe the structure of 'phenotype_comparison_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phenotype_comparison_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phenotype_comparison_cvterm() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phenotype_comparison_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'phenotype_comparison_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phenotype_comparison_cvterm_id',
+    ),
+    'unique keys' => array (
+      'phenotype_comparison_cvterm_c1' => array (
+        0 => 'phenotype_comparison_id',
+        1 => 'cvterm_id',
+      ),
+    ),
+    'indexes' => array (
+      'phenotype_comparison_cvterm_idx1' => array (
+        0 => 'phenotype_comparison_id',
+      ),
+      'phenotype_comparison_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'phenotype_comparison' => array (
+        'table' => 'phenotype_comparison',
+        'columns' => array (
+          'phenotype_comparison_id' => 'phenotype_comparison_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phenotype_cvterm()
+ * Purpose: To describe the structure of 'phenotype_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phenotype_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phenotype_cvterm() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phenotype_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'phenotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phenotype_cvterm_id',
+    ),
+    'unique keys' => array (
+      'phenotype_cvterm_c1' => array (
+        0 => 'phenotype_id',
+        1 => 'cvterm_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'phenotype_cvterm_idx1' => array (
+        0 => 'phenotype_id',
+      ),
+      'phenotype_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'phenotype' => array (
+        'table' => 'phenotype',
+        'columns' => array (
+          'phenotype_id' => 'phenotype_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phenstatement()
+ * Purpose: To describe the structure of 'phenstatement' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phenstatement' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phenstatement() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phenstatement_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'genotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'environment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'phenotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phenstatement_id',
+    ),
+    'unique keys' => array (
+      'phenstatement_c1' => array (
+        0 => 'genotype_id',
+        1 => 'phenotype_id',
+        2 => 'environment_id',
+        3 => 'type_id',
+        4 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'phenstatement_idx1' => array (
+        0 => 'genotype_id',
+      ),
+      'phenstatement_idx2' => array (
+        0 => 'phenotype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype_id' => 'genotype_id',
+        ),
+      ),
+      'environment' => array (
+        'table' => 'environment',
+        'columns' => array (
+          'environment_id' => 'environment_id',
+        ),
+      ),
+      'phenotype' => array (
+        'table' => 'phenotype',
+        'columns' => array (
+          'phenotype_id' => 'phenotype_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phylonode()
+ * Purpose: To describe the structure of 'phylonode' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonode' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phylonode() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phylonode_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'phylotree_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'parent_phylonode_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'left_idx' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'right_idx' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'label' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'distance' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'float',
+        'size' => 'big',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonode_id',
+    ),
+    'unique keys' => array (
+      'phylotree_id' => array (
+        0 => 'phylotree_id',
+        1 => 'left_idx',
+      ),
+      'phylonode_phylotree_id_key1' => array (
+        0 => 'phylotree_id',
+        1 => 'right_idx',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'parent_phylonode_id' => 'phylonode_id',
+        ),
+      ),
+      'phylotree' => array (
+        'table' => 'phylotree',
+        'columns' => array (
+          'phylotree_id' => 'phylotree_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phylonode_dbxref()
+ * Purpose: To describe the structure of 'phylonode_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonode_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phylonode_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phylonode_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'phylonode_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonode_dbxref_id',
+    ),
+    'unique keys' => array (
+      'phylonode_id' => array (
+        0 => 'phylonode_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'phylonode_dbxref_idx1' => array (
+        0 => 'phylonode_id',
+      ),
+      'phylonode_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'phylonode_id' => 'phylonode_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phylonode_organism()
+ * Purpose: To describe the structure of 'phylonode_organism' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonode_organism' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phylonode_organism() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phylonode_organism_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'phylonode_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'organism_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonode_organism_id',
+    ),
+    'unique keys' => array (
+      'phylonode_id' => array (
+        0 => 'phylonode_id',
+      ),
+    ),
+    'indexes' => array (
+      'phylonode_organism_idx1' => array (
+        0 => 'phylonode_id',
+      ),
+      'phylonode_organism_idx2' => array (
+        0 => 'organism_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'phylonode_id' => 'phylonode_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phylonode_pub()
+ * Purpose: To describe the structure of 'phylonode_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonode_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phylonode_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phylonode_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'phylonode_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonode_pub_id',
+    ),
+    'unique keys' => array (
+      'phylonode_id' => array (
+        0 => 'phylonode_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'phylonode_pub_idx1' => array (
+        0 => 'phylonode_id',
+      ),
+      'phylonode_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'phylonode_id' => 'phylonode_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phylonode_relationship()
+ * Purpose: To describe the structure of 'phylonode_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonode_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phylonode_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phylonode_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'phylotree_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonode_relationship_id',
+    ),
+    'unique keys' => array (
+      'subject_id' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'phylonode_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'phylonode_relationship_idx2' => array (
+        0 => 'object_id',
+      ),
+      'phylonode_relationship_idx3' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'subject_id' => 'phylonode_id',
+          'object_id' => 'phylonode_id',
+        ),
+      ),
+      'phylotree' => array (
+        'table' => 'phylotree',
+        'columns' => array (
+          'phylotree_id' => 'phylotree_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phylonodeprop()
+ * Purpose: To describe the structure of 'phylonodeprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylonodeprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phylonodeprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phylonodeprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'phylonode_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+        'default' => '',
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylonodeprop_id',
+    ),
+    'unique keys' => array (
+      'phylonode_id' => array (
+        0 => 'phylonode_id',
+        1 => 'type_id',
+        2 => 'value',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'phylonodeprop_idx1' => array (
+        0 => 'phylonode_id',
+      ),
+      'phylonodeprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'phylonode' => array (
+        'table' => 'phylonode',
+        'columns' => array (
+          'phylonode_id' => 'phylonode_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phylotree()
+ * Purpose: To describe the structure of 'phylotree' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylotree' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phylotree() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phylotree_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'analysis_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'comment' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylotree_id',
+    ),
+    'indexes' => array (
+      'phylotree_idx1' => array (
+        0 => 'phylotree_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'analysis' => array (
+        'table' => 'analysis',
+        'columns' => array (
+          'analysis_id' => 'analysis_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_phylotree_pub()
+ * Purpose: To describe the structure of 'phylotree_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'phylotree_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_phylotree_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'phylotree_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'phylotree_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'phylotree_pub_id',
+    ),
+    'unique keys' => array (
+      'phylotree_id' => array (
+        0 => 'phylotree_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'phylotree_pub_idx1' => array (
+        0 => 'phylotree_id',
+      ),
+      'phylotree_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'phylotree' => array (
+        'table' => 'phylotree',
+        'columns' => array (
+          'phylotree_id' => 'phylotree_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_project()
+ * Purpose: To describe the structure of 'project' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'project' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_project() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'project_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'project_id',
+    ),
+    'unique keys' => array (
+      'project_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_project_contact()
+ * Purpose: To describe the structure of 'project_contact' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'project_contact' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_project_contact() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'project_contact_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'project_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'contact_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'project_contact_id',
+    ),
+    'unique keys' => array (
+      'project_contact_c1' => array (
+        0 => 'project_id',
+        1 => 'contact_id',
+      ),
+    ),
+    'indexes' => array (
+      'project_contact_idx1' => array (
+        0 => 'project_id',
+      ),
+      'project_contact_idx2' => array (
+        0 => 'contact_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'contact_id' => 'contact_id',
+        ),
+      ),
+      'project' => array (
+        'table' => 'project',
+        'columns' => array (
+          'project_id' => 'project_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_project_pub()
+ * Purpose: To describe the structure of 'project_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'project_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_project_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'project_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'project_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'project_pub_id',
+    ),
+    'unique keys' => array (
+      'project_pub_c1' => array (
+        0 => 'project_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'project_pub_idx1' => array (
+        0 => 'project_id',
+      ),
+      'project_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'project' => array (
+        'table' => 'project',
+        'columns' => array (
+          'project_id' => 'project_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_project_relationship()
+ * Purpose: To describe the structure of 'project_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'project_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_project_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'project_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_project_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_project_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'project_relationship_id',
+    ),
+    'unique keys' => array (
+      'project_relationship_c1' => array (
+        0 => 'subject_project_id',
+        1 => 'object_project_id',
+        2 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'project' => array (
+        'table' => 'project',
+        'columns' => array (
+          'subject_project_id' => 'project_id',
+          'object_project_id' => 'project_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_projectprop()
+ * Purpose: To describe the structure of 'projectprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'projectprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_projectprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'projectprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'project_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'projectprop_id',
+    ),
+    'unique keys' => array (
+      'projectprop_c1' => array (
+        0 => 'project_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'project' => array (
+        'table' => 'project',
+        'columns' => array (
+          'project_id' => 'project_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_protocol()
+ * Purpose: To describe the structure of 'protocol' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'protocol' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_protocol() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'uri' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'protocoldescription' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'hardwaredescription' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'softwaredescription' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'protocol_id',
+    ),
+    'unique keys' => array (
+      'protocol_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'protocol_idx1' => array (
+        0 => 'type_id',
+      ),
+      'protocol_idx2' => array (
+        0 => 'pub_id',
+      ),
+      'protocol_idx3' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_protocolparam()
+ * Purpose: To describe the structure of 'protocolparam' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'protocolparam' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_protocolparam() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'protocolparam_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'datatype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'unittype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'protocolparam_id',
+    ),
+    'indexes' => array (
+      'protocolparam_idx1' => array (
+        0 => 'protocol_id',
+      ),
+      'protocolparam_idx2' => array (
+        0 => 'datatype_id',
+      ),
+      'protocolparam_idx3' => array (
+        0 => 'unittype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'datatype_id' => 'cvterm_id',
+          'unittype_id' => 'cvterm_id',
+        ),
+      ),
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_pub()
+ * Purpose: To describe the structure of 'pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'title' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'volumetitle' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'volume' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'series_name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'issue' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'pyear' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'pages' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'miniref' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'uniquename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_obsolete' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => false,
+        'default' => 'als',
+      ),
+      'publisher' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'pubplace' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'pub_id',
+    ),
+    'unique keys' => array (
+      'pub_c1' => array (
+        0 => 'uniquename',
+      ),
+    ),
+    'indexes' => array (
+      'pub_idx1' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_pub_dbxref()
+ * Purpose: To describe the structure of 'pub_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'pub_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_pub_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'pub_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_current' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'ru',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'pub_dbxref_id',
+    ),
+    'unique keys' => array (
+      'pub_dbxref_c1' => array (
+        0 => 'pub_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'pub_dbxref_idx1' => array (
+        0 => 'pub_id',
+      ),
+      'pub_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_pub_relationship()
+ * Purpose: To describe the structure of 'pub_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'pub_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_pub_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'pub_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'pub_relationship_id',
+    ),
+    'unique keys' => array (
+      'pub_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'pub_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'pub_relationship_idx2' => array (
+        0 => 'object_id',
+      ),
+      'pub_relationship_idx3' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'subject_id' => 'pub_id',
+          'object_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_pubauthor()
+ * Purpose: To describe the structure of 'pubauthor' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'pubauthor' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_pubauthor() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'pubauthor_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'editor' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => false,
+        'default' => 'als',
+      ),
+      'surname' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '100',
+        'not null' => true,
+      ),
+      'givennames' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '100',
+        'not null' => false,
+      ),
+      'suffix' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '100',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'pubauthor_id',
+    ),
+    'unique keys' => array (
+      'pubauthor_c1' => array (
+        0 => 'pub_id',
+        1 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'pubauthor_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_pubprop()
+ * Purpose: To describe the structure of 'pubprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'pubprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_pubprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'pubprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'pubprop_id',
+    ),
+    'unique keys' => array (
+      'pubprop_c1' => array (
+        0 => 'pub_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'pubprop_idx1' => array (
+        0 => 'pub_id',
+      ),
+      'pubprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_quantification()
+ * Purpose: To describe the structure of 'quantification' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'quantification' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_quantification() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'quantification_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'acquisition_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'operator_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'analysis_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'quantificationdate' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'datetime',
+        'not null' => false,
+        'default' => 'ow(',
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'uri' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'quantification_id',
+    ),
+    'unique keys' => array (
+      'quantification_c1' => array (
+        0 => 'name',
+        1 => 'analysis_id',
+      ),
+    ),
+    'indexes' => array (
+      'quantification_idx1' => array (
+        0 => 'acquisition_id',
+      ),
+      'quantification_idx2' => array (
+        0 => 'operator_id',
+      ),
+      'quantification_idx3' => array (
+        0 => 'protocol_id',
+      ),
+      'quantification_idx4' => array (
+        0 => 'analysis_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'analysis' => array (
+        'table' => 'analysis',
+        'columns' => array (
+          'analysis_id' => 'analysis_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'operator_id' => 'contact_id',
+        ),
+      ),
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+      'acquisition' => array (
+        'table' => 'acquisition',
+        'columns' => array (
+          'acquisition_id' => 'acquisition_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_quantification_relationship()
+ * Purpose: To describe the structure of 'quantification_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'quantification_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_quantification_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'quantification_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'quantification_relationship_id',
+    ),
+    'unique keys' => array (
+      'quantification_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'quantification_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'quantification_relationship_idx2' => array (
+        0 => 'type_id',
+      ),
+      'quantification_relationship_idx3' => array (
+        0 => 'object_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'quantification' => array (
+        'table' => 'quantification',
+        'columns' => array (
+          'subject_id' => 'quantification_id',
+          'object_id' => 'quantification_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_quantificationprop()
+ * Purpose: To describe the structure of 'quantificationprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'quantificationprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_quantificationprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'quantificationprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'quantification_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'quantificationprop_id',
+    ),
+    'unique keys' => array (
+      'quantificationprop_c1' => array (
+        0 => 'quantification_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'quantificationprop_idx1' => array (
+        0 => 'quantification_id',
+      ),
+      'quantificationprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'quantification' => array (
+        'table' => 'quantification',
+        'columns' => array (
+          'quantification_id' => 'quantification_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stock()
+ * Purpose: To describe the structure of 'stock' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stock() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'organism_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'uniquename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_obsolete' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_id',
+    ),
+    'unique keys' => array (
+      'stock_c1' => array (
+        0 => 'organism_id',
+        1 => 'uniquename',
+        2 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_idx1' => array (
+        0 => 'dbxref_id',
+      ),
+      'stock_idx2' => array (
+        0 => 'organism_id',
+      ),
+      'stock_idx3' => array (
+        0 => 'type_id',
+      ),
+      'stock_idx4' => array (
+        0 => 'uniquename',
+      ),
+      'stock_name_ind1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'organism' => array (
+        'table' => 'organism',
+        'columns' => array (
+          'organism_id' => 'organism_id',
+        ),
+      ),
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stock_cvterm()
+ * Purpose: To describe the structure of 'stock_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stock_cvterm() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stock_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_not' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'als',
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_cvterm_id',
+    ),
+    'unique keys' => array (
+      'stock_cvterm_c1' => array (
+        0 => 'stock_id',
+        1 => 'cvterm_id',
+        2 => 'pub_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'stock_cvterm_idx1' => array (
+        0 => 'stock_id',
+      ),
+      'stock_cvterm_idx2' => array (
+        0 => 'cvterm_id',
+      ),
+      'stock_cvterm_idx3' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stock_cvtermprop()
+ * Purpose: To describe the structure of 'stock_cvtermprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_cvtermprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stock_cvtermprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stock_cvtermprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stock_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_cvtermprop_id',
+    ),
+    'unique keys' => array (
+      'stock_cvtermprop_c1' => array (
+        0 => 'stock_cvterm_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'stock_cvtermprop_idx1' => array (
+        0 => 'stock_cvterm_id',
+      ),
+      'stock_cvtermprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'stock_cvterm' => array (
+        'table' => 'stock_cvterm',
+        'columns' => array (
+          'stock_cvterm_id' => 'stock_cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stock_dbxref()
+ * Purpose: To describe the structure of 'stock_dbxref' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_dbxref' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stock_dbxref() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stock_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'is_current' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'boolean',
+        'not null' => true,
+        'default' => 'ru',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_dbxref_id',
+    ),
+    'unique keys' => array (
+      'stock_dbxref_c1' => array (
+        0 => 'stock_id',
+        1 => 'dbxref_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_dbxref_idx1' => array (
+        0 => 'stock_id',
+      ),
+      'stock_dbxref_idx2' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stock_dbxrefprop()
+ * Purpose: To describe the structure of 'stock_dbxrefprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_dbxrefprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stock_dbxrefprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stock_dbxrefprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stock_dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_dbxrefprop_id',
+    ),
+    'unique keys' => array (
+      'stock_dbxrefprop_c1' => array (
+        0 => 'stock_dbxref_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'stock_dbxrefprop_idx1' => array (
+        0 => 'stock_dbxref_id',
+      ),
+      'stock_dbxrefprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'stock_dbxref' => array (
+        'table' => 'stock_dbxref',
+        'columns' => array (
+          'stock_dbxref_id' => 'stock_dbxref_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stock_genotype()
+ * Purpose: To describe the structure of 'stock_genotype' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_genotype' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stock_genotype() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stock_genotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'genotype_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_genotype_id',
+    ),
+    'unique keys' => array (
+      'stock_genotype_c1' => array (
+        0 => 'stock_id',
+        1 => 'genotype_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_genotype_idx1' => array (
+        0 => 'stock_id',
+      ),
+      'stock_genotype_idx2' => array (
+        0 => 'genotype_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'genotype' => array (
+        'table' => 'genotype',
+        'columns' => array (
+          'genotype_id' => 'genotype_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stock_pub()
+ * Purpose: To describe the structure of 'stock_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stock_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stock_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_pub_id',
+    ),
+    'unique keys' => array (
+      'stock_pub_c1' => array (
+        0 => 'stock_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_pub_idx1' => array (
+        0 => 'stock_id',
+      ),
+      'stock_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stock_relationship()
+ * Purpose: To describe the structure of 'stock_relationship' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_relationship' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stock_relationship() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stock_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'subject_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'object_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_relationship_id',
+    ),
+    'unique keys' => array (
+      'stock_relationship_c1' => array (
+        0 => 'subject_id',
+        1 => 'object_id',
+        2 => 'type_id',
+        3 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'stock_relationship_idx1' => array (
+        0 => 'subject_id',
+      ),
+      'stock_relationship_idx2' => array (
+        0 => 'object_id',
+      ),
+      'stock_relationship_idx3' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'subject_id' => 'stock_id',
+          'object_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stock_relationship_cvterm()
+ * Purpose: To describe the structure of 'stock_relationship_cvterm' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_relationship_cvterm' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stock_relationship_cvterm() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stock_relationship_cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stock_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'cvterm_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_relationship_cvterm_id',
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'cvterm_id' => 'cvterm_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'stock_relationship' => array (
+        'table' => 'stock_relationship',
+        'columns' => array (
+          'stock_relationship_id' => 'stock_relationship_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stock_relationship_pub()
+ * Purpose: To describe the structure of 'stock_relationship_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stock_relationship_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stock_relationship_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stock_relationship_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stock_relationship_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stock_relationship_pub_id',
+    ),
+    'unique keys' => array (
+      'stock_relationship_pub_c1' => array (
+        0 => 'stock_relationship_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'stock_relationship_pub_idx1' => array (
+        0 => 'stock_relationship_id',
+      ),
+      'stock_relationship_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'stock_relationship' => array (
+        'table' => 'stock_relationship',
+        'columns' => array (
+          'stock_relationship_id' => 'stock_relationship_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stockcollection()
+ * Purpose: To describe the structure of 'stockcollection' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stockcollection' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stockcollection() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stockcollection_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'contact_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => false,
+      ),
+      'uniquename' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stockcollection_id',
+    ),
+    'unique keys' => array (
+      'stockcollection_c1' => array (
+        0 => 'uniquename',
+        1 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'stockcollection_idx1' => array (
+        0 => 'contact_id',
+      ),
+      'stockcollection_idx2' => array (
+        0 => 'type_id',
+      ),
+      'stockcollection_idx3' => array (
+        0 => 'uniquename',
+      ),
+      'stockcollection_name_ind1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'contact_id' => 'contact_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stockcollection_stock()
+ * Purpose: To describe the structure of 'stockcollection_stock' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stockcollection_stock' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stockcollection_stock() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stockcollection_stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stockcollection_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stockcollection_stock_id',
+    ),
+    'unique keys' => array (
+      'stockcollection_stock_c1' => array (
+        0 => 'stockcollection_id',
+        1 => 'stock_id',
+      ),
+    ),
+    'indexes' => array (
+      'stockcollection_stock_idx1' => array (
+        0 => 'stockcollection_id',
+      ),
+      'stockcollection_stock_idx2' => array (
+        0 => 'stock_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+      'stockcollection' => array (
+        'table' => 'stockcollection',
+        'columns' => array (
+          'stockcollection_id' => 'stockcollection_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stockcollectionprop()
+ * Purpose: To describe the structure of 'stockcollectionprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stockcollectionprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stockcollectionprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stockcollectionprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stockcollection_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stockcollectionprop_id',
+    ),
+    'unique keys' => array (
+      'stockcollectionprop_c1' => array (
+        0 => 'stockcollection_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'stockcollectionprop_idx1' => array (
+        0 => 'stockcollection_id',
+      ),
+      'stockcollectionprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'stockcollection' => array (
+        'table' => 'stockcollection',
+        'columns' => array (
+          'stockcollection_id' => 'stockcollection_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stockprop()
+ * Purpose: To describe the structure of 'stockprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stockprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stockprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stockprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stock_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stockprop_id',
+    ),
+    'unique keys' => array (
+      'stockprop_c1' => array (
+        0 => 'stock_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'stockprop_idx1' => array (
+        0 => 'stock_id',
+      ),
+      'stockprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'stock' => array (
+        'table' => 'stock',
+        'columns' => array (
+          'stock_id' => 'stock_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_stockprop_pub()
+ * Purpose: To describe the structure of 'stockprop_pub' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'stockprop_pub' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_stockprop_pub() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'stockprop_pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'stockprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'stockprop_pub_id',
+    ),
+    'unique keys' => array (
+      'stockprop_pub_c1' => array (
+        0 => 'stockprop_id',
+        1 => 'pub_id',
+      ),
+    ),
+    'indexes' => array (
+      'stockprop_pub_idx1' => array (
+        0 => 'stockprop_id',
+      ),
+      'stockprop_pub_idx2' => array (
+        0 => 'pub_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'stockprop' => array (
+        'table' => 'stockprop',
+        'columns' => array (
+          'stockprop_id' => 'stockprop_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_study()
+ * Purpose: To describe the structure of 'study' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'study' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_study() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'study_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'contact_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'pub_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'dbxref_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'study_id',
+    ),
+    'unique keys' => array (
+      'study_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'indexes' => array (
+      'study_idx1' => array (
+        0 => 'contact_id',
+      ),
+      'study_idx2' => array (
+        0 => 'pub_id',
+      ),
+      'study_idx3' => array (
+        0 => 'dbxref_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'dbxref' => array (
+        'table' => 'dbxref',
+        'columns' => array (
+          'dbxref_id' => 'dbxref_id',
+        ),
+      ),
+      'pub' => array (
+        'table' => 'pub',
+        'columns' => array (
+          'pub_id' => 'pub_id',
+        ),
+      ),
+      'contact' => array (
+        'table' => 'contact',
+        'columns' => array (
+          'contact_id' => 'contact_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_study_assay()
+ * Purpose: To describe the structure of 'study_assay' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'study_assay' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_study_assay() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'study_assay_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'study_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'assay_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'study_assay_id',
+    ),
+    'unique keys' => array (
+      'study_assay_c1' => array (
+        0 => 'study_id',
+        1 => 'assay_id',
+      ),
+    ),
+    'indexes' => array (
+      'study_assay_idx1' => array (
+        0 => 'study_id',
+      ),
+      'study_assay_idx2' => array (
+        0 => 'assay_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+      'study' => array (
+        'table' => 'study',
+        'columns' => array (
+          'study_id' => 'study_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_studydesign()
+ * Purpose: To describe the structure of 'studydesign' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studydesign' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_studydesign() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'studydesign_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'study_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studydesign_id',
+    ),
+    'indexes' => array (
+      'studydesign_idx1' => array (
+        0 => 'study_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'study' => array (
+        'table' => 'study',
+        'columns' => array (
+          'study_id' => 'study_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_studydesignprop()
+ * Purpose: To describe the structure of 'studydesignprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studydesignprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_studydesignprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'studydesignprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'studydesign_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studydesignprop_id',
+    ),
+    'unique keys' => array (
+      'studydesignprop_c1' => array (
+        0 => 'studydesign_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'studydesignprop_idx1' => array (
+        0 => 'studydesign_id',
+      ),
+      'studydesignprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'studydesign' => array (
+        'table' => 'studydesign',
+        'columns' => array (
+          'studydesign_id' => 'studydesign_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_studyfactor()
+ * Purpose: To describe the structure of 'studyfactor' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studyfactor' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_studyfactor() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'studyfactor_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'studydesign_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => true,
+      ),
+      'description' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studyfactor_id',
+    ),
+    'indexes' => array (
+      'studyfactor_idx1' => array (
+        0 => 'studydesign_id',
+      ),
+      'studyfactor_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'studydesign' => array (
+        'table' => 'studydesign',
+        'columns' => array (
+          'studydesign_id' => 'studydesign_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_studyfactorvalue()
+ * Purpose: To describe the structure of 'studyfactorvalue' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studyfactorvalue' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_studyfactorvalue() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'studyfactorvalue_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'studyfactor_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'assay_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'factorvalue' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studyfactorvalue_id',
+    ),
+    'indexes' => array (
+      'studyfactorvalue_idx1' => array (
+        0 => 'studyfactor_id',
+      ),
+      'studyfactorvalue_idx2' => array (
+        0 => 'assay_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'assay' => array (
+        'table' => 'assay',
+        'columns' => array (
+          'assay_id' => 'assay_id',
+        ),
+      ),
+      'studyfactor' => array (
+        'table' => 'studyfactor',
+        'columns' => array (
+          'studyfactor_id' => 'studyfactor_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_studyprop()
+ * Purpose: To describe the structure of 'studyprop' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studyprop' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_studyprop() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'studyprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'study_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'value' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studyprop_id',
+    ),
+    'unique keys' => array (
+      'study_id' => array (
+        0 => 'study_id',
+        1 => 'type_id',
+        2 => 'rank',
+      ),
+    ),
+    'indexes' => array (
+      'studyprop_idx1' => array (
+        0 => 'study_id',
+      ),
+      'studyprop_idx2' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'study' => array (
+        'table' => 'study',
+        'columns' => array (
+          'study_id' => 'study_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_studyprop_feature()
+ * Purpose: To describe the structure of 'studyprop_feature' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'studyprop_feature' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_studyprop_feature() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'studyprop_feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'studyprop_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'feature_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'studyprop_feature_id',
+    ),
+    'unique keys' => array (
+      'studyprop_id' => array (
+        0 => 'studyprop_id',
+        1 => 'feature_id',
+      ),
+    ),
+    'indexes' => array (
+      'studyprop_feature_idx1' => array (
+        0 => 'studyprop_id',
+      ),
+      'studyprop_feature_idx2' => array (
+        0 => 'feature_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'feature' => array (
+        'table' => 'feature',
+        'columns' => array (
+          'feature_id' => 'feature_id',
+        ),
+      ),
+      'studyprop' => array (
+        'table' => 'studyprop',
+        'columns' => array (
+          'studyprop_id' => 'studyprop_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_synonym()
+ * Purpose: To describe the structure of 'synonym' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'synonym' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_synonym() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'synonym_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'synonym_sgml' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '255',
+        'not null' => true,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'synonym_id',
+    ),
+    'unique keys' => array (
+      'synonym_c1' => array (
+        0 => 'name',
+        1 => 'type_id',
+      ),
+    ),
+    'indexes' => array (
+      'synonym_idx1' => array (
+        0 => 'type_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_tableinfo()
+ * Purpose: To describe the structure of 'tableinfo' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'tableinfo' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_tableinfo() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'tableinfo_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '30',
+        'not null' => true,
+      ),
+      'primary_key_column' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'varchar',
+        'length' => '30',
+        'not null' => false,
+      ),
+      'is_view' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+      'view_on_table_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'superclass_table_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'is_updateable' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 1,
+      ),
+      'modification_date' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'date',
+        'not null' => true,
+        'default' => 'ow(',
+      ),
+    ),
+    'primary key' => array (
+      0 => 'tableinfo_id',
+    ),
+    'unique keys' => array (
+      'tableinfo_c1' => array (
+        0 => 'name',
+      ),
+    ),
+    'foreign keys' => array (
+    ),
+  );
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_2_treatment()
+ * Purpose: To describe the structure of 'treatment' to tripal
+ * @see tripal_core_chado_insert()
+ * @see tripal_core_chado_update()
+ * @see tripal_core_chado_select()
+ *
+ * @return
+ *    An array describing the 'treatment' table
+ *
+ * @ingroup tripal_chado_v1.2_schema_api
+ *
+ */
+function tripal_core_chado_schema_v1_2_treatment() {
+  $description =  array (
+    'description' => 'TODO: please describe this table!',
+    'fields' => array (
+      'treatment_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'serial',
+        'not null' => true,
+      ),
+      'rank' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+        'default' => 0,
+      ),
+      'biomaterial_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'type_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => true,
+      ),
+      'protocol_id' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'int',
+        'not null' => false,
+      ),
+      'name' => array (
+        'description' => 'TODO: please describe this field!',
+        'type' => 'text',
+        'not null' => false,
+      ),
+    ),
+    'primary key' => array (
+      0 => 'treatment_id',
+    ),
+    'indexes' => array (
+      'treatment_idx1' => array (
+        0 => 'biomaterial_id',
+      ),
+      'treatment_idx2' => array (
+        0 => 'type_id',
+      ),
+      'treatment_idx3' => array (
+        0 => 'protocol_id',
+      ),
+    ),
+    'foreign keys' => array (
+      'cvterm' => array (
+        'table' => 'cvterm',
+        'columns' => array (
+          'type_id' => 'cvterm_id',
+        ),
+      ),
+      'protocol' => array (
+        'table' => 'protocol',
+        'columns' => array (
+          'protocol_id' => 'protocol_id',
+        ),
+      ),
+      'biomaterial' => array (
+        'table' => 'biomaterial',
+        'columns' => array (
+          'biomaterial_id' => 'biomaterial_id',
+        ),
+      ),
+    ),
+  );
+  return $description;
+}

+ 0 - 2
tripal_core/chado_schema/initialize-1.11.sql

@@ -228,5 +228,3 @@ insert into cv (name,definition) values ('autocreated','Terms that are automatic
                                 query TEXT,
                                 query TEXT,
                                 special_index TEXT
                                 special_index TEXT
                                 );
                                 );
-
-

+ 0 - 1
tripal_core/chado_schema/initialize-1.2.sql

@@ -234,4 +234,3 @@ insert into cvterm (name,definition,cv_id,dbxref_id) values ('version','Chado sc
                                 special_index TEXT
                                 special_index TEXT
                                 );
                                 );
 
 
-

+ 1 - 6
tripal_core/chado_schema/initialize-1.11-1.2.sql → tripal_core/chado_schema/upgrade-1.11-1.2.sql

@@ -1,10 +1,5 @@
 insert into cv (name,definition) values ('chado_properties','Terms that are used in the chadoprop table to describe the state of the database');
 insert into cv (name,definition) values ('chado_properties','Terms that are used in the chadoprop table to describe the state of the database');
+
 insert into dbxref (db_id,accession) values ((select db_id from db where name='null'), 'chado_properties:version');
 insert into dbxref (db_id,accession) values ((select db_id from db where name='null'), 'chado_properties:version');
 insert into cvterm (name,definition,cv_id,dbxref_id) values ('version','Chado schema version',(select cv_id from cv where name = 'chado_properties'),(select dbxref_id from dbxref where accession='chado_properties:version'));
 insert into cvterm (name,definition,cv_id,dbxref_id) values ('version','Chado schema version',(select cv_id from cv where name = 'chado_properties'),(select dbxref_id from dbxref where accession='chado_properties:version'));
 
 
-INSERT INTO chadoprop (type_id, value) VALUES 
-  ((SELECT cvterm_id 
-   FROM cvterm CVT 
-     INNER JOIN cv CV on CVT.cv_id = CV.cv_id 
-   WHERE CV.name = 'chado_properties' AND CVT.name = 'version'),
-   '1.2')

+ 27 - 13
tripal_core/chado_install.php → tripal_core/includes/chado_install.php

@@ -12,17 +12,11 @@
  */
  */
 function tripal_core_chado_load_form() {
 function tripal_core_chado_load_form() {
 
 
-  $form['description'] = array(
+  $version = tripal_core_get_chado_version();
+  $form['current_version'] = array(
     '#type' => 'item',
     '#type' => 'item',
-    '#value' => t("<font color=\"red\">WARNING:</font> A new install of Chado v1.2 or v1.11 "
-      ."will install Chado within the Drupal database in a \"chado\" schema. If the \"chado\" schema already exists it will "
-      ."be overwritten and all data will be lost.  You may choose to update an existing Chado v1.11 if it was installed with a previous "
-      ."version of Tripal (e.g. v0.3b or v0.3.1). The update will not erase any data. "
-      ."If you are using chado in a database external to the "
-      ."Drupal database with a 'chado' entry in the 'settings.php' \$db_url argument "
-      ."then Chado will be installed but will not be used .  The external "
-      ."database specified in the settings.php file takes precedence."),
-    '#weight' => 1,
+    '#title' => t("Current installed version of Chado"),
+    '#value' => $version,
   );
   );
 
 
   $form['action_to_do'] = array(
   $form['action_to_do'] = array(
@@ -35,7 +29,18 @@ function tripal_core_chado_load_form() {
      ),
      ),
      '#description' => t('Select an action to perform'),
      '#description' => t('Select an action to perform'),
      '#required' => TRUE
      '#required' => TRUE
-     
+  );
+
+  $form['description'] = array(
+    '#type' => 'item',
+    '#value' => t("<font color=\"red\">WARNING:</font> A new install of Chado v1.2 or v1.11 "
+      ."will install Chado within the Drupal database in a \"chado\" schema. If the \"chado\" schema already exists it will "
+      ."be overwritten and all data will be lost.  You may choose to update an existing Chado v1.11 if it was installed with a previous "
+      ."version of Tripal (e.g. v0.3b or v0.3.1). The update will not erase any data. "
+      ."If you are using chado in a database external to the "
+      ."Drupal database with a 'chado' entry in the 'settings.php' \$db_url argument "
+      ."then Chado will be installed but will not be used .  The external "
+      ."database specified in the settings.php file takes precedence."),
   );
   );
 
 
   $form['button'] = array(
   $form['button'] = array(
@@ -68,12 +73,20 @@ function tripal_core_chado_load_form_submit($form, &$form_state) {
  */
  */
 function tripal_core_install_chado($action) {
 function tripal_core_install_chado($action) {
 
 
+  $vsql = "INSERT INTO chadoprop (type_id, value) VALUES  "
+        ."((SELECT cvterm_id "
+        ."FROM cvterm CVT "
+        ." INNER JOIN cv CV on CVT.cv_id = CV.cv_id "
+        ."WHERE CV.name = 'chado_properties' AND CVT.name = 'version'), "
+        ."'%s') ";
+
   if($action == 'Install Chado v1.2'){
   if($action == 'Install Chado v1.2'){
     $schema_file = drupal_get_path('module', 'tripal_core') . '/chado_schema/default_schema-1.2.sql';
     $schema_file = drupal_get_path('module', 'tripal_core') . '/chado_schema/default_schema-1.2.sql';
     $init_file = drupal_get_path('module', 'tripal_core') . '/chado_schema/initialize-1.2.sql';
     $init_file = drupal_get_path('module', 'tripal_core') . '/chado_schema/initialize-1.2.sql';
     if (tripal_core_reset_chado_schema()) {
     if (tripal_core_reset_chado_schema()) {
       tripal_core_install_sql($schema_file);
       tripal_core_install_sql($schema_file);
       tripal_core_install_sql($init_file);
       tripal_core_install_sql($init_file);
+      db_query($vsql,'1.2'); # set the version
     }
     }
     else {
     else {
       print "ERROR: cannot install chado.  Please check database permissions\n";
       print "ERROR: cannot install chado.  Please check database permissions\n";
@@ -82,9 +95,10 @@ function tripal_core_install_chado($action) {
   }
   }
   elseif($action == 'Upgrade Chado v1.11 to v1.2') {
   elseif($action == 'Upgrade Chado v1.11 to v1.2') {
     $schema_file = drupal_get_path('module', 'tripal_core') . '/chado_schema/default_schema-1.11-1.2-diff.sql';
     $schema_file = drupal_get_path('module', 'tripal_core') . '/chado_schema/default_schema-1.11-1.2-diff.sql';
-    $init_file = drupal_get_path('module', 'tripal_core') . '/chado_schema/initialize-1.11-1.2.sql';
-#    tripal_core_install_sql($schema_file);
+    $init_file = drupal_get_path('module', 'tripal_core') . '/chado_schema/upgrade-1.11-1.2.sql';
+    tripal_core_install_sql($schema_file);
     tripal_core_install_sql($init_file);
     tripal_core_install_sql($init_file);
+    db_query($vsql,'1.2'); # set the version
   }
   }
   elseif($action == 'Install Chado v1.11'){
   elseif($action == 'Install Chado v1.11'){
     $schema_file = drupal_get_path('module', 'tripal_core') . '/chado_schema/default_schema-1.11.sql';
     $schema_file = drupal_get_path('module', 'tripal_core') . '/chado_schema/default_schema-1.11.sql';

+ 0 - 0
tripal_core/jobs.php → tripal_core/includes/jobs.php


+ 0 - 0
tripal_core/mviews.php → tripal_core/includes/mviews.php


+ 8 - 4
tripal_core/tripal_core.install

@@ -63,6 +63,8 @@ function tripal_core_update_6000() {
  * @ingroup tripal_core
  * @ingroup tripal_core
  */
  */
 function tripal_core_schema() {
 function tripal_core_schema() {
+
+  // get the schemas defined by this install file
   $schema = tripal_core_get_schemas();
   $schema = tripal_core_get_schemas();
 
 
   // if this module is already installed and enabled, then we want to provide
   // if this module is already installed and enabled, then we want to provide
@@ -71,10 +73,12 @@ function tripal_core_schema() {
   // installation we don't want to make these custom tables available as we don't
   // installation we don't want to make these custom tables available as we don't
   // want them created in the Drupal database.  The custom tables go in the
   // want them created in the Drupal database.  The custom tables go in the
   // Chado database.
   // Chado database.
-  $sql = 'SELECT * FROM {tripal_custom_tables}';
-  $q = db_query($sql);
-  while ($custom = db_fetch_object($q)) {
-    $schema[$custom->table_name] = unserialize($custom->schema);
+  if(db_table_exists('tripal_custom_tables')){
+    $sql = 'SELECT * FROM {tripal_custom_tables}';
+    $q = db_query($sql);
+    while ($custom = db_fetch_object($q)) {
+      $schema[$custom->table_name] = unserialize($custom->schema);
+    }
   }
   }
 
 
   return $schema;
   return $schema;

+ 5 - 5
tripal_core/tripal_core.module

@@ -1,9 +1,9 @@
 <?php
 <?php
 
 
-require_once "jobs.php";
-require_once "mviews.php";
-require_once "chado_install.php";
-require_once "tripal_core.api.inc";
+require_once "includes/jobs.php";
+require_once "includes/mviews.php";
+require_once "includes/chado_install.php";
+require_once "api/tripal_core.api.inc";
 
 
 /**
 /**
  * @defgroup tripal_modules Tripal Modules
  * @defgroup tripal_modules Tripal Modules
@@ -249,7 +249,7 @@ function tripal_core_job_describe_args($callback, $args) {
     $mview = db_fetch_object(db_query($sql, $args[0]));
     $mview = db_fetch_object(db_query($sql, $args[0]));
     $new_args['View Name'] = $mview->name;
     $new_args['View Name'] = $mview->name;
   }
   }
-  elseif($callback == 'tripal_core_install_chado'){
+  elseif ($callback == 'tripal_core_install_chado') {
      $new_args['Action'] = $args[0];
      $new_args['Action'] = $args[0];
   }
   }
   return $new_args;
   return $new_args;

+ 0 - 12737
tripal_core/tripal_core.schema.api.inc

@@ -1,12737 +0,0 @@
-<?php
-
-/* @file: This file contains default schema definitions for all chado tables
- *        to be used with tripal_core chado insert/update/select functions.
- *        These schema definitions can be augmented by the various modules
- *        (specifically to add missing foreign key definitions) by implementing
- *        hook_chado_<table name>_schema().
- *
- * @defgroup tripal_schema_api Core Module Schema API
- * @{
- * Provides an application programming interface (API) for describing Chado tables.
- * This API consists of a set of functions, one for each table in Chado.  Each
- * function simply returns a Drupal style array that defines the table.
- *
- * Because Drupal 6 does not handle foreign key relationships, a separate
- * hook is used to define the foreign key relationships for each table.  As
- * of version 0.3b of Tripal, not all foreign key relationships have been
- * defined.  Therefore, if you need a foreign key you must create the appropriate
- * hook.  Hooks are named hook_chado_table_schema() where 'hook' is replaced
- * with the module name, and 'table' is replaced by the Chado table name.
- *
- * The functions provided in this documentation should not be called as is, but if you need
- * the Drupal-style array definition for any table, use the following function
- * call:
- *
- *   $table_desc = module_invoke_all('chado_'.$table.'_schema');
- *
- * where the variable $table contains the name of the table you want to
- * retireve.  The function call above uses the Drupal hook infrastructure to
- * call the appropriate function in the Schema API as well as the appropriate
- * hook to add in any foreign key relationships.
- *
- * @}
- * @ingroup tripal_api
- */
-
-/**
- * Retrieves the list tables in the Chado schema.  By default it only retursn
- * the default Chado tables, but may also return custom tables added to the
- * Chado schema as well.
- *
- * @param $include_custom
- *   Optional.  Set as TRUE to include any custom tables created in the
- *   Chado schema. Custom tables are added to Chado using the
- *   tripal_core_chado_create_table() function.
- *
- * @returns
- *   An associative array where the key and value pairs are the Chado table names.
- * @ingroup tripal_schema_api
- */
-function tripal_core_get_chado_tables($include_custom = NULL) {
-  if (is_array($db_url) AND array_key_exists('chado', $db_url)) {
-    $previous_db = tripal_db_set_active('chado');
-    // @coder-ignore: acting on pg_catalog schema rather then drupal schema therefore, table prefixing does not apply
-    $sql = 'SELECT tablename FROM pg_tables';
-    $resource = db_query($sql);
-    tripal_db_set_active($previous_db);
-  }
-  else {
-    // @coder-ignore: acting on pg_catalog schema rather then drupal schema therefore, table prefixing does not apply
-    $sql = "SELECT tablename FROM pg_tables WHERE schemaname='chado'";
-    $resource = db_query($sql);
-  }
-
-  $tables = array();
-  while ($r = db_fetch_object($resource)) {
-    $tables[$r->tablename] = $r->tablename;
-  }
-
-  // now add in the custom tables too
-  if ($include_custom) {
-    $sql = "SELECT table_name FROM {tripal_custom_tables}";
-    $resource = db_query($sql);
-  }
-  while ($r = db_fetch_object($resource)) {
-    $tables[$r->table_name] = $r->table_name;
-  }
-
-  asort($tables);
-  return $tables;
-}
-
-/**
- * Implements hook_organism_dbxref_schema()
- * Purpose: To describe the structure of organism_dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_organism_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'organism_dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'organism_dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'organism_dbxref_id',
-    ),
-    'unique keys' => array(
-      'organism_dbxref_c1' => array(
-        '0' => 'organism_id',
-        '1' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-      'organism_dbxref_idx1' => array(
-        '0' => 'organism_id',
-      ),
-      'organism_dbxref_idx2' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_organismprop_schema()
- * Purpose: To describe the structure of organismprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_organismprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'organismprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'organismprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'organismprop_id',
-    ),
-    'unique keys' => array(
-      'organismprop_c1' => array(
-        '0' => 'organism_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'organismprop_idx1' => array(
-        '0' => 'organism_id',
-      ),
-      'organismprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phendesc_schema()
- * Purpose: To describe the structure of phendesc to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phendesc_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phendesc',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phendesc_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'genotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'environment_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phendesc_id',
-    ),
-    'unique keys' => array(
-      'phendesc_c1' => array(
-        '0' => 'genotype_id',
-        '1' => 'environment_id',
-        '2' => 'type_id',
-        '3' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'phendesc_idx1' => array(
-        '0' => 'genotype_id',
-      ),
-      'phendesc_idx2' => array(
-        '0' => 'environment_id',
-      ),
-      'phendesc_idx3' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phenotype_schema()
- * Purpose: To describe the structure of phenotype to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phenotype_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phenotype',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phenotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'observable_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'attr_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'cvalue_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'assay_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phenotype_id',
-    ),
-    'unique keys' => array(
-      'phenotype_c1' => array(
-        '0' => 'uniquename',
-      ),
-    ),
-    'indexes' => array(
-      'phenotype_idx1' => array(
-        '0' => 'cvalue_id',
-      ),
-      'phenotype_idx2' => array(
-        '0' => 'observable_id',
-      ),
-      'phenotype_idx3' => array(
-        '0' => 'attr_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_organism_schema()
- * Purpose: To describe the structure of organism to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_organism_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'organism',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'abbreviation' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'genus' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'species' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'common_name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'comment' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'organism_id',
-    ),
-    'unique keys' => array(
-      'organism_c1' => array(
-        '0' => 'genus',
-        '1' => 'species',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_materialized_view_schema()
- * Purpose: To describe the structure of materialized_view to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_materialized_view_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'materialized_view',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'materialized_view_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'last_update' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '',
-      ),
-      'refresh_time' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '64',
-        'not NULL' => '',
-      ),
-      'mv_schema' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '64',
-        'not NULL' => '',
-      ),
-      'mv_table' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '128',
-        'not NULL' => '',
-      ),
-      'mv_specs' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'indexed' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'query' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'special_index' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-      'name' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_libraryprop_schema()
- * Purpose: To describe the structure of libraryprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_libraryprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'libraryprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'libraryprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'libraryprop_id',
-    ),
-    'unique keys' => array(
-      'libraryprop_c1' => array(
-        '0' => 'library_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'libraryprop_idx1' => array(
-        '0' => 'library_id',
-      ),
-      'libraryprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_libraryprop_pub_schema()
- * Purpose: To describe the structure of libraryprop_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_libraryprop_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'libraryprop_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'libraryprop_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'libraryprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'libraryprop_pub_id',
-    ),
-    'unique keys' => array(
-      'libraryprop_pub_c1' => array(
-        '0' => 'libraryprop_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'libraryprop_pub_idx1' => array(
-        '0' => 'libraryprop_id',
-      ),
-      'libraryprop_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_magedocumentation_schema()
- * Purpose: To describe the structure of magedocumentation to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_magedocumentation_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'magedocumentation',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'magedocumentation_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'mageml_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'tableinfo_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'row_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'mageidentifier' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'magedocumentation_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'magedocumentation_idx1' => array(
-        '0' => 'mageml_id',
-      ),
-      'magedocumentation_idx2' => array(
-        '0' => 'tableinfo_id',
-      ),
-      'magedocumentation_idx3' => array(
-        '0' => 'row_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_mageml_schema()
- * Purpose: To describe the structure of mageml to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_mageml_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'mageml',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'mageml_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'mage_package' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'mage_ml' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'mageml_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phenotype_comparison_schema()
- * Purpose: To describe the structure of phenotype_comparison to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phenotype_comparison_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phenotype_comparison',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phenotype_comparison_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'genotype1_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'environment1_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'genotype2_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'environment2_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'phenotype1_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'phenotype2_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phenotype_comparison_id',
-    ),
-    'unique keys' => array(
-      'phenotype_comparison_c1' => array(
-        '0' => 'genotype1_id',
-        '1' => 'environment1_id',
-        '2' => 'genotype2_id',
-        '3' => 'environment2_id',
-        '4' => 'phenotype1_id',
-        '5' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'phenotype_comparison_idx1' => array(
-        '0' => 'genotype1_id',
-      ),
-      'phenotype_comparison_idx2' => array(
-        '0' => 'genotype2_id',
-      ),
-      'phenotype_comparison_idx4' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phenotype_comparison_cvterm_schema()
- * Purpose: To describe the structure of phenotype_comparison_cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phenotype_comparison_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phenotype_comparison_cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phenotype_comparison_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'phenotype_comparison_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phenotype_comparison_cvterm_id',
-    ),
-    'unique keys' => array(
-      'phenotype_comparison_cvterm_c1' => array(
-        '0' => 'phenotype_comparison_id',
-        '1' => 'cvterm_id',
-      ),
-    ),
-    'indexes' => array(
-      'phenotype_comparison_cvterm_idx1' => array(
-        '0' => 'phenotype_comparison_id',
-      ),
-      'phenotype_comparison_cvterm_idx2' => array(
-        '0' => 'cvterm_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phylonode_relationship_schema()
- * Purpose: To describe the structure of phylonode_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phylonode_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phylonode_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phylonode_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'phylotree_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phylonode_relationship_id',
-    ),
-    'unique keys' => array(
-      'subject_id' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'phylonode_relationship_idx1' => array(
-        '0' => 'subject_id',
-      ),
-      'phylonode_relationship_idx2' => array(
-        '0' => 'object_id',
-      ),
-      'phylonode_relationship_idx3' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phylonodeprop_schema()
- * Purpose: To describe the structure of phylonodeprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phylonodeprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phylonodeprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phylonodeprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'phylonode_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-        'default' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phylonodeprop_id',
-    ),
-    'unique keys' => array(
-      'phylonode_id' => array(
-        '0' => 'phylonode_id',
-        '1' => 'type_id',
-        '2' => 'value',
-        '3' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'phylonodeprop_idx1' => array(
-        '0' => 'phylonode_id',
-      ),
-      'phylonodeprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phylotree_schema()
- * Purpose: To describe the structure of phylotree to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phylotree_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phylotree',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phylotree_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'analysis_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'comment' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phylotree_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'phylotree_idx1' => array(
-        '0' => 'phylotree_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phylotree_pub_schema()
- * Purpose: To describe the structure of phylotree_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phylotree_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phylotree_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phylotree_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'phylotree_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phylotree_pub_id',
-    ),
-    'unique keys' => array(
-      'phylotree_id' => array(
-        '0' => 'phylotree_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'phylotree_pub_idx1' => array(
-        '0' => 'phylotree_id',
-      ),
-      'phylotree_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phylonode_pub_schema()
- * Purpose: To describe the structure of phylonode_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phylonode_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phylonode_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phylonode_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'phylonode_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phylonode_pub_id',
-    ),
-    'unique keys' => array(
-      'phylonode_id' => array(
-        '0' => 'phylonode_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'phylonode_pub_idx1' => array(
-        '0' => 'phylonode_id',
-      ),
-      'phylonode_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phylonode_organism_schema()
- * Purpose: To describe the structure of phylonode_organism to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phylonode_organism_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phylonode_organism',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phylonode_organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'phylonode_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phylonode_organism_id',
-    ),
-    'unique keys' => array(
-      'phylonode_id' => array(
-        '0' => 'phylonode_id',
-      ),
-    ),
-    'indexes' => array(
-      'phylonode_organism_idx1' => array(
-        '0' => 'phylonode_id',
-      ),
-      'phylonode_organism_idx2' => array(
-        '0' => 'organism_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phenotype_cvterm_schema()
- * Purpose: To describe the structure of phenotype_cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phenotype_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phenotype_cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phenotype_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'phenotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phenotype_cvterm_id',
-    ),
-    'unique keys' => array(
-      'phenotype_cvterm_c1' => array(
-        '0' => 'phenotype_id',
-        '1' => 'cvterm_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'phenotype_cvterm_idx1' => array(
-        '0' => 'phenotype_id',
-      ),
-      'phenotype_cvterm_idx2' => array(
-        '0' => 'cvterm_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phenstatement_schema()
- * Purpose: To describe the structure of phenstatement to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phenstatement_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phenstatement',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phenstatement_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'genotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'environment_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'phenotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phenstatement_id',
-    ),
-    'unique keys' => array(
-      'phenstatement_c1' => array(
-        '0' => 'genotype_id',
-        '1' => 'phenotype_id',
-        '2' => 'environment_id',
-        '3' => 'type_id',
-        '4' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'phenstatement_idx1' => array(
-        '0' => 'genotype_id',
-      ),
-      'phenstatement_idx2' => array(
-        '0' => 'phenotype_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phylonode_schema()
- * Purpose: To describe the structure of phylonode to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phylonode_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phylonode',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phylonode_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'phylotree_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'parent_phylonode_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'left_idx' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'right_idx' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'label' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'distance' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'float',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phylonode_id',
-    ),
-    'unique keys' => array(
-      'phylotree_id' => array(
-        '0' => 'phylotree_id',
-        '1' => 'left_idx',
-      ),
-      'phylonode_phylotree_id_key1' => array(
-        '0' => 'phylotree_id',
-        '1' => 'right_idx',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_phylonode_dbxref_schema()
- * Purpose: To describe the structure of phylonode_dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_phylonode_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'phylonode_dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'phylonode_dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'phylonode_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'phylonode_dbxref_id',
-    ),
-    'unique keys' => array(
-      'phylonode_id' => array(
-        '0' => 'phylonode_id',
-        '1' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-      'phylonode_dbxref_idx1' => array(
-        '0' => 'phylonode_id',
-      ),
-      'phylonode_dbxref_idx2' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_library_synonym_schema()
- * Purpose: To describe the structure of library_synonym to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_library_synonym_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'library_synonym',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'library_synonym_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'synonym_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_current' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'ru',
-      ),
-      'is_internal' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'library_synonym_id',
-    ),
-    'unique keys' => array(
-      'library_synonym_c1' => array(
-        '0' => 'synonym_id',
-        '1' => 'library_id',
-        '2' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'library_synonym_idx1' => array(
-        '0' => 'synonym_id',
-      ),
-      'library_synonym_idx2' => array(
-        '0' => 'library_id',
-      ),
-      'library_synonym_idx3' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_library_pub_schema()
- * Purpose: To describe the structure of library_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_library_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'library_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'library_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'library_pub_id',
-    ),
-    'unique keys' => array(
-      'library_pub_c1' => array(
-        '0' => 'library_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'library_pub_idx1' => array(
-        '0' => 'library_id',
-      ),
-      'library_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_featureprop_pub_schema()
- * Purpose: To describe the structure of featureprop_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_featureprop_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'featureprop_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'featureprop_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'featureprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'featureprop_pub_id',
-    ),
-    'unique keys' => array(
-      'featureprop_pub_c1' => array(
-        '0' => 'featureprop_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'featureprop_pub_idx1' => array(
-        '0' => 'featureprop_id',
-      ),
-      'featureprop_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_featureprop_schema()
- * Purpose: To describe the structure of featureprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_featureprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'featureprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'featureprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'featureprop_id',
-    ),
-    'unique keys' => array(
-      'featureprop_c1' => array(
-        '0' => 'feature_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'featureprop_idx1' => array(
-        '0' => 'feature_id',
-      ),
-      'featureprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_featurerange_schema()
- * Purpose: To describe the structure of featurerange to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_featurerange_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'featurerange',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'featurerange_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'featuremap_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'leftstartf_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'leftendf_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'rightstartf_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'rightendf_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'rangestr' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'featurerange_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'featurerange_idx1' => array(
-        '0' => 'featuremap_id',
-      ),
-      'featurerange_idx2' => array(
-        '0' => 'feature_id',
-      ),
-      'featurerange_idx3' => array(
-        '0' => 'leftstartf_id',
-      ),
-      'featurerange_idx4' => array(
-        '0' => 'leftendf_id',
-      ),
-      'featurerange_idx5' => array(
-        '0' => 'rightstartf_id',
-      ),
-      'featurerange_idx6' => array(
-        '0' => 'rightendf_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_featureset_meets_schema()
- * Purpose: To describe the structure of featureset_meets to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_featureset_meets_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'featureset_meets',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_fnr_type_schema()
- * Purpose: To describe the structure of fnr_type to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_fnr_type_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'fnr_type',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'type' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '',
-      ),
-      'residues' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'seqlen' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'md5checksum' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'char',
-        'length' => '32',
-        'not NULL' => '',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'timeaccessioned' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '',
-      ),
-      'timelastmodified' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_featurepos_schema()
- * Purpose: To describe the structure of featurepos to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_featurepos_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'featurepos',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'featurepos_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'featuremap_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'map_feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'mappos' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'float',
-        'size' => 'big',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'featurepos_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'featurepos_idx1' => array(
-        '0' => 'featuremap_id',
-      ),
-      'featurepos_idx2' => array(
-        '0' => 'feature_id',
-      ),
-      'featurepos_idx3' => array(
-        '0' => 'map_feature_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_featuremap_pub_schema()
- * Purpose: To describe the structure of featuremap_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_featuremap_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'featuremap_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'featuremap_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'featuremap_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'featuremap_pub_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'featuremap_pub_idx1' => array(
-        '0' => 'featuremap_id',
-      ),
-      'featuremap_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_union_schema()
- * Purpose: To describe the structure of feature_union to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_union_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_union',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'srcfeature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'subject_strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'object_strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'fmin' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'fmax' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_featureloc_schema()
- * Purpose: To describe the structure of featureloc to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_featureloc_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'featureloc',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'featureloc_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'srcfeature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'fmin' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'is_fmin_partial' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-      'fmax' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'is_fmax_partial' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-      'strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'phase' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'residue_info' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'locgroup' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'featureloc_id',
-    ),
-    'unique keys' => array(
-      'featureloc_c1' => array(
-        '0' => 'feature_id',
-        '1' => 'locgroup',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'binloc_boxrange' => array(
-        '0' => 'fmin',
-      ),
-      'binloc_boxrange_src' => array(
-        '0' => 'srcfeature_id',
-        '1' => 'fmin',
-      ),
-      'featureloc_idx1' => array(
-        '0' => 'feature_id',
-      ),
-      'featureloc_idx2' => array(
-        '0' => 'srcfeature_id',
-      ),
-      'featureloc_idx3' => array(
-        '0' => 'srcfeature_id',
-        '1' => 'fmin',
-        '2' => 'fmax',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_featureloc_pub_schema()
- * Purpose: To describe the structure of featureloc_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_featureloc_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'featureloc_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'featureloc_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'featureloc_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'featureloc_pub_id',
-    ),
-    'unique keys' => array(
-      'featureloc_pub_c1' => array(
-        '0' => 'featureloc_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'featureloc_pub_idx1' => array(
-        '0' => 'featureloc_id',
-      ),
-      'featureloc_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_featuremap_schema()
- * Purpose: To describe the structure of featuremap to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_featuremap_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'featuremap',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'featuremap_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'unittype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'featuremap_id',
-    ),
-    'unique keys' => array(
-      'featuremap_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_fp_key_schema()
- * Purpose: To describe the structure of fp_key to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_fp_key_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'fp_key',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'pkey' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_genotype_schema()
- * Purpose: To describe the structure of genotype to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_genotype_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'genotype',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'genotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'genotype_id',
-    ),
-    'unique keys' => array(
-      'genotype_c1' => array(
-        '0' => 'uniquename',
-      ),
-    ),
-    'indexes' => array(
-      'genotype_idx1' => array(
-        '0' => 'uniquename',
-      ),
-      'genotype_idx2' => array(
-        '0' => 'name',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_library_cvterm_schema()
- * Purpose: To describe the structure of library_cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_library_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'library_cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'library_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'library_cvterm_id',
-    ),
-    'unique keys' => array(
-      'library_cvterm_c1' => array(
-        '0' => 'library_id',
-        '1' => 'cvterm_id',
-        '2' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'library_cvterm_idx1' => array(
-        '0' => 'library_id',
-      ),
-      'library_cvterm_idx2' => array(
-        '0' => 'cvterm_id',
-      ),
-      'library_cvterm_idx3' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_library_dbxref_schema()
- * Purpose: To describe the structure of library_dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_library_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'library_dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'library_dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_current' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'ru',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'library_dbxref_id',
-    ),
-    'unique keys' => array(
-      'library_dbxref_c1' => array(
-        '0' => 'library_id',
-        '1' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-      'library_dbxref_idx1' => array(
-        '0' => 'library_id',
-      ),
-      'library_dbxref_idx2' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_library_feature_schema()
- * Purpose: To describe the structure of library_feature to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_library_feature_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'library_feature',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'library_feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'library_feature_id',
-    ),
-    'unique keys' => array(
-      'library_feature_c1' => array(
-        '0' => 'library_id',
-        '1' => 'feature_id',
-      ),
-    ),
-    'indexes' => array(
-      'library_feature_idx1' => array(
-        '0' => 'library_id',
-      ),
-      'library_feature_idx2' => array(
-        '0' => 'feature_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_library_feature_count_schema()
- * Purpose: To describe the structure of library_feature_count to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_library_feature_count_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'library_feature_count',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'num_features' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'feature_type' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-      'library_feature_count_index' => array(
-        '0' => 'library_id',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_library_schema()
- * Purpose: To describe the structure of library to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_library_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'library',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_obsolete' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'timeaccessioned' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '1',
-        'default' => 'ow(',
-      ),
-      'timelastmodified' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '1',
-        'default' => 'ow(',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'library_id',
-    ),
-    'unique keys' => array(
-      'library_c1' => array(
-        '0' => 'organism_id',
-        '1' => 'uniquename',
-        '2' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'library_idx1' => array(
-        '0' => 'organism_id',
-      ),
-      'library_idx2' => array(
-        '0' => 'type_id',
-      ),
-      'library_idx3' => array(
-        '0' => 'uniquename',
-      ),
-      'library_name_ind1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_intronloc_view_schema()
- * Purpose: To describe the structure of intronloc_view to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_intronloc_view_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'intronloc_view',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'exon1_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'exon2_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'fmin' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'fmax' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'srcfeature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_gff3atts_schema()
- * Purpose: To describe the structure of gff3atts to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_gff3atts_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'gff3atts',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'type' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'attribute' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_gff3view_schema()
- * Purpose: To describe the structure of gff3view to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_gff3view_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'gff3view',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'ref' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'source' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'type' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '',
-      ),
-      'fstart' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'fend' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'score' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'float',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-      'strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'phase' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'seqlen' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_gffatts_schema()
- * Purpose: To describe the structure of gffatts to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_gffatts_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'gffatts',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'type' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'attribute' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_intron_combined_view_schema()
- * Purpose: To describe the structure of intron_combined_view to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_intron_combined_view_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'intron_combined_view',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'exon1_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'exon2_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'fmin' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'fmax' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'srcfeature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'intron_rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'transcript_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_project_schema()
- * Purpose: To describe the structure of project to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_project_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'project',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'project_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'project_id',
-    ),
-    'unique keys' => array(
-      'project_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_protein_coding_gene_schema()
- * Purpose: To describe the structure of protein_coding_gene to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_protein_coding_gene_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'protein_coding_gene',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'residues' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'seqlen' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'md5checksum' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'char',
-        'length' => '32',
-        'not NULL' => '',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'is_analysis' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '',
-      ),
-      'is_obsolete' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '',
-      ),
-      'timeaccessioned' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '',
-      ),
-      'timelastmodified' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_studyfactorvalue_schema()
- * Purpose: To describe the structure of studyfactorvalue to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_studyfactorvalue_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'studyfactorvalue',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'studyfactorvalue_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'studyfactor_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'assay_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'factorvalue' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'studyfactorvalue_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'studyfactorvalue_idx1' => array(
-        '0' => 'studyfactor_id',
-      ),
-      'studyfactorvalue_idx2' => array(
-        '0' => 'assay_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_studyfactor_schema()
- * Purpose: To describe the structure of studyfactor to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_studyfactor_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'studyfactor',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'studyfactor_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'studydesign_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'studyfactor_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'studyfactor_idx1' => array(
-        '0' => 'studydesign_id',
-      ),
-      'studyfactor_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_studyprop_schema()
- * Purpose: To describe the structure of studyprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_studyprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'studyprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'studyprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'study_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'studyprop_id',
-    ),
-    'unique keys' => array(
-      'study_id' => array(
-        '0' => 'study_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'studyprop_idx1' => array(
-        '0' => 'study_id',
-      ),
-      'studyprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_studyprop_feature_schema()
- * Purpose: To describe the structure of studyprop_feature to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_studyprop_feature_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'studyprop_feature',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'studyprop_feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'studyprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'studyprop_feature_id',
-    ),
-    'unique keys' => array(
-      'studyprop_id' => array(
-        '0' => 'studyprop_id',
-        '1' => 'feature_id',
-      ),
-    ),
-    'indexes' => array(
-      'studyprop_feature_idx1' => array(
-        '0' => 'studyprop_id',
-      ),
-      'studyprop_feature_idx2' => array(
-        '0' => 'feature_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_synonym_schema()
- * Purpose: To describe the structure of synonym to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_synonym_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'synonym',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'synonym_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'synonym_sgml' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'synonym_id',
-    ),
-    'unique keys' => array(
-      'synonym_c1' => array(
-        '0' => 'name',
-        '1' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'synonym_idx1' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_studydesignprop_schema()
- * Purpose: To describe the structure of studydesignprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_studydesignprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'studydesignprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'studydesignprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'studydesign_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'studydesignprop_id',
-    ),
-    'unique keys' => array(
-      'studydesignprop_c1' => array(
-        '0' => 'studydesign_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'studydesignprop_idx1' => array(
-        '0' => 'studydesign_id',
-      ),
-      'studydesignprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_studydesign_schema()
- * Purpose: To describe the structure of studydesign to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_studydesign_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'studydesign',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'studydesign_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'study_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'studydesign_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'studydesign_idx1' => array(
-        '0' => 'study_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stockprop_schema()
- * Purpose: To describe the structure of stockprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stockprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stockprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stockprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'stock_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stockprop_id',
-    ),
-    'unique keys' => array(
-      'stockprop_c1' => array(
-        '0' => 'stock_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'stockprop_idx1' => array(
-        '0' => 'stock_id',
-      ),
-      'stockprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stockprop_pub_schema()
- * Purpose: To describe the structure of stockprop_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stockprop_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stockprop_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stockprop_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'stockprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stockprop_pub_id',
-    ),
-    'unique keys' => array(
-      'stockprop_pub_c1' => array(
-        '0' => 'stockprop_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'stockprop_pub_idx1' => array(
-        '0' => 'stockprop_id',
-      ),
-      'stockprop_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_study_schema()
- * Purpose: To describe the structure of study to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_study_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'study',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'study_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'contact_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'study_id',
-    ),
-    'unique keys' => array(
-      'study_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-      'study_idx1' => array(
-        '0' => 'contact_id',
-      ),
-      'study_idx2' => array(
-        '0' => 'pub_id',
-      ),
-      'study_idx3' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_study_assay_schema()
- * Purpose: To describe the structure of study_assay to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_study_assay_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'study_assay',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'study_assay_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'study_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'assay_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'study_assay_id',
-    ),
-    'unique keys' => array(
-      'study_assay_c1' => array(
-        '0' => 'study_id',
-        '1' => 'assay_id',
-      ),
-    ),
-    'indexes' => array(
-      'study_assay_idx1' => array(
-        '0' => 'study_id',
-      ),
-      'study_assay_idx2' => array(
-        '0' => 'assay_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_tableinfo_schema()
- * Purpose: To describe the structure of tableinfo to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_tableinfo_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'tableinfo',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'tableinfo_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '30',
-        'not NULL' => '1',
-      ),
-      'primary_key_column' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '30',
-        'not NULL' => '',
-      ),
-      'is_view' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'view_on_table_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'superclass_table_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'is_updateable' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '1',
-      ),
-      'modification_date' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'date',
-        'not NULL' => '1',
-        'default' => 'ow(',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'tableinfo_id',
-    ),
-    'unique keys' => array(
-      'tableinfo_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_treatment_schema()
- * Purpose: To describe the structure of treatment to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_treatment_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'treatment',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'treatment_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'biomaterial_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'protocol_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'treatment_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'treatment_idx1' => array(
-        '0' => 'biomaterial_id',
-      ),
-      'treatment_idx2' => array(
-        '0' => 'type_id',
-      ),
-      'treatment_idx3' => array(
-        '0' => 'protocol_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_tripal_obo_schema()
- * Purpose: To describe the structure of tripal_obo to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_tripal_obo_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'tripal_obo',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cv_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'unsigned' => '1',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'file' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '',
-      ),
-      'url' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cv_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'cv_id' => array(
-        '0' => 'cv_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_tripal_organism_views_common_name_schema()
- * Purpose: To describe the structure of tripal_organism_views_common_name to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_tripal_organism_views_common_name_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'tripal_organism_views_common_name',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'nid' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'unsigned' => '1',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'common_name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-        'default' => 'NA',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_type_feature_count_schema()
- * Purpose: To describe the structure of type_feature_count to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_type_feature_count_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'type_feature_count',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'type' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '',
-      ),
-      'num_features' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stockcollectionprop_schema()
- * Purpose: To describe the structure of stockcollectionprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stockcollectionprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stockcollectionprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stockcollectionprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'stockcollection_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stockcollectionprop_id',
-    ),
-    'unique keys' => array(
-      'stockcollectionprop_c1' => array(
-        '0' => 'stockcollection_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'stockcollectionprop_idx1' => array(
-        '0' => 'stockcollection_id',
-      ),
-      'stockcollectionprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stockcollection_stock_schema()
- * Purpose: To describe the structure of stockcollection_stock to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stockcollection_stock_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stockcollection_stock',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stockcollection_stock_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'stockcollection_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'stock_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stockcollection_stock_id',
-    ),
-    'unique keys' => array(
-      'stockcollection_stock_c1' => array(
-        '0' => 'stockcollection_id',
-        '1' => 'stock_id',
-      ),
-    ),
-    'indexes' => array(
-      'stockcollection_stock_idx1' => array(
-        '0' => 'stockcollection_id',
-      ),
-      'stockcollection_stock_idx2' => array(
-        '0' => 'stock_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_public_feature_schema()
- * Purpose: To describe the structure of public_feature to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_public_feature_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'public_feature',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'vid' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'unsigned' => '1',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'nid' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'unsigned' => '1',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'sync_date' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'nid',
-    ),
-    'unique keys' => array(
-      'nid_vid' => array(
-        '0' => 'nid',
-        '1' => 'vid',
-      ),
-      'vid' => array(
-        '0' => 'vid',
-      ),
-    ),
-    'indexes' => array(
-      'feature_id' => array(
-        '0' => 'feature_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_public_library_schema()
- * Purpose: To describe the structure of public_library to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_public_library_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'public_library',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'vid' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'unsigned' => '1',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'nid' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'unsigned' => '1',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'nid',
-    ),
-    'unique keys' => array(
-      'nid_vid' => array(
-        '0' => 'nid',
-        '1' => 'vid',
-      ),
-      'vid' => array(
-        '0' => 'vid',
-      ),
-    ),
-    'indexes' => array(
-      'library_id' => array(
-        '0' => 'library_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_public_organism_schema()
- * Purpose: To describe the structure of public_organism to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_public_organism_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'public_organism',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'vid' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'unsigned' => '1',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'nid' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'unsigned' => '1',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'nid',
-    ),
-    'unique keys' => array(
-      'nid_vid' => array(
-        '0' => 'nid',
-        '1' => 'vid',
-      ),
-      'vid' => array(
-        '0' => 'vid',
-      ),
-    ),
-    'indexes' => array(
-      'organism_id' => array(
-        '0' => 'organism_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_pubprop_schema()
- * Purpose: To describe the structure of pubprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_pubprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'pubprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'pubprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'pubprop_id',
-    ),
-    'unique keys' => array(
-      'pubprop_c1' => array(
-        '0' => 'pub_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'pubprop_idx1' => array(
-        '0' => 'pub_id',
-      ),
-      'pubprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_pubauthor_schema()
- * Purpose: To describe the structure of pubauthor to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_pubauthor_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'pubauthor',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'pubauthor_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'editor' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '',
-        'default' => 'als',
-      ),
-      'surname' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '100',
-        'not NULL' => '1',
-      ),
-      'givennames' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '100',
-        'not NULL' => '',
-      ),
-      'suffix' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '100',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'pubauthor_id',
-    ),
-    'unique keys' => array(
-      'pubauthor_c1' => array(
-        '0' => 'pub_id',
-        '1' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'pubauthor_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_pub_relationship_schema()
- * Purpose: To describe the structure of pub_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_pub_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'pub_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'pub_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'pub_relationship_id',
-    ),
-    'unique keys' => array(
-      'pub_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'pub_relationship_idx1' => array(
-        '0' => 'subject_id',
-      ),
-      'pub_relationship_idx2' => array(
-        '0' => 'object_id',
-      ),
-      'pub_relationship_idx3' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_protocol_schema()
- * Purpose: To describe the structure of protocol to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_protocol_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'protocol',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'protocol_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'uri' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'protocoldescription' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'hardwaredescription' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'softwaredescription' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'protocol_id',
-    ),
-    'unique keys' => array(
-      'protocol_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-      'protocol_idx1' => array(
-        '0' => 'type_id',
-      ),
-      'protocol_idx2' => array(
-        '0' => 'pub_id',
-      ),
-      'protocol_idx3' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_protocolparam_schema()
- * Purpose: To describe the structure of protocolparam to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_protocolparam_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'protocolparam',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'protocolparam_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'protocol_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'datatype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'unittype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'protocolparam_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'protocolparam_idx1' => array(
-        '0' => 'protocol_id',
-      ),
-      'protocolparam_idx2' => array(
-        '0' => 'datatype_id',
-      ),
-      'protocolparam_idx3' => array(
-        '0' => 'unittype_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_pub_schema()
- * Purpose: To describe the structure of pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'title' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'volumetitle' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'volume' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'series_name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'issue' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'pyear' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'pages' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'miniref' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_obsolete' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '',
-        'default' => 'als',
-      ),
-      'publisher' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'pubplace' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'pub_id',
-    ),
-    'unique keys' => array(
-      'pub_c1' => array(
-        '0' => 'uniquename',
-      ),
-    ),
-    'indexes' => array(
-      'pub_idx1' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_pub_dbxref_schema()
- * Purpose: To describe the structure of pub_dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_pub_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'pub_dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'pub_dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_current' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'ru',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'pub_dbxref_id',
-    ),
-    'unique keys' => array(
-      'pub_dbxref_c1' => array(
-        '0' => 'pub_id',
-        '1' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-      'pub_dbxref_idx1' => array(
-        '0' => 'pub_id',
-      ),
-      'pub_dbxref_idx2' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_quantification_schema()
- * Purpose: To describe the structure of quantification to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_quantification_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'quantification',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'quantification_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'acquisition_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'operator_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'protocol_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'analysis_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'quantificationdate' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '',
-        'default' => 'ow(',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'uri' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'quantification_id',
-    ),
-    'unique keys' => array(
-      'quantification_c1' => array(
-        '0' => 'name',
-        '1' => 'analysis_id',
-      ),
-    ),
-    'indexes' => array(
-      'quantification_idx1' => array(
-        '0' => 'acquisition_id',
-      ),
-      'quantification_idx2' => array(
-        '0' => 'operator_id',
-      ),
-      'quantification_idx3' => array(
-        '0' => 'protocol_id',
-      ),
-      'quantification_idx4' => array(
-        '0' => 'analysis_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_quantification_relationship_schema()
- * Purpose: To describe the structure of quantification_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_quantification_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'quantification_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'quantification_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'quantification_relationship_id',
-    ),
-    'unique keys' => array(
-      'quantification_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'quantification_relationship_idx1' => array(
-        '0' => 'subject_id',
-      ),
-      'quantification_relationship_idx2' => array(
-        '0' => 'type_id',
-      ),
-      'quantification_relationship_idx3' => array(
-        '0' => 'object_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stock_pub_schema()
- * Purpose: To describe the structure of stock_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stock_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stock_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stock_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'stock_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stock_pub_id',
-    ),
-    'unique keys' => array(
-      'stock_pub_c1' => array(
-        '0' => 'stock_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'stock_pub_idx1' => array(
-        '0' => 'stock_id',
-      ),
-      'stock_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stock_relationship_schema()
- * Purpose: To describe the structure of stock_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stock_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stock_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stock_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stock_relationship_id',
-    ),
-    'unique keys' => array(
-      'stock_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-        '3' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'stock_relationship_idx1' => array(
-        '0' => 'subject_id',
-      ),
-      'stock_relationship_idx2' => array(
-        '0' => 'object_id',
-      ),
-      'stock_relationship_idx3' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stock_relationship_pub_schema()
- * Purpose: To describe the structure of stock_relationship_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stock_relationship_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stock_relationship_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stock_relationship_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'stock_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stock_relationship_pub_id',
-    ),
-    'unique keys' => array(
-      'stock_relationship_pub_c1' => array(
-        '0' => 'stock_relationship_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'stock_relationship_pub_idx1' => array(
-        '0' => 'stock_relationship_id',
-      ),
-      'stock_relationship_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stockcollection_schema()
- * Purpose: To describe the structure of stockcollection to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stockcollection_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stockcollection',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stockcollection_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'contact_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stockcollection_id',
-    ),
-    'unique keys' => array(
-      'stockcollection_c1' => array(
-        '0' => 'uniquename',
-        '1' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'stockcollection_idx1' => array(
-        '0' => 'contact_id',
-      ),
-      'stockcollection_idx2' => array(
-        '0' => 'type_id',
-      ),
-      'stockcollection_idx3' => array(
-        '0' => 'uniquename',
-      ),
-      'stockcollection_name_ind1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stock_genotype_schema()
- * Purpose: To describe the structure of stock_genotype to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stock_genotype_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stock_genotype',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stock_genotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'stock_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'genotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stock_genotype_id',
-    ),
-    'unique keys' => array(
-      'stock_genotype_c1' => array(
-        '0' => 'stock_id',
-        '1' => 'genotype_id',
-      ),
-    ),
-    'indexes' => array(
-      'stock_genotype_idx1' => array(
-        '0' => 'stock_id',
-      ),
-      'stock_genotype_idx2' => array(
-        '0' => 'genotype_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stock_dbxref_schema()
- * Purpose: To describe the structure of stock_dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stock_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stock_dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stock_dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'stock_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_current' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'ru',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stock_dbxref_id',
-    ),
-    'unique keys' => array(
-      'stock_dbxref_c1' => array(
-        '0' => 'stock_id',
-        '1' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-      'stock_dbxref_idx1' => array(
-        '0' => 'stock_id',
-      ),
-      'stock_dbxref_idx2' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_quantificationprop_schema()
- * Purpose: To describe the structure of quantificationprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_quantificationprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'quantificationprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'quantificationprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'quantification_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'quantificationprop_id',
-    ),
-    'unique keys' => array(
-      'quantificationprop_c1' => array(
-        '0' => 'quantification_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'quantificationprop_idx1' => array(
-        '0' => 'quantification_id',
-      ),
-      'quantificationprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stats_paths_to_root_schema()
- * Purpose: To describe the structure of stats_paths_to_root to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stats_paths_to_root_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stats_paths_to_root',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'total_paths' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-      'avg_distance' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'numeric',
-        'not NULL' => '',
-        'precision' => '0',
-        'scale' => '0',
-      ),
-      'min_distance' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'max_distance' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stock_schema()
- * Purpose: To describe the structure of stock to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stock_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stock',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stock_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_obsolete' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stock_id',
-    ),
-    'unique keys' => array(
-      'stock_c1' => array(
-        '0' => 'organism_id',
-        '1' => 'uniquename',
-        '2' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'stock_idx1' => array(
-        '0' => 'dbxref_id',
-      ),
-      'stock_idx2' => array(
-        '0' => 'organism_id',
-      ),
-      'stock_idx3' => array(
-        '0' => 'type_id',
-      ),
-      'stock_idx4' => array(
-        '0' => 'uniquename',
-      ),
-      'stock_name_ind1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_stock_cvterm_schema()
- * Purpose: To describe the structure of stock_cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_stock_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'stock_cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'stock_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'stock_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'stock_cvterm_id',
-    ),
-    'unique keys' => array(
-      'stock_cvterm_c1' => array(
-        '0' => 'stock_id',
-        '1' => 'cvterm_id',
-        '2' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'stock_cvterm_idx1' => array(
-        '0' => 'stock_id',
-      ),
-      'stock_cvterm_idx2' => array(
-        '0' => 'cvterm_id',
-      ),
-      'stock_cvterm_idx3' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_synonym_schema()
- * Purpose: To describe the structure of feature_synonym to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_synonym_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_synonym',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_synonym_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'synonym_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_current' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-      'is_internal' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_synonym_id',
-    ),
-    'unique keys' => array(
-      'feature_synonym_c1' => array(
-        '0' => 'synonym_id',
-        '1' => 'feature_id',
-        '2' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'feature_synonym_idx1' => array(
-        '0' => 'synonym_id',
-      ),
-      'feature_synonym_idx2' => array(
-        '0' => 'feature_id',
-      ),
-      'feature_synonym_idx3' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_relationshipprop_pub_schema()
- * Purpose: To describe the structure of feature_relationshipprop_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_relationshipprop_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_relationshipprop_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_relationshipprop_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_relationshipprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_relationshipprop_pub_id',
-    ),
-    'unique keys' => array(
-      'feature_relationshipprop_pub_c1' => array(
-        '0' => 'feature_relationshipprop_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'feature_relationshipprop_pub_idx1' => array(
-        '0' => 'feature_relationshipprop_id',
-      ),
-      'feature_relationshipprop_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_line_relationship_schema()
- * Purpose: To describe the structure of cell_line_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_line_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_line_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_line_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_line_relationship_id',
-    ),
-    'unique keys' => array(
-      'cell_line_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_line_pub_schema()
- * Purpose: To describe the structure of cell_line_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_line_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_line_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_line_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cell_line_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_line_pub_id',
-    ),
-    'unique keys' => array(
-      'cell_line_pub_c1' => array(
-        '0' => 'cell_line_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_line_synonym_schema()
- * Purpose: To describe the structure of cell_line_synonym to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_line_synonym_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_line_synonym',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_line_synonym_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cell_line_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'synonym_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_current' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-      'is_internal' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_line_synonym_id',
-    ),
-    'unique keys' => array(
-      'cell_line_synonym_c1' => array(
-        '0' => 'synonym_id',
-        '1' => 'cell_line_id',
-        '2' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_lineprop_schema()
- * Purpose: To describe the structure of cell_lineprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_lineprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_lineprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_lineprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cell_line_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_lineprop_id',
-    ),
-    'unique keys' => array(
-      'cell_lineprop_c1' => array(
-        '0' => 'cell_line_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_lineprop_pub_schema()
- * Purpose: To describe the structure of cell_lineprop_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_lineprop_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_lineprop_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_lineprop_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cell_lineprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_lineprop_pub_id',
-    ),
-    'unique keys' => array(
-      'cell_lineprop_pub_c1' => array(
-        '0' => 'cell_lineprop_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_line_library_schema()
- * Purpose: To describe the structure of cell_line_library to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_line_library_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_line_library',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_line_library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cell_line_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'library_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_line_library_id',
-    ),
-    'unique keys' => array(
-      'cell_line_library_c1' => array(
-        '0' => 'cell_line_id',
-        '1' => 'library_id',
-        '2' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_line_feature_schema()
- * Purpose: To describe the structure of cell_line_feature to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_line_feature_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_line_feature',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_line_feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cell_line_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_line_feature_id',
-    ),
-    'unique keys' => array(
-      'cell_line_feature_c1' => array(
-        '0' => 'cell_line_id',
-        '1' => 'feature_id',
-        '2' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_line_schema()
- * Purpose: To describe the structure of cell_line to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_line_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_line',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_line_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'timeaccessioned' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '1',
-        'default' => 'ow(',
-      ),
-      'timelastmodified' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '1',
-        'default' => 'ow(',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_line_id',
-    ),
-    'unique keys' => array(
-      'cell_line_c1' => array(
-        '0' => 'uniquename',
-        '1' => 'organism_id',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_line_cvterm_schema()
- * Purpose: To describe the structure of cell_line_cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_line_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_line_cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_line_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cell_line_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_line_cvterm_id',
-    ),
-    'unique keys' => array(
-      'cell_line_cvterm_c1' => array(
-        '0' => 'cell_line_id',
-        '1' => 'cvterm_id',
-        '2' => 'pub_id',
-        '3' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_line_cvtermprop_schema()
- * Purpose: To describe the structure of cell_line_cvtermprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_line_cvtermprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_line_cvtermprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_line_cvtermprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cell_line_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_line_cvtermprop_id',
-    ),
-    'unique keys' => array(
-      'cell_line_cvtermprop_c1' => array(
-        '0' => 'cell_line_cvterm_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cell_line_dbxref_schema()
- * Purpose: To describe the structure of cell_line_dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cell_line_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cell_line_dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cell_line_dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cell_line_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_current' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'ru',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cell_line_dbxref_id',
-    ),
-    'unique keys' => array(
-      'cell_line_dbxref_c1' => array(
-        '0' => 'cell_line_id',
-        '1' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_channel_schema()
- * Purpose: To describe the structure of channel to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_channel_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'channel',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'channel_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'definition' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'channel_id',
-    ),
-    'unique keys' => array(
-      'channel_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_common_ancestor_cvterm_schema()
- * Purpose: To describe the structure of common_ancestor_cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_common_ancestor_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'common_ancestor_cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cvterm1_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'cvterm2_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'ancestor_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'pathdistance1' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'pathdistance2' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'total_pathdistance' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cv_cvterm_count_with_obs_schema()
- * Purpose: To describe the structure of cv_cvterm_count_with_obs to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cv_cvterm_count_with_obs_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cv_cvterm_count_with_obs',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'num_terms_incl_obs' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cv_leaf_schema()
- * Purpose: To describe the structure of cv_leaf to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cv_leaf_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cv_leaf',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cv_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cv_link_count_schema()
- * Purpose: To describe the structure of cv_link_count to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cv_link_count_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cv_link_count',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cv_name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'relation_name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '',
-      ),
-      'relation_cv_name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'num_links' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cv_path_count_schema()
- * Purpose: To describe the structure of cv_path_count to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cv_path_count_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cv_path_count',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cv_name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'relation_name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '',
-      ),
-      'relation_cv_name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'num_paths' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cv_cvterm_count_schema()
- * Purpose: To describe the structure of cv_cvterm_count to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cv_cvterm_count_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cv_cvterm_count',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'num_terms_excl_obs' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cv_schema()
- * Purpose: To describe the structure of cv to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cv_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cv',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cv_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'definition' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cv_id',
-    ),
-    'unique keys' => array(
-      'cv_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_common_descendant_cvterm_schema()
- * Purpose: To describe the structure of common_descendant_cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_common_descendant_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'common_descendant_cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cvterm1_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'cvterm2_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'ancestor_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'pathdistance1' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'pathdistance2' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'total_pathdistance' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_contact_schema()
- * Purpose: To describe the structure of contact to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_contact_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'contact',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'contact_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'contact_id',
-    ),
-    'unique keys' => array(
-      'contact_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_contact_relationship_schema()
- * Purpose: To describe the structure of contact_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_contact_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'contact_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'contact_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'contact_relationship_id',
-    ),
-    'unique keys' => array(
-      'contact_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'contact_relationship_idx1' => array(
-        '0' => 'type_id',
-      ),
-      'contact_relationship_idx2' => array(
-        '0' => 'subject_id',
-      ),
-      'contact_relationship_idx3' => array(
-        '0' => 'object_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_control_schema()
- * Purpose: To describe the structure of control to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_control_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'control',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'control_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'assay_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'tableinfo_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'row_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'control_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-      'control_idx1' => array(
-        '0' => 'type_id',
-      ),
-      'control_idx2' => array(
-        '0' => 'assay_id',
-      ),
-      'control_idx3' => array(
-        '0' => 'tableinfo_id',
-      ),
-      'control_idx4' => array(
-        '0' => 'row_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_biomaterialprop_schema()
- * Purpose: To describe the structure of biomaterialprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_biomaterialprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'biomaterialprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'biomaterialprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'biomaterial_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'biomaterialprop_id',
-    ),
-    'unique keys' => array(
-      'biomaterialprop_c1' => array(
-        '0' => 'biomaterial_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'biomaterialprop_idx1' => array(
-        '0' => 'biomaterial_id',
-      ),
-      'biomaterialprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_biomaterial_treatment_schema()
- * Purpose: To describe the structure of biomaterial_treatment to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_biomaterial_treatment_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'biomaterial_treatment',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'biomaterial_treatment_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'biomaterial_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'treatment_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'unittype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'float',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'biomaterial_treatment_id',
-    ),
-    'unique keys' => array(
-      'biomaterial_treatment_c1' => array(
-        '0' => 'biomaterial_id',
-        '1' => 'treatment_id',
-      ),
-    ),
-    'indexes' => array(
-      'biomaterial_treatment_idx1' => array(
-        '0' => 'biomaterial_id',
-      ),
-      'biomaterial_treatment_idx2' => array(
-        '0' => 'treatment_id',
-      ),
-      'biomaterial_treatment_idx3' => array(
-        '0' => 'unittype_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_acquisition_relationship_schema()
- * Purpose: To describe the structure of acquisition_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_acquisition_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'acquisition_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'acquisition_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'acquisition_relationship_id',
-    ),
-    'unique keys' => array(
-      'acquisition_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-        '3' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'acquisition_relationship_idx1' => array(
-        '0' => 'subject_id',
-      ),
-      'acquisition_relationship_idx2' => array(
-        '0' => 'type_id',
-      ),
-      'acquisition_relationship_idx3' => array(
-        '0' => 'object_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_acquisition_schema()
- * Purpose: To describe the structure of acquisition to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_acquisition_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'acquisition',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'acquisition_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'assay_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'protocol_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'channel_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'acquisitiondate' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '',
-        'default' => 'ow(',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'uri' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'acquisition_id',
-    ),
-    'unique keys' => array(
-      'acquisition_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-      'acquisition_idx1' => array(
-        '0' => 'assay_id',
-      ),
-      'acquisition_idx2' => array(
-        '0' => 'protocol_id',
-      ),
-      'acquisition_idx3' => array(
-        '0' => 'channel_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_acquisitionprop_schema()
- * Purpose: To describe the structure of acquisitionprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_acquisitionprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'acquisitionprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'acquisitionprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'acquisition_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'acquisitionprop_id',
-    ),
-    'unique keys' => array(
-      'acquisitionprop_c1' => array(
-        '0' => 'acquisition_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'acquisitionprop_idx1' => array(
-        '0' => 'acquisition_id',
-      ),
-      'acquisitionprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_all_feature_names_schema()
- * Purpose: To describe the structure of all_feature_names to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_all_feature_names_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'all_feature_names',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_analysis_schema()
- * Purpose: To describe the structure of analysis to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_analysis_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'analysis',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'analysis_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'program' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'programversion' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'algorithm' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'sourcename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'sourceversion' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'sourceuri' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'timeexecuted' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '1',
-        'default' => 'ow(',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'analysis_id',
-    ),
-    'unique keys' => array(
-      'analysis_c1' => array(
-        '0' => 'program',
-        '1' => 'programversion',
-        '2' => 'sourcename',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_analysisfeature_schema()
- * Purpose: To describe the structure of analysisfeature to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_analysisfeature_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'analysisfeature',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'analysisfeature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'analysis_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'rawscore' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'float',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-      'normscore' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'float',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-      'significance' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'float',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-      'identity' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'float',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'analysisfeature_id',
-    ),
-    'unique keys' => array(
-      'analysisfeature_c1' => array(
-        '0' => 'feature_id',
-        '1' => 'analysis_id',
-      ),
-    ),
-    'indexes' => array(
-      'analysisfeature_idx1' => array(
-        '0' => 'feature_id',
-      ),
-      'analysisfeature_idx2' => array(
-        '0' => 'analysis_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_analysisfeatureprop_schema()
- * Purpose: To describe the structure of analysisfeatureprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_analysisfeatureprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'analysisfeatureprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'analysisfeatureprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'analysisfeature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'analysisfeatureprop_id',
-    ),
-    'unique keys' => array(
-      'analysisfeature_id_type_id_rank' => array(
-        '0' => 'analysisfeature_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_assayprop_schema()
- * Purpose: To describe the structure of assayprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_assayprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'assayprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'assayprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'assay_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'assayprop_id',
-    ),
-    'unique keys' => array(
-      'assayprop_c1' => array(
-        '0' => 'assay_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'assayprop_idx1' => array(
-        '0' => 'assay_id',
-      ),
-      'assayprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_biomaterial_schema()
- * Purpose: To describe the structure of biomaterial to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_biomaterial_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'biomaterial',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'biomaterial_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'taxon_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'biosourceprovider_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'biomaterial_id',
-    ),
-    'unique keys' => array(
-      'biomaterial_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-      'biomaterial_idx1' => array(
-        '0' => 'taxon_id',
-      ),
-      'biomaterial_idx2' => array(
-        '0' => 'biosourceprovider_id',
-      ),
-      'biomaterial_idx3' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_biomaterial_dbxref_schema()
- * Purpose: To describe the structure of biomaterial_dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_biomaterial_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'biomaterial_dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'biomaterial_dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'biomaterial_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'biomaterial_dbxref_id',
-    ),
-    'unique keys' => array(
-      'biomaterial_dbxref_c1' => array(
-        '0' => 'biomaterial_id',
-        '1' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-      'biomaterial_dbxref_idx1' => array(
-        '0' => 'biomaterial_id',
-      ),
-      'biomaterial_dbxref_idx2' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_biomaterial_relationship_schema()
- * Purpose: To describe the structure of biomaterial_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_biomaterial_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'biomaterial_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'biomaterial_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'biomaterial_relationship_id',
-    ),
-    'unique keys' => array(
-      'biomaterial_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'biomaterial_relationship_idx1' => array(
-        '0' => 'subject_id',
-      ),
-      'biomaterial_relationship_idx2' => array(
-        '0' => 'object_id',
-      ),
-      'biomaterial_relationship_idx3' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_assay_project_schema()
- * Purpose: To describe the structure of assay_project to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_assay_project_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'assay_project',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'assay_project_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'assay_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'project_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'assay_project_id',
-    ),
-    'unique keys' => array(
-      'assay_project_c1' => array(
-        '0' => 'assay_id',
-        '1' => 'project_id',
-      ),
-    ),
-    'indexes' => array(
-      'assay_project_idx1' => array(
-        '0' => 'assay_id',
-      ),
-      'assay_project_idx2' => array(
-        '0' => 'project_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_assay_biomaterial_schema()
- * Purpose: To describe the structure of assay_biomaterial to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_assay_biomaterial_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'assay_biomaterial',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'assay_biomaterial_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'assay_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'biomaterial_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'channel_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'assay_biomaterial_id',
-    ),
-    'unique keys' => array(
-      'assay_biomaterial_c1' => array(
-        '0' => 'assay_id',
-        '1' => 'biomaterial_id',
-        '2' => 'channel_id',
-        '3' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'assay_biomaterial_idx1' => array(
-        '0' => 'assay_id',
-      ),
-      'assay_biomaterial_idx2' => array(
-        '0' => 'biomaterial_id',
-      ),
-      'assay_biomaterial_idx3' => array(
-        '0' => 'channel_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_analysisprop_schema()
- * Purpose: To describe the structure of analysisprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_analysisprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'analysisprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'analysisprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'analysis_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'analysisprop_id',
-    ),
-    'unique keys' => array(
-      'analysisprop_c1' => array(
-        '0' => 'analysis_id',
-        '1' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'analysisprop_idx1' => array(
-        '0' => 'analysis_id',
-      ),
-      'analysisprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_arraydesign_schema()
- * Purpose: To describe the structure of arraydesign to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_arraydesign_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'arraydesign',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'arraydesign_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'manufacturer_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'platformtype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'substratetype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'protocol_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'version' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'array_dimensions' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'element_dimensions' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'num_of_elements' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'num_array_columns' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'num_array_rows' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'num_grid_columns' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'num_grid_rows' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'num_sub_columns' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'num_sub_rows' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'arraydesign_id',
-    ),
-    'unique keys' => array(
-      'arraydesign_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-      'arraydesign_idx1' => array(
-        '0' => 'manufacturer_id',
-      ),
-      'arraydesign_idx2' => array(
-        '0' => 'platformtype_id',
-      ),
-      'arraydesign_idx3' => array(
-        '0' => 'substratetype_id',
-      ),
-      'arraydesign_idx4' => array(
-        '0' => 'protocol_id',
-      ),
-      'arraydesign_idx5' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_arraydesignprop_schema()
- * Purpose: To describe the structure of arraydesignprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_arraydesignprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'arraydesignprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'arraydesignprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'arraydesign_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'arraydesignprop_id',
-    ),
-    'unique keys' => array(
-      'arraydesignprop_c1' => array(
-        '0' => 'arraydesign_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'arraydesignprop_idx1' => array(
-        '0' => 'arraydesign_id',
-      ),
-      'arraydesignprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_assay_schema()
- * Purpose: To describe the structure of assay to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_assay_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'assay',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'assay_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'arraydesign_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'protocol_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'assaydate' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '',
-        'default' => 'ow(',
-      ),
-      'arrayidentifier' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'arraybatchidentifier' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'operator_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'assay_id',
-    ),
-    'unique keys' => array(
-      'assay_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-      'assay_idx1' => array(
-        '0' => 'arraydesign_id',
-      ),
-      'assay_idx2' => array(
-        '0' => 'protocol_id',
-      ),
-      'assay_idx3' => array(
-        '0' => 'operator_id',
-      ),
-      'assay_idx4' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cv_root_schema()
- * Purpose: To describe the structure of cv_root to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cv_root_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cv_root',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cv_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'root_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cvterm_schema()
- * Purpose: To describe the structure of cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cv_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '1',
-      ),
-      'definition' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_obsolete' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'is_relationshiptype' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cvterm_id',
-    ),
-    'unique keys' => array(
-      'cvterm_c1' => array(
-        '0' => 'name',
-        '1' => 'cv_id',
-        '2' => 'is_obsolete',
-      ),
-      'cvterm_c2' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-      'cvterm_idx1' => array(
-        '0' => 'cv_id',
-      ),
-      'cvterm_idx2' => array(
-        '0' => 'name',
-      ),
-      'cvterm_idx3' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_dbxref_schema()
- * Purpose: To describe the structure of feature_dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_current' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'ru',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_dbxref_id',
-    ),
-    'unique keys' => array(
-      'feature_dbxref_c1' => array(
-        '0' => 'feature_id',
-        '1' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-      'feature_dbxref_idx1' => array(
-        '0' => 'feature_id',
-      ),
-      'feature_dbxref_idx2' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_cvtermprop_schema()
- * Purpose: To describe the structure of feature_cvtermprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_cvtermprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_cvtermprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_cvtermprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_cvtermprop_id',
-    ),
-    'unique keys' => array(
-      'feature_cvtermprop_c1' => array(
-        '0' => 'feature_cvterm_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'feature_cvtermprop_idx1' => array(
-        '0' => 'feature_cvterm_id',
-      ),
-      'feature_cvtermprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_difference_schema()
- * Purpose: To describe the structure of feature_difference to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_difference_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_difference',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'srcfeature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'fmin' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'fmax' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_disjoint_schema()
- * Purpose: To describe the structure of feature_disjoint to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_disjoint_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_disjoint',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_distance_schema()
- * Purpose: To describe the structure of feature_distance to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_distance_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_distance',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'srcfeature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'subject_strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'object_strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'distance' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_cvterm_pub_schema()
- * Purpose: To describe the structure of feature_cvterm_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_cvterm_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_cvterm_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_cvterm_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_cvterm_pub_id',
-    ),
-    'unique keys' => array(
-      'feature_cvterm_pub_c1' => array(
-        '0' => 'feature_cvterm_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'feature_cvterm_pub_idx1' => array(
-        '0' => 'feature_cvterm_id',
-      ),
-      'feature_cvterm_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_cvterm_dbxref_schema()
- * Purpose: To describe the structure of feature_cvterm_dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_cvterm_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_cvterm_dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_cvterm_dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_cvterm_dbxref_id',
-    ),
-    'unique keys' => array(
-      'feature_cvterm_dbxref_c1' => array(
-        '0' => 'feature_cvterm_id',
-        '1' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-      'feature_cvterm_dbxref_idx1' => array(
-        '0' => 'feature_cvterm_id',
-      ),
-      'feature_cvterm_dbxref_idx2' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_f_type_schema()
- * Purpose: To describe the structure of f_type to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_f_type_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'f_type',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'type' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '',
-      ),
-      'residues' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'seqlen' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'md5checksum' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'char',
-        'length' => '32',
-        'not NULL' => '',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'timeaccessioned' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '',
-      ),
-      'timelastmodified' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_schema()
- * Purpose: To describe the structure of feature to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'organism_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'residues' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'seqlen' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'md5checksum' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'char',
-        'length' => '32',
-        'not NULL' => '',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_analysis' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-      'is_obsolete' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-      'timeaccessioned' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '1',
-        'default' => 'ow(',
-      ),
-      'timelastmodified' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'datetime',
-        'not NULL' => '1',
-        'default' => 'ow(',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_id',
-    ),
-    'unique keys' => array(
-      'feature_c1' => array(
-        '0' => 'organism_id',
-        '1' => 'uniquename',
-        '2' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'feature_idx1' => array(
-        '0' => 'dbxref_id',
-      ),
-      'feature_idx2' => array(
-        '0' => 'organism_id',
-      ),
-      'feature_idx3' => array(
-        '0' => 'type_id',
-      ),
-      'feature_idx4' => array(
-        '0' => 'uniquename',
-      ),
-      'feature_name_ind1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_contains_schema()
- * Purpose: To describe the structure of feature_contains to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_contains_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_contains',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_cvterm_schema()
- * Purpose: To describe the structure of feature_cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_not' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '1',
-        'default' => 'als',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_cvterm_id',
-    ),
-    'unique keys' => array(
-      'feature_cvterm_c1' => array(
-        '0' => 'feature_id',
-        '1' => 'cvterm_id',
-        '2' => 'pub_id',
-        '3' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'feature_cvterm_idx1' => array(
-        '0' => 'feature_id',
-      ),
-      'feature_cvterm_idx2' => array(
-        '0' => 'cvterm_id',
-      ),
-      'feature_cvterm_idx3' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_expression_schema()
- * Purpose: To describe the structure of feature_expression to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_expression_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_expression',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_expression_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'expression_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_expression_id',
-    ),
-    'unique keys' => array(
-      'feature_expression_c1' => array(
-        '0' => 'expression_id',
-        '1' => 'feature_id',
-        '2' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'feature_expression_idx1' => array(
-        '0' => 'expression_id',
-      ),
-      'feature_expression_idx2' => array(
-        '0' => 'feature_id',
-      ),
-      'feature_expression_idx3' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_expressionprop_schema()
- * Purpose: To describe the structure of feature_expressionprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_expressionprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_expressionprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_expressionprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_expression_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_expressionprop_id',
-    ),
-    'unique keys' => array(
-      'feature_expressionprop_c1' => array(
-        '0' => 'feature_expression_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'feature_expressionprop_idx1' => array(
-        '0' => 'feature_expression_id',
-      ),
-      'feature_expressionprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_pubprop_schema()
- * Purpose: To describe the structure of feature_pubprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_pubprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_pubprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_pubprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_pubprop_id',
-    ),
-    'unique keys' => array(
-      'feature_pubprop_c1' => array(
-        '0' => 'feature_pub_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'feature_pubprop_idx1' => array(
-        '0' => 'feature_pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_relationship_schema()
- * Purpose: To describe the structure of feature_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_relationship_id',
-    ),
-    'unique keys' => array(
-      'feature_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-        '3' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'feature_relationship_idx1' => array(
-        '0' => 'subject_id',
-      ),
-      'feature_relationship_idx2' => array(
-        '0' => 'object_id',
-      ),
-      'feature_relationship_idx3' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_relationship_pub_schema()
- * Purpose: To describe the structure of feature_relationship_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_relationship_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_relationship_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_relationship_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_relationship_pub_id',
-    ),
-    'unique keys' => array(
-      'feature_relationship_pub_c1' => array(
-        '0' => 'feature_relationship_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'feature_relationship_pub_idx1' => array(
-        '0' => 'feature_relationship_id',
-      ),
-      'feature_relationship_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_relationshipprop_schema()
- * Purpose: To describe the structure of feature_relationshipprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_relationshipprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_relationshipprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_relationshipprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_relationshipprop_id',
-    ),
-    'unique keys' => array(
-      'feature_relationshipprop_c1' => array(
-        '0' => 'feature_relationship_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'feature_relationshipprop_idx1' => array(
-        '0' => 'feature_relationship_id',
-      ),
-      'feature_relationshipprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_pub_schema()
- * Purpose: To describe the structure of feature_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_pub_id',
-    ),
-    'unique keys' => array(
-      'feature_pub_c1' => array(
-        '0' => 'feature_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'feature_pub_idx1' => array(
-        '0' => 'feature_id',
-      ),
-      'feature_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_phenotype_schema()
- * Purpose: To describe the structure of feature_phenotype to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_phenotype_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_phenotype',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_phenotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'phenotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_phenotype_id',
-    ),
-    'unique keys' => array(
-      'feature_phenotype_c1' => array(
-        '0' => 'feature_id',
-        '1' => 'phenotype_id',
-      ),
-    ),
-    'indexes' => array(
-      'feature_phenotype_idx1' => array(
-        '0' => 'feature_id',
-      ),
-      'feature_phenotype_idx2' => array(
-        '0' => 'phenotype_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_genotype_schema()
- * Purpose: To describe the structure of feature_genotype to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_genotype_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_genotype',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_genotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'genotype_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'chromosome_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cgroup' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'feature_genotype_id',
-    ),
-    'unique keys' => array(
-      'feature_genotype_c1' => array(
-        '0' => 'feature_id',
-        '1' => 'genotype_id',
-        '2' => 'cvterm_id',
-        '3' => 'chromosome_id',
-        '4' => 'rank',
-        '5' => 'cgroup',
-      ),
-    ),
-    'indexes' => array(
-      'feature_genotype_idx1' => array(
-        '0' => 'feature_id',
-      ),
-      'feature_genotype_idx2' => array(
-        '0' => 'genotype_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_intersection_schema()
- * Purpose: To describe the structure of feature_intersection to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_intersection_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_intersection',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'srcfeature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'subject_strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'object_strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'fmin' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'fmax' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_meets_schema()
- * Purpose: To describe the structure of feature_meets to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_meets_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_meets',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_feature_meets_on_same_strand_schema()
- * Purpose: To describe the structure of feature_meets_on_same_strand to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_feature_meets_on_same_strand_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'feature_meets_on_same_strand',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_f_loc_schema()
- * Purpose: To describe the structure of f_loc to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_f_loc_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'f_loc',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'nbeg' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'nend' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_expressionprop_schema()
- * Purpose: To describe the structure of expressionprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_expressionprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'expressionprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'expressionprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'expression_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'expressionprop_id',
-    ),
-    'unique keys' => array(
-      'expressionprop_c1' => array(
-        '0' => 'expression_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'expressionprop_idx1' => array(
-        '0' => 'expression_id',
-      ),
-      'expressionprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_db_dbxref_count_schema()
- * Purpose: To describe the structure of db_dbxref_count to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_db_dbxref_count_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'db_dbxref_count',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'num_dbxrefs' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'big',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_dbxref_schema()
- * Purpose: To describe the structure of dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'db_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'accession' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'version' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-        'default' => '',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'dbxref_id',
-    ),
-    'unique keys' => array(
-      'dbxref_c1' => array(
-        '0' => 'db_id',
-        '1' => 'accession',
-        '2' => 'version',
-      ),
-    ),
-    'indexes' => array(
-      'dbxref_idx1' => array(
-        '0' => 'db_id',
-      ),
-      'dbxref_idx2' => array(
-        '0' => 'accession',
-      ),
-      'dbxref_idx3' => array(
-        '0' => 'version',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_dbxrefprop_schema()
- * Purpose: To describe the structure of dbxrefprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_dbxrefprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'dbxrefprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'dbxrefprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-        'default' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'dbxrefprop_id',
-    ),
-    'unique keys' => array(
-      'dbxrefprop_c1' => array(
-        '0' => 'dbxref_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'dbxrefprop_idx1' => array(
-        '0' => 'dbxref_id',
-      ),
-      'dbxrefprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_dfeatureloc_schema()
- * Purpose: To describe the structure of dfeatureloc to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_dfeatureloc_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'dfeatureloc',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'featureloc_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'srcfeature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'nbeg' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'is_nbeg_partial' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '',
-      ),
-      'nend' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'is_nend_partial' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'boolean',
-        'not NULL' => '',
-      ),
-      'strand' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'size' => 'small',
-        'not NULL' => '',
-      ),
-      'phase' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'residue_info' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'locgroup' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_db_schema()
- * Purpose: To describe the structure of db to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_db_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'db',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'db_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'name' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'urlprefix' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-      'url' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'db_id',
-    ),
-    'unique keys' => array(
-      'db_c1' => array(
-        '0' => 'name',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cvtermsynonym_schema()
- * Purpose: To describe the structure of cvtermsynonym to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cvtermsynonym_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cvtermsynonym',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cvtermsynonym_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'synonym' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '1024',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cvtermsynonym_id',
-    ),
-    'unique keys' => array(
-      'cvtermsynonym_c1' => array(
-        '0' => 'cvterm_id',
-        '1' => 'synonym',
-      ),
-    ),
-    'indexes' => array(
-      'cvtermsynonym_idx1' => array(
-        '0' => 'cvterm_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cvterm_dbxref_schema()
- * Purpose: To describe the structure of cvterm_dbxref to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cvterm_dbxref_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cvterm_dbxref',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cvterm_dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'is_for_definition' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cvterm_dbxref_id',
-    ),
-    'unique keys' => array(
-      'cvterm_dbxref_c1' => array(
-        '0' => 'cvterm_id',
-        '1' => 'dbxref_id',
-      ),
-    ),
-    'indexes' => array(
-      'cvterm_dbxref_idx1' => array(
-        '0' => 'cvterm_id',
-      ),
-      'cvterm_dbxref_idx2' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cvterm_relationship_schema()
- * Purpose: To describe the structure of cvterm_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cvterm_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cvterm_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cvterm_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cvterm_relationship_id',
-    ),
-    'unique keys' => array(
-      'cvterm_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-      ),
-    ),
-    'indexes' => array(
-      'cvterm_relationship_idx1' => array(
-        '0' => 'type_id',
-      ),
-      'cvterm_relationship_idx2' => array(
-        '0' => 'subject_id',
-      ),
-      'cvterm_relationship_idx3' => array(
-        '0' => 'object_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cvtermpath_schema()
- * Purpose: To describe the structure of cvtermpath to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cvtermpath_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cvtermpath',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cvtermpath_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cv_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pathdistance' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cvtermpath_id',
-    ),
-    'unique keys' => array(
-      'cvtermpath_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-        '3' => 'pathdistance',
-      ),
-    ),
-    'indexes' => array(
-      'cvtermpath_idx1' => array(
-        '0' => 'type_id',
-      ),
-      'cvtermpath_idx2' => array(
-        '0' => 'subject_id',
-      ),
-      'cvtermpath_idx3' => array(
-        '0' => 'object_id',
-      ),
-      'cvtermpath_idx4' => array(
-        '0' => 'cv_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_cvtermprop_schema()
- * Purpose: To describe the structure of cvtermprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_cvtermprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'cvtermprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'cvtermprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-        'default' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'cvtermprop_id',
-    ),
-    'unique keys' => array(
-      'cvterm_id' => array(
-        '0' => 'cvterm_id',
-        '1' => 'type_id',
-        '2' => 'value',
-        '3' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'cvtermprop_idx1' => array(
-        '0' => 'cvterm_id',
-      ),
-      'cvtermprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_eimage_schema()
- * Purpose: To describe the structure of eimage to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_eimage_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'eimage',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'eimage_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'eimage_data' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'eimage_type' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '1',
-      ),
-      'image_uri' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'varchar',
-        'length' => '255',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'eimage_id',
-    ),
-    'unique keys' => array(
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_element_schema()
- * Purpose: To describe the structure of element to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_element_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'element',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'element_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'feature_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'arraydesign_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-      'dbxref_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'element_id',
-    ),
-    'unique keys' => array(
-      'element_c1' => array(
-        '0' => 'feature_id',
-        '1' => 'arraydesign_id',
-      ),
-    ),
-    'indexes' => array(
-      'element_idx1' => array(
-        '0' => 'feature_id',
-      ),
-      'element_idx2' => array(
-        '0' => 'arraydesign_id',
-      ),
-      'element_idx3' => array(
-        '0' => 'type_id',
-      ),
-      'element_idx4' => array(
-        '0' => 'dbxref_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_expression_cvterm_schema()
- * Purpose: To describe the structure of expression_cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_expression_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'expression_cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'expression_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'expression_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-      'cvterm_type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'expression_cvterm_id',
-    ),
-    'unique keys' => array(
-      'expression_cvterm_c1' => array(
-        '0' => 'expression_id',
-        '1' => 'cvterm_id',
-        '2' => 'cvterm_type_id',
-      ),
-    ),
-    'indexes' => array(
-      'expression_cvterm_idx1' => array(
-        '0' => 'expression_id',
-      ),
-      'expression_cvterm_idx2' => array(
-        '0' => 'cvterm_id',
-      ),
-      'expression_cvterm_idx3' => array(
-        '0' => 'cvterm_type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_expression_cvtermprop_schema()
- * Purpose: To describe the structure of expression_cvtermprop to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_expression_cvtermprop_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'expression_cvtermprop',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'expression_cvtermprop_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'expression_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'expression_cvtermprop_id',
-    ),
-    'unique keys' => array(
-      'expression_cvtermprop_c1' => array(
-        '0' => 'expression_cvterm_id',
-        '1' => 'type_id',
-        '2' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'expression_cvtermprop_idx1' => array(
-        '0' => 'expression_cvterm_id',
-      ),
-      'expression_cvtermprop_idx2' => array(
-        '0' => 'type_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_expression_image_schema()
- * Purpose: To describe the structure of expression_image to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_expression_image_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'expression_image',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'expression_image_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'expression_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'eimage_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'expression_image_id',
-    ),
-    'unique keys' => array(
-      'expression_image_c1' => array(
-        '0' => 'expression_id',
-        '1' => 'eimage_id',
-      ),
-    ),
-    'indexes' => array(
-      'expression_image_idx1' => array(
-        '0' => 'expression_id',
-      ),
-      'expression_image_idx2' => array(
-        '0' => 'eimage_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_expression_pub_schema()
- * Purpose: To describe the structure of expression_pub to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_expression_pub_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'expression_pub',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'expression_pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'expression_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'pub_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'expression_pub_id',
-    ),
-    'unique keys' => array(
-      'expression_pub_c1' => array(
-        '0' => 'expression_id',
-        '1' => 'pub_id',
-      ),
-    ),
-    'indexes' => array(
-      'expression_pub_idx1' => array(
-        '0' => 'expression_id',
-      ),
-      'expression_pub_idx2' => array(
-        '0' => 'pub_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_expression_schema()
- * Purpose: To describe the structure of expression to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_expression_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'expression',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'expression_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'md5checksum' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'char',
-        'length' => '32',
-        'not NULL' => '',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'expression_id',
-    ),
-    'unique keys' => array(
-      'expression_c1' => array(
-        '0' => 'uniquename',
-      ),
-    ),
-    'indexes' => array(
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_environment_cvterm_schema()
- * Purpose: To describe the structure of environment_cvterm to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_environment_cvterm_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'environment_cvterm',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'environment_cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'environment_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'cvterm_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'environment_cvterm_id',
-    ),
-    'unique keys' => array(
-      'environment_cvterm_c1' => array(
-        '0' => 'environment_id',
-        '1' => 'cvterm_id',
-      ),
-    ),
-    'indexes' => array(
-      'environment_cvterm_idx1' => array(
-        '0' => 'environment_id',
-      ),
-      'environment_cvterm_idx2' => array(
-        '0' => 'cvterm_id',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_element_relationship_schema()
- * Purpose: To describe the structure of element_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_element_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'element_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'element_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'element_relationship_id',
-    ),
-    'unique keys' => array(
-      'element_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-        '3' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'element_relationship_idx1' => array(
-        '0' => 'subject_id',
-      ),
-      'element_relationship_idx2' => array(
-        '0' => 'type_id',
-      ),
-      'element_relationship_idx3' => array(
-        '0' => 'object_id',
-      ),
-      'element_relationship_idx4' => array(
-        '0' => 'value',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_elementresult_schema()
- * Purpose: To describe the structure of elementresult to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_elementresult_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'elementresult',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'elementresult_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'element_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'quantification_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'signal' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'float',
-        'size' => 'big',
-        'not NULL' => '1',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'elementresult_id',
-    ),
-    'unique keys' => array(
-      'elementresult_c1' => array(
-        '0' => 'element_id',
-        '1' => 'quantification_id',
-      ),
-    ),
-    'indexes' => array(
-      'elementresult_idx1' => array(
-        '0' => 'element_id',
-      ),
-      'elementresult_idx2' => array(
-        '0' => 'quantification_id',
-      ),
-      'elementresult_idx3' => array(
-        '0' => 'signal',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_elementresult_relationship_schema()
- * Purpose: To describe the structure of elementresult_relationship to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_elementresult_relationship_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'elementresult_relationship',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'elementresult_relationship_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'subject_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'type_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'object_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-      ),
-      'value' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-      'rank' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'int',
-        'not NULL' => '1',
-        'default' => '0',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'elementresult_relationship_id',
-    ),
-    'unique keys' => array(
-      'elementresult_relationship_c1' => array(
-        '0' => 'subject_id',
-        '1' => 'object_id',
-        '2' => 'type_id',
-        '3' => 'rank',
-      ),
-    ),
-    'indexes' => array(
-      'elementresult_relationship_idx1' => array(
-        '0' => 'subject_id',
-      ),
-      'elementresult_relationship_idx2' => array(
-        '0' => 'type_id',
-      ),
-      'elementresult_relationship_idx3' => array(
-        '0' => 'object_id',
-      ),
-      'elementresult_relationship_idx4' => array(
-        '0' => 'value',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_environment_schema()
- * Purpose: To describe the structure of environment to tripal
- * @see tripal_core_chado_insert()
- * @see tripal_core_chado_update()
- * @see tripal_core_chado_select()
- *
- * @return
- *    An array describing the current table
- *
- * @ingroup tripal_schema_api
- *
- */
-function tripal_core_chado_environment_schema() {
-  $description = array();
-
-  $description = array(
-    'table' => 'environment',
-//    'description' => 'TODO: please describe this table!',
-    'fields' => array(
-      'environment_id' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'serial',
-        'not NULL' => '1',
-      ),
-      'uniquename' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '1',
-      ),
-      'description' => array(
-//        'description' => 'TODO: please describe this field!',
-        'type' => 'text',
-        'not NULL' => '',
-      ),
-    ),
-    'primary key' => array(
-      '0' => 'environment_id',
-    ),
-    'unique keys' => array(
-      'environment_c1' => array(
-        '0' => 'uniquename',
-      ),
-    ),
-    'indexes' => array(
-      'environment_idx1' => array(
-        '0' => 'uniquename',
-      ),
-    ),
-    'foreign keys' => array(
-    ),
-  );
-
-  return $description;
-}

+ 0 - 28
tripal_core/tripal_launch_jobs_multi.php

@@ -242,35 +242,7 @@ function tripal_cv_get_cvterm_options($cv_id = 0) {
 
 
 }
 }
 
 
-/**
- * Implements hook_chado_cvterm_schema()
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the cvterm table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_cv_chado_cvterm_schema() {
-  $description = array();
-
-  $description['foreign keys']['cv'] = array(
-        'table' => 'cv',
-        'columns' => array(
-          'cv_id' => 'cv_id',
-        ),
-  );
-
-  $description['foreign keys']['dbxref'] = array(
-        'table' => 'dbxref',
-        'columns' => array(
-          'dbxref_id' => 'dbxref_id',
-        ),
-  );
 
 
-  return $description;
-}
 
 
 /**
 /**
  * Adds a controlled vocabular to the CV table of Chado.
  * Adds a controlled vocabular to the CV table of Chado.

+ 4 - 4
tripal_cv/tripal_cv.views.inc

@@ -42,12 +42,12 @@ function tripal_cv_views_data() {
     foreach ($tables as $tablename) {
     foreach ($tables as $tablename) {
       if (!tripal_views_is_integrated($tablename, 9)) {
       if (!tripal_views_is_integrated($tablename, 9)) {
         // get default integration array
         // get default integration array
-        $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename,TRUE);
+        $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE);
 
 
         // add specialty handlers
         // add specialty handlers
         if ($tablename == 'cvterm') {
         if ($tablename == 'cvterm') {
           $table_integration_array['fields']['name']['handlers']['filter']['name'] = 'views_handler_filter_chado_select_cvterm_name';
           $table_integration_array['fields']['name']['handlers']['filter']['name'] = 'views_handler_filter_chado_select_cvterm_name';
-        }
+        }  
 
 
         // add integration
         // add integration
         tripal_views_integration_add_entry($table_integration_array);
         tripal_views_integration_add_entry($table_integration_array);
@@ -109,7 +109,7 @@ function tripal_cv_views_default_views() {
   // List all cvterms based on cv
   // List all cvterms based on cv
   $view = new view;
   $view = new view;
   $view->name = 'all_cvterms';
   $view->name = 'all_cvterms';
-  $view->description = 'A listing of all controlled vocabulary terms filtered by controlled vocabulary';
+  $view->description = 'A listing of all controlled vocabulary terms';
   $view->tag = 'chado';
   $view->tag = 'chado';
   $view->view_php = '';
   $view->view_php = '';
   $view->base_table = 'cvterm';
   $view->base_table = 'cvterm';
@@ -396,4 +396,4 @@ function tripal_cv_views_default_views() {
   $views[$view->name] = $view;
   $views[$view->name] = $view;
 
 
   return $views;
   return $views;
-}
+}

+ 0 - 22
tripal_db/tripal_db.api.inc

@@ -275,28 +275,6 @@ function tripal_db_get_dbxref_by_accession($accession, $db_id=0) {
   return $r;
   return $r;
 }
 }
 
 
-/**
- * Implements hook_chado_dbxref_schema()
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the dbxref table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_db_chado_dbxref_schema() {
-  $description = array();
-
-  $description['foreign keys']['db'] = array(
-        'table' => 'db',
-        'columns' => array(
-          'db_id' => 'db_id',
-        ),
-  );
-
-  return $description;
-}
 /**
 /**
  * Adds a new database to the Chado DB table and returns the DB object.
  * Adds a new database to the Chado DB table and returns the DB object.
  *
  *

+ 14 - 168
tripal_feature/tripal_feature.api.inc → tripal_feature/api/tripal_feature.api.inc

@@ -6,7 +6,7 @@
 
 
 /**
 /**
  * Implements hook_chado_feature_schema()
  * Implements hook_chado_feature_schema()
- * Purpose: To add descriptions and foreign keys to default table description
+ * Purpose: To add descriptions to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
  * @return
  * @return
@@ -14,32 +14,9 @@
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_feature_chado_feature_schema() {
+function tripal_feature_chado_schema_v1_11_feature() {
   $description = array();
   $description = array();
 
 
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_feature_schema()
-
-  $description['foreign keys']['organism'] = array(
-        'table' => 'organism',
-        'columns' => array(
-          'organism_id' => 'organism_id',
-        ),
-  );
-
-  $description['foreign keys']['dbxref'] = array(
-        'table' => 'dbxref',
-        'columns' => array(
-          'dbxref_id' => 'dbxref_id',
-        ),
-  );
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
   $referring_tables = array('analysisfeature',
   $referring_tables = array('analysisfeature',
     'element',
     'element',
     'feature_cvterm',
     'feature_cvterm',
@@ -65,7 +42,7 @@ function tripal_feature_chado_feature_schema() {
 
 
 /**
 /**
  * Implements hook_chado_featureprop_schema()
  * Implements hook_chado_featureprop_schema()
- * Purpose: To add descriptions and foreign keys to default table description
+ * Purpose: To add descriptions to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
  * @return
  * @return
@@ -73,25 +50,9 @@ function tripal_feature_chado_feature_schema() {
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_feature_chado_featureprop_schema() {
+function tripal_feature_chado_schema_v1_11_featureprop() {
   $description = array();
   $description = array();
 
 
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_featureprop_schema()
-
-  $description['foreign keys']['feature'] = array(
-        'table' => 'feature',
-        'columns' => array(
-          'feature_id' => 'feature_id',
-        ),
-  );
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
   $referring_tables = array('analysisfeature',
   $referring_tables = array('analysisfeature',
     'featureprop_pub',
     'featureprop_pub',
   );
   );
@@ -101,8 +62,8 @@ function tripal_feature_chado_featureprop_schema() {
 }
 }
 
 
 /**
 /**
- * Implements hook_chado_featureloc_schema()
- * Purpose: To add descriptions and foreign keys to default table description
+ * Implements hook_chado_schema_v1_11_table()
+ * Purpose: To add descriptions to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
  * @return
  * @return
@@ -110,19 +71,9 @@ function tripal_feature_chado_featureprop_schema() {
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_feature_chado_featureloc_schema() {
+function tripal_feature_chado_schema_v1_11_featureloc() {
   $description = array();
   $description = array();
 
 
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_featureloc_schema()
-
-  $description['foreign keys']['feature'] = array(
-        'table' => 'feature',
-        'columns' => array(
-          'feature_id' => 'feature_id',
-          'srcfeature_id' => 'feature_id'
-        ),
-  );
-
   $referring_tables = array('analysisfeature',
   $referring_tables = array('analysisfeature',
     'featureloc_pub',
     'featureloc_pub',
   );
   );
@@ -130,134 +81,29 @@ function tripal_feature_chado_featureloc_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-/**
- * Implements hook_chado_feature_dbxref_schema()
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the feature_dbxref table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_feature_chado_feature_dbxref_schema() {
-  $description = array();
-
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_feature_dbxref_schema()
-
-  $description['foreign keys']['feature'] = array(
-        'table' => 'feature',
-        'columns' => array(
-          'feature_id' => 'feature_id',
-        ),
-  );
-
-  $description['foreign keys']['dbxref'] = array(
-        'table' => 'dbxref',
-        'columns' => array(
-          'dbxref_id' => 'dbxref_id',
-        ),
-  );
-
-  return $description;
-}
 /**
 /**
- * Implements hook_chado_feature_relationship_schema()
- * Purpose: To add descriptions and foreign keys to default table description
+ * Implements hook_chado_schema_v1_2_table()
+ * Purpose: To add descriptions and to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
  * @return
  * @return
- *    Array describing the feature_dbxref table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_feature_chado_feature_relationship_schema() {
-  $description = array();
-
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_feature_dbxref_schema()
-
-  $description['foreign keys']['feature'] = array(
-        'table' => 'feature',
-        'columns' => array(
-          'object_id' => 'feature_id',
-          'subject_id' => 'feature_id',
-        ),
-  );
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-  return $description;
-}
-/**
- * Implements hook_chado_feature_relationship_schema()
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the feature_dbxref table
+ *    Array describing the featureloc table
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_feature_chado_feature_cvterm_schema() {
+function tripal_feature_chado_schema_v1_2_featureloc() {
   $description = array();
   $description = array();
 
 
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_feature_dbxref_schema()
-
-  $description['foreign keys']['feature'] = array(
-        'table' => 'feature',
-        'columns' => array(
-          'feature_id' => 'feature_id',
-        ),
-  );
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'cvterm_id' => 'cvterm_id',
-        ),
-  );
-  $description['foreign keys']['pub'] = array(
-        'table' => 'pub',
-        'columns' => array(
-          'pub_id' => 'pub_id',
-        ),
+  $referring_tables = array('analysisfeature',
+    'featureloc_pub',
   );
   );
+  $description['referring_tables'] = $referring_tables;
 
 
   return $description;
   return $description;
 }
 }
-/**
- *
- * @ingroup tripal_schema_api
- */
-function tripal_feature_chado_feature_synonym_schema() {
-  $description = array();
 
 
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_feature_dbxref_schema()
 
 
-  $description['foreign keys']['feature'] = array(
-        'table' => 'feature',
-        'columns' => array(
-          'feature_id' => 'feature_id',
-        ),
-  );
-  $description['foreign keys']['synonym'] = array(
-        'table' => 'synonym',
-        'columns' => array(
-          'synonym_id' => 'synonym_id',
-        ),
-  );
-  $description['foreign keys']['pub'] = array(
-        'table' => 'pub',
-        'columns' => array(
-          'pub_id' => 'pub_id',
-        ),
-  );
 
 
-  return $description;
-}
 
 
 /**
 /**
  * Retrieve properties from the analysisfeatureprop table for a feature.
  * Retrieve properties from the analysisfeatureprop table for a feature.

+ 0 - 0
tripal_feature/fasta_loader.php → tripal_feature/includes/fasta_loader.inc


+ 2 - 2
tripal_feature/gff_loader.php → tripal_feature/includes/gff_loader.inc

@@ -361,13 +361,13 @@ function tripal_feature_load_gff3($gff_file, $organism_id, $analysis_id, $add_on
       if (strcmp($attr, '')==0) {
       if (strcmp($attr, '')==0) {
         continue;
         continue;
       }
       }
-      if (!preg_match('/^[^\=]+\=[^\=]+$/', $attr)) {
+      if (!preg_match('/^[^\=]+\=.+$/', $attr)) {
         print "ERROR: attribute is not correctly formatted on line $line_num: $attr\n";
         print "ERROR: attribute is not correctly formatted on line $line_num: $attr\n";
         return '';
         return '';
       }
       }
 
 
       // break apart each tag
       // break apart each tag
-      $tag = explode("=", $attr);  // split by equals sign
+      $tag = preg_split("/=/", $attr,2);  // split by equals sign
       // multiple instances of an attribute are separated by commas
       // multiple instances of an attribute are separated by commas
       $tags[$tag[0]] = explode(",", $tag[1]);  // split by comma
       $tags[$tag[0]] = explode(",", $tag[1]);  // split by comma
       if (strcmp($tag[0], 'ID')==0) {
       if (strcmp($tag[0], 'ID')==0) {

+ 0 - 0
tripal_feature/indexFeatures.php → tripal_feature/includes/indexFeatures.inc


+ 0 - 0
tripal_feature/syncFeatures.php → tripal_feature/includes/syncFeatures.inc


+ 0 - 0
tripal_feature/tripal_feature-db_references.inc → tripal_feature/includes/tripal_feature-db_references.inc


+ 0 - 0
tripal_feature/tripal_feature-delete.inc → tripal_feature/includes/tripal_feature-delete.inc


+ 0 - 0
tripal_feature/tripal_feature-properties.inc → tripal_feature/includes/tripal_feature-properties.inc


+ 0 - 0
tripal_feature/tripal_feature-relationships.inc → tripal_feature/includes/tripal_feature-relationships.inc


+ 0 - 0
tripal_feature/tripal_feature-secondary_tables.inc → tripal_feature/includes/tripal_feature-secondary_tables.inc


+ 0 - 0
tripal_feature/tripal_feature.admin.inc → tripal_feature/includes/tripal_feature.admin.inc


+ 195 - 22
tripal_feature/tripal_feature.module

@@ -13,19 +13,19 @@
  * @ingroup tripal_modules
  * @ingroup tripal_modules
  */
  */
 
 
-require_once "tripal_feature.admin.inc";
-require_once "syncFeatures.php";
-require_once "indexFeatures.php";
-require_once "fasta_loader.php";
-require_once "gff_loader.php";
+require_once "includes/tripal_feature.admin.inc";
+require_once "includes/syncFeatures.inc";
+require_once "includes/indexFeatures.inc";
+require_once "includes/fasta_loader.inc";
+require_once "includes/gff_loader.inc";
 
 
-require_once "tripal_feature.api.inc";
+require_once "api/tripal_feature.api.inc";
 
 
-require_once "tripal_feature-delete.inc";
-require_once "tripal_feature-secondary_tables.inc";
-require_once "tripal_feature-properties.inc";
-require_once "tripal_feature-relationships.inc";
-require_once "tripal_feature-db_references.inc";
+require_once "includes/tripal_feature-delete.inc";
+require_once "includes/tripal_feature-secondary_tables.inc";
+require_once "includes/tripal_feature-properties.inc";
+require_once "includes/tripal_feature-relationships.inc";
+require_once "includes/tripal_feature-db_references.inc";
 
 
 
 
 /**
 /**
@@ -343,8 +343,11 @@ function tripal_feature_block($op = 'list', $delta = 0, $edit=array()) {
       $blocks['alignments']['info'] = t('Tripal Feature Alignments');
       $blocks['alignments']['info'] = t('Tripal Feature Alignments');
       $blocks['alignments']['cache'] = BLOCK_NO_CACHE;
       $blocks['alignments']['cache'] = BLOCK_NO_CACHE;
 
 
-      $blocks['relationships']['info'] = t('Tripal Feature Relationships');
-      $blocks['relationships']['cache'] = BLOCK_NO_CACHE;
+      $blocks['object_relationships']['info'] = t('Tripal Feature Object Relationships');
+      $blocks['object_relationships']['cache'] = BLOCK_NO_CACHE;
+
+      $blocks['subject_relationships']['info'] = t('Tripal Feature Subject Relationships');
+      $blocks['subject_relationships']['cache'] = BLOCK_NO_CACHE;
 
 
       $blocks['org_feature_counts']['info'] = t('Tripal Organism Feature Counts');
       $blocks['org_feature_counts']['info'] = t('Tripal Organism Feature Counts');
       $blocks['org_feature_counts']['cache'] = BLOCK_NO_CACHE;
       $blocks['org_feature_counts']['cache'] = BLOCK_NO_CACHE;
@@ -392,11 +395,15 @@ function tripal_feature_block($op = 'list', $delta = 0, $edit=array()) {
           break;
           break;
         case 'alignments':
         case 'alignments':
           $block['subject'] = t('Alignments');
           $block['subject'] = t('Alignments');
-          $block['content'] = theme('tripal_feature_featurelocs', $node);
+          $block['content'] = theme('tripal_feature_alignments', $node);
+          break;
+        case 'object_relationships':
+          $block['subject'] = t('Object Relationships');
+          $block['content'] = theme('tripal_feature_object_relationships', $node);
           break;
           break;
-        case 'relationships':
-          $block['subject'] = t('Relationships');
-          $block['content'] = theme('tripal_feature_relationships', $node);
+        case 'subject_relationships':
+          $block['subject'] = t('Subject Relationships');
+          $block['content'] = theme('tripal_feature_object_relationships', $node);
           break;
           break;
         case 'org_feature_counts':
         case 'org_feature_counts':
           $block['subject'] = t('Feature Type Summary');
           $block['subject'] = t('Feature Type Summary');
@@ -1334,6 +1341,73 @@ function tripal_feature_load_featureloc_sequences($feature_id, $featurelocs) {
   }
   }
   return $floc_sequences;
   return $floc_sequences;
 }
 }
+/**
+ *
+ *
+ * @ingroup tripal_feature
+ */
+function tripal_feature_get_matched_alignments($feature) {
+  // This function is for features that align through an intermediate such
+  // as 'EST_match' or 'match'.  This occurs in the case where two sequences
+  // align but where one does not align perfectly.  Some ESTs may be in a contig
+  // but not all of the EST.  Portions may overhang and not be included in the 
+  // consensus if quality is bad.
+  // For example:
+  //
+  //    Feature 1: Contig --------------------
+  //    Feature 2: EST_match           -------
+  //    Feature 3: EST                 ---------
+  //
+  // The feature provided to the function will always be the feature 1.  The 
+  // featureloc columns prefixed with 'right' (e.g. right_fmin) belong to the 
+  // alignment of feature 3 with feature 2
+  // 
+  // Features may align to more than one feature and are not matches. We do
+  // not want to include these, so we have to filter on the SO terms:
+  // match, or %_match
+  //
+   $sql = "SELECT  ".
+          "   FL1.featureloc_id    as left_featureloc_id, ".
+          "   FL1.srcfeature_id    as left_srcfeature_id, ".
+          "   FL1.feature_id       as left_feature_id, ".
+          "   FL1.fmin             as left_fmin, ".
+          "   FL1.is_fmin_partial  as left_is_fmin_partial, ".
+          "   FL1.fmax             as left_fmax, ".
+          "   FL1.is_fmax_partial  as left_is_fmax_partial, ".
+          "   FL1.strand           as left_strand,  ".
+          "   FL1.phase            as left_phase, ".
+          "   FL1.locgroup         as left_locgroup, ".
+          "   FL1.rank             as left_rank, ".
+          "   FL2.featureloc_id    as right_featureloc_id, ".
+          "   FL2.srcfeature_id    as right_srcfeature_id, ".
+          "   FL2.feature_id       as right_feature_id, ".
+          "   FL2.fmin             as right_fmin, ".
+          "   FL2.is_fmin_partial  as right_is_fmin_partial, ".
+          "   FL2.fmax             as right_fmax, ".
+          "   FL2.is_fmax_partial  as right_is_fmax_partial, ".
+          "   FL2.strand           as right_strand,  ".
+          "   FL2.phase            as right_phase, ".
+          "   FL2.locgroup         as right_locgroup, ".
+          "   FL2.rank             as right_rank ".
+          "FROM feature F1 ".
+          "  INNER JOIN featureloc FL1 on FL1.srcfeature_id = F1.feature_id ".
+          "  INNER JOIN feature F2 on FL1.feature_id = F2.feature_id ".
+          "  INNER JOIN featureloc FL2 on FL2.feature_id = F2.feature_id ".
+          "  INNER JOIN feature F3 on FL2.srcfeature_id = F3.feature_id ".
+          "  INNER JOIN cvterm CVT2 on F2.type_id = CVT2.cvterm_id ".
+          "WHERE F1.feature_id = %d and NOT F3.feature_id = %d ".
+          "  AND (CVT2.name = 'match' or CVT2.name like '%_match') ".
+          "ORDER BY FL1.fmin";
+
+   $results = db_query($sql, $feature->feature_id, $feature->feature_id);
+   
+   // iterate through the results and add them to our featurelocs array
+   $featurelocs = array();
+   while ($fl = db_fetch_object($results)) {
+      $featurelocs[] = $fl ;
+   }   
+   return $featurelocs;
+}
 /**
 /**
  *
  *
  *
  *
@@ -1812,13 +1886,17 @@ function tripal_feature_theme() {
        'arguments' => array('node' => NULL),
        'arguments' => array('node' => NULL),
        'template' => 'tripal_feature_properties',
        'template' => 'tripal_feature_properties',
   ),
   ),
-    'tripal_feature_featurelocs' => array(
+    'tripal_feature_alignments' => array(
+       'arguments' => array('node' => NULL),
+       'template' => 'tripal_feature_alignments',
+  ),
+    'tripal_feature_object_relationships' => array(
        'arguments' => array('node' => NULL),
        'arguments' => array('node' => NULL),
-       'template' => 'tripal_feature_featurelocs',
+       'template' => 'tripal_feature_object_relationships',
   ),
   ),
-    'tripal_feature_relationships' => array(
+    'tripal_feature_subject_relationships' => array(
        'arguments' => array('node' => NULL),
        'arguments' => array('node' => NULL),
-       'template' => 'tripal_feature_relationships',
+       'template' => 'tripal_feature_subject_relationships',
   ),
   ),
     'tripal_feature_edit_ALL_properties_form' => array(
     'tripal_feature_edit_ALL_properties_form' => array(
       'arguments' => array('form' => NULL),
       'arguments' => array('form' => NULL),
@@ -1827,7 +1905,102 @@ function tripal_feature_theme() {
   );
   );
 }
 }
 
 
-
+/**
+ *
+ *
+ * @ingroup tripal_feature
+ */
+function tripal_feature_preprocess_tripal_feature_alignments(&$variables) {
+  // we want to provide a new variable that contains the matched features.
+  $feature = $variables['node']->feature;
+  
+  // get alignments as child
+  $cfeaturelocs = $feature->featureloc->feature_id;
+  if (!$cfeaturelocs) {
+     $cfeaturelocs = array();
+  } 
+  elseif (!is_array($cfeaturelocs)) { 
+     $cfeaturelocs = array($cfeaturelocs); 
+  }
+  // get alignment as parent
+  $pfeaturelocs = $feature->featureloc->srcfeature_id;
+  if (!$pfeaturelocs) {
+     $pfeaturelocs = array();
+  } 
+  elseif (!is_array($pfeaturelocs)) { 
+     $pfeaturelocs = array($pfeaturelocs); 
+  }
+
+  // get matched alignments (those with an itermediate 'match' or 'EST_match', etc
+  $mfeaturelocs = tripal_feature_get_matched_alignments($feature);
+  $feature->matched_featurelocs = tripal_feature_get_matched_alignments($feature);
+  
+  // combine all three alignments into a single array for printing together in
+  // a single list
+  $alignments = array();
+  foreach ($pfeaturelocs as $featureloc) {
+     // if type is a 'match' then ignore it. We will handle those below
+     if (preg_match('/(^match$|^.*?_match)$/', $featureloc->feature_id->type_id->name)) {
+        continue;
+     }
+     $alignment = new stdClass();
+     $alignment->record = $featureloc;
+     $alignment->name = $featureloc->feature_id->name;
+     $alignment->nid = $featureloc->feature_id->nid;
+     $alignment->type = $featureloc->feature_id->type_id->name;
+     $alignment->fmin = $featureloc->fmin;
+     $alignment->fmax = $featureloc->fmax;
+     $alignment->phase = $featureloc->phase;
+     $alignment->strand = $featureloc->strand;
+     $alignments[] = $alignment;
+  }
+  foreach ($cfeaturelocs as $featureloc) {
+     // if type is a 'match' then ignore it. We will handle those below
+     if (preg_match('/(^match$|^.*?_match)$/', $featureloc->feature_id->type_id->name)) {
+        continue;
+     }
+     $alignment = new stdClass();
+     $alignment->record = $featureloc;
+     $alignment->name = $featureloc->srcfeature_id->name;
+     $alignment->nid = $featureloc->srcfeature_id->nid;
+     $alignment->type = $featureloc->srcfeature_id->type_id->name;
+     $alignment->fmin = $featureloc->fmin;
+     $alignment->is_fmin_partial = $featureloc->is_fmin_partial;
+     $alignment->fmax = $featureloc->fmax;
+     $alignment->is_fmax_partial = $featureloc->is_fmax_partial;
+     $alignment->phase = $featureloc->phase;
+     $alignment->strand = $featureloc->strand;
+     $alignments[] = $alignment;
+  }
+  // in matching features, the left feature is always the feature
+  // provided to this function. 
+  foreach ($mfeaturelocs as $featureloc) {
+     // get more information about the right feature
+     $select = array('feature_id' => $featureloc->right_srcfeature_id);
+     $rfeature = tripal_core_generate_chado_var('feature', $select);
+     // now add to the list
+     $alignment = new stdClass();
+     $alignment->record = $featureloc;
+     $alignment->right_feature = $rfeature;
+     $alignment->name = $rfeature->name;
+     $alignment->nid = $rfeature->nid;
+     $alignment->type = $rfeature->type_id->name;
+     $alignment->fmin = $featureloc->left_fmin;
+     $alignment->is_fmin_partial = $featureloc->left_is_fmin_partial;
+     $alignment->fmax = $featureloc->left_fmax;
+     $alignment->is_fmax_partial = $featureloc->left_is_fmax_partial;
+     $alignment->phase = $featureloc->left_phase;
+     $alignment->strand = $featureloc->left_strand;
+     $alignment->right_fmin = $featureloc->right_fmin;
+     $alignment->right_is_fmin_partial = $featureloc->right_is_fmin_partial;
+     $alignment->right_fmax = $featureloc->right_fmax;
+     $alignment->right_is_fmax_partial = $featureloc->right_is_fmax_partial;
+     $alignment->right_phase = $featureloc->right_phase;
+     $alignment->right_strand = $featureloc->right_strand;
+     $alignments[] = $alignment;
+  }
+  $feature->all_featurelocs = $alignments;
+}
 /**
 /**
  *
  *
  *
  *

+ 11 - 25
tripal_genetic/tripal_genetic.api.inc

@@ -43,7 +43,7 @@ function tripal_genetic_get_genotypes_by_feature_id($feature_id) {
 
 
 
 
 /**
 /**
- * Implements hook_chado_genotype_schema()
+ * Implements hook_chado_schema_v1_11_table()
  * Purpose: To add descriptions and foreign keys to default table description
  * Purpose: To add descriptions and foreign keys to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
@@ -52,7 +52,7 @@ function tripal_genetic_get_genotypes_by_feature_id($feature_id) {
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_genetic_chado_genotype_schema() {
+function tripal_genetic_chado_schema_v1_11_genotype() {
   $description = array();
   $description = array();
 
 
   $referring_tables = array('analysisfeature',
   $referring_tables = array('analysisfeature',
@@ -67,9 +67,8 @@ function tripal_genetic_chado_genotype_schema() {
   return $description;
   return $description;
 
 
 }
 }
-
 /**
 /**
- * Implements hook_chado_genotype_schema()
+ * Implements hook_chado_schema_v1_2_table()
  * Purpose: To add descriptions and foreign keys to default table description
  * Purpose: To add descriptions and foreign keys to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
@@ -78,30 +77,17 @@ function tripal_genetic_chado_genotype_schema() {
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_genetic_chado_feature_genotype_schema() {
+function tripal_genetic_chado_schema_v1_2_genotype() {
   $description = array();
   $description = array();
 
 
-  $description['foreign keys']['feature'] = array(
-        'table' => 'feature',
-        'columns' => array(
-          'feature_id' => 'feature_id',
-          'chromosome_id' => 'feature_id',
-        ),
-  );
-
-  $description['foreign keys']['genotype'] = array(
-        'table' => 'genotype',
-        'columns' => array(
-          'genotype_id' => 'genotype_id',
-        ),
-  );
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'cvterm_id' => 'cvterm_id',
-        ),
+  $referring_tables = array('analysisfeature',
+    'feature_genotype',
+    'phendesc',
+    'phenotype_comparison',
+    'phenstatement',
+    'stock_genotype',
   );
   );
+  $description['referring_tables'] = $referring_tables;
 
 
   return $description;
   return $description;
 
 

+ 12 - 66
tripal_library/tripal_library.api.inc

@@ -11,7 +11,7 @@
  */
  */
 
 
 /**
 /**
- * Implements hook_chado_library_schema()
+ * Implements hook_chado_schema_v1_11_table()
  * Purpose: To add descriptions and foreign keys to default table description
  * Purpose: To add descriptions and foreign keys to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
@@ -20,25 +20,8 @@
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_library_chado_library_schema() {
+function tripal_library_chado_schema_v1_11_library() {
   $description = array();
   $description = array();
-
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_feature_schema()
-
-  $description['foreign keys']['organism'] = array(
-        'table' => 'organism',
-        'columns' => array(
-          'organism_id' => 'organism_id',
-        ),
-  );
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
   $referring_tables = array(
   $referring_tables = array(
       'library_cvterm',
       'library_cvterm',
       'library_feature',
       'library_feature',
@@ -52,67 +35,30 @@ function tripal_library_chado_library_schema() {
 }
 }
 
 
 /**
 /**
- * Implements hook_chado_library_feature_schema()
+ * Implements hook_chado_schema_v1_2_table()
  * Purpose: To add descriptions and foreign keys to default table description
  * Purpose: To add descriptions and foreign keys to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
  * @return
  * @return
- *    Array describing the library_feature table
+ *    Array describing the library table
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_library_chado_library_feature_schema() {
+function tripal_library_chado_schema_v1_2_library() {
   $description = array();
   $description = array();
-
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_library_feature_schema()
-
-  $description['foreign keys']['library'] = array(
-        'table' => 'library',
-        'columns' => array(
-          'library_id' => 'library_id',
-        ),
-  );
-
-  $description['foreign keys']['feature'] = array(
-        'table' => 'feature',
-        'columns' => array(
-          'feature_id' => 'feature_id',
-        ),
+  $referring_tables = array(
+      'library_cvterm',
+      'library_feature',
+      'library_pub',
+      'library_synonym',
+      'libraryprop'
   );
   );
+  $description['referring_tables'] = $referring_tables;
 
 
   return $description;
   return $description;
 }
 }
-/**
- * Implements hook_chado_libraryprop_schema()
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the libraryprop table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_library_chado_libraryprop_schema() {
-  $description = array();
-
-  // Default table description in tripal_core.schema.api.inc: tripal_core_chado_library_feature_schema()
-
-  $description['foreign keys']['library'] = array(
-        'table' => 'library',
-        'columns' => array(
-          'library_id' => 'library_id',
-        ),
-  );
 
 
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
 
 
-  return $description;
-}
 
 
 /**
 /**
  * Retrieve properties of a given type for a given library
  * Retrieve properties of a given type for a given library

+ 336 - 35
tripal_natural_diversity/tripal_natural_diversity.api.inc

@@ -4,7 +4,18 @@
  * @todo Add file header description
  * @todo Add file header description
  */
  */
 
 
-function tripal_natural_diversity_chado_nd_experiment_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -55,8 +66,48 @@ function tripal_natural_diversity_chado_nd_experiment_schema() {
 
 
   return $description;
   return $description;
 }
 }
+/**
+ * Implements hook_chado_schema_v1_2_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_2_nd_experiment() {
+  $description = array();
+
+  $description = array(
+    'referring_tables' => array(
+      'nd_experiment_contact',
+      'nd_experiment_dbxref',
+      'nd_experiment_genotype',
+      'nd_experiment_phenotype',
+      'nd_experiment_project',
+      'nd_experiment_protocol',
+      'nd_experiment_pub',
+      'nd_experiment_stock',
+      'nd_experimentprop'
+    ),
+  );
 
 
-function tripal_natural_diversity_chado_nd_experiment_contact_schema() {
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_contact table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment_contact() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -99,8 +150,18 @@ function tripal_natural_diversity_chado_nd_experiment_contact_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_experiment_dbxref_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_dbxref table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment_dbxref() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -143,8 +204,18 @@ function tripal_natural_diversity_chado_nd_experiment_dbxref_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_experiment_genotype_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_genotype table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment_genotype() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -187,8 +258,18 @@ function tripal_natural_diversity_chado_nd_experiment_genotype_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_experiment_phenotype_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_phenotype table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment_phenotype() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -231,8 +312,18 @@ function tripal_natural_diversity_chado_nd_experiment_phenotype_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_experiment_project_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_project table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment_project() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -275,8 +366,18 @@ function tripal_natural_diversity_chado_nd_experiment_project_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_experiment_protocol_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_protocol table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment_protocol() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -319,8 +420,18 @@ function tripal_natural_diversity_chado_nd_experiment_protocol_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_experiment_pub_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_pub table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment_pub() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -363,8 +474,18 @@ function tripal_natural_diversity_chado_nd_experiment_pub_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_experiment_stock_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_stock table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment_stock() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -418,8 +539,41 @@ function tripal_natural_diversity_chado_nd_experiment_stock_schema() {
 
 
   return $description;
   return $description;
 }
 }
+/**
+ * Implements hook_chado_schema_v1_2_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_stock table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_2_nd_experiment_stock() {
+  $description = array();
 
 
-function tripal_natural_diversity_chado_nd_experiment_stockprop_schema() {
+  $description = array( 
+    'referring_tables' => array(
+      'nd_experiment_stock_dbxref',
+      'nd_experiment_stockprop',
+    ),
+  );
+
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_stockprop table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment_stockprop() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -469,8 +623,18 @@ function tripal_natural_diversity_chado_nd_experiment_stockprop_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_experiment_stock_dbxref_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experiment_stock_dbxref table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experiment_stock_dbxref() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -513,8 +677,18 @@ function tripal_natural_diversity_chado_nd_experiment_stock_dbxref_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_experimentprop_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_experimentprop table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_experimentprop() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -564,8 +738,18 @@ function tripal_natural_diversity_chado_nd_experimentprop_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_geolocation_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_geolocation table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_geolocation() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -602,8 +786,41 @@ function tripal_natural_diversity_chado_nd_geolocation_schema() {
 
 
   return $description;
   return $description;
 }
 }
+/**
+ * Implements hook_chado_schema_v1_2_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_geolocation table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_2_nd_geolocation() {
+  $description = array();
 
 
-function tripal_natural_diversity_chado_nd_geolocationprop_schema() {
+  $description = array(
+    'referring_tables' => array(
+      'nd_experiment',
+      'nd_geolocationprop'
+    ),
+  );
+
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_geolocationprop table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_geolocationprop() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -653,8 +870,18 @@ function tripal_natural_diversity_chado_nd_geolocationprop_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_protocol_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_protocol table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_protocol() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -681,8 +908,42 @@ function tripal_natural_diversity_chado_nd_protocol_schema() {
 
 
   return $description;
   return $description;
 }
 }
+/**
+ * Implements hook_chado_schema_v1_2_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_protocol table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_2_nd_protocol() {
+  $description = array();
+
+  $description = array(
+    'referring_tables' => array(
+      'nd_experiment_protocol',
+      'nd_protocol_reagent',
+      'nd_protocolprop'
+    ),
+  );
 
 
-function tripal_natural_diversity_chado_nd_protocol_reagent_schema() {
+  return $description;
+}
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_protocol_reagent table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_protocol_reagent() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -735,8 +996,18 @@ function tripal_natural_diversity_chado_nd_protocol_reagent_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_protocolprop_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_protocolprop table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_protocolprop() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -786,8 +1057,18 @@ function tripal_natural_diversity_chado_nd_protocolprop_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_reagent_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_reagent table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_reagent() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -826,8 +1107,18 @@ function tripal_natural_diversity_chado_nd_reagent_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_reagent_relationship_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_reagent_relationship table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_reagent_relationship() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(
@@ -872,8 +1163,18 @@ function tripal_natural_diversity_chado_nd_reagent_relationship_schema() {
 
 
   return $description;
   return $description;
 }
 }
-
-function tripal_natural_diversity_chado_nd_reagentprop_schema() {
+/**
+ * Implements hook_chado_schema_v1_11_table()
+ *
+ * Purpose: To add descriptions and foreign keys to default table description
+ * Note: This array will be merged with the array from all other implementations
+ *
+ * @return
+ *    Array describing the nd_reagentprop table
+ *
+ * @ingroup tripal_schema_api
+ */
+function tripal_natural_diversity_chado_schema_v1_11_nd_reagentprop() {
   $description = array();
   $description = array();
 
 
   $description = array(
   $description = array(

+ 16 - 17
tripal_organism/tripal_organism.api.inc

@@ -73,7 +73,7 @@ function tripal_organism_get_organism_by_organism_id($organism_id) {
  */
  */
 
 
 /**
 /**
- * Implements hook_chado_organism_schema()
+ * Implements hook_chado_schema_v1_11_table()
  *
  *
  * Purpose: To add descriptions and foreign keys to default table description
  * Purpose: To add descriptions and foreign keys to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
@@ -83,7 +83,7 @@ function tripal_organism_get_organism_by_organism_id($organism_id) {
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_organism_chado_organism_schema() {
+function tripal_organism_chado_schema_v1_11_organism() {
   $description = array();
   $description = array();
 
 
   $referring_tables = array(
   $referring_tables = array(
@@ -102,35 +102,34 @@ function tripal_organism_chado_organism_schema() {
 }
 }
 
 
 /**
 /**
- * Implements hook_chado_organismprop_schema()
+ * Implements hook_chado_schema_v1_2_table()
  *
  *
  * Purpose: To add descriptions and foreign keys to default table description
  * Purpose: To add descriptions and foreign keys to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
  * @return
  * @return
- *    Array describing the organismprop table
+ *    Array describing the organism table
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_organism_chado_organismprop_schema() {
+function tripal_organism_chado_schema_v1_2_organism() {
   $description = array();
   $description = array();
 
 
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
-  $description['foreign keys']['organism'] = array(
-        'table' => 'organism',
-        'columns' => array(
-          'organism_id' => 'organism_id',
-        ),
+  $referring_tables = array(
+    'biomaterial',
+    'feature',
+    'library',
+    'organism_dbxref',
+    'organismprop',
+    'phylonode_organism',
+    'stock',
+    'wwwuser_organism'
   );
   );
+  $description['referring_tables'] = $referring_tables;
 
 
   return $description;
   return $description;
 }
 }
+
 /**
 /**
  *  Returns a list of organisms that are currently synced with Drupal
  *  Returns a list of organisms that are currently synced with Drupal
  * @ingroup tripal_organism_api
  * @ingroup tripal_organism_api

+ 21 - 91
tripal_organism/tripal_organism.module

@@ -96,13 +96,6 @@ function tripal_organism_block($op = 'list', $delta = '0', $edit = array()) {
 function tripal_organism_menu() {
 function tripal_organism_menu() {
   $items = array();
   $items = array();
 
 
-  $items['organisms'] = array(
-    'menu_name' => ('primary-links'), //Enable the 'Organism' primary link
-    'title' => 'Organisms',
-    'page callback' => 'tripal_organism_show_organisms',
-    'access arguments' => array('access chado_organism content'),
-    'type' => MENU_NORMAL_ITEM
-  );
   // the administative settings menu
   // the administative settings menu
   $items['admin/tripal/tripal_organism'] = array(
   $items['admin/tripal/tripal_organism'] = array(
    'title' => 'Organisms',
    'title' => 'Organisms',
@@ -633,9 +626,6 @@ function tripal_organism_admin_validate($form, &$form_state) {
  */
  */
 function tripal_organism_theme() {
 function tripal_organism_theme() {
   return array(
   return array(
-    'tripal_organism_organism_page' => array(
-       'arguments' => array('organisms'),
-    ),
     'tripal_organism_base' => array(
     'tripal_organism_base' => array(
        'arguments' => array('node' => NULL),
        'arguments' => array('node' => NULL),
        'template' => 'tripal_organism_base',
        'template' => 'tripal_organism_base',
@@ -742,9 +732,9 @@ function chado_organism_insert($node) {
         array('%values' => print_r($values, TRUE)),
         array('%values' => print_r($values, TRUE)),
         WATCHDOG_WARNING
         WATCHDOG_WARNING
       );
       );
-    return;
+      return;
     }
     }
-  $organism_id = $organism['organism_id'];
+    $organism_id = $organism['organism_id'];
   }
   }
   else {
   else {
     $organism_id = $node->organism_id;
     $organism_id = $node->organism_id;
@@ -779,30 +769,27 @@ function chado_organism_update($node) {
   if ($node->revision) {
   if ($node->revision) {
     // TODO -- decide what to do about revisions
     // TODO -- decide what to do about revisions
   }
   }
-  else {
-    $match = array(
-      'organism_id' => chado_get_id_for_node('organism', $node),
-    );
-    $values = array(
-      'genus' => $node->genus,
-      'species' => $node->species,
-      'abbreviation' => $node->abbreviation,
-      'common_name' => $node->common_name,
-      'comment' => $node->description
-    );
-    $org_status = tripal_core_chado_update('organism', $match, $values);
-
-    // set the title for the node
-    $record = new stdClass();
-    $record->title = "$node->genus $node->species";
-    $record->nid = $node->nid;
-    drupal_write_record('node', $record, 'nid');
-    drupal_write_record('node_revisions', $record, 'nid');
+  $match = array(
+    'organism_id' => chado_get_id_for_node('organism', $node),
+  );
+  $values = array(
+    'genus' => $node->genus,
+    'species' => $node->species,
+    'abbreviation' => $node->abbreviation,
+    'common_name' => $node->common_name,
+    'comment' => $node->description
+  );
+  $org_status = tripal_core_chado_update('organism', $match, $values);
 
 
-    // add the image
-    chado_organism_add_image($node);
+  // set the title for the node
+  $record = new stdClass();
+  $record->title = "$node->genus $node->species";
+  $record->nid = $node->nid;
+  drupal_write_record('node', $record, 'nid');
+  drupal_write_record('node_revisions', $record, 'nid');
 
 
-  }
+  // add the image
+  chado_organism_add_image($node);
 }
 }
 /**
 /**
  * Delete organism from both drupal and chado databases. Check dependency before
  * Delete organism from both drupal and chado databases. Check dependency before
@@ -1073,63 +1060,6 @@ function tripal_organism_help($path, $arg) {
   return $output;
   return $output;
 }
 }
 
 
-/**
- * Display the summary view of organisms when click on the 'Organisms'
- * primary-link
- *
- * @ingroup tripal_organism
- */
-function tripal_organism_show_organisms() {
-  // Show libraries stored in Drupal's {chado_organism} table
-  $sql = "SELECT COUNT(organism_id) FROM {chado_organism}";
-  $no_orgs = db_result(db_query($sql));
-  if ($no_orgs != 0) {
-    $organisms = get_chado_organisms();
-    return theme('tripal_organism_organism_page', $organisms);
-  }
-  else {
-    return t("No organism exists. Please contact administrators to " .
-             "synchronize organisms.");
-  }
-}
-/**
- *
- * @ingroup tripal_organism
- */
-function theme_tripal_organism_organism_page($organisms) {
-
-  $output = "<br /><a id=\"tripal_expandableBox_toggle_button\" onClick=\"toggleExpandableBoxes()\">[-] Collapse All</a>";
-  foreach ($organisms as $organism) {
-    // Prepare information for html output
-    $org_url = url("node/$organism->node_id");
-
-    // Generate html output
-    $output .= "<div class=\"tripal_chado_organism-info-box\" style=\"padding:5px\">
-                       <div class=\"tripal_expandableBox\">
-                         <h3>$organism->common_name</h3>
-                       </div>
-                       <div class=\"tripal_expandableBoxContent\">
-                         <span>
-                           <table class=\"tripal_chado_analysis_content\">
-                             <tr><td>
-                               Name: <a href=\"$org_url\">$organism->common_name</a>
-                             </td></tr>
-                             <tr><td>
-                               Genus: $organism->genus
-                             </td></tr>
-                             <tr><td>
-                               Species: $organism->species
-                             </td></tr>
-                             <tr><td>
-                               Description: $organism->comment
-                             </td></tr>
-                           </table>
-                         </span>
-                       </div>
-                     </div>";
-  }
-  return $output;
-}
 
 
 /**
 /**
  * This function uses organism_id's of all drupal organism nodes as input and
  * This function uses organism_id's of all drupal organism nodes as input and

+ 0 - 61
tripal_pub/e_utilities.pl

@@ -1,61 +0,0 @@
-#!/usr/bin/perl -w
-# ---------------------------------------------------------------------------
-# Define library for the 'get' function used in the next section.
-# $utils contains route for the utilities.
-# $db, $query, and $report may be supplied by the user when prompted; 
-# if not answered, default values, will be assigned as shown below.
-
-use LWP::Simple;
-use utf8;
-
-my $utils = "http://www.ncbi.nlm.nih.gov/entrez/eutils";
-
-my $db     = "Pubmed";
-my $query  = $ARGV[0];
-my $report = $ARGV[1];
-
-# ---------------------------------------------------------------------------
-# $esearch contÁins the PATH & parameters for the ESearch call
-# $esearch_result containts the result of the ESearch call
-# the results are displayed Ánd parsed into variables 
-# $Count, $QueryKey, and $WebEnv for later use and then displayed.
-
-my $esearch = "$utils/esearch.fcgi?" .
-              "db=$db&retmax=1&usehistory=y&term=";
-
-my $esearch_result = get($esearch . $query);
-
-
-
-$esearch_result =~ 
-  m|<Count>(\d+)</Count>.*<QueryKey>(\d+)</QueryKey>.*<WebEnv>(\S+)</WebEnv>|s;
-
-my $Count    = $1;
-my $QueryKey = $2;
-my $WebEnv   = $3;
-
-# ---------------------------------------------------------------------------
-# this area defines a loop which will display $retmax citation results from 
-# Efetch each time the the Enter Key is pressed, after a prompt.
-
-my $retstart;
-my $retmax=3;
-
-for($retstart = 0; $retstart < $Count; $retstart += $retmax) {
-  my $efetch = "$utils/efetch.fcgi?" .
-               "rettype=$report&retmode=text&retstart=$retstart&retmax=$retmax&" .
-               "db=$db&query_key=$QueryKey&WebEnv=$WebEnv";
-	
-  #print "\nEF_QUERY=$efetch\n";     
-
-
-  my $efetch_result = get($efetch);
-
-	#open( $fh, '>', \$efetch_result);
-
-  
-  print $efetch_result;
-    
-  #print binmode($fh, ":utf8");
-  
-}

+ 0 - 2687
tripal_pub/publication.obo

@@ -1,2687 +0,0 @@
-format-version: 1.2
-idspace: BIRN_ImagePhenotype http://ccdb.ucsd.edu/SAO/DPO/1.0/ImagePhenotype.owl ""
-idspace: BIRN_PDPO http://ccdb.ucsd.edu/PDPhenotypeOntology/1.0# ""
-idspace: BIRN_PDStage http://ccdb.ucsd.edu/PDStageOntology/1.0/ ""
-idspace: BIRN_SA http://ccdb.ucsd.edu/smart_atlas_ontology/sa.owl# ""
-idspace: NDPO http://ccdb.ucsd.edu/SAO/Disease/1.0/NDPO.owl# ""
-idspace: PKB http://ccdb.ucsd.edu/PKB/1.0/PKB.owl# ""
-idspace: SAO_HumanDPO http://ccdb.ucsd.edu/SAO/HumanDPO.owl# ""
-idspace: bfo http://www.ifomis.org/bfo/1.1# ""
-idspace: bfo1_0 http://www.ifomis.org/bfo/1.0# ""
-idspace: biopax1 http://www.biopax.org/release/biopax-level1.owl# ""
-idspace: birnlex_anatomy http://purl.org/nbirn/birnlex/ontology/BIRNLex-Anatomy.owl# ""
-idspace: birnlex_disease http://purl.org/nbirn/birnlex/ontology/BIRNLex-Disease.owl# ""
-idspace: birnlex_tax http://purl.org/nbirn/birnlex/ontology/BIRNLex-OrganismalTaxonomy.owl# ""
-idspace: c http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/cluster# ""
-idspace: daml http://www.daml.org/2001/03/daml+oil# ""
-idspace: dc http://purl.org/dc/elements/1.1/ ""
-idspace: dcterms http://purl.org/dc/terms/ ""
-idspace: eor http://dublincore.org/2000/03/13/eor# ""
-idspace: galen http://www.co-ode.org/ontologies/galen# ""
-idspace: mged http://mged.sourceforge.net/ontologies/MGEDOntology.owl# ""
-idspace: oban http://www.berkeleybop.org/ontologies/oban/alpha# ""
-idspace: obd http://www.bioontology.org/obd/obd-ontology# ""
-idspace: oboInOwl http://www.geneontology.org/formats/oboInOwl# ""
-idspace: owl http://www.w3.org/2002/07/owl# ""
-idspace: p http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/party# ""
-idspace: propreo http://lsdis.cs.uga.edu/projects/glycomics/propreo# ""
-idspace: r http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/region# ""
-idspace: rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# ""
-idspace: rdfs http://www.w3.org/2000/01/rdf-schema# ""
-idspace: reactome http://www.reactome.org/biopax# ""
-idspace: sao http://ccdb.ucsd.edu/SAO/1.2# ""
-idspace: serql http://www.openrdf.org/schema/serql# ""
-idspace: skos http://www.w3.org/2004/02/skos/core# ""
-idspace: snap http://www.ifomis.org/bfo/1.1/snap# ""
-idspace: snap1_0 http://www.ifomis.org/bfo/1.0/snap# ""
-idspace: span http://www.ifomis.org/bfo/1.1/span# ""
-idspace: span1_0 http://www.ifomis.org/bfo/1.0/span# ""
-idspace: xsd http://www.w3.org/2001/XMLSchema# ""
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#A-General_Literature
-name: General Literature
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#A_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#A-General_Literature  ! General Literature
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#A_1-Introductory_And_Survey
-name: Introductory And Survey
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#A-General_Literature  ! General Literature
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#A_2-Reference
-name: Reference
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#A-General_Literature  ! General Literature
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#A_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#A-General_Literature  ! General Literature
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Activity
-name: Activity
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event  ! Event
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Conference  ! Conference
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Meeting  ! Meeting
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Workshop  ! Workshop
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Anthology
-name: Anthology
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Biography  ! Biography
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Monograph  ! Monograph
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article
-name: Article
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine  ! Magazine
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter  ! Newsletter
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster  ! Poster
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings  ! Proceedings
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport  ! Technical report
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction  ! Transaction
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Author
-name: Author
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: p:Person 
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware
-name: Hardware
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware  ! Hardware
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1-Control_Structures_And_Microprogramming
-name: Control Structures And Microprogramming
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware  ! Hardware
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1-Control_Structures_And_Microprogramming  ! Control Structures And Microprogramming
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1_1-Control_Design_Styles
-name: Control Design Styles
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1-Control_Structures_And_Microprogramming  ! Control Structures And Microprogramming
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1_2-Control_Structure_Performance_Analysis_And_Design_Aids
-name: Control Structure Performance Analysis And Design Aids
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1-Control_Structures_And_Microprogramming  ! Control Structures And Microprogramming
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1_3-Control_Structure_Reliability__Testing__And_Fault-tolerance
-name: Control Structure Reliability, Testing, And Fault-tolerance**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1-Control_Structures_And_Microprogramming  ! Control Structures And Microprogramming
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1_4-Microprogram_Design_Aids
-name: Microprogram Design Aids
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1-Control_Structures_And_Microprogramming  ! Control Structures And Microprogramming
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1_5-Microcode_Applications
-name: Microcode Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1-Control_Structures_And_Microprogramming  ! Control Structures And Microprogramming
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_1-Control_Structures_And_Microprogramming  ! Control Structures And Microprogramming
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2-Arithmetic_And_Logic_Structures
-name: Arithmetic And Logic Structures
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware  ! Hardware
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2-Arithmetic_And_Logic_Structures  ! Arithmetic And Logic Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2_1-Design_Styles
-name: Design Styles
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2-Arithmetic_And_Logic_Structures  ! Arithmetic And Logic Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2_2-Performance_Analysis_And_Design_Aids
-name: Performance Analysis And Design Aids**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2-Arithmetic_And_Logic_Structures  ! Arithmetic And Logic Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2_3-Reliability__Testing__And_Fault-tolerance
-name: Reliability, Testing, And Fault-tolerance**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2-Arithmetic_And_Logic_Structures  ! Arithmetic And Logic Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2_4-High-speed_Arithmetic
-name: High-speed Arithmetic
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2-Arithmetic_And_Logic_Structures  ! Arithmetic And Logic Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_2-Arithmetic_And_Logic_Structures  ! Arithmetic And Logic Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3-Memory_Structures
-name: Memory Structures
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware  ! Hardware
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3-Memory_Structures  ! Memory Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3_1-Semiconductor_Memories
-name: Semiconductor Memories
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3-Memory_Structures  ! Memory Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3_2-Design_Styles
-name: Design Styles
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3-Memory_Structures  ! Memory Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3_3-Performance_Analysis_And_Design_Aids
-name: Performance Analysis And Design Aids**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3-Memory_Structures  ! Memory Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3_4-Reliability__Testing__And_Fault-tolerance
-name: Reliability, Testing, And Fault-tolerance**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3-Memory_Structures  ! Memory Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_3-Memory_Structures  ! Memory Structures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4-Input-output_And_Data_Communications
-name: Input/output And Data Communications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware  ! Hardware
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4-Input-output_And_Data_Communications  ! Input/output And Data Communications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4_1-Data_Communications_Devices
-name: Data Communications Devices
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4-Input-output_And_Data_Communications  ! Input/output And Data Communications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4_2-Input-output_Devices
-name: Input/output Devices
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4-Input-output_And_Data_Communications  ! Input/output And Data Communications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4_3-Interconnections
-name: Interconnections (subsystems)
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4-Input-output_And_Data_Communications  ! Input/output And Data Communications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4_4-Performance_Analysis_And_Design_Aids
-name: Performance Analysis And Design Aids**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4-Input-output_And_Data_Communications  ! Input/output And Data Communications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4_5-Reliability__Testing__And_Fault-tolerance
-name: Reliability, Testing, And Fault-tolerance**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4-Input-output_And_Data_Communications  ! Input/output And Data Communications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_4-Input-output_And_Data_Communications  ! Input/output And Data Communications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5-Register-transfer-level_Implementation
-name: Register-transfer-level Implementation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware  ! Hardware
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5-Register-transfer-level_Implementation  ! Register-transfer-level Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5_1-Design
-name: Design
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5-Register-transfer-level_Implementation  ! Register-transfer-level Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5_2-Design_Aids
-name: Design Aids
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5-Register-transfer-level_Implementation  ! Register-transfer-level Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5_3-Reliability_And_Testing
-name: Reliability And Testing**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5-Register-transfer-level_Implementation  ! Register-transfer-level Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_5-Register-transfer-level_Implementation  ! Register-transfer-level Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6-Logic_Design
-name: Logic Design
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware  ! Hardware
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6-Logic_Design  ! Logic Design
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6_1-Design_Styles
-name: Design Styles
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6-Logic_Design  ! Logic Design
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6_2-Reliability_And_Testing
-name: Reliability And Testing**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6-Logic_Design  ! Logic Design
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6_3-Design_Aids
-name: Design Aids
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6-Logic_Design  ! Logic Design
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_6-Logic_Design  ! Logic Design
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7-Integrated_Circuits
-name: Integrated Circuits
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware  ! Hardware
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7-Integrated_Circuits  ! Integrated Circuits
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7_1-Types_And_Design_Styles
-name: Types And Design Styles
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7-Integrated_Circuits  ! Integrated Circuits
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7_2-Design_Aids
-name: Design Aids
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7-Integrated_Circuits  ! Integrated Circuits
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7_3-Reliability_And_Testing
-name: Reliability And Testing**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7-Integrated_Circuits  ! Integrated Circuits
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_7-Integrated_Circuits  ! Integrated Circuits
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_8-Performance_And_Reliability
-name: Performance And Reliability
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware  ! Hardware
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_8_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_8-Performance_And_Reliability  ! Performance And Reliability
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_8_1-Reliability__Testing__And_Fault-tolerance
-name: Reliability, Testing, And Fault-tolerance
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_8-Performance_And_Reliability  ! Performance And Reliability
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_8_2-Performance_Analysis_And_Design_Aids
-name: Performance Analysis And Design Aids
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_8-Performance_And_Reliability  ! Performance And Reliability
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_8_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_8-Performance_And_Reliability  ! Performance And Reliability
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#B-Hardware  ! Hardware
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Biography
-name: Biography
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Anthology  ! Anthology
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Monograph  ! Monograph
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book
-name: Book
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article  ! Article
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine  ! Magazine
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter  ! Newsletter
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster  ! Poster
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings  ! Proceedings
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport  ! Technical report
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction  ! Transaction
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C-Computer_Systems_Organization
-name: Computer Systems Organization
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C-Computer_Systems_Organization  ! Computer Systems Organization
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1-Processor_Architectures
-name: Processor Architectures
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C-Computer_Systems_Organization  ! Computer Systems Organization
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1-Processor_Architectures  ! Processor Architectures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1_1-Single_Data_Stream_Architectures
-name: Single Data Stream Architectures
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1-Processor_Architectures  ! Processor Architectures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1_2-Multiple_Data_Stream_Architectures
-name: Multiple Data Stream Architectures (multiprocessors)
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1-Processor_Architectures  ! Processor Architectures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1_3-Other_Architecture_Styles
-name: Other Architecture Styles
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1-Processor_Architectures  ! Processor Architectures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1_4-Parallel_Architectures
-name: Parallel Architectures
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1-Processor_Architectures  ! Processor Architectures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_1-Processor_Architectures  ! Processor Architectures
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2-Computer-communication_Networks
-name: Computer-communication Networks
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C-Computer_Systems_Organization  ! Computer Systems Organization
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2-Computer-communication_Networks  ! Computer-communication Networks
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2_1-Network_Architecture_And_Design
-name: Network Architecture And Design
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2-Computer-communication_Networks  ! Computer-communication Networks
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2_2-Network_Protocols
-name: Network Protocols
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2-Computer-communication_Networks  ! Computer-communication Networks
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2_3-Network_Operations
-name: Network Operations
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2-Computer-communication_Networks  ! Computer-communication Networks
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2_4-Distributed_Systems
-name: Distributed Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2-Computer-communication_Networks  ! Computer-communication Networks
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2_5-Local_And_Wide-area_Networks
-name: Local And Wide-area Networks
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2-Computer-communication_Networks  ! Computer-communication Networks
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2_6-Internetworking
-name: Internetworking
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2-Computer-communication_Networks  ! Computer-communication Networks
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_2-Computer-communication_Networks  ! Computer-communication Networks
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_3-Special-purpose_And_Application-based_Systems
-name: Special-purpose And Application-based Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C-Computer_Systems_Organization  ! Computer Systems Organization
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_4-Performance_Of_Systems
-name: Performance Of Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C-Computer_Systems_Organization  ! Computer Systems Organization
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5-Computer_System_Implementation
-name: Computer System Implementation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C-Computer_Systems_Organization  ! Computer Systems Organization
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5-Computer_System_Implementation  ! Computer System Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5_1-Large_And_Medium_Computers
-name: Large And Medium (\"mainframe\") Computers
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5-Computer_System_Implementation  ! Computer System Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5_2-Minicomputers
-name: Minicomputers**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5-Computer_System_Implementation  ! Computer System Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5_3-Microcomputers
-name: Microcomputers
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5-Computer_System_Implementation  ! Computer System Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5_4-Vlsi_Systems
-name: Vlsi Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5-Computer_System_Implementation  ! Computer System Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5_5-Servers
-name: Servers
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5-Computer_System_Implementation  ! Computer System Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_5-Computer_System_Implementation  ! Computer System Implementation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#C-Computer_Systems_Organization  ! Computer Systems Organization
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Conference
-name: Conference
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event  ! Event
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Activity  ! Activity
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Meeting  ! Meeting
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Workshop  ! Workshop
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#ConferencePaper
-name: Conference paper
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#WorkshopPaper  ! Workshop paper
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D-Software
-name: Software
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D-Software  ! Software
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1-Programming_Techniques
-name: Programming Techniques
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D-Software  ! Software
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1-Programming_Techniques  ! Programming Techniques
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1_1-Applicative_Programming
-name: Applicative (functional) Programming
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1-Programming_Techniques  ! Programming Techniques
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1_2-Automatic_Programming
-name: Automatic Programming
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1-Programming_Techniques  ! Programming Techniques
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1_3-Concurrent_Programming
-name: Concurrent Programming
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1-Programming_Techniques  ! Programming Techniques
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1_4-Sequential_Programming
-name: Sequential Programming
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1-Programming_Techniques  ! Programming Techniques
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1_5-Object-oriented_Programming
-name: Object-oriented Programming
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1-Programming_Techniques  ! Programming Techniques
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1_6-Logic_Programming
-name: Logic Programming
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1-Programming_Techniques  ! Programming Techniques
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1_7-Visual_Programming
-name: Visual Programming
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1-Programming_Techniques  ! Programming Techniques
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_1-Programming_Techniques  ! Programming Techniques
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering
-name: Software Engineering
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D-Software  ! Software
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_1-Requirements-specifications
-name: Requirements/specifications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_2-Design_Tools_And_Techniques
-name: Design Tools And Techniques
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_3-Coding_Tools_And_Techniques
-name: Coding Tools And Techniques
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_4-Software-program_Verification
-name: Software/program Verification
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_5-Testing_And_Debugging
-name: Testing And Debugging
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_6-Programming_Environments
-name: Programming Environments
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_7-Distribution__Maintenance__And_Enhancement
-name: Distribution, Maintenance, And Enhancement
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_8-Metrics
-name: Metrics
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_9-Management
-name: Management
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_2-Software_Engineering  ! Software Engineering
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3-Programming_Languages
-name: Programming Languages
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D-Software  ! Software
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3-Programming_Languages  ! Programming Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3_1-Formal_Definitions_And_Theory
-name: Formal Definitions And Theory
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3-Programming_Languages  ! Programming Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3_2-Language_Classifications
-name: Language Classifications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3-Programming_Languages  ! Programming Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3_3-Language_Constructs_And_Features
-name: Language Constructs And Features
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3-Programming_Languages  ! Programming Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3_4-Processors
-name: Processors
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3-Programming_Languages  ! Programming Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_3-Programming_Languages  ! Programming Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems
-name: Operating Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D-Software  ! Software
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_1-Process_Management
-name: Process Management
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_2-Storage_Management
-name: Storage Management
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_3-File_Systems_Management
-name: File Systems Management
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_4-Communications_Management
-name: Communications Management
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_5-Reliability
-name: Reliability
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_6-Security_And_Protection
-name: Security And Protection
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_7-Organization_And_Design
-name: Organization And Design
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_8-Performance
-name: Performance
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_9-Systems_Programs_And_Utilities
-name: Systems Programs And Utilities
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_4-Operating_Systems  ! Operating Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#D-Software  ! Software
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E-Data
-name: Data
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E-Data  ! Data
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E_1-Data_Structures
-name: Data Structures
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E-Data  ! Data
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E_2-Data_Storage_Representations
-name: Data Storage Representations
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E-Data  ! Data
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E_3-Data_Encryption
-name: Data Encryption
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E-Data  ! Data
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E_4-Coding_And_Information_Theory
-name: Coding And Information Theory
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E-Data  ! Data
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E_5-Files
-name: Files
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E-Data  ! Data
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#E-Data  ! Data
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Editor
-name: Editor
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: p:Person 
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event
-name: Event
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F-Theory_Of_Computation
-name: Theory Of Computation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F-Theory_Of_Computation  ! Theory Of Computation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1-Computation_By_Abstract_Devices
-name: Computation By Abstract Devices
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F-Theory_Of_Computation  ! Theory Of Computation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1-Computation_By_Abstract_Devices  ! Computation By Abstract Devices
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1_1-Models_Of_Computation
-name: Models Of Computation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1-Computation_By_Abstract_Devices  ! Computation By Abstract Devices
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1_2-Modes_Of_Computation
-name: Modes Of Computation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1-Computation_By_Abstract_Devices  ! Computation By Abstract Devices
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1_3-Complexity_Measures_And_Classes
-name: Complexity Measures And Classes
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1-Computation_By_Abstract_Devices  ! Computation By Abstract Devices
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_1-Computation_By_Abstract_Devices  ! Computation By Abstract Devices
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2-Analysis_Of_Algorithms_And_Problem_Complexity
-name: Analysis Of Algorithms And Problem Complexity
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F-Theory_Of_Computation  ! Theory Of Computation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2-Analysis_Of_Algorithms_And_Problem_Complexity  ! Analysis Of Algorithms And Problem Complexity
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2_1-Numerical_Algorithms_And_Problems
-name: Numerical Algorithms And Problems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2-Analysis_Of_Algorithms_And_Problem_Complexity  ! Analysis Of Algorithms And Problem Complexity
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2_2-Nonnumerical_Algorithms_And_Problems
-name: Nonnumerical Algorithms And Problems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2-Analysis_Of_Algorithms_And_Problem_Complexity  ! Analysis Of Algorithms And Problem Complexity
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2_3-Tradeoffs_Among_Complexity_Measures
-name: Tradeoffs Among Complexity Measures
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2-Analysis_Of_Algorithms_And_Problem_Complexity  ! Analysis Of Algorithms And Problem Complexity
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_2-Analysis_Of_Algorithms_And_Problem_Complexity  ! Analysis Of Algorithms And Problem Complexity
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3-Logics_And_Meanings_Of_Programs
-name: Logics And Meanings Of Programs
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F-Theory_Of_Computation  ! Theory Of Computation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3-Logics_And_Meanings_Of_Programs  ! Logics And Meanings Of Programs
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3_1-Specifying_And_Verifying_And_Reasoning_About_Programs
-name: Specifying And Verifying And Reasoning About Programs
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3-Logics_And_Meanings_Of_Programs  ! Logics And Meanings Of Programs
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3_2-Semantics_Of_Programming_Languages
-name: Semantics Of Programming Languages
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3-Logics_And_Meanings_Of_Programs  ! Logics And Meanings Of Programs
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3_3-Studies_Of_Program_Constructs
-name: Studies Of Program Constructs
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3-Logics_And_Meanings_Of_Programs  ! Logics And Meanings Of Programs
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_3-Logics_And_Meanings_Of_Programs  ! Logics And Meanings Of Programs
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4-Mathematical_Logic_And_Formal_Languages
-name: Mathematical Logic And Formal Languages
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F-Theory_Of_Computation  ! Theory Of Computation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4-Mathematical_Logic_And_Formal_Languages  ! Mathematical Logic And Formal Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4_1-Mathematical_Logic
-name: Mathematical Logic
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4-Mathematical_Logic_And_Formal_Languages  ! Mathematical Logic And Formal Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4_2-Grammars_And_Other_Rewriting_Systems
-name: Grammars And Other Rewriting Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4-Mathematical_Logic_And_Formal_Languages  ! Mathematical Logic And Formal Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4_3-Formal_Languages
-name: Formal Languages
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4-Mathematical_Logic_And_Formal_Languages  ! Mathematical Logic And Formal Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_4-Mathematical_Logic_And_Formal_Languages  ! Mathematical Logic And Formal Languages
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#F-Theory_Of_Computation  ! Theory Of Computation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G-Mathematics_Of_Computing
-name: Mathematics Of Computing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G-Mathematics_Of_Computing  ! Mathematics Of Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis
-name: Numerical Analysis
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G-Mathematics_Of_Computing  ! Mathematics Of Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_1-Interpolation
-name: Interpolation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_2-Approximation
-name: Approximation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_3-Numerical_Linear_Algebra
-name: Numerical Linear Algebra
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_4-Quadrature_And_Numerical_Differentiation
-name: Quadrature And Numerical Differentiation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_5-Roots_Of_Nonlinear_Equations
-name: Roots Of Nonlinear Equations
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_6-Optimization
-name: Optimization
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_7-Ordinary_Differential_Equations
-name: Ordinary Differential Equations
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_8-Partial_Differential_Equations
-name: Partial Differential Equations
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_9-Integral_Equations
-name: Integral Equations
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_1-Numerical_Analysis  ! Numerical Analysis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2-Discrete_Mathematics
-name: Discrete Mathematics
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G-Mathematics_Of_Computing  ! Mathematics Of Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2-Discrete_Mathematics  ! Discrete Mathematics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2_1-Combinatorics
-name: Combinatorics
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2-Discrete_Mathematics  ! Discrete Mathematics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2_2-Graph_Theory
-name: Graph Theory
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2-Discrete_Mathematics  ! Discrete Mathematics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2_3-Applications
-name: Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2-Discrete_Mathematics  ! Discrete Mathematics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_2-Discrete_Mathematics  ! Discrete Mathematics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_3-Probability_And_Statistics
-name: Probability And Statistics
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G-Mathematics_Of_Computing  ! Mathematics Of Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_4-Mathematical_Software
-name: Mathematical Software
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G-Mathematics_Of_Computing  ! Mathematics Of Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#G-Mathematics_Of_Computing  ! Mathematics Of Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H-Information_Systems
-name: Information Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H-Information_Systems  ! Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_1-Models_And_Principles
-name: Models And Principles
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H-Information_Systems  ! Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_1_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_1-Models_And_Principles  ! Models And Principles
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_1_1-Systems_And_Information_Theory
-name: Systems And Information Theory
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_1-Models_And_Principles  ! Models And Principles
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_1_2-User-machine_Systems
-name: User/machine Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_1-Models_And_Principles  ! Models And Principles
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_1_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_1-Models_And_Principles  ! Models And Principles
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management
-name: Database Management
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H-Information_Systems  ! Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management  ! Database Management
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2_1-Logical_Design
-name: Logical Design
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management  ! Database Management
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2_2-Physical_Design
-name: Physical Design
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management  ! Database Management
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2_3-Languages
-name: Languages
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management  ! Database Management
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2_4-Systems
-name: Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management  ! Database Management
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2_5-Heterogeneous_Databases
-name: Heterogeneous Databases
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management  ! Database Management
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2_6-Database_Machines
-name: Database Machines
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management  ! Database Management
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2_7-Database_Administration
-name: Database Administration
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management  ! Database Management
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2_8-Database_Applications
-name: Database Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management  ! Database Management
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_2-Database_Management  ! Database Management
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3-Information_Storage_And_Retrieval
-name: Information Storage And Retrieval
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H-Information_Systems  ! Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3-Information_Storage_And_Retrieval  ! Information Storage And Retrieval
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3_1-Content_Analysis_And_Indexing
-name: Content Analysis And Indexing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3-Information_Storage_And_Retrieval  ! Information Storage And Retrieval
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3_2-Information_Storage
-name: Information Storage
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3-Information_Storage_And_Retrieval  ! Information Storage And Retrieval
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3_3-Information_Search_And_Retrieval
-name: Information Search And Retrieval
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3-Information_Storage_And_Retrieval  ! Information Storage And Retrieval
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3_4-Systems_And_Software
-name: Systems And Software
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3-Information_Storage_And_Retrieval  ! Information Storage And Retrieval
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3_5-On-line_Information_Services
-name: On-line Information Services
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3-Information_Storage_And_Retrieval  ! Information Storage And Retrieval
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3_6-Library_Automation
-name: Library Automation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3-Information_Storage_And_Retrieval  ! Information Storage And Retrieval
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3_7-Digital_Libraries
-name: Digital Libraries
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3-Information_Storage_And_Retrieval  ! Information Storage And Retrieval
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_3-Information_Storage_And_Retrieval  ! Information Storage And Retrieval
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4-Information_Systems_Applications
-name: Information Systems Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H-Information_Systems  ! Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4-Information_Systems_Applications  ! Information Systems Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4_1-Office_Automation
-name: Office Automation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4-Information_Systems_Applications  ! Information Systems Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4_2-Types_Of_Systems
-name: Types Of Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4-Information_Systems_Applications  ! Information Systems Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4_3-Communications_Applications
-name: Communications Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4-Information_Systems_Applications  ! Information Systems Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_4-Information_Systems_Applications  ! Information Systems Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5-Information_Interfaces_And_Presentation
-name: Information Interfaces And Presentation (i.7)
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H-Information_Systems  ! Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5-Information_Interfaces_And_Presentation  ! Information Interfaces And Presentation (i.7)
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5_1-Multimedia_Information_Systems
-name: Multimedia Information Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5-Information_Interfaces_And_Presentation  ! Information Interfaces And Presentation (i.7)
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5_2-User_Interfaces
-name: User Interfaces (d.2.2, H.1.2, I.3.6)
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5-Information_Interfaces_And_Presentation  ! Information Interfaces And Presentation (i.7)
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5_3-Group_And_Organization_Interfaces
-name: Group And Organization Interfaces
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5-Information_Interfaces_And_Presentation  ! Information Interfaces And Presentation (i.7)
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5_4-Hypertext-hypermedia
-name: Hypertext/hypermedia
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5-Information_Interfaces_And_Presentation  ! Information Interfaces And Presentation (i.7)
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5_5-Sound_And_Music_Computing
-name: Sound And Music Computing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5-Information_Interfaces_And_Presentation  ! Information Interfaces And Presentation (i.7)
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_5-Information_Interfaces_And_Presentation  ! Information Interfaces And Presentation (i.7)
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#H-Information_Systems  ! Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I-Computing_Methodologies
-name: Computing Methodologies
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I-Computing_Methodologies  ! Computing Methodologies
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1-Symbolic_And_Algebraic_Manipulation
-name: Symbolic And Algebraic Manipulation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I-Computing_Methodologies  ! Computing Methodologies
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1-Symbolic_And_Algebraic_Manipulation  ! Symbolic And Algebraic Manipulation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1_1-Expressions_And_Their_Representation
-name: Expressions And Their Representation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1-Symbolic_And_Algebraic_Manipulation  ! Symbolic And Algebraic Manipulation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1_2-Algorithms
-name: Algorithms
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1-Symbolic_And_Algebraic_Manipulation  ! Symbolic And Algebraic Manipulation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1_3-Languages_And_Systems
-name: Languages And Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1-Symbolic_And_Algebraic_Manipulation  ! Symbolic And Algebraic Manipulation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1_4-Applications
-name: Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1-Symbolic_And_Algebraic_Manipulation  ! Symbolic And Algebraic Manipulation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_1-Symbolic_And_Algebraic_Manipulation  ! Symbolic And Algebraic Manipulation
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence
-name: Artificial Intelligence
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I-Computing_Methodologies  ! Computing Methodologies
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_1-Applications_And_Expert_Systems
-name: Applications And Expert Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_2-Automatic_Programming
-name: Automatic Programming
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_3-Deduction_And_Theorem_Proving
-name: Deduction And Theorem Proving
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_4-Knowledge_Representation_Formalisms_And_Methods
-name: Knowledge Representation Formalisms And Methods
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_5-Programming_Languages_And_Software
-name: Programming Languages And Software
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_6-Learning
-name: Learning
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_7-Natural_Language_Processing
-name: Natural Language Processing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_8-Problem_Solving__Control_Methods__And_Search
-name: Problem Solving, Control Methods, And Search
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_9-Robotics
-name: Robotics
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_2-Artificial_Intelligence  ! Artificial Intelligence
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics
-name: Computer Graphics
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I-Computing_Methodologies  ! Computing Methodologies
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics  ! Computer Graphics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3_1-Hardware_Architecture
-name: Hardware Architecture
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics  ! Computer Graphics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3_2-Graphics_Systems
-name: Graphics Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics  ! Computer Graphics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3_3-Picture-image_Generation
-name: Picture/image Generation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics  ! Computer Graphics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3_4-Graphics_Utilities
-name: Graphics Utilities
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics  ! Computer Graphics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3_5-Computational_Geometry_And_Object_Modeling
-name: Computational Geometry And Object Modeling
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics  ! Computer Graphics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3_6-Methodology_And_Techniques
-name: Methodology And Techniques
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics  ! Computer Graphics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3_7-Three-dimensional_Graphics_And_Realism
-name: Three-dimensional Graphics And Realism
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics  ! Computer Graphics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3_8-Applications
-name: Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics  ! Computer Graphics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_3-Computer_Graphics  ! Computer Graphics
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision
-name: Image Processing And Computer Vision
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I-Computing_Methodologies  ! Computing Methodologies
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_1-Digitization_And_Image_Capture
-name: Digitization And Image Capture
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_2-Compression
-name: Compression (coding)
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_3-Enhancement
-name: Enhancement
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_4-Restoration
-name: Restoration
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_5-Reconstruction
-name: Reconstruction
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_6-Segmentation
-name: Segmentation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_7-Feature_Measurement
-name: Feature Measurement
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_8-Scene_Analysis
-name: Scene Analysis
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_9-Applications
-name: Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_4-Image_Processing_And_Computer_Vision  ! Image Processing And Computer Vision
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5-Pattern_Recognition
-name: Pattern Recognition
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I-Computing_Methodologies  ! Computing Methodologies
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5-Pattern_Recognition  ! Pattern Recognition
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5_1-Models
-name: Models
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5-Pattern_Recognition  ! Pattern Recognition
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5_2-Design_Methodology
-name: Design Methodology
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5-Pattern_Recognition  ! Pattern Recognition
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5_3-Clustering
-name: Clustering
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5-Pattern_Recognition  ! Pattern Recognition
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5_4-Applications
-name: Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5-Pattern_Recognition  ! Pattern Recognition
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5_5-Implementation
-name: Implementation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5-Pattern_Recognition  ! Pattern Recognition
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_5-Pattern_Recognition  ! Pattern Recognition
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling
-name: Simulation And Modeling
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I-Computing_Methodologies  ! Computing Methodologies
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling  ! Simulation And Modeling
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6_1-Simulation_Theory
-name: Simulation Theory
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling  ! Simulation And Modeling
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6_2-Simulation_Languages
-name: Simulation Languages
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling  ! Simulation And Modeling
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6_3-Applications
-name: Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling  ! Simulation And Modeling
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6_4-Model_Validation_And_Analysis
-name: Model Validation And Analysis
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling  ! Simulation And Modeling
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6_5-Model_Development
-name: Model Development
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling  ! Simulation And Modeling
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6_6-Simulation_Output_Analysis
-name: Simulation Output Analysis
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling  ! Simulation And Modeling
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6_7-Simulation_Support_Systems
-name: Simulation Support Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling  ! Simulation And Modeling
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6_8-Types_Of_Simulation
-name: Types Of Simulation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling  ! Simulation And Modeling
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_6-Simulation_And_Modeling  ! Simulation And Modeling
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7-Document_And_Text_Processing
-name: Document And Text Processing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I-Computing_Methodologies  ! Computing Methodologies
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7-Document_And_Text_Processing  ! Document And Text Processing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7_1-Document_And_Text_Editing
-name: Document And Text Editing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7-Document_And_Text_Processing  ! Document And Text Processing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7_2-Document_Preparation
-name: Document Preparation
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7-Document_And_Text_Processing  ! Document And Text Processing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7_3-Index_Generation
-name: Index Generation**
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7-Document_And_Text_Processing  ! Document And Text Processing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7_4-Electronic_Publishing
-name: Electronic Publishing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7-Document_And_Text_Processing  ! Document And Text Processing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7_5-Document_Capture
-name: Document Capture
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7-Document_And_Text_Processing  ! Document And Text Processing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_7-Document_And_Text_Processing  ! Document And Text Processing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#I-Computing_Methodologies  ! Computing Methodologies
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm
-name: Index term
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J-Computer_Applications
-name: Computer Applications
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J-Computer_Applications  ! Computer Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J_1-Administrative_Data_Processing
-name: Administrative Data Processing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J-Computer_Applications  ! Computer Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J_2-Physical_Sciences_And_Engineering
-name: Physical Sciences And Engineering
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J-Computer_Applications  ! Computer Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J_3-Life_And_Medical_Sciences
-name: Life And Medical Sciences
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J-Computer_Applications  ! Computer Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J_4-Social_And_Behavioral_Sciences
-name: Social And Behavioral Sciences
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J-Computer_Applications  ! Computer Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J_5-Arts_And_Humanities
-name: Arts And Humanities
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J-Computer_Applications  ! Computer Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J_6-Computer-aided_Engineering
-name: Computer-aided Engineering
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J-Computer_Applications  ! Computer Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J_7-Computers_In_Other_Systems
-name: Computers In Other Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J-Computer_Applications  ! Computer Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#J-Computer_Applications  ! Computer Applications
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal
-name: Journal
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article  ! Article
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine  ! Magazine
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter  ! Newsletter
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster  ! Poster
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings  ! Proceedings
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport  ! Technical report
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction  ! Transaction
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux
-name: Computing Milieux
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux  ! Computing Milieux
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_1-The_Computer_Industry
-name: The Computer Industry
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux  ! Computing Milieux
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_2-History_Of_Computing
-name: History Of Computing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux  ! Computing Milieux
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_3-Computers_And_Education
-name: Computers And Education
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux  ! Computing Milieux
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_3_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_3-Computers_And_Education  ! Computers And Education
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_3_1-Computer_Uses_In_Education
-name: Computer Uses In Education
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_3-Computers_And_Education  ! Computers And Education
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_3_2-Computer_And_Information_Science_Education
-name: Computer And Information Science Education
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_3-Computers_And_Education  ! Computers And Education
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_3_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_3-Computers_And_Education  ! Computers And Education
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4-Computers_And_Society
-name: Computers And Society
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux  ! Computing Milieux
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4-Computers_And_Society  ! Computers And Society
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4_1-Public_Policy_Issues
-name: Public Policy Issues
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4-Computers_And_Society  ! Computers And Society
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4_2-Social_Issues
-name: Social Issues
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4-Computers_And_Society  ! Computers And Society
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4_3-Organizational_Impacts
-name: Organizational Impacts
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4-Computers_And_Society  ! Computers And Society
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4_4-Electronic_Commerce
-name: Electronic Commerce
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4-Computers_And_Society  ! Computers And Society
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_4-Computers_And_Society  ! Computers And Society
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_5-Legal_Aspects_Of_Computing
-name: Legal Aspects Of Computing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux  ! Computing Milieux
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_5_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_5-Legal_Aspects_Of_Computing  ! Legal Aspects Of Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_5_1-Hardware-software_Protection
-name: Hardware/software Protection
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_5-Legal_Aspects_Of_Computing  ! Legal Aspects Of Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_5_2-Governmental_Issues
-name: Governmental Issues
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_5-Legal_Aspects_Of_Computing  ! Legal Aspects Of Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_5_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_5-Legal_Aspects_Of_Computing  ! Legal Aspects Of Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6-Management_Of_Computing_And_Information_Systems
-name: Management Of Computing And Information Systems
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux  ! Computing Milieux
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6-Management_Of_Computing_And_Information_Systems  ! Management Of Computing And Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6_1-Project_And_People_Management
-name: Project And People Management
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6-Management_Of_Computing_And_Information_Systems  ! Management Of Computing And Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6_2-Installation_Management
-name: Installation Management
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6-Management_Of_Computing_And_Information_Systems  ! Management Of Computing And Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6_3-Software_Management
-name: Software Management
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6-Management_Of_Computing_And_Information_Systems  ! Management Of Computing And Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6_4-System_Management
-name: System Management
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6-Management_Of_Computing_And_Information_Systems  ! Management Of Computing And Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6_5-Security_And_Protection
-name: Security And Protection (d.4.6, K.4.2)
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6-Management_Of_Computing_And_Information_Systems  ! Management Of Computing And Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_6-Management_Of_Computing_And_Information_Systems  ! Management Of Computing And Information Systems
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7-The_Computing_Profession
-name: The Computing Profession
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux  ! Computing Milieux
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7-The_Computing_Profession  ! The Computing Profession
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7_1-Occupations
-name: Occupations
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7-The_Computing_Profession  ! The Computing Profession
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7_2-Organizations
-name: Organizations
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7-The_Computing_Profession  ! The Computing Profession
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7_3-Testing__Certification__And_Licensing
-name: Testing, Certification, And Licensing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7-The_Computing_Profession  ! The Computing Profession
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7_4-Professional_Ethics
-name: Professional Ethics
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7-The_Computing_Profession  ! The Computing Profession
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_7-The_Computing_Profession  ! The Computing Profession
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8-Personal_Computing
-name: Personal Computing
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux  ! Computing Milieux
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8_0-General
-name: General
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8-Personal_Computing  ! Personal Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8_1-Application_Packages
-name: Application Packages
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8-Personal_Computing  ! Personal Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8_2-Hardware
-name: Hardware
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8-Personal_Computing  ! Personal Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8_3-Management-maintenance
-name: Management/maintenance
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8-Personal_Computing  ! Personal Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_8-Personal_Computing  ! Personal Computing
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K_m-Miscellaneous
-name: Miscellaneous
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#K-Computing_Milieux  ! Computing Milieux
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Keyword
-name: Keyword
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine
-name: Magazine
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article  ! Article
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter  ! Newsletter
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster  ! Poster
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings  ! Proceedings
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport  ! Technical report
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction  ! Transaction
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#MasterThesis
-name: Master thesis
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#PhDThesis  ! PhD thesis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Meeting
-name: Meeting
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event  ! Event
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Activity  ! Activity
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Conference  ! Conference
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Workshop  ! Workshop
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Monograph
-name: Monograph
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Anthology  ! Anthology
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Biography  ! Biography
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter
-name: Newsletter
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article  ! Article
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine  ! Magazine
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster  ! Poster
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings  ! Proceedings
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport  ! Technical report
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction  ! Transaction
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper
-name: Paper
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article  ! Article
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine  ! Magazine
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter  ! Newsletter
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster  ! Poster
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings  ! Proceedings
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport  ! Technical report
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction  ! Transaction
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#PhDThesis
-name: PhD thesis
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#MasterThesis  ! Master thesis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster
-name: Poster
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article  ! Article
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine  ! Magazine
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter  ! Newsletter
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings  ! Proceedings
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport  ! Technical report
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction  ! Transaction
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings
-name: Proceedings
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article  ! Article
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine  ! Magazine
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter  ! Newsletter
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster  ! Poster
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport  ! Technical report
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction  ! Transaction
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Project
-name: Project
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication
-name: Publication
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publisher
-name: Publisher
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: p:Organization 
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport
-name: Technical report
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article  ! Article
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine  ! Magazine
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter  ! Newsletter
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster  ! Poster
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings  ! Proceedings
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction  ! Transaction
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis
-name: Thesis
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article  ! Article
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine  ! Magazine
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter  ! Newsletter
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster  ! Poster
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings  ! Proceedings
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport  ! Technical report
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction  ! Transaction
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Transaction
-name: Transaction
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Article  ! Article
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Magazine  ! Magazine
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Newsletter  ! Newsletter
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Poster  ! Poster
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Proceedings  ! Proceedings
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#TechnicalReport  ! Technical report
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Thesis  ! Thesis
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Workshop
-name: Workshop
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event  ! Event
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Activity  ! Activity
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Conference  ! Conference
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Meeting  ! Meeting
-
-[Term]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#WorkshopPaper
-name: Workshop paper
-namespace: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#
-is_a: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Paper  ! Paper
-disjoint_from: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#ConferencePaper  ! Conference paper
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#abstract
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: xsd:string 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#contains
-domain: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description8 
-range: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description9 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#day
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: xsd:int 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#describesProject
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Project  ! Project
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#endDate
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event  ! Event
-range: xsd:date 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#firstPage
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: xsd:string 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#hasEditor
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-range: p:Person 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#hasKeyword
-domain: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description5 
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Keyword  ! Keyword
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#hasTopic
-domain: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description11 
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isAuthorOf
-domain: p:Person 
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isChairAt
-domain: p:Person 
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event  ! Event
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isCollaboratorOf
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Author  ! Author
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Author  ! Author
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isDescribedBy
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Project  ! Project
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isEditorOf
-domain: p:Person 
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Journal  ! Journal
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isKeywordOf
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Keyword  ! Keyword
-range: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description4 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isOrganizerOf
-domain: p:Organization 
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event  ! Event
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isPartOf
-domain: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description6 
-range: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description7 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isPublishedBy
-domain: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description13 
-range: p:Organization 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isPublisherOf
-domain: p:Organization 
-range: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description12 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isReferencedBy
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isRelatedTo
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event  ! Event
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isTopicOf
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#IndexTerm  ! Index term
-range: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description10 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isWrittenBy
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: p:Person 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#isbn
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Book  ! Book
-range: xsd:string 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#lastPage
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: xsd:string 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#month
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: xsd:int 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#number
-domain: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description15 
-range: xsd:string 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#references
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#similarPublication
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#source
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: xsd:string 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#startDate
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event  ! Event
-range: xsd:date 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#takesPlaceAt
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Event  ! Event
-range: p:Address 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#title
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: xsd:string 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#volume
-domain: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description16 
-range: xsd:int 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#web
-domain: __/home/obo/galaxy_dist/database/files/000/dataset_219.dat#__Description14 
-range: xsd:string 
-
-[Typedef]
-id: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#year
-domain: http://mapekus.fiit.stuba.sk/mapekus/ontologies/v0.2/publication#Publication  ! Publication
-range: xsd:int 
-

+ 0 - 9
tripal_pub/tripal_pub.info

@@ -1,9 +0,0 @@
-name = Tripal Publication
-description = A module for interfacing the GMOD chado database with Drupal, providing viewing of publications
-core = 6.x
-project = tripal_pub
-package = Tripal
-version = 6.x-1.0
-dependencies[] = tripal_core
-dependencies[] = tripal_cv
-dependencies[] = tripal_db

+ 0 - 91
tripal_pub/tripal_pub.install

@@ -1,91 +0,0 @@
-<?php
-
-/**
- * @file
- * This file contains all the functions which describe and implement drupal database tables
- * needed by this module. This module was developed by Chad N.A. Krilow and Lacey-Anne Sanderson,
- * University of Saskatchewan.
- *
- * The project manamgenet module allows you to sync data in a chado/Tripal instance with
- * multiple project/mysql instances as well as manage and create such project instances
- */
-
-
-/**
- * Implementation of hook_install().
- */
-function tripal_pub_install() {
-
-  drupal_install_schema('tripal_pub');
-  $dbxref = array('accession' => 'abstract', 'db_id' => array('name' => 'tripal'));
-  $success = tripal_core_chado_insert('dbxref', $dbxref);
-  if ($success) {
-    tripal_core_chado_insert('cvterm', array('name' => 'abstract', 'cv_id' => array('name' => 'tripal'), 'dbxref_id' => $dbxref));
-  }
-}
-
-
-/**
- * Implementation of hook_uninstall().
- */
-function tripal_pub_uninstall() {
-  //Remove tables
-  drupal_uninstall_schema('tripal_pub');
-
-}
-
-
-/**
- * Implementation of hook_schema().
- */
-function tripal_pub_schema() {
-//specification for 'tripal_pub_instances'
-  $schema['chado_pub'] = array(
-
-    'fields' => array(
-
-      //a int field that cannot be null and acts as a unique identifier for all nid's
-      'nid' => array(
-        'type' => 'int',
-        'unsigned' => TRUE,
-        'not null' => TRUE,
-        ),
-
-      //a int field that cannot be null and is vid
-      'vid' => array(
-          'type' => 'int',
-          'not null' => TRUE,
-      ),
-
-      //a intfield, not null and project_id is the unique_id of the project in chado
-       'pub_id' => array(
-          'type' => 'int',
-          'unsigned' => TRUE,
-          'not null' => TRUE,
-      ),
-
-       //a intfield, not null and project_id is the unique_id of the project in chado
-       'pubmed_id' => array(
-          'type' => 'int',
-          'unsigned' => TRUE,
-          'not null' => FALSE,
-      ),
-      'author' => array(
-        'type' => 'text',
-        'size' => 'normal',
-        'not null' => TRUE,
-        'default' => '',
-        'description' => 'The Author Name.',
-      ),
-      ),
-     //end of shema
-
-    'primary key' => array('nid'),
-
-  );
-
-  return $schema;
-}
-
-
-

+ 0 - 1729
tripal_pub/tripal_pub.module

@@ -1,1729 +0,0 @@
-<?php
-
-//require_once('cron.php');
-
-
-/**
- * @file
- * This file contains all the functions which provide functionality to this module.
- * This module was developed by Chad N.A. Krilow and Lacey-Anne Sanderson,
- * The University of Saskatchewan.
- *
- *
- * The Tripal Publication module allows you to search the PubMed databse for academic articles,
- * that relate to user specified tpoic\s. As well, it allows management of publications so that
- * a user can enter specified details regarding a desired publication. This allows all of the important
- * information that is unique to a Academic Publication to be stored for access.
- */
-
-
-//-----------------------------------------------------------------------------
-//  SECTION: Main Outline Menu for Tripal Publication
-//-----------------------------------------------------------------------------
-
-
-/**
- * Tripal-Publication-Menu
- *
- * Implemets hook_menu(): Adds menu items for the tripal_pub module menu. This section
- * gives the outline for the main menu of the Tripal-Publication module
- *
- * @return
- *   An array of menu items that is visible within the Drupal Menu, returned as soon
- *   as the program is ran
- */
-function tripal_pub_menu() {
-
-  $items = array();
-
-  $items[ 'admin/tripal/tripal_pub' ]= array(
-    'title' => 'Publications',
-    'description' => ('A module for interfacing the GMOD chado database with Drupal,
-    providing viewing of publications'),
-    'page callback' => 'administration_description_page',
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_NORMAL_ITEM
-  );
-
-  $items['admin/tripal/tripal_pub/configuration'] = array(
-    'title' => 'Configuration',
-    'description' => 'Configuration for this module',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('tripal_pub_configuration_form'),
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_NORMAL_ITEM
-    );
-
-  // Automatically generate checkboxes.
-  $items['node/add/tripal_pub/ahah_authors'] = array(
-    'title' => 'Add Additional Authors',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('author_addition_fields_ahah_callback'),
-    'access callback' => TRUE,
-    'type' => MENU_CALLBACK,
-    'weight' => 2,
-  );
-
-  $items['tripal_pub/js/%'] = array(
-    'page callback' => 'tripal_pub_js',
-    'page arguments' => array(2),
-    'access arguments' => array('access content'),
-    'type ' => MENU_CALLBACK,
-  );
-
-  return $items;
-}
-
-
-/**
- * Implements hook_theme(): Register themeing functions for this module
- *
- *
- * @return
- *   An array of themeing functions to register
- *
- */
-function tripal_pub_theme() {
-
-  return array(
-    'tripal_pub_author_table' => array(
-      'arguments' => array('form' => NULL),
-    ),
-    'publication_author' => array(
-      'arguments' => array('element' => NULL)
-    ),
-  );
-}
-
-/**
- * Implement hook_perm().
- */
-function tripal_pub_perm() {
-
-  return array('edit own tripal_pub', 'edit tripal_pub', 'create tripal_pub');
-
-}
-
-
-/**
- * This section uses HTML to output the descriptions of the module, through the Tripal Management
- * Administation window.Any installation instructions are given as well as included features
- * as well as a overview of the purpose Module.
- *
- * @return
- *   Returns '$text'The HTML description of the Module, its instructions, features, and any other
- *   important aspects. This is returned when the Administration page is selected.
- */
-function administration_description_page() {
-
-  $text = '';
-
-  $text = '<br /><h3>Tripal Publication Administrative Tools Quick Links</h3>';
-  $text .= '<ul>';
-  $text .= '<li>' . l('Configuration', 'admin/tripal/tripal_pub/configuration') . '</li>';
-  $text .= '<li>' . l('Create A Publication', 'node/add/publication') . '</li>';
-
-  $text .= '</ul>';
-
-  $text .= '<h3>Module Description:</h3>';
-  //================================================================================
-$text .= '<p>The Tripal Publication Module provides the functionality for adding, editing, deleting and
-accessing academic publications, entered by the user.This module also allows a time limited search,
-specified by the user, which searches the PubMed extracts and saves acedemic puplications.
-
-
- </p>';
-
-  $text .= '<h3>Setup Instructions:</h3>';
-  //================================================================================
-  $text .= '<ol>';
-      $text .= '<ol type="i">';
-      $text .= '</ol>';
-
-  $text .= '<li><p><b>Set Permissions</b>: The publication module supports the Drupal user permissions interface for
-               controlling access to publlication content and functions. These permissions include viewing,
-               creating, editing or administering of
-               publication content. The default is that only the original site administrator has these
-               permissions.  You can <a href="' . url('admin/user/roles') . '">add roles</a> for classifying users,
-               <a href="' . url('admin/user/user') . '">assign users to roles</a> and
-               <a href="' . url('admin/user/permissions') . '">assign permissions</a> for the publication content to
-               those roles.  For a simple setup, allow anonymous users access to view publication content and
-               allow the site administrator all other permissions.</p></li>';
-  $text .= '<li><p><b>Set Publication Type Controlled Vocabulary</b>: The select list for setting the publication '
-                . 'type is controlled be a controlled vocabulary (cv). '
-                . '<ul><li>Before you can add any publications you need '
-                . 'to create/load this cv. There is a limited cv included in this module. To use it, you need to '
-                . 'load it using the <a href="' . url('admin/tripal/tripal_cv/obo_loader') . '">OBO Loader included with Tripal</a>.</li>'
-                . '<li>After the controlled vocabulary is loaded you need to set it to be used for the publication '
-                . 'module. To do this, go to <a href="' . url('admin/tripal/tripal_pub/configuration') . '">Publication->Configuration</a>, select it in the controlled vocabulary '
-                . 'select list and click save configuration.</p></li></ul>';
-
-  $text .= '</ol>';
-  $text .= '<h3>Features of this Module:</h3>';
-  //================================================================================
-  $text .= '<ul>';
-
-
-
-
-  $text .= '<li><p><b>Configuration (Search For Academic Publications):</b>  The search capability implemented in
-  this module allows a user to search, by remote connection , the PubMEd database for articles
-  that relate to key search words, chosen by the user.The "search keys" are used to search through
-  Publication titles and when one of the key words is matched in a title, the recognized article will
-  be saved to the database.
-
-
-      <ul>
-
-      <li><b>Choose a Controlled Vocabulary:</b>The controlled vocabulary list is a set of terms
-
-      <li><b>Set Search Key Words:</b>The search keywords, are the user entered key terms, in which
-      the publications in the PubMed database can be recognized by. The user may enter any number
-      of search terms, as by adding more search terms, the search will limit the results to those
-      in which all of the search terms appear in the publication title.
-
-      <li><b>Set a time search interval:</b>The search term interval represents a pre-set ammount
-      of time for the search. The time search interval must be entered in minutes. This allows
-      the module to automatically search the PubMed database in a predetermined time interval.
-    </ul>
-
-
-
-
-
-
-  </p></li>';
-
-  $text .= '<li><b>Creating a Publication:</b>';
-
-  $text .= '<p>To <b>Create,update/delete a given property of a publication</b>:When Creating a Publication
-  it is neccessary to enter the requried fields in the form. These are marked with an astrix and
-  if they are not entered upon completion a warning will be issued and the user is forced to fill
-  in these entries. The author field, requires a given/surname/suffix to be entered. To add the
-  author to the publication, the add author button is to be pushed. The user is able to add as
-  many authors to the publication as needed.
-  </p>';
-
-
-
-
-
-  return $text;
-
-}
-
-
-//-----------------------------------------------------------------------------
-//  SECTION: Node Capability
-//-----------------------------------------------------------------------------
-
-
-/**
- * Implement hook_access().
- *
- * This hook allows node modules to limit access to the node types they define.
- *
- *  @param $op
- *  The operation to be performed
- *
- *  @param $node
- *  The node on which the operation is to be performed, or, if it does not yet exist, the
- *  type of node to be created
- *
- *  @param $account
- *  A user object representing the user for whom the operation is to be performed
- *
- *  @return
- *  TRUE
- *
- */
-function chado_pub_access($op, $node, $account ) {
-
-  global $user;
-
-  if (empty($account)) {
-    $account = $user;
-  }
-
-  if ($op != 'create') {
-    $node = (object)$node;
-  }
-
-  if ($op == 'create') {
-
-    if (user_access('create tripal_pub')) {
-
-        return TRUE;
-
-    }
-
-  }
-  elseif ($op == 'update' || $op == 'delete') {
-
-    if (user_access('edit tripal_pub')) {
-
-        return TRUE;
-    }
-    elseif (user_access('edit own tripal_pub') && $account->uid == $node->uid) {
-
-      return TRUE;
-    }
-
-  }
-
-/////////////////The following is taken from the tripal_pub module insert later////////////////////
-  /*
-  if ($op == 'create') {
-    // Only users with permission to do so may create this node type.
-<<<<<<< .mine
-    return user_access('create tripal_pub', $account);
-=======
-    if(!user_access('create tripal_pub', $account)){
-      return FALSE;
-    }
->>>>>>> .r25216
-  }
-
-  // Users who create a node may edit or delete it later, assuming they have the
-  // necessary permissions.
-  if ($op == 'update' || $op == 'delete') {
-    if (user_access('edit own tripal_pub',$account) && ($account->uid == $node->uid)) {
-      return TRUE;
-    }
-  }*/
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-}
-
-/**
- * Implementation of hook_tripal_pub_node_info().
- *
- * This node_info, is a simple node that describes the functionallity of the module.
- *
- */
-function tripal_pub_node_info() {
-
-  return array(
-    'chado_pub' => array(
-      'name' => t('Publication'),
-      'module' => 'chado_pub',
-      'description' => t('A module for interfacing the GMOD chado database with Drupal, providing viewing of publications'),
-      'title_label' => t('Article Title'),
-      'body_label' => t('Abstract'),
-      'has_title' => TRUE,
-      'has_body' => FALSE,
-    ),
-  );
-}
-
-
-/**
- * Implementation of tripal_pub_form().
- *
- *
- *
- *  @parm &$node
- *    The node that is created when the database is initialized
- *
- *  @parm $form_state
- *    The state of the form, that has the user entered information that is neccessary for, setting
- *    up the database tables for the publication
- *
- *  @return $form
- *    The information that was enterd allong with
- *
- */
-function chado_pub_form(&$node, $form_state) {
-
-  $type = node_get_types('type', $node);
-
-  // Article Title.
-  $form['title'] = array(
-    '#type' => 'textfield',
-    '#title' => check_plain($type->title_label),
-    '#default_value' => $node->title,
-    '#required' => TRUE,
-    '#weight' => 0,
-  );
-
-  // Abstract
-  $form['abstract'] = array(
-    '#title' => 'Abstract',
-    '#type' => 'textarea',
-    '#default_value' => isset($node->abstract) ? $node->abstract : ''
-  );
-
-  $form['pub_id'] = array(
-    '#type' => 'hidden',
-    '#value' => (isset($node->pub_id)) ? $node->pub_id->pub_id : NULL ,
-  );
-
-  $form['uniquename'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Unique Name'),
-    '#required' => TRUE,
-    '#description' => 'A unique name/identifier for this publication. If this article exists in pubmed, entering the pubmed ID here will ensure duplicate publication pages are not created.',
-    '#default_value' => isset($node->pub_id->uniquename) ? $node->pub_id->uniquename : ''
-  );
-
-  $values= array(
-    'cv_id' => variable_get('tripal_pub_types_cv', NULL),
-  );
-
-  //population select list with 'cvterm' names
-  $result = tripal_core_chado_select('cvterm', array('cvterm_id', 'name'), $values);
-
-  foreach ($result as $value) {
-    $newArray[$value->cvterm_id]=$value->name;     //options for the select list
-  }
-
-  $form['type_id'] = array(
-    '#type' => 'select',
-    '#title' => t('Publication Type'),
-    '#options' => $newArray,
-    '#required' => TRUE,
-    '#default_value' => isset($node->pub_id->type_id) ? $node->pub_id->type_id : ''
-  );
-
-  $form['author_wrapper'] = array(
-    '#tree' => FALSE,
-    '#prefix' => '<div class="clear-block" id="author-wrapper">',
-    '#suffix' => '</div>',
-  );
-
-  // Get number of authors
-  $author_count = empty($node->authors) ? 0 : count($node->authors);
-
-  // If a new author added, add to list and update the author count.
-  if (isset($form_state['new_author'])) {
-
-    if (!isset($node->authors)) {
-      $node->authors = array();
-    }
-
-    $node->authors = array_merge($node->authors, array($form_state['new_author']));
-    $author_count++;
-
-  }
-
-  // If a author removed, remove from list and update the author count.
-  $remove_delta = -1;
-
-  if (!empty($form_state['remove_delta'])) {
-
-      $remove_delta = $form_state['remove_delta'] - 1;
-
-      unset($node->authors[$remove_delta]);
-
-      // Re-number the values.
-      $node->authors = array_values($node->authors);
-
-      $author_count--;
-
-  }
-
-  // Container to display existing authors.
-  $form['author_wrapper']['authors'] = array(
-    '#prefix' => '<div id="publication-authors">',
-    '#suffix' => '</div>',
-    '#theme' => 'tripal_pub_author_table',
-  );
-
-  if (!isset($node->authors)) {
-
-    if (isset($node->new_author['new_author_name'])) {
-
-      $node->authors = array();
-
-      $node->authors[]['author_name'] = $node->new_author['new_author_name'];
-
-    }
-
-  }
-
-  //Add the existing authors to the form.
-  for ($delta = 0; $delta < $author_count; $delta++) {
-
-      $author = isset($node->authors[$delta]['author_name']) ? $node->authors[$delta] : array();
-
-      $form['author_wrapper']['authors'][$delta] = tripal_pub_author_display_form($delta, $author);
-
-  }
-
-  /////////////////////Edit authors//////////////////////////////////////////////////////////////////
-
-  if (isset($form_state['values']['edit_author'])) {
-
-      // Add new authors
-      $form['author_wrapper']['edit_author'] = array(
-        '#type' => 'fieldset',
-        '#title' => t('Current Publication Authors'),
-        '#tree' => FALSE,
-      );
-
-      // Define the form fields for the new author
-      $form['author_wrapper']['edit_author']['edit_author'] = array(
-        '#tree' => TRUE,
-        //'#default_value'=> '',
-        //'#theme' => 'author_add_author_form',
-      );
-
-      $form['author_wrapper']['edit_author']['edit_author']['delta'] = array(
-        '#type' => 'hidden',
-        '#value' => $form_state['values']['edit_author']['delta']
-      );
-
-      $form['author_wrapper']['edit_author']['edit_author']['edit_author_name'] = array(
-        '#type' => 'publication_author',
-        '#title' => t('Contributing Authors'),
-        '#default_value' => array(
-            'givennames' => $form_state['values']['edit_author']['author_name']['givennames'],
-            'surname' => $form_state['values']['edit_author']['author_name']['surname'],
-            'suffix' => $form_state['values']['edit_author']['author_name']['suffix'],
-          ),
-        '#weight' => 1,
-      );
-
-      // We name our button 'author_more' to avoid conflicts with other modules using
-      // AHAH-enabled buttons with the id 'more'.
-      $form['author_wrapper']['edit_author']['author_save'] = array(
-        '#type' => 'submit',
-        '#value' => t('Save Author'),
-        '#weight' => 0,
-        '#submit' => array('tripal_pub_edit_author_submit'),
-        '#ahah' => array(
-          'path' => 'tripal_pub/js/0',
-          'wrapper' => 'author-wrapper',
-          'method' => 'replace',
-          'effect' => 'fade',
-        ),
-      );
-
-  ////////////////////////////////////////////////////////////////////////////////////
-
-  }
-  else{
-
-      // Add new authors
-      $form['author_wrapper']['add_author'] = array(
-        '#type' => 'fieldset',
-        '#title' => t('Publication Authors'),
-        '#tree' => FALSE,
-      );
-
-      // Define the form fields for the new author
-      $form['author_wrapper']['add_author']['new_author'] = array(
-        '#tree' => TRUE,
-        //'#default_value'=> '',
-        '#theme' => 'author_add_author_form',
-      );
-
-      $form['author_wrapper']['add_author']['new_author']['new_author_name'] = array(
-        '#type' => 'publication_author',
-        '#title' => t('Contributing Authors'),
-        '#default_value' => '',
-        '#weight' => 1,
-      );
-
-      // We name our button 'author_more' to avoid conflicts with other modules using
-      // AHAH-enabled buttons with the id 'more'.
-      $form['author_wrapper']['add_author']['author_more'] = array(
-        '#type' => 'submit',
-        '#value' => t('Add Author'),
-        '#weight' => 0,
-        '#submit' => array('tripal_pub_add_author_submit'),
-        '#ahah' => array(
-          'path' => 'tripal_pub/js/0',
-          'wrapper' => 'author-wrapper',
-          'method' => 'replace',
-          'effect' => 'fade',
-        ),
-      );
-
-  }
-
-  ////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-  $form['volumetitle'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Volume Title'),
-    '#description' => t('Title of part if one of a series.'),
-    '#default_value' => isset($node->pub_id->volumetitle) ? $node->pub_id->volumetitle : ''
-  );
-
-  $form['volume'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Volume'),
-    '#default_value' => isset($node->pub_id->volume) ? $node->pub_id->volume : ''
-  );
-
-  $form['series_name'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Series Name'),
-    '#default_value' => isset($node->pub_id->series_name) ? $node->pub_id->series_name : ''
-  );
-
-  $form['issue'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Issue'),
-    '#default_value' => isset($node->pub_id->issue) ? $node->pub_id->issue : ''
-  );
-
-  $form['pyear'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Publication Year'),
-    '#default_value' => isset($node->pub_id->pyear) ? $node->pub_id->pyear : ''
-  );
-
-  $form['pages'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Pages'),
-    '#description' => t('Page number range[s], e.g. 457--459, viii + 664pp, lv--lvii.'),
-    '#default_value' => isset($node->pub_id->pages) ? $node->pub_id->pages : ''
-  );
-
-  $form['miniref'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Mini-Ref'),
-    '#required' => FALSE,
-    '#default_value' => isset($node->pub_id->miniref) ? $node->pub_id->miniref : ''
-  );
-
-  $form['is_obsolete'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Is Obsolete?(Check for Yes)'),
-    '#required' => TRUE,
-    '#default_value' => isset($node->pub_id->is_obsolete) ? $node->pub_id->is_obsolete : FALSE
-  );
-
-  $form['publisher'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Publisher Name'),
-    '#required' => FALSE,
-    '#default_value' => isset($node->pub_id->publisher) ? $node->pub_id->publisher : ''
-  );
-
-  $form['pubplace'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Place of Publication'),
-    '#required' => FALSE,
-    '#default_value' => isset($node->pub_id->pubplace) ? $node->pub_id->pubplace  : ''
-  );
-
-  return $form;
-
-}
-
-
-/**
- * Implementation of tripal_pub_insert().
- *
- * This function inserts user entered information pertaining to the Publication instance into the
- * 'pubauthor', 'pubprop', 'chado_pub', 'pub' talble of the database.
- *
- *  @parm $node
- *    Then node which contains the information stored within the node-ID
- *
- *
- */
-function chado_pub_insert($node) {
-
-  $values =  array(
-    'title' => $node->title,
-    'volumetitle' => $node->volumetitle,
-    'volume' => $node->volume,
-    'series_name' => $node->series_name,
-    'issue' => $node->issue,
-    'pyear' => $node->pyear,
-    'pages' => $node->pages,
-    'miniref' => $node->miniref,
-    'type_id' => $node->type_id,
-    'is_obsolete' => $node->is_obsolete,
-    'publisher' => $node->publisher,
-    'pubplace' => $node->pubplace,
-    'uniquename' => $node->uniquename,
-    'type_id' => $node->type_id
-  );
-
-  //inserts info into chado table
-  $result = tripal_core_chado_insert('pub', $values);
-
-
-  if (isset($result)) {
-
-          //inserts the row of vid,nid,project_id into the chado_pub table
-          db_query("INSERT INTO {chado_pub} (nid, vid, pub_id) VALUES (%d, %d, %d)",
-            $node->nid,
-            $node->vid,
-            $result['pub_id']
-          );
-
-          //Aquiring information for the abstract
-          $abstract_info = tripal_core_chado_select('cvterm', array('cvterm_id'),
-            array('name' => 'abstract', 'cv_id' => array('name' => 'tripal')
-            )
-          );
-
-          //Extracting the type_id
-          $type_id = $abstract_info[0]->cvterm_id;
-
-          //setting the abstract values
-          $abstract = array(
-            'pub_id' => $result['pub_id'],
-            'type_id' => $type_id,
-            'value' => $node->abstract,
-            'rank' => 1
-          );
-
-          //inserts info into chado pubpro table for abstract
-          tripal_core_chado_insert('pubprop', $abstract);
-
-          //counter for loop
-          for ($i=0; $i<=sizeof($node->authors); $i++) {
-
-              if (isset($node->authors[$i]['author_name'] )) {
-
-                $authors = array(
-                  'pub_id' => $result['pub_id'],
-                  'rank' => $i,
-                  'surname' => $node->authors[$i]['author_name']['surname'],
-                  'givennames' => $node->authors[$i]['author_name']['givennames'],
-                  'suffix' => $node->authors[$i]['author_name']['suffix'],
-                );
-
-                  //inserts info into chado pubpro table for abstract
-                  tripal_core_chado_insert('pubauthor', $authors);
-              }
-
-          }
-
-
-          if (!empty($node->new_author['new_author_name']['surname'])) {
-
-              $authors = array(
-                  'pub_id' => $result['pub_id'],
-                  'rank' => $i+1,
-                  'surname' => $node->new_author['new_author_name']['surname'],
-                  'givennames' => $node->new_author['new_author_name']['givennames'],
-                  'suffix' => $node->new_author['new_author_name']['suffix'],
-                );
-
-                  //inserts info into chado pubpro table for abstract
-                  tripal_core_chado_insert('pubauthor', $authors);
-
-          }
-
-
-      }
-      else{
-
-        druapl_set_message('Pub_id was not set, No information has been set.');
-
-    }
-
-}
-
-
-/**
- * Implementation of tripal_pub_delete().
- *
- * This function takes a node and if the delete button has been chosen by the user, the publication
- * and it's details will be removed.Following,given the node-ID, the instance will be deleted from
- * the 'chado_pub' table.
- *
- *  @parm $node
- *    Then node which contains the information stored within the node-ID
- *
- */
-function chado_pub_delete(&$node) {
-
-  // Matching all revision, by using the node's pub_id.
-  $values =  array(
-    'pub_id' => $node->pub_id->pub_id,
-  );
-
-  //deleting row in chado table
-  tripal_core_chado_delete('pub', $values);
-
-  //deleteing in drupal chado_project table
-  db_query('DELETE FROM {chado_pub} WHERE nid = %d', $node->nid);
-
-}
-
-
-/*
- *
- * Implements hook_update
- *
- * The purpose of the function is to allow the module to take action when an edited node is being
- * updated. It updates any name changes to the database tables that werec reated upon registering a Publication.
- * As well, the database will be changed, so the user changed information will be saved to the database.
- *
- * @param $node
- *   The node being updated
- *
- */
-function chado_pub_update($node) {
-
-
-  $values =  array(
-      'title' => $node->title,
-      'volumetitle' => $node->volumetitle,
-      'volume' => $node->volume,
-      'series_name' => $node->series_name,
-      'issue' => $node->issue,
-      'pyear' => $node->pyear,
-      'pages' => $node->pages,
-      'miniref' => $node->miniref,
-      'uniquename' => $node->uniquename,
-      'type_id' => $node->type_id,
-      'is_obsolete' => $node->is_obsolete,
-      'publisher' => $node->publisher,
-      'pubplace' => $node->pubplace,
-      'type_id' => $node->type_id
-    );
-
-  $result = db_fetch_object(db_query('SELECT pub_id FROM {chado_pub} WHERE nid=%d AND vid=%d ', $node->nid, $node->vid));
-
-  //extract pub_id from the chado table for update function
-  $match = array( 'pub_id' => $result->pub_id );
-
-  //$table to be updated, $match is the 'pub_id', $value are the values that are to be updated
-  $update_result = tripal_core_chado_update('pub', $match, $values);
-
-   //Aquiring information for the abstract
-  $abstract_info = tripal_core_chado_select('cvterm', array('cvterm_id'),
-    array('name' => 'abstract', 'cv_id' => array('name' => 'tripal')
-    )
-  );
-
-  //Grabbing the type id of the old abstract
-  $type_id = $abstract_info[0]->cvterm_id;
-
-  //Aquiring information for the abstract
-  $abstract = array(
-    'pub_id' => $result->pub_id,
-    'type_id' => $type_id,
-    'value' => $node->abstract,
-    'rank' => 1
-  );
-
-  //$table to be updated, $match is the 'pub_id', $value are the values that are to be updated
-  tripal_core_chado_update('pubprop', array('pub_id' => $result->pub_id, 'type_id' => $type_id, 'rank' => 1), $abstract);
-
-  //counter for loop
-  for ($i=0; $i<=sizeof($node->authors); $i++) {
-
-      if (isset($node->authors[$i]['author_name'] )) {
-
-          //if new insert
-          if (isset($node->authors[$i]['is_new'])) {
-
-              $authors = array(
-                  'pub_id' => $match['pub_id'],
-                  'rank' => $i+1,
-                  'surname' => $node->authors[$i]['author_name']['surname'],
-                  'givennames' => $node->authors[$i]['author_name']['givennames'],
-                  'suffix' => $node->authors[$i]['author_name']['suffix'],
-              );
-
-              //inserts info into chado pubpro table for abstract
-              tripal_core_chado_insert('pubauthor', $authors);
-
-          }
-          else{
-
-            //update
-            //$table=pubauthor to be updated, $match=author_match is the 'pub_id', $value=author are the values that are to be updated
-            tripal_core_chado_update('pubauthor', array('pub_id' => $match['pub_id'], 'rank' => $node->authors[$i]['author_name']['rank']), $node->authors[$i]['author_name']);
-
-          }
-
-      }
-
-  }
-
-
-}
-
-
-/**
- * Implementation of tripal_pub_load().
- *
- *
- * @param $node
- *   The node that is to be accessed from the database
- *
- * @return $node
- *   The node with the information to be loaded into the database
- *
- */
-function chado_pub_load($node) {
-
-  $result = db_fetch_object(db_query('SELECT * FROM {chado_pub} WHERE nid=%d AND vid=%d ', $node->nid, $node->vid));
-
-  $values = array(
-    'pub_id' => $result->pub_id,
-  );
-
-
-  if (empty($result->pub_id)) {
-
-    drupal_set_message(t("Unable to find publication"), 'error');
-
-  }
-  else{
-
-    $node->pub = tripal_core_generate_chado_var('pub', $values);
-
-    // add in authors
-    $authors = tripal_core_chado_select(
-      'pubauthor',
-      array('rank', 'surname', 'givennames', 'suffix'),
-      array('pub_id' => $node->pub->pub_id)
-    );
-    foreach ($authors as $author) {
-        $node->pub->authors[$author->rank] = $author;
-    }
-    ksort($node->pub->authors);
-
-  }
-
-  return $node;
-
-}
-
-
-//-----------------------------------------------------------------------------
-//  SECTION: Drupal AHAH Implementation & Edit Publication Section
-//-----------------------------------------------------------------------------
-
-
-/**
- * Submit handler for 'Add Author' button on node form.
- */
-function tripal_pub_add_author_submit($form, &$form_state) {
-
-    $form_state['remove_delta'] = 0;
-
-    // Set the form to rebuild and run submit handlers.
-    node_form_submit_build_node($form, $form_state);
-
-    // Make the changes we want to the form state.
-    if ($form_state['values']['author_more']) {
-
-      $new_author = array();
-
-      $new_author['author_name'] = $form_state['values']['new_author']['new_author_name'];
-      $new_author['is_new'] = TRUE;
-
-      $form_state['new_author'] = $new_author;
-
-    }
-
-
-
-}
-
-
-/**
- * Submit handler for 'Edit' button on node form.
- */
-function tripal_pub_edit_author_submit($form, &$form_state) {
-
-    // remember which author we're editing
-    $delta = $form_state['values']['edit_author']['delta'];
-
-    //add changes author details back
-    $rank = $form_state['values']['authors'][$delta]['author_name']['rank'];
-    $form_state['values']['authors'][$delta]['author_name'] = $form_state['values']['edit_author']['edit_author_name'];
-    $form_state['values']['authors'][$delta]['author_name']['rank'] = $rank;
-
-    //ensures that after they save their changes the edit fieldstate goes away
-    unset($form_state['values']['edit_author']);
-
-    // Set the form to rebuild and run submit handlers.
-    node_form_submit_build_node($form, $form_state);
-
-}
-
-
-/**
- * Submit handler for 'Edit' button on node form.
- */
-function tripal_pub_set_edit_author_submit($form, &$form_state) {
-
-  $form_state['remove_delta'] = 0;
-
-  // Make the changes we want to the form state
-  $edit_author = array();
-
-  if (preg_match('/edit_author_(\d+)/', $form_state['clicked_button']['#name'], $matches)) {
-
-
-    $delta = $matches[1];
-
-    $form_state['values']['edit_author'] = $form_state['values']['authors'][$delta];
-
-    $form_state['values']['edit_author']['delta'] = $delta;
-
-  }
-
-  // Set the form to rebuild and run submit handlers.
-  node_form_submit_build_node($form, $form_state);
-
-}
-
-
-/**
- * Submit handler for 'Remove' button on node form.
- */
-function tripal_pub_remove_row_submit($form, &$form_state) {
-
-
-  if (preg_match('/remove_author_(\d+)/', $form_state['clicked_button']['#name'], $matches)) {
-
-    $delta = $matches[1];
-
-    $form_state['values']['remove_author'] = $form_state['values']['authors'][$delta];
-
-    $form_state['values']['remove_author']['delta'] = $delta;
-
-  }
-
-  $values =  array(
-    'pub_id' => $form_state['values']['pub_id'],
-    'rank' => $form_state['values']['authors'][$delta]['author_name']['rank']
-
-    );
-
-  //deleting row in chado table
-  tripal_core_chado_delete('pubauthor', $values);
-
-
-  // Set the form to rebuild and run submit handlers.
-  node_form_submit_build_node($form, $form_state);
-
-}
-
-
-/*
- *
- *
- *
- */
-function tripal_pub_js($delta = 0) {
-
-    $form = tripal_pub_ajax_form_handler($delta);
-
-    // Render the new output.
-    $author_form = $form['author_wrapper']; //was ['author']
-
-    // Prevent duplicate wrappers.
-    unset($author_form['#prefix'], $author_form['#suffix']);
-
-    $output = theme('status_messages') . drupal_render($author_form);
-
-    // AHAH does not know about the "Remove" button.
-    // This causes it not to attach AHAH behaviours to it after modifying the form.
-    // So we need to tell it first.
-    $javascript = drupal_add_js(NULL, NULL);
-
-    if (isset($javascript['setting'])) {
-
-      $output .= '<script type="text/javascript">jQuery.extend(Drupal.settings, '. drupal_to_js(call_user_func_array('array_merge_recursive', $javascript['setting'])) .');</script>';
-
-    }
-
-    // Final rendering callback.
-    drupal_json(array('status' => TRUE, 'data' => $output));
-
-}
-
-
-/**
- * AJAX form handler.
- */
-function tripal_pub_ajax_form_handler($delta=0 ) {
-
-    // The form is generated in an include file which we need to include manually.
-    include_once 'modules/node/node.pages.inc';
-
-    $form_state = array('storage' => NULL, 'submitted' => FALSE);
-
-    $form_build_id = filter_xss($_POST['form_build_id']);
-
-    // Get the form from the cache.
-    $form = form_get_cache($form_build_id, $form_state);
-
-    $args = $form['#parameters'];
-
-    $form_id = array_shift($args);
-
-    // We need to process the form, prepare for that by setting a few internals.
-    $form_state['post'] = $form['#post'] = $_POST;
-
-    $form['#programmed'] = $form['#redirect'] = FALSE;
-
-    // Set up our form state variable, needed for removing authors.
-    $form_state['remove_delta'] = $delta;
-
-    // Build, validate and if possible, submit the form.
-    drupal_process_form($form_id, $form, $form_state);
-
-    // If validation fails, force form submission.
-    if (form_get_errors()) {
-
-      form_execute_handlers('submit', $form, $form_state);
-
-    }
-
-    // This call recreates the form relying solely on the form_state that the
-    // drupal_process_form set up.
-    $form = drupal_rebuild_form($form_id, $form_state, $args, $form_build_id);
-
-    return $form;
-}
-
-
-/*
- *
- *
- */
-function theme_tripal_pub_author_table($form) {
-
-  $rows = array();
-
-  $headers = array(
-    t('Givennames'),
-    t('Surname'),
-    t('Suffix'),
-    '',  // Blank header title for the remove link.
-  );
-
-  foreach (element_children($form) as $key) {
-
-    // No need to print the field title every time.
-    unset(
-      $form[$key]['author_name_text']['#title'],
-      $form[$key]['author_name_text-2']['#title'],
-      $form[$key]['author_name_text-3']['#title'],
-      $form[$key]['remove_author']['#title']
-    );
-
-    // Build the table row.
-    $row = array(
-      'data' => array(
-        array('data' => drupal_render($form[$key]['author_name']) . drupal_render($form[$key]['author_name_text']), 'class' => 'author-name'),
-        array('data' => drupal_render($form[$key]['author_name']) . drupal_render($form[$key]['author_name_text-2']), 'class' => 'author-name'),
-        array('data' => drupal_render($form[$key]['author_name']) . drupal_render($form[$key]['author_name_text-3']), 'class' => 'author-name'),
-        array('data' => drupal_render($form[$key]['edit_author']) . drupal_render($form[$key]['remove_author']), 'class' => 'remove-author'),
-      ),
-    );
-
-    // Add additional attributes to the row, such as a class for this row.
-    if (isset($form[$key]['#attributes'])) {
-
-      $row = array_merge($row, $form[$key]['#attributes']);
-
-    }
-
-    $rows[] = $row;
-
-  }
-
-  //$output = theme('table', $headers, $rows);
-
-  $output .= drupal_render($form);
-
-  return $output;
-
-}
-
-/**
- *
- * Helper function to define populated form field elements for publication node form.
- *
- */
-function tripal_pub_author_display_form($delta, $author) {
-
-  $form = array(
-    '#tree' => TRUE,
-  );
-
-  // Author Name
-  $form['author_name'] = array(
-    '#type' => 'hidden',
-    '#value' => $author,
-    '#parents' => array('authors', $delta),
-  );
-  $form['author_name_text'] = array(
-    '#type' => 'item',
-    '#title' => t('Givennames'),
-    '#parents' => array('authors', $delta),
-    '#value' => $author['author_name']['givennames'],
-  );
-
-  $form['author_name_text-2'] = array(
-    '#type' => 'item',
-    '#title' => t('Surname'),
-    '#parents' => array('authors', $delta),
-    '#value' => $author['author_name']['surname'],
-  );
-
-  $form['author_name_text-3'] = array(
-    '#type' => 'item',
-    '#title' => t('Suffix'),
-    '#parents' => array('authors', $delta),
-    '#value' => $author['author_name']['suffix'],
-  );
-
-    // Remove button.
-    $form['remove_author'] = array(
-        '#type' => 'submit',
-        '#name' => 'remove_author_' . $delta,
-        '#value' => t('Remove'),
-        '#submit' => array('tripal_pub_remove_row_submit'),
-        '#parents' => array('authors', $delta, 'remove_author'),
-        '#ahah' => array(
-          'path' => 'tripal_pub/js/0',
-          'wrapper' => 'author-wrapper',
-          'method' => 'replace',
-          'effect' => 'fade',
-        ),
-    );
-
-      // Edit Author button
-    $form['edit_author'] = array(
-        '#type' => 'submit',
-        '#name' => 'edit_author_' . $delta,
-        '#value' => t('Edit'),
-        '#submit' => array('tripal_pub_set_edit_author_submit'),
-        '#parents' => array('authors', $delta, 'edit_author'),
-        '#ahah' => array(
-          'path' => 'tripal_pub/js/0',
-          'wrapper' => 'author-wrapper',
-          'method' => 'replace',
-          'effect' => 'fade',
-        ),
-    );
-
-  return $form;
-}
-
-
-/*
- * This function executes commands periodically. This is called whenever a cron run occurs. This
- * function uses the time interval that the user has entered. This Publication module, requires
- * that the program is ran in pre-determined intervals, as desired by the user. By using a time stamp
- * and comparing the current time and the time that the last time a cron was ran, this program will
- *  be ran.
- *
- *
- * @TODO: The cron function is not working correctly, not sure why the cron is not working properly.
- *
- *
- *
- */
-/**
-function tripal_pub_cron(){
-
-      global $user;    //needed to make the current users details available so access of user id is available
-
-      //Aquiring the current time
-      $current_time = time();
-
-      //Aquiring the user entered time interval
-      $user_interval = variable_get('time_interval',NULL);
-
-      //converting the user entered interval into seconds for use with unix time stamp
-      $converted_interval = ($user_interval*60);
-
-      //Accessing database for time stamp from watchdog
-      $cron = db_result(db_query('select timestamp from {watchdog} where type="cron" order by timestamp desc limit 1'));
-
-      //debugging print statement
-      //print($cron);
-
-      //taking variable value & assigning for use
-      $cron_last = variable_get('cron', time());
-
-      $updated_interval = $cron_last - $converted_interval;
-
-      if($current_time >= $updated_interval ){
-
-        tripal_add_job('Search & Load PubMed Publications', 'tripal_pub', 'tripal_pub_search_load_pubmed_publications', $job_args, $user->uid);
-
-      }
-
-}
-  */
-
-//-----------------------------------------------------------------------------
-//  SECTION: Configuration form
-//-----------------------------------------------------------------------------
-
-
-/**
- * Implementation of tripal_pub_form().
- *
- *  This form takes the following information:A Publication Title,Volume title,Volume,Series Name,
- *  Issue,Publication Year,Pages where the Article is located, Miniref,Type-Id, if the article is Obsolete,
- *  Publishing company,Pubplication Place and a Uniquename for the the instance. It then puts the
- *  infromation into the Chado_project database table based on its 'pub_id'.
- *
- *
- *  @return $form
- *    An array of menu items '$form'
- *
- */
-function tripal_pub_configuration_form() {
-
-  $cv_options = tripal_cv_get_cv_options();
-
-  //Creating Fieldset for multiple fields in form
-  $form['node_form'] = array(
-    '#type' => 'fieldset',
-    '#title' => t('Create/Edit Publication Settings'),
-  );
-
-  $form['node_form']['tripal_pub_types_cv'] = array(
-    '#type' => 'select',
-    '#title' => t('Controlled Vocabularies'),
-    '#options' => $cv_options,
-    '#default_value' => variable_get('tripal_pub_types_cv', 0),
-    '#description' => 'Set the controlled vocabulary to pull publication type options from. Terms in this vocabulary will be available is the Publication Type select box on both the create and edit pages.',
-  );
-
-  $form['pubmed'] = array(
-    '#type' => 'fieldset',
-    '#title' => t('Create Nodes via PubMed Search'),
-  );
-
-  $form['pubmed']['description'] = array(
-    '#type' => 'item',
-    '#value' => 'Publication nodes are created based on the results of a PubMed publication search using '
-      .'the keywords entered below. No content is created until the sync is clicked below and the registered tripal job is '
-      .'run. This script attempts to only load new publications (ones which don\'t already have nodes from a previous search) '
-      .'by comparing the pub_id thus if a publication is added manually which also appears in the pubmed search it will likely '
-      .'get added twice.'
-  );
-
-  //define form elements for the node's title and body.
-  $form['pubmed']['unique_name'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Search Keywords'),
-    '#description' => t('Specific search terms. Must be seperated by a single space.'),
-    '#required' => FALSE,
-    '#default_value' => variable_get('unique_name', NULL)
-  );
-
-  //define form elements for the node's title and body.
-  /**
-  $form['set']['time_interval'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Time Search Interval (Minutes)'),
-    '#description'=>t(' The “Search Interval” set here determines when a drupal cron job should
-    schedule a tripal job. As such, in reality the time until publications are sync’d is “Search Interval”
-    + time remaining until drupal cron is run + time between drupal cron run and next tripal jobs run'),
-    '#required' => FALSE,
-    '#default_value' => variable_get('time_interval', NULL)
-  );
-  */
-
-  $form['pubmed']['sync_info'] = array(
-      '#type' => 'submit',
-      '#title' => t('Sync Publications Jobs'),
-      '#value' => t('Sync'),
-  );
-
-  $form['submit'] = array(
-    '#type' => 'submit',
-    '#weight' => 10,
-    '#value' => t('Save Configuration')
-  );
-
-  return $form;
-
-}
-
-
-/*
- * Pub Configuration-Form
- * This form submit uses variable_set to set the vocabularies that are used, as well as the
- * unique_name and time interval that was entered by the user. If the user selects the option
- * to Sync Publicatin Jobs, the 'tripal_add_job' function is called, and a tripal job
- * will be added.
- *
- * @param $form
- *    -The submitted form containing the user entered infromation
- * @param $form_state
- *    -Is the state of the form: i.e what button was pressed, what infromation was entered,etc.
- *    The key is the 'values'
- */
-function tripal_pub_configuration_form_submit($form, $form_state) {
-
-    global $user;    //needed to make the current users details available so access of user id is available
-
-    if ($form_state['values']['op'] == t('Save Configuration')) {
-
-        variable_set('tripal_pub_types_cv', $form_state['values']['tripal_pub_types_cv']);
-        variable_set('unique_name', $form_state['values']['unique_name'] );
-
-    }
-
-    //adding a tripal job if the user selects to Sync the Publications
-    if ($form_state['values']['op'] == t('Sync')) {
-
-        variable_set('unique_name', $form_state['values']['unique_name'] );
-        $job_args = array($form_state['values']['unique_name']);
-        $job_id = tripal_add_job('Search & Load PubMed Publications', 'tripal_pub', 'tripal_pub_search_load_pubmed_publications', $job_args, $user->uid);
-
-    }
-
-}
-
-
-/**
- * Tripal Pub Search Load Pubmed Publications
- *
- * This function takes a search term array and uses it as the parameters for the perl script
- * e_utiliies.pl, which needs to be included and installed in any system that wants full
- * functionality of this module, with respects to searching PubMed for relative articles.
- * When the function ends, and all of the form_state values are set, the drupal_execute()
- * function is called and retrieves a form using a form_id, populates it with $form_values,
- * processes it, and returns any validation errors that came up.
- *
- *
- *
- * @TODO: The loading of this function still needs to be fixed. When running the configuration, there
- * are still errors coming up, UFT8 warnings still come up, in random places. My guess, it is when
- * a article is found that is not in english
- *
- *
- *
- * @param $search_term_array
- *     -This arrary contains the search terms that were entered
- *
- *
- */
-function tripal_pub_search_load_pubmed_publications($search_term_array) {
-
-  $key_terms = preg_split('/\s+/', $search_term_array);
-
-  $search_terms= implode("+", $key_terms);
-
-  //Retrieving absolute path of current directory
-  $path = drupal_get_path('module', 'tripal_pub');
-
-  $i_path = realpath(".");
-
-  $absolute_path = $i_path . '/' . $path;
-
-  //perl file required for operating the NCBI PubMed database search, uses users working directory
-  $command = 'perl ' . $absolute_path  . '/e_utilities.pl' . ' ' . $search_terms . ' ' . 'uilist';
-
-  print "\nAccessing PubMed ID's\n";
-
-  exec($command, $output);
-
-
-  //for loop going through all the pub_med_id, creating a node for each one
-  for ($i=0; $i < sizeof($output); $i++) {
-
-    $pmid = $output[$i];
-
-    //aquiring the pubmed id from the pub table based on the uniquename
-    $pubmed_id = tripal_core_chado_select( 'pub', array('pub_id'), array( 'uniquename' => $pmid) );
-
-    //Checking that the pub-med id is not set & thus not in the database
-    if (!isset($pubmed_id[0]->pub_id)) {
-
-      print "\nRetrieving PubMed ID:" . $pmid . "\n";
-
-      $command = '';
-
-      $xml_report = '';
-
-      $newline_separated = '';
-
-      $xml = '';
-
-      //Uncomment below line to see any syntax errors within the perl script
-      //$command = 'perl ' ."-cs" .' ' . $absolute_path  .'/e_utilities.pl' .' ' .$pmid.'[uid] ' .'xml';
-
-      $command = 'perl ' . $absolute_path  . '/e_utilities.pl' . ' ' . $pmid . '[uid] ' . 'xml';
-
-      exec($command, $xml_report);
-
-      //adding the xml report once the new line characters have been removed
-      $newline_separated = implode("\n", $xml_report);
-
-      //relaying the xml output so it can be put in a string variable
-      $xml = simplexml_load_string($newline_separated);
-
-      //checking the Article Title exists, if so, procede with setting values
-      if (isset($xml->PubmedArticle->MedlineCitation->Article->ArticleTitle)) {
-
-        $form_id ='chado_pub_node_form';
-
-        $form_state = array();
-
-        module_load_include('inc', 'node', 'node.pages');
-
-        $node = array('type' => 'chado_pub');
-
-        $form_state = array();
-
-        $form_state['values']['title'] =
-        iconv(iconv_get_encoding((string)$xml->PubmedArticle->MedlineCitation->Article->ArticleTitle),
-        "UTF-8",
-        (string)$xml->PubmedArticle->MedlineCitation->Article->ArticleTitle);
-
-        $form_state['values']['abstract'] =
-        iconv(iconv_get_encoding((string)$xml->PubmedArticle),
-        "UTF-8",
-        (string)$xml->PubmedArticle);
-
-        $form_state['values']['authors'] =
-        iconv(iconv_get_encoding((string)$xml->PubmedArticle),
-        "UTF-8",
-        (string)$xml->PubmedArticle);
-
-        $form_state['values']['volumetitle'] =
-        iconv(iconv_get_encoding((string)$xml->PubmedArticle->MedlineCitation->Article->Journal->Title),
-        "UTF-8",
-        (string)$xml->PubmedArticle->MedlineCitation->Article->Journal->Title);
-
-        $form_state['values']['series_name'] =
-        iconv(iconv_get_encoding((string)$xml->PubmedArticle->MedlineCitation->Article->Journal->Title),
-        "UTF-8",
-        (string)$xml->PubmedArticle->MedlineCitation->Article->Journal->Title);
-
-        $form_state['values']['volume'] =
-        iconv(iconv_get_encoding((string)$xml->PubmedArticle->MedlineCitation->Article->Journal->JournalIssue->Volume),
-        "UTF-8",
-        (string)$xml->PubmedArticle->MedlineCitation->Article->Journal->JournalIssue->Volume);
-
-        $form_state['values']['issue'] =
-        iconv(iconv_get_encoding((string)$xml->PubmedArticle->MedlineCitation->Article->Journal->JournalIssue->Issue),
-        "UTF-8",
-        (string)$xml->PubmedArticle->MedlineCitation->Article->Journal->JournalIssue->Issue);
-
-        $form_state['values']['pyear'] =
-        iconv(iconv_get_encoding((string)$xml->PubmedArticle->MedlineCitation->Article->Journal->JournalIssue->PubDate->Year),
-        "UTF-8",
-        (string)$xml->PubmedArticle->MedlineCitation->Article->Journal->JournalIssue->PubDate->Year);
-
-        $form_state['values']['pages'] =
-        iconv(iconv_get_encoding((string)$xml->PubmedArticle->MedlineCitation->Article->Pagination->MedlinePgn),
-        "UTF-8",
-        (string)$xml->PubmedArticle->MedlineCitation->Article->Pagination->MedlinePgn);
-
-        $form_state['values']['uniquename'] =
-        iconv(iconv_get_encoding((string)$xml->PubmedArticle->MedlineCitation->PMID),
-        "UTF-8",
-        (string)$xml->PubmedArticle->MedlineCitation->PMID);
-
-        $type_id = tripal_core_chado_select( 'cvterm', array('cvterm_id'), array( 'name' => 'Article') );
-
-        $form_state['values']['type_id'] = $type_id[0]->cvterm_id;
-
-        $form_state['values']['is_obsolete']='f';
-
-        $form_state['values']['op'] = t('Save');
-
-        form_set_error(NULL, '', TRUE);
-
-        //If the required values & fields are not set, the drupal_execute function is not called and node is not added
-        if (isset($form_state['values']['volumetitle']) || isset($form_state['values']['series_name'])||
-            isset($form_state['values']['pages'])||isset($form_state['values']['uniquename'])) {
-
-          drupal_execute('tripal_pub_node_form', $form_state, (object)$node);
-
-        }
-
-        $errors = form_get_errors();
-
-        //if(isset($errors)){
-
-
-        if ( $errors !=
-          'Warning: pg_query(): Query failed: ERROR:  invalid byte sequence for encoding "UTF8": 0xfc
-          HINT:  This error can also happen if the byte sequence does not match the encoding expected
-          by the server, which is controlled by "client_encoding".') {
-
-          print "\nErrors:" . print_r($errors, TRUE) . "\n";
-
-          }
-          else{
-
-            print "\nErrors:" . print_r($errors, TRUE) . "\n";
-
-          }
-
-        }
-
-      }
-      elseif ($i==sizeof($output)) {
-
-        print "\n Search Completed Successfully \n";
-        print "\n Total Nodes Created:" . $i . "\n";
-
-      }
-      else{
-
-        print "\nERROR: The following PubMed ID:" . ' ' . $pubmed_id[0]->pub_id .  " Exists in database,skipped.\n";
-
-    }
-  }
-
-  }
-
-
-//-----------------------------------------------------------------------------
-//  SECTION: Custom form Elements
-//-----------------------------------------------------------------------------
-
-
-/*
- * This fucnction tells the FAPI(Form-API) that this is a element that will carry a value, contains
- * arrays of callback function names. Will declare an element will create a reuseable element type.
- *
- *  @return
- *      An associative array with the name of each element type as a key and an
- *      array of attributes describingthe type as a value
- */
-function tripal_pub_elements() {
-
-      return array(
-          'publication_author' => array(
-               '#input' => TRUE,
-               '#process' => array('expand_publication_author'),
-               '#element_validate' => array('publication_author_validate'),
-              ),
-      );
-
-}
-
-
-/*
- *
- *
- *
- */
-function expand_publication_author($element) {
-
-    if (empty($element['#value'])) {
-      $element['#value'] = array(
-              'givennames' => '',
-              'suffix' => '',
-              'surname' => '',
-            );
-
-    }
-
-    $element['#tree'] = TRUE;
-
-    $parents = $element['#parents'];
-
-    $parents[] = 'givennames';
-
-    $element['givennames'] = array(
-    '#type' => 'textfield',
-              '#size' => 10,
-              //'#maxlength' => TRUE,
-              //'#default_value'=> $element['#value']['#given'],
-              '#prefix' => 'Given Name',
-    );
-
-    if ($element['#default_value']) {
-
-      $element['givennames']['#default_value'] = $element['#default_value']['givennames'];
-
-    }
-
-    $parents = $element['#parents'];
-
-    $parents[]= 'surname';
-
-    $element['surname'] = array(
-    '#type' => 'textfield',
-              '#size' => 10,
-              //'#maxlength' => TRUE,
-              //'#default_value'=> $element['#value']['#surname'],
-              '#prefix' => 'Surname',
-    );
-
-    if ($element['#default_value']) {
-
-      $element['surname']['#default_value'] = $element['#default_value']['surname'];
-
-    }
-
-    $parents = $element['#parents'];
-
-    $parents[]= 'suffix';
-
-    $element['suffix'] = array(
-    '#type' => 'textfield',
-              '#size' => 5,
-              //'#maxlength' => TRUE,
-              //'#default_value'=> $element['#value']['#suffix'],
-              '#prefix' => 'suffix',
-    );
-
-    if ($element['#default_value']) {
-
-      $element['suffix']['#default_value'] = $element['#default_value']['suffix'];
-
-    }
-
-  return $element;
-
-}
-
-
-/*
- *
- *
- *
- */
-function theme_publication_author($element) {
-
-  return theme('form_element', $element, '<div class="container-inline">' . $element['#children'] . '</div>');
-
-}
-
-/*
- *
- *
- *
- */
-function publication_author_validate($element) {
-
-if ($element['#required']) {
-
-  if (trim($element['#value']['givennames']) == '' || trim($element['#value']['suffix']) == '' || trim($element['#value']['surname']) == '' ||
-
-      !is_string($element['#value']['givennames']) || !is_string($element['#value']['givennames']) || !is_string($element['#value']['surname'])) {
-
-      form_error($element, t('The Author name is required.'));
-
-    }
-
-  }
-
-
-}
-
-
-//-----------------------------------------------------------------------------
-//  End of Software
-//-----------------------------------------------------------------------------
-
-
-
-
-

+ 0 - 71
tripal_pub/tripal_pub.views.inc

@@ -1,71 +0,0 @@
-<?php
-
-/**
- *  @file
- *  This file contains the basic functions for views integration of
- *  chado/tripal_pub tables. Supplementary functions can be found in
- *  ./views/
- *
- *  Documentation on views integration can be found at
- *  http://views2.logrus.com/doc/html/index.html.
- */
-
-/*************************************************************************
- * Implements hook_views_data()
- * Purpose: Describe chado/tripal tables & fields to views
- *
- * @return: a data array which follows the structure outlined in the
- *   views2 documentation for this hook. Essentially, it's an array of table
- *   definitions keyed by chado/tripal table name. Each table definition
- *   includes basic details about the table, fields in that table and
- *   relationships between that table and others (joins)
- */
-function tripal_pub_views_data()  {
-  $data = array();
-
-  if (module_exists('tripal_views')) {
-    $tables = array(
-      'pub'
-    );
-    foreach ($tables as $tablename) {
-      if (!tripal_views_is_integrated($tablename, 9)) {
-        $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE);
-        tripal_views_integration_add_entry($table_integration_array);
-      }
-    }
-
-    $tables = array(
-      'pub_dbxref',
-      'pub_relationship',
-      'pubauthor',
-      'pubprop'
-    );
-    foreach ($tables as $tablename) {
-      if (!tripal_views_is_integrated($tablename, 9)) {
-        $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, FALSE);
-        tripal_views_integration_add_entry($table_integration_array);
-      }
-    }
-  }
-
-  return $data;
-}
-
-/*************************************************************************
- * Implements hook_views_handlers()
- * Purpose: Register all custom handlers with views
- *   where a handler describes either "the type of field",
- *   "how a field should be filtered", "how a field should be sorted"
- *
- * @return: An array of handler definitions
- */
-function tripal_pub_views_handlers() {
-  return array(
-   'info' => array(
-     'path' => drupal_get_path('module', 'tripal_pub') . '/views/handlers',
-    ),
-   'handlers' => array(
-
-    ),
-  );
-}

+ 15 - 354
tripal_stock/tripal_stock.api.inc

@@ -320,7 +320,7 @@ function tripal_stock_get_stock_by_name_identifier($name, $organism_id) {
 }
 }
 
 
 /**
 /**
- * Implements hook_chado_stock_schema()
+ * Implements hook_chado_schema_v1_11_table()
  *
  *
  * Purpose: To add descriptions and foreign keys to default table description
  * Purpose: To add descriptions and foreign keys to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
@@ -330,32 +330,11 @@ function tripal_stock_get_stock_by_name_identifier($name, $organism_id) {
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_stock_chado_stock_schema() {
+function tripal_stock_chado_schema_v1_11_stock() {
   $description = array();
   $description = array();
 
 
   $description['description'] = 'Any stock can be globally identified by the combination of organism, uniquename and stock type. A stock is the physical entities, either living or preserved, held by collections. Stocks belong to a collection; they have IDs, type, organism, description and may have a genotype.';
   $description['description'] = 'Any stock can be globally identified by the combination of organism, uniquename and stock type. A stock is the physical entities, either living or preserved, held by collections. Stocks belong to a collection; they have IDs, type, organism, description and may have a genotype.';
 
 
-  $description['foreign keys']['organism'] = array(
-        'table' => 'organism',
-        'columns' => array(
-          'organism_id' => 'organism_id',
-        ),
-  );
-
-  $description['foreign keys']['dbxref'] = array(
-        'table' => 'dbxref',
-        'columns' => array(
-          'dbxref_id' => 'dbxref_id',
-        ),
-  );
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
   $referring_tables = array(
   $referring_tables = array(
     'stock_cvterm',
     'stock_cvterm',
     'stock_dbxref',
     'stock_dbxref',
@@ -371,350 +350,32 @@ function tripal_stock_chado_stock_schema() {
 }
 }
 
 
 /**
 /**
- * Implements hook_chado_stockprop_schema()
- *
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the stockprop table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_stock_chado_stockprop_schema() {
-  $description = array();
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
-  $description['foreign keys']['stock'] = array(
-        'table' => 'stock',
-        'columns' => array(
-          'stock_id' => 'stock_id',
-        ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_chado_stockprop_pub_schema()
- *
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the stockprop_pub table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_stock_chado_stockprop_pub_schema() {
-  $description = array();
-
-  $description['foreign keys']['pub'] = array(
-        'table' => 'pub',
-        'columns' => array(
-          'pub_id' => 'pub_id',
-        ),
-  );
-
-  $description['foreign keys']['stockprop'] = array(
-        'table' => 'stockprop',
-        'columns' => array(
-          'stockprop_id' => 'stockprop_id',
-        ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_chado_stock_cvterm_schema()
- *
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the stock_cvterm table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_stock_chado_stock_cvterm_schema() {
-  $description = array();
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'cvterm_id' => 'cvterm_id',
-        ),
-  );
-
-  $description['foreign keys']['stock'] = array(
-        'table' => 'stock',
-        'columns' => array(
-          'stock_id' => 'stock_id',
-        ),
-  );
-
-  $description['foreign keys']['pub'] = array(
-        'table' => 'pub',
-        'columns' => array(
-          'pub_id' => 'pub_id',
-        ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_chado_stock_dbxref_schema()
- *
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the stock_dbxref table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_stock_chado_stock_dbxref_schema() {
-  $description = array();
-
-  $description['foreign keys']['dbxref'] = array(
-        'table' => 'dbxref',
-        'columns' => array(
-          'dbxref_id' => 'dbxref_id',
-        ),
-  );
-
-  $description['foreign keys']['stock'] = array(
-        'table' => 'stock',
-        'columns' => array(
-          'stock_id' => 'stock_id',
-        ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_chado_stock_genotype_schema()
+ * Implements hook_chado_schema_v1_2_table()
  *
  *
  * Purpose: To add descriptions and foreign keys to default table description
  * Purpose: To add descriptions and foreign keys to default table description
  * Note: This array will be merged with the array from all other implementations
  * Note: This array will be merged with the array from all other implementations
  *
  *
  * @return
  * @return
- *    Array describing the stock_genotype table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_stock_chado_stock_genotype_schema() {
-  $description = array();
-
-  $description['foreign keys']['genotype'] = array(
-        'table' => 'genotype',
-        'columns' => array(
-          'genotype_id' => 'genotype_id',
-        ),
-  );
-
-  $description['foreign keys']['stock'] = array(
-        'table' => 'stock',
-        'columns' => array(
-          'stock_id' => 'stock_id',
-        ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_chado_stock_pub_schema()
- *
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the stock_pub table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_stock_chado_stock_pub_schema() {
-  $description = array();
-
-  $description['foreign keys']['pub'] = array(
-        'table' => 'pub',
-        'columns' => array(
-          'pub_id' => 'pub_id',
-        ),
-  );
-
-  $description['foreign keys']['stock'] = array(
-        'table' => 'stock',
-        'columns' => array(
-          'stock_id' => 'stock_id',
-        ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_chado_stock_relationship_schema()
- *
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the stock_relationship table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_stock_chado_stock_relationship_schema() {
-  $description = array();
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
-  $description['foreign keys']['stock'] = array(
-        'table' => 'stock',
-        'columns' => array(
-          'subject_id' => 'stock_id',
-          'object_id' => 'stock_id',
-        ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_chado_stock_relationship_pub_schema()
- *
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the stock_relationship_pub table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_stock_chado_stock_relationship_pub_schema() {
-  $description = array();
-
-  $description['foreign keys']['pub'] = array(
-        'table' => 'pub',
-        'columns' => array(
-          'pub_id' => 'pub_id',
-        ),
-  );
-
-  $description['foreign keys']['stock_relationship'] = array(
-        'table' => 'stock_relationship',
-        'columns' => array(
-          'stock_relationship_id' => 'stock_relationship_id',
-        ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_chado_stockcollection_schema()
- *
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the stockcollection table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_stock_chado_stockcollection_schema() {
-  $description = array();
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
-  $description['foreign keys']['contact'] = array(
-        'table' => 'contact',
-        'columns' => array(
-          'contact_id' => 'contact_id',
-        ),
-  );
-
-  return $description;
-}
-
-/**
- * Implements hook_chado_stockcollection_stock_schema()
- *
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the stockcollection_stock table
+ *    Array describing the stock table
  *
  *
  * @ingroup tripal_schema_api
  * @ingroup tripal_schema_api
  */
  */
-function tripal_stock_chado_stockcollection_stock_schema() {
+function tripal_stock_chado_schema_v1_2_stock() {
   $description = array();
   $description = array();
 
 
-  $description['foreign keys']['stock'] = array(
-        'table' => 'stock',
-        'columns' => array(
-          'stock_id' => 'stock_id',
-        ),
-  );
+  $description['description'] = 'Any stock can be globally identified by the combination of organism, uniquename and stock type. A stock is the physical entities, either living or preserved, held by collections. Stocks belong to a collection; they have IDs, type, organism, description and may have a genotype.';
 
 
-  $description['foreign keys']['stockcollection'] = array(
-        'table' => 'stockcollection',
-        'columns' => array(
-          'stockcollection_id' => 'stockcollection_id',
-        ),
+  $referring_tables = array(
+    'stock_cvterm',
+    'stock_dbxref',
+    'stock_genotype',
+    'stock_pub',
+    'stock_relationship',
+    'stockcollection_stock',
+    'stockprop'
   );
   );
+  $description['referring_tables'] = $referring_tables;
 
 
   return $description;
   return $description;
 }
 }
 
 
-/**
- * Implements hook_chado_stockcollectionprop_schema()
- *
- * Purpose: To add descriptions and foreign keys to default table description
- * Note: This array will be merged with the array from all other implementations
- *
- * @return
- *    Array describing the stockcollectionprop table
- *
- * @ingroup tripal_schema_api
- */
-function tripal_stock_chado_stockcollectionprop_schema() {
-  $description = array();
-
-  $description['foreign keys']['cvterm'] = array(
-        'table' => 'cvterm',
-        'columns' => array(
-          'type_id' => 'cvterm_id',
-        ),
-  );
-
-  $description['foreign keys']['stockcollection'] = array(
-        'table' => 'stockcollection',
-        'columns' => array(
-          'stockcollection_id' => 'stockcollection_id',
-        ),
-  );
-
-  return $description;
-}

+ 1 - 77
tripal_stock/tripal_stock.module

@@ -60,15 +60,6 @@ function tripal_stock_menu() {
     'type' => MENU_NORMAL_ITEM
     'type' => MENU_NORMAL_ITEM
   );
   );
 
 
-  //Displaying stocks----------------------------
-  $items['stocks'] = array(
-    'menu_name' => ('primary-links'),
-    'title' => 'Stocks',
-    'page callback' => 'tripal_stock_show_stocks',
-    'access arguments' => array('access chado_stock content'),
-    'type' => MENU_NORMAL_ITEM,
-  );
-
   // Adding Secondary Properties-----------------
   // Adding Secondary Properties-----------------
   $items['node/%cs_node/properties'] = array(
   $items['node/%cs_node/properties'] = array(
     'title' => 'Add Properties & Synonyms',
     'title' => 'Add Properties & Synonyms',
@@ -243,9 +234,7 @@ function tripal_stock_views_api() {
  */
  */
 function tripal_stock_theme() {
 function tripal_stock_theme() {
   return array(
   return array(
-    'tripal_stock_stock_table' => array(
-      'arguments' => array('stocks'),
-    ),
+
     // Property edit forms--------------------------
     // Property edit forms--------------------------
     'tripal_stock_edit_ALL_properties_form' => array(
     'tripal_stock_edit_ALL_properties_form' => array(
       'arguments' => array('form'),
       'arguments' => array('form'),
@@ -283,71 +272,6 @@ function tripal_stock_theme() {
   );
   );
 }
 }
 
 
-/**
- * Purpose: show stocks stored in drupals chado_stock table
- *
- * This function provides the default html representation of the stock table. This
- * representation can be overridden using Drupal Views2 to create more flexible tables
- * listing stocks.
- *
- * @return
- *   HTML representation of a table of stocks
- *
- * @ingroup tripal_stock
- */
-function tripal_stock_show_stocks() {
-  $sql = "SELECT COUNT(stock_id) FROM {chado_stock}";
-  $no_stocks = db_result(db_query($sql));
-  if ($no_stocks != 0) {
-    $stocks = tripal_stock_get_all_stocks();
-    if ($no_stocks != count($stocks)) {
-      drupal_set_message(t("Synchronization needed."));
-    }
-    return theme('tripal_stock_stock_table', &$stocks);
-  }
-  else {
-    return t("No Stocks exists. Please contact administrators to " .
-             "synchronize stocks.");
-  }
-}
-
-/**
- * A themeing funtion for the default tripal stock table
- *
- * @param $stocks
- *   An array of all stock nodes
- *
- * @return
- *   HTML representation of a table of stocks
- *
- * @ingroup tripal_stock
- */
-function theme_tripal_stock_stock_table(&$stocks) {
-
-  // cycle through the stocks and build the stocks page
-  $output = "<div id=\"stocks\">";
-  $output .= '<table>';
-  $output .= "<tr>";
-  $output .= "<th>Name</th>";
-  $output .= "<th>Type</th>";
-  $output .= "<th>Organism</th>";
-  $output .= "<th>Description</th>";
-  $output .= "</tr>";
-
-  foreach ($stocks as $node) {
-    $output .= "<tr>";
-    $output .= "<td>" . l($node->stock->name, "node/" . $node->nid) . "</td>";
-    $output .= "<td>" . $node->stock->type_id->name . "</td>";
-    $output .= "<td nowrap>" . $node->stock->organism_id->common_name . "</td>";
-    $output .= "<td>" . $node->stock->description . "</td>";
-    $output .= "</tr>";
-  }
-  $output .= "</table>";
-  $output .= "</div>";
-
-  return $output;
-}
-
 /**
 /**
  * Implements hook_node_info(): registers a stock node type
  * Implements hook_node_info(): registers a stock node type
  *
  *

+ 1 - 1
tripal_views/tripal_views.api.inc

@@ -390,7 +390,7 @@ function tripal_views_integrate_all_chado_tables() {
 function tripal_views_get_integration_array_for_chado_table($table_name, $base_table = TRUE, $priority = 9) {
 function tripal_views_get_integration_array_for_chado_table($table_name, $base_table = TRUE, $priority = 9) {
 
 
   // Get the schema for this table (via the chado schema api)
   // Get the schema for this table (via the chado schema api)
-  $schema = module_invoke_all('chado_' . $table_name . '_schema');
+  $schema = tripal_core_get_chado_table_schema($table_name);
 
 
   // Base definition array
   // Base definition array
   $defn_array = array(
   $defn_array = array(

+ 11 - 2
tripal_views/tripal_views.install

@@ -18,6 +18,9 @@ function tripal_views_install() {
   // create the tables that manage materialized views and jobs
   // create the tables that manage materialized views and jobs
   drupal_install_schema('tripal_views');
   drupal_install_schema('tripal_views');
 
 
+  // we want views to pick up our changes  
+  views_invalidate_cache();
+
 }
 }
 
 
 /**
 /**
@@ -100,7 +103,7 @@ function tripal_views_update_6040() {
 function tripal_views_views_schema() {
 function tripal_views_views_schema() {
   $schema = array();
   $schema = array();
   $schema['tripal_views'] = array(
   $schema['tripal_views'] = array(
-    'description' => 'contains the setupes, their materialized view id and base table name that was used.',
+    'description' => 'contains the setups, their materialized view id and base table name that was used.',
     'fields' => array(
     'fields' => array(
       'setup_id' => array(
       'setup_id' => array(
         'description' => 'the id of the setup',
         'description' => 'the id of the setup',
@@ -113,8 +116,14 @@ function tripal_views_views_schema() {
         'type' => 'int',
         'type' => 'int',
         'unsigned' => TRUE,
         'unsigned' => TRUE,
       ),
       ),
+      'base_table' => array(
+         'description' => 'either TRUE (1) or FALSE (0) depending on whether the current table should be a bast table of a View',
+         'type' => 'int', 
+         'not null ' => TRUE,
+         'default' => 1
+      ),
       'table_name' => array(
       'table_name' => array(
-        'description' => 'the base table name to be used when using this setup. Use this field when not using a materialized view',
+        'description' => 'the table name being integrated.',
         'type' => 'varchar',
         'type' => 'varchar',
         'length' => 255,
         'length' => 255,
         'not null' => TRUE,
         'not null' => TRUE,

+ 5 - 4
tripal_views/tripal_views.module

@@ -23,20 +23,21 @@ function tripal_views_menu() {
     'type' => MENU_NORMAL_ITEM,
     'type' => MENU_NORMAL_ITEM,
   );
   );
 
 
-  $items['admin/tripal/views/integration'] = array(
-    'title' => 'Integrated Tables',
+  $items['admin/tripal/views/integration/list'] = array(
+    'title' => 'List of Integrated Tables',
     'description' => 'Provide a list of all integrated tables and allows for adding new tables or editing already integrated tables.',
     'description' => 'Provide a list of all integrated tables and allows for adding new tables or editing already integrated tables.',
     'page callback' => 'tripal_views_integration_setup_list',
     'page callback' => 'tripal_views_integration_setup_list',
     'access arguments' => array('manage tripal_views_integration'),
     'access arguments' => array('manage tripal_views_integration'),
     'type' => MENU_NORMAL_ITEM,
     'type' => MENU_NORMAL_ITEM,
+    'weight' => 0,
   );
   );
 
 
   $items['admin/tripal/views/integration/new'] = array(
   $items['admin/tripal/views/integration/new'] = array(
-    'title' => 'Integrate Views',
+    'title' => 'Integrate A Table',
     'page callback' => 'drupal_get_form',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('tripal_views_integration_form'),
     'page arguments' => array('tripal_views_integration_form'),
     'access arguments' => array('manage tripal_views_integration'), //TODO: figure out the proper permissions arguments
     'access arguments' => array('manage tripal_views_integration'), //TODO: figure out the proper permissions arguments
-    'type' => MENU_CALLBACK,
+    'type' => MENU_NORMAL_ITEM,
   );
   );
 
 
   $items['admin/tripal/views/integration/edit/%'] = array(
   $items['admin/tripal/views/integration/edit/%'] = array(

+ 36 - 12
tripal_views/tripal_views.views.inc

@@ -62,6 +62,17 @@ function tripal_views_views_handlers() {
     ),
     ),
     'handlers' => array(
     'handlers' => array(
 
 
+      // Custom Tripal Handlers
+      'views_handler_filter_file_upload' => array(
+        'parent' => 'views_handler_filter',
+      ),
+      'tripal_views_handler_filter_string_selectbox' => array(
+        'parent' => 'views_handler_filter_string',
+      ),
+      'views_handler_filter_no_results' => array(
+        'parent' => 'views_handler_filter'
+      ),
+
       // Custom Chado Handlers
       // Custom Chado Handlers
       'chado_views_handler_field_aggregate' => array(
       'chado_views_handler_field_aggregate' => array(
         'parent' => 'chado_views_handler_field',
         'parent' => 'chado_views_handler_field',
@@ -71,6 +82,7 @@ function tripal_views_views_handlers() {
       ),
       ),
       'chado_views_handler_filter_select_string' => array(
       'chado_views_handler_filter_select_string' => array(
         'parent' => 'chado_views_handler_filter_string',
         'parent' => 'chado_views_handler_filter_string',
+
       ),
       ),
 
 
       // Join Handlers
       // Join Handlers
@@ -81,18 +93,19 @@ function tripal_views_views_handlers() {
         'parent' => 'views_join',
         'parent' => 'views_join',
       ),
       ),
 
 
-      // Other Custom Handlers
-      'views_handler_filter_no_results' => array(
-        'parent' => 'views_handler_filter'
-      ),
-
-      // Old Handlers (deprecated)
+      // Old Handlers no longer used (deprecated)
       'views_handler_field_node_optional' => array(
       'views_handler_field_node_optional' => array(
         'parent' => 'views_handler_field_node',
         'parent' => 'views_handler_field_node',
       ),
       ),
+      'views_handler_field_chado_tf_boolean' => array(
+        'parent' => 'views_handler_field_boolean',
+      ),
       'views_handler_field_chado_count' => array(
       'views_handler_field_chado_count' => array(
         'parent' => 'views_handler_field',
         'parent' => 'views_handler_field',
       ),
       ),
+      'views_handler_filter_chado_boolean' => array(
+        'parent' => 'views_handler_filter_boolean_operator',
+      ),
       'views_handler_field_dbxref_accession_link' => array(
       'views_handler_field_dbxref_accession_link' => array(
         'parent' => 'views_handler_field',
         'parent' => 'views_handler_field',
       ),
       ),
@@ -138,6 +151,9 @@ function tripal_views_views_handlers() {
       'chado_views_handler_filter_string' => array(
       'chado_views_handler_filter_string' => array(
         'parent' => 'views_handler_filter_string',
         'parent' => 'views_handler_filter_string',
       ),
       ),
+      'chado_views_handler_filter_boolean_operator_string' => array(
+        'parent' => 'views_handler_filter_boolean_operator_string',
+      ),
       'chado_views_handler_filter_boolean_operator' => array(
       'chado_views_handler_filter_boolean_operator' => array(
         'parent' => 'views_handler_filter_boolean_operator',
         'parent' => 'views_handler_filter_boolean_operator',
       ),
       ),
@@ -153,14 +169,22 @@ function tripal_views_views_handlers() {
       'chado_views_handler_filter_numeric' => array(
       'chado_views_handler_filter_numeric' => array(
         'parent' => 'views_handler_filter_numeric',
         'parent' => 'views_handler_filter_numeric',
       ),
       ),
-      'views_handler_filter_file_upload' => array(
-        'parent' => 'views_handler_filter',
-      ),
-
       // Sort Handlers
       // Sort Handlers
       'chado_views_handler_sort' => array(
       'chado_views_handler_sort' => array(
         'parent' => 'views_handler_sort'
         'parent' => 'views_handler_sort'
       ),
       ),
+      'chado_views_handler_sort_date' => array(
+        'parent' => 'views_handler_sort_date'
+      ),
+      'chado_views_handler_sort_formula' => array(
+        'parent' => 'views_handler_sort_formula'
+      ),
+      'chado_views_handler_sort_menu_hierarchy' => array(
+        'parent' => 'views_handler_sort_menu_hierarchy'
+      ),
+      'chado_views_handler_sort_random' => array(
+        'parent' => 'views_handler_sort_random'
+      ),
     ),
     ),
   );
   );
 }
 }
@@ -467,7 +491,7 @@ function tripal_views_views_data() {
 
 
       // The chado table could be a regular Chado table or a custom table
       // The chado table could be a regular Chado table or a custom table
       // in the chado database.  Therefore we'll check both
       // in the chado database.  Therefore we'll check both
-      $table_desc = module_invoke_all('chado_' . $base_table . '_schema');
+      $table_desc = tripal_core_get_chado_table_schema($base_table);
       if (!$table_desc) {
       if (!$table_desc) {
         $table_desc = tripal_get_chado_custom_schema($base_table);
         $table_desc = tripal_get_chado_custom_schema($base_table);
       }
       }
@@ -713,7 +737,7 @@ function tripal_views_data_export_download_form(&$form_state, $view, $display_id
 
 
       // only add this display to the form if it is attached
       // only add this display to the form if it is attached
       $display_options = $display->display_options;
       $display_options = $display->display_options;
-      if(strcmp($display_options['displays'][$current_display],$current_display)!=0){
+      if (strcmp($display_options['displays'][$current_display], $current_display) != 0) {
          continue;
          continue;
       }
       }
 
 

+ 16 - 11
tripal_views/tripal_views_integration.inc

@@ -17,8 +17,9 @@ function tripal_views_description_page() {
 
 
   $text .= '<h3>Tripal Views Quick Links:</h3>';
   $text .= '<h3>Tripal Views Quick Links:</h3>';
   $text .= "<ul>
   $text .= "<ul>
-             <li><a href=\"" . url("admin/tripal/views/integration/mviews")  .  "\">List of integrated tables</a></li>
-             <li><a href=\"" . url("admin/tripal/views/integration/mviews/new") .  "\">Integrate a new table</a></li>
+             <li><a href=\"" . url("admin/tripal/views/integration/list")  .  "\">List of integrated tables</a></li>
+             <li><a href=\"" . url("admin/tripal/views/integration/new") .  "\">Integrate a new table</a></li>
+             <li><a href=\"" . url("admin/tripal/views/integration/import") .  "\">Import a previously exported table integration.</a></li>
            </ul>";
            </ul>";
 
 
   $text .= '<h3>Views Integration Description:</h3>';
   $text .= '<h3>Views Integration Description:</h3>';
@@ -409,7 +410,7 @@ function tripal_views_integration_form(&$form_state, $setup_id = NULL) {
       $columns = explode(",", $mview->mv_specs);
       $columns = explode(",", $mview->mv_specs);
     }
     }
     else {
     else {
-      $table_desc = module_invoke_all('chado_' . $table_name .  '_schema');
+      $table_desc = tripal_core_get_chado_table_schema($table_name);
       if ($table_desc) {
       if ($table_desc) {
         $fields = $table_desc['fields'];
         $fields = $table_desc['fields'];
         // iterate through the columns and build the format
         // iterate through the columns and build the format
@@ -433,9 +434,9 @@ function tripal_views_integration_form(&$form_state, $setup_id = NULL) {
     $i=1;
     $i=1;
     $form['view_setup_table']["instructions"] = array(
     $form['view_setup_table']["instructions"] = array(
          '#type' => 'markup',
          '#type' => 'markup',
-         '#value' => "Select an optional table to which the fields of the ".
+         '#value' => filter_xss("Select an optional table to which the fields of the ".
                      "materialized view can join.  If a field does not need to ".
                      "materialized view can join.  If a field does not need to ".
-                     "join you may leave the selection blank.",
+                     "join you may leave the selection blank."),
     );
     );
     $data['field_types'] = array();
     $data['field_types'] = array();
 
 
@@ -492,7 +493,8 @@ function tripal_views_integration_form(&$form_state, $setup_id = NULL) {
       $form['view_setup_table']["$table_id-$i"] = array(
       $form['view_setup_table']["$table_id-$i"] = array(
            '#type' => 'markup',
            '#type' => 'markup',
            '#prefix' => "<div class=\"fields-new-row\">",
            '#prefix' => "<div class=\"fields-new-row\">",
-           '#suffix' => "</div>"
+           '#suffix' => "</div>",
+           '#value' => filter_xss('')
       );
       );
 
 
       // COLUMN I
       // COLUMN I
@@ -501,7 +503,7 @@ function tripal_views_integration_form(&$form_state, $setup_id = NULL) {
         '#prefix' => "<div class=\"column-one\">",
         '#prefix' => "<div class=\"column-one\">",
         '#value' => "<span class=\"column-name\">" . filter_xss($column_name) . "</span>".
         '#value' => "<span class=\"column-name\">" . filter_xss($column_name) . "</span>".
                     "<br /><span class=\"column-type\">" . filter_xss($column_type) . "</span>",
                     "<br /><span class=\"column-type\">" . filter_xss($column_type) . "</span>",
-        '#suffix' => "</div>",
+        '#suffix' => "</div>",        
       );
       );
       $data['field_types'][$column_name] = $column_type;
       $data['field_types'][$column_name] = $column_type;
 
 
@@ -509,7 +511,8 @@ function tripal_views_integration_form(&$form_state, $setup_id = NULL) {
       $form['view_setup_table']["$table_id-$i"]['column-2'] = array(
       $form['view_setup_table']["$table_id-$i"]['column-2'] = array(
            '#type' => 'markup',
            '#type' => 'markup',
            '#prefix' => "<div class=\"column-two\">",
            '#prefix' => "<div class=\"column-two\">",
-           '#suffix' => "</div>"
+           '#suffix' => "</div>",
+           '#value' => filter_xss('')
       );
       );
 
 
       // set the default values for the human-readable name and description
       // set the default values for the human-readable name and description
@@ -546,7 +549,8 @@ function tripal_views_integration_form(&$form_state, $setup_id = NULL) {
       $form['view_setup_table']["$table_id-$i"]['column-3'] = array(
       $form['view_setup_table']["$table_id-$i"]['column-3'] = array(
            '#type' => 'markup',
            '#type' => 'markup',
            '#prefix' => "<div class=\"column-three\">",
            '#prefix' => "<div class=\"column-three\">",
-           '#suffix' => "</div>"
+           '#suffix' => "</div>",
+           '#value' => filter_xss('')
       );
       );
 
 
       // set the default values for the join table and columns
       // set the default values for the join table and columns
@@ -583,7 +587,7 @@ function tripal_views_integration_form(&$form_state, $setup_id = NULL) {
       if ($default_join_table) {
       if ($default_join_table) {
         // get the table description in the typical way and if it returns
         // get the table description in the typical way and if it returns
         // nothing then get the custom table description
         // nothing then get the custom table description
-        $table_desc = module_invoke_all('chado_' . $default_join_table . '_schema');
+        $table_desc = tripal_core_get_chado_table_schema($default_join_table);
         if (!$table_desc) {
         if (!$table_desc) {
           $table_desc = tripal_get_chado_custom_schema($default_join_table);
           $table_desc = tripal_get_chado_custom_schema($default_join_table);
         }
         }
@@ -624,7 +628,8 @@ function tripal_views_integration_form(&$form_state, $setup_id = NULL) {
       $form['view_setup_table']["$table_id-$i"]['column-4'] = array(
       $form['view_setup_table']["$table_id-$i"]['column-4'] = array(
         '#type' => 'markup',
         '#type' => 'markup',
         '#prefix' => "<div class=\"column-four\">",
         '#prefix' => "<div class=\"column-four\">",
-        '#suffix' => "</div>"
+        '#suffix' => "</div>",
+        '#value' => filter_xss('')
       );
       );
 
 
       // create the handler fields
       // create the handler fields

+ 3 - 3
tripal_views/views/handlers/chado_views_handler_field_aggregate.inc

@@ -14,10 +14,10 @@ class chado_views_handler_field_aggregate extends chado_views_handler_field {
     parent::init($view, $options);
     parent::init($view, $options);
 
 
     if (!isset($this->chado_table_description)) {
     if (!isset($this->chado_table_description)) {
-      $this->chado_table_description = module_invoke_all('chado_' . $this->table . '_schema');
+      $this->chado_table_description = tripal_core_get_chado_table_schema($this->table);
       foreach ($this->chado_table_description['foreign keys'] as $defn) {
       foreach ($this->chado_table_description['foreign keys'] as $defn) {
         if ($defn['table'] != $this->view->base_table) {
         if ($defn['table'] != $this->view->base_table) {
-          $join_table = module_invoke_all('chado_' . $defn['table'] . '_schema');
+          $join_table = tripal_core_get_chado_table_schema($defn['table']);
           foreach ($join_table['fields'] as $fname => $f) {
           foreach ($join_table['fields'] as $fname => $f) {
             $this->chado_table_description['fields'][$defn['table'] . '_' . $fname] = $f;
             $this->chado_table_description['fields'][$defn['table'] . '_' . $fname] = $f;
           }
           }
@@ -99,4 +99,4 @@ class chado_views_handler_field_aggregate extends chado_views_handler_field {
 
 
   }
   }
 
 
-}
+}

+ 7 - 7
tripal_views/views/handlers/chado_views_handler_field_boolean.inc

@@ -89,22 +89,22 @@ class chado_views_handler_field_boolean extends views_handler_field_boolean {
     // check to see if this is a t/f boolean field or a 1/0 boolean field
     // check to see if this is a t/f boolean field or a 1/0 boolean field
     // parent render expects 1/0 so need to translate to that form before rendering
     // parent render expects 1/0 so need to translate to that form before rendering
     if (!is_array($values->{$this->field_alias})) {
     if (!is_array($values->{$this->field_alias})) {
-      if (!preg_match('/[01]/',$values->{$this->field_alias})) {
-        if (preg_match('/^[tT]/',$values->{$this->field_alias})) {
+      if (!preg_match('/[01]/', $values->{$this->field_alias})) {
+        if (preg_match('/^[tT]/', $values->{$this->field_alias})) {
           $values->{$this->field_alias} = 1;
           $values->{$this->field_alias} = 1;
         }
         }
-        elseif (preg_match('/^[fF]/',$values->{$this->field_alias})) {
+        elseif (preg_match('/^[fF]/', $values->{$this->field_alias})) {
           $values->{$this->field_alias} = 0;
           $values->{$this->field_alias} = 0;
         }
         }
       }
       }
     }
     }
     else {
     else {
-      if (!preg_match('/[01]/',$values->{$this->field_alias}[0])) {
+      if (!preg_match('/[01]/', $values->{$this->field_alias}[0])) {
         foreach ($values->{$this->field_alias} as $k => $v) {
         foreach ($values->{$this->field_alias} as $k => $v) {
-          if (preg_match('/^[tT]/',$v)) {
+          if (preg_match('/^[tT]/', $v)) {
             $values->{$this->field_alias}[$k] = 1;
             $values->{$this->field_alias}[$k] = 1;
           }
           }
-          elseif (preg_match('/^[fF]/',$v)) {
+          elseif (preg_match('/^[fF]/', $v)) {
             $values->{$this->field_alias}[$k] = 0;
             $values->{$this->field_alias}[$k] = 0;
           }
           }
         }
         }
@@ -118,4 +118,4 @@ class chado_views_handler_field_boolean extends views_handler_field_boolean {
     return parent::render($val);
     return parent::render($val);
   }
   }
 
 
-}
+}

+ 1 - 1
tripal_views/views/handlers/chado_views_handler_field_counter.inc

@@ -10,7 +10,7 @@
  */
  */
 class chado_views_handler_field_counter extends views_handler_field_counter {
 class chado_views_handler_field_counter extends views_handler_field_counter {
 
 
-  function init (&$view, $options) {
+  function init(&$view, $options) {
     include_once('chado_wrapper_functions.inc');
     include_once('chado_wrapper_functions.inc');
     parent::init($view, $options);
     parent::init($view, $options);
   }
   }

+ 3 - 3
tripal_views/views/handlers/chado_views_handler_field_date.inc

@@ -88,12 +88,12 @@ class chado_views_handler_field_date extends views_handler_field_date {
 
 
     // Check the format of the date is a UNIX timestamp and otherwise convert
     // Check the format of the date is a UNIX timestamp and otherwise convert
     if (!is_array($values->{$this->field_alias})) {
     if (!is_array($values->{$this->field_alias})) {
-      if (!preg_match('/^\d+$/',$values->{$this->field_alias})) {
+      if (!preg_match('/^\d+$/', $values->{$this->field_alias})) {
          $values->{$this->field_alias} = strtotime($values->{$this->field_alias});
          $values->{$this->field_alias} = strtotime($values->{$this->field_alias});
       }
       }
     }
     }
     else {
     else {
-      if (!preg_match('/^\d+$/',$values->{$this->field_alias}[0])) {
+      if (!preg_match('/^\d+$/', $values->{$this->field_alias}[0])) {
         foreach ($values->{$this->field_alias} as $k => $v) {
         foreach ($values->{$this->field_alias} as $k => $v) {
          $values->{$this->field_alias}[$k] = strtotime($v);
          $values->{$this->field_alias}[$k] = strtotime($v);
         }
         }
@@ -108,4 +108,4 @@ class chado_views_handler_field_date extends views_handler_field_date {
     return parent::render($val);
     return parent::render($val);
   }
   }
 
 
-}
+}

+ 5 - 5
tripal_views/views/handlers/chado_views_handler_filter_boolean_operator.inc

@@ -67,7 +67,7 @@ class chado_views_handler_filter_boolean_operator extends views_handler_filter_b
 
 
     // check if its a t/f or 1/0 boolean
     // check if its a t/f or 1/0 boolean
     $check = db_fetch_object(db_query("SELECT %s as val FROM %s LIMIT 1", $this->real_field, $this->table));
     $check = db_fetch_object(db_query("SELECT %s as val FROM %s LIMIT 1", $this->real_field, $this->table));
-    if (preg_match('/^[tTfF]/',$check->val)) {
+    if (preg_match('/^[tTfF]/', $check->val)) {
       $true = 't';
       $true = 't';
       $false = 'f';
       $false = 'f';
     }
     }
@@ -83,17 +83,17 @@ class chado_views_handler_filter_boolean_operator extends views_handler_filter_b
       if ($this->options['agg']['records_with']) {
       if ($this->options['agg']['records_with']) {
         $where = "$this->table_alias.$this->real_field ";
         $where = "$this->table_alias.$this->real_field ";
         if (empty($this->value)) {
         if (empty($this->value)) {
-          $where .= "= '".$false."'";
+          $where .= "= '" . $false . "'";
           if ($this->accept_null) {
           if ($this->accept_null) {
             $where = '(' . $where . " OR $this->table_alias.$this->real_field IS NULL)";
             $where = '(' . $where . " OR $this->table_alias.$this->real_field IS NULL)";
           }
           }
         }
         }
         else {
         else {
           if (!empty($this->definition['use equal'])) {
           if (!empty($this->definition['use equal'])) {
-            $where .= "= '".$true."'";
+            $where .= "= '" . $true . "'";
           }
           }
           else {
           else {
-            $where .= "<> '".$false."'";
+            $where .= "<> '" . $false . "'";
           }
           }
         }
         }
         $this->query->add_where($this->options['group'], $where);
         $this->query->add_where($this->options['group'], $where);
@@ -137,4 +137,4 @@ class chado_views_handler_filter_boolean_operator extends views_handler_filter_b
 
 
   }
   }
 
 
-}
+}

+ 3 - 3
tripal_views/views/handlers/chado_views_handler_filter_date.inc

@@ -51,7 +51,7 @@ class chado_views_handler_filter_date extends views_handler_filter_date {
 
 
     // Check whether we have a UNIX timestamp or an ISO Timestamp
     // Check whether we have a UNIX timestamp or an ISO Timestamp
     $check = db_fetch_object(db_query("SELECT $this->real_field as val FROM $this->table WHERE $this->real_field IS NOT NULL LIMIT 1"));
     $check = db_fetch_object(db_query("SELECT $this->real_field as val FROM $this->table WHERE $this->real_field IS NOT NULL LIMIT 1"));
-    if (preg_match('/^\d+$/',$check->val)) {
+    if (preg_match('/^\d+$/', $check->val)) {
       // this is a unix timestamp
       // this is a unix timestamp
       $is_unix = TRUE;
       $is_unix = TRUE;
     }
     }
@@ -103,7 +103,7 @@ class chado_views_handler_filter_date extends views_handler_filter_date {
 
 
     // Check whether we have a UNIX timestamp or an ISO Timestamp
     // Check whether we have a UNIX timestamp or an ISO Timestamp
     $check = db_fetch_object(db_query("SELECT $this->real_field as val FROM $this->table WHERE $this->real_field IS NOT NULL LIMIT 1"));
     $check = db_fetch_object(db_query("SELECT $this->real_field as val FROM $this->table WHERE $this->real_field IS NOT NULL LIMIT 1"));
-    if (preg_match('/^\d+$/',$check->val)) {
+    if (preg_match('/^\d+$/', $check->val)) {
       // this is a unix timestamp
       // this is a unix timestamp
       $is_unix = TRUE;
       $is_unix = TRUE;
     }
     }
@@ -156,4 +156,4 @@ class chado_views_handler_filter_date extends views_handler_filter_date {
     }
     }
   }
   }
 
 
-}
+}

+ 6 - 6
tripal_views/views/handlers/chado_views_handler_filter_select_string.inc

@@ -77,19 +77,19 @@ class chado_views_handler_filter_select_string extends chado_views_handler_filte
       // available to the user to edit--their fixed.
       // available to the user to edit--their fixed.
       $where = '';
       $where = '';
       $filters = ($this->view->filter) ? $this->view->filter : array();
       $filters = ($this->view->filter) ? $this->view->filter : array();
-      foreach($filters as $filter_name => $details){
+      foreach ($filters as $filter_name => $details) {
          // we only want to inclue non-exposed filters
          // we only want to inclue non-exposed filters
-         if($details->options['exposed'] == FALSE){
+         if ($details->options['exposed'] == FALSE) {
             // we only want to filter on the table we're getting the list from
             // we only want to filter on the table we're getting the list from
-            if(strcmp($details->table,$this->table)==0){
-              $where .= "$details->field $details->operator ". $details->value['value'];
+            if (strcmp($details->table, $this->table)==0) {
+              $where .= "$details->field $details->operator " . $details->value['value'];
               $where .= ' AND ';
               $where .= ' AND ';
             }
             }
          }
          }
       }
       }
-      if($where){
+      if ($where) {
          $where = "WHERE $where";
          $where = "WHERE $where";
-         $where = substr($where,0,-5); # remove the final ' AND '
+         $where = substr($where, 0, -5); # remove the final ' AND '
       }
       }
 
 
       // get the values from the table
       // get the values from the table

+ 206 - 0
tripal_views/views/handlers/tripal_views_handler_filter_string_selectbox.inc

@@ -0,0 +1,206 @@
+<?php
+
+/**
+ * @file
+ * Purpose: This Handler provides a generic select list for any chado field that is a string
+ *  The select list includes all distinct values for that field.
+ *
+ * @ingroup views_filter_handlers
+ * @ingroup tripal_core
+ */
+class tripal_views_handler_filter_string_selectbox extends views_handler_filter_string {
+
+  function options_form(&$form, &$form_state) {
+    parent::options_form($form, $form_state);
+
+    $form['values_form_type'] = array(
+      '#type' => 'radios',
+      '#title' => t('Filter Type'),
+      '#options' => array(
+        'textfield' => 'Text Field',
+        'select' => 'Drop-Down Box',
+      ),
+      '#default_value' => ($this->options['values_form_type']) ? $this->options['values_form_type'] : 'select',
+    );
+
+    $form['multiple'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Select Multiple'),
+      '#description' => t('Allows more then one option to be selected.'),
+      '#default_value' => (isset($this->options['multiple'])) ? $this->options['multiple'] : FALSE,
+    );
+
+    $form['optional'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Optional'),
+      '#description' => t('Adds --Any-- to the available options.'),
+      '#default_value' => (isset($this->options['optional'])) ? $this->options['optional'] : TRUE,
+    );
+
+    $form['max_length'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Max Width'),
+      '#description' => t('Specify the maximum width of the select box'),
+      '#default_value' => (isset($this->options['max_length'])) ? $this->options['max_length'] : 40,
+
+    );
+    $form['max_length'] = array(
+      '#type' => 'markup',
+      '#value' => t('<strong><font color="red">Note:</font></strong> If another filter exists for the same table then '.
+                    'the values shown in the drop box will only include those from rows that are not filtered.'),
+
+    );
+
+  }
+
+ /**
+  * Defines the value field in both the views filter options form
+  *   and the exposed form
+  */
+  function value_form(&$form, &$form_state) {
+    parent::value_form($form, $form_state);
+
+    if (preg_match('/textfield/', $this->options['values_form_type'])) {
+      $form['value'] = array(
+        '#type' => 'textfield',
+        '#title' => t('%label', array('%label' => $this->options['label'])),
+        '#default_value' => $this->value,
+      );
+
+    }
+    else {
+
+      // build a where clause that will filter the list in the drop box
+      // using fields that are not exposed and that are for the table
+      // from whcih the values in the drop box will be slected and
+      // we only want to use non-exposed fields because these are not
+      // available to the user to edit--their fixed.
+      $where = '';
+      $filters = $this->view->filter;
+      foreach($filters as $filter_name => $details){
+         // we only want to inclue non-exposed filters 
+         if($details->options['exposed'] == FALSE){
+            // we only want to filter on the table we're getting the list from
+            if(strcmp($details->table,$this->table)==0){
+              $where .= "$details->field $details->operator ". $details->value['value'];
+              $where .= ' AND ';
+            }
+         }
+      } 
+      if($where){
+         $where = "WHERE $where";
+         $where = substr($where,0,-5); # remove the final ' AND '
+      }
+
+      // get the values from the table
+      $sql = "SELECT $this->real_field FROM $this->table $where ORDER BY $this->field ASC";
+      $previous_db = tripal_db_set_active('chado');  // use chado database
+      $results = db_query($sql);
+      tripal_db_set_active($previous_db);  // now use drupal database
+
+      // Build the select box options
+      $max_length = $this->options['max_length'];
+      if (!$max_length) {
+        $max_length = 40;
+      }
+      if ($this->options['optional']) {
+        //$options['<select '.$this->table.'>'] = '--None--';
+        $options['All'] = '--Any--';
+      }
+      while ($r = db_fetch_object($results)) {
+        if (drupal_strlen($r->{$this->field}) > $max_length) {
+          $options[$r->{$this->field}] = drupal_substr($r->{$this->field}, 0, $max_length) . '...';
+        }
+        else {
+          $options[$r->{$this->field}] = $r->{$this->field};
+        }
+      }
+
+      //Select List
+      $form['value'] = array(
+          '#type' => 'select',
+          '#title' => t('%label', array('%label' => $this->options['label'])),
+          '#options' => $options,
+          '#default_value' => $this->value,
+      );
+
+      if ($this->options['multiple']) {
+        $form['value']['#multiple'] = TRUE;
+      }
+    }
+  }
+
+ /**
+  * Ensures the select list gets rendered when the filter is exposed
+  */
+  function exposed_form(&$form, &$form_state) {
+    if (empty($this->options['exposed'])) {
+      return;
+    }
+
+    $value = $this->options['expose']['identifier'];
+    $this->value_form($form, $form_state);
+    $form[$value] = $form['value'];
+
+    if (isset($form[$value]['#title']) && !empty($form[$value]['#type']) && $form[$value]['#type'] != 'checkbox') {
+      unset($form[$value]['#title']);
+    }
+
+    $this->exposed_translate($form[$value], 'value');
+
+    if (!empty($form['#type']) && ($form['#type'] == 'checkboxes' || ($form['#type'] == 'select' && !empty($form['#multiple'])))) {
+      unset($form[$value]['#default_value']);
+    }
+
+    if (!empty($form['#type']) && $form['#type'] == 'select' && empty($form['#multiple'])) {
+      $form[$value]['#default_value'] = 'All';
+    }
+
+    if ($value != 'value') {
+      unset($form['value']);
+    }
+
+  }
+
+ /**
+  *
+  */
+  function query() {
+
+    $this->ensure_my_table();
+    $field = "$this->table_alias.$this->real_field";
+    $upper = $this->case_transform();
+
+    if ($this->options['multiple']) {
+      // Remove any if it's there
+      unset($this->value['All']);
+
+      if (sizeof($this->value)) {
+        $holders = array();
+        foreach ($this->value as $v) {
+          if (preg_match('/^[\d\.]+$/', $v)) {
+            $holders[] = '%d';
+          }
+          else {
+            $holders[] = "'%s'";
+          }
+        }
+        $where = "$field IN (" . implode(", ", $holders) . ")";
+        $this->query->add_where($this->options['group'], $where, $this->value);
+      }
+    }
+    else {
+
+      // Deal with All/Any as value
+      if (preg_match('/All/', $this->value)) {
+        // Don't do anything
+      }
+      else {
+        $info = $this->operators();
+        if (!empty($info[$this->operator]['method'])) {
+          $this->{$info[$this->operator]['method']}($field, $upper);
+        }
+      }
+    }
+  }
+}

+ 5 - 5
tripal_views/views/handlers/views_handler_filter_chado_select_string.inc

@@ -77,19 +77,19 @@ class views_handler_filter_chado_select_string extends views_handler_filter_stri
       // available to the user to edit--their fixed.
       // available to the user to edit--their fixed.
       $where = '';
       $where = '';
       $filters = $this->view->filter;
       $filters = $this->view->filter;
-      foreach($filters as $filter_name => $details){
+      foreach ($filters as $filter_name => $details) {
          // we only want to inclue non-exposed filters 
          // we only want to inclue non-exposed filters 
-         if($details->options['exposed'] == FALSE){
+         if ($details->options['exposed'] == FALSE) {
             // we only want to filter on the table we're getting the list from
             // we only want to filter on the table we're getting the list from
-            if(strcmp($details->table,$this->table)==0){
+            if (strcmp($details->table, $this->table)==0) {
               $where .= "$details->field $details->operator ". $details->value['value'];
               $where .= "$details->field $details->operator ". $details->value['value'];
               $where .= ' AND ';
               $where .= ' AND ';
             }
             }
          }
          }
       } 
       } 
-      if($where){
+      if ($where) {
          $where = "WHERE $where";
          $where = "WHERE $where";
-         $where = substr($where,0,-5); # remove the final ' AND '
+         $where = substr($where, 0, -5); # remove the final ' AND '
       }
       }
 
 
       // get the values from the table
       // get the values from the table

+ 2 - 2
tripal_views/views/handlers/views_handler_join_chado_aggregator.inc

@@ -59,7 +59,7 @@ class views_handler_join_chado_aggregator extends views_join {
       }
       }
 
 
       // get table description (if defined via schema api)
       // get table description (if defined via schema api)
-      $table_desc = module_invoke_all('chado_' . $this->definition['table'] . '_schema');
+      $table_desc = tripal_core_get_chado_table_schema($this->definition['table']);
       $select_fields[ $this->definition['table'] ] = $table_desc['fields'];
       $select_fields[ $this->definition['table'] ] = $table_desc['fields'];
 
 
       if (!empty($table_desc)) {
       if (!empty($table_desc)) {
@@ -75,7 +75,7 @@ class views_handler_join_chado_aggregator extends views_join {
             }
             }
 
 
             // Fields to be selected from joined table
             // Fields to be selected from joined table
-            $join_table = module_invoke_all('chado_' . $defn['table'] . '_schema');
+            $join_table = tripal_core_get_chado_table_schema($defn['table']);
             $select_fields[ $defn['table'] ] = $join_table['fields'];
             $select_fields[ $defn['table'] ] = $join_table['fields'];
           }
           }
         }
         }