Ver Fonte

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

Lacey Sanderson há 12 anos atrás
pai
commit
2e15f7a2d5
63 ficheiros alterados com 25376 adições e 18843 exclusões
  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
  * 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
  */
-function tripal_analysis_chado_analysis_schema() {
+function tripal_analysis_chado_schema_v1_11_analysis() {
   $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(
       '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
  * Note: This array will be merged with the array from all other implementations
  *
  * @return
- *    Array describing the analysisfeature table
+ *    Array describing the analysis table
  *
  * @ingroup tripal_schema_api
  */
-function tripal_analysis_chado_analysisfeature_schema() {
+function tripal_analysis_chado_schema_v1_2_analysis() {
   $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;
 }

+ 87 - 265
tripal_analysis/tripal_analysis.module

@@ -58,14 +58,6 @@ function tripal_analysis_init() {
  * @ingroup tripal_analysis
  */
 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
   $items['chado_sync_analyses'] = array(
      'title' => 'Sync Data',
@@ -95,26 +87,6 @@ function tripal_analysis_menu() {
   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
  * in this module
@@ -211,13 +183,6 @@ function chado_analysis_insert($node) {
     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
    // use by other analysis modules that may be using this function
     $node->analysis = $analysis;
@@ -274,62 +239,53 @@ function chado_analysis_update($node) {
   if ($node->revision) {
     // 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) {
     $analysis_id = $analysis->analysis_id;
   }
-    $analysisname = $node->analysisname;
+  $analysisname = $node->analysisname;
   if (!$analysisname) {
     $analysisname = $analysis->name;
   }
-    $program = $node->program;
+  $program = $node->program;
   if (!$program) {
     $program = $analysis->program;
   }
-    $programversion = $node->programversion;
+  $programversion = $node->programversion;
   if (!$programversion) {
     $programversion = $analysis->programversion;
   }
-    $algorithm = $node->algorithm;
+  $algorithm = $node->algorithm;
   if (!$algorithm) {
     $algorithm = $analysis->algorithm;
   }
-    $sourcename = $node->sourcename;
+  $sourcename = $node->sourcename;
   if (!$sourcename) {
     $sourcename = $analysis->sourcename;
   }
-    $sourceversion = $node->sourceversion;
+  $sourceversion = $node->sourceversion;
   if (!$sourceversion) {
     $sourceversion = $analysis->sourceversion;
   }
-    $sourceuri = $node->sourceuri;
+  $sourceuri = $node->sourceuri;
   if (!$sourceuri) {
     $sourceuri = $analysis->sourceuri;
   }
-    $timeexecuted = $node->timeexecuted;
+  $timeexecuted = $node->timeexecuted;
   if (!$timeexecuted) {
     $timeexecuted = $analysis->timeexecuted;
   }
-    $description = $node->description;
+  $description = $node->description;
   if (!$description) {
     $description = $analysis->description;
   }
@@ -482,15 +438,6 @@ function chado_analysis_form($node) {
          someone to recreate the analysis, including materials and methods
          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;
 }
@@ -813,11 +760,41 @@ function tripal_analysis_perm() {
  */
 function tripal_analysis_theme() {
   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
@@ -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
  *
@@ -986,103 +905,6 @@ function tripal_analyses_cleanup($dummy = NULL, $job_id = NULL) {
   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()
  * 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();
   $fk_options = array();
   $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.'|');
   if ($field_type == 'foreign key') {
     $foreign_field2table = array();
@@ -1464,7 +1464,7 @@ function tripal_bulk_loader_edit_template_field_form(&$form_state = NULL) {
   $chado_fields = array();
   $fk_options = array();
   $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') {
     $foreign_field2table = 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));
   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
     $form['exposed_fields']['existing'] = array(
       '#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
 
 /**
- * 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
  * 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
-  $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);
 
   while ($r = db_fetch_object($resource)) {
@@ -36,7 +37,7 @@ function drush_tripal_bulk_loader_tripal_loader_progress () {
           . "File:" . $r->file . "\n"
           . "Current Constant Set:\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"
           . "Number of Constant Sets fully loaded: " . $progress->num_constant_sets_loaded . "\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);
     }
 
-    tripal_bulk_loader_progress_bar(0,$total_lines);
+    tripal_bulk_loader_progress_bar(0, $total_lines);
     while (!feof($file_handle)) {
 
       // Clear variables
@@ -317,7 +317,7 @@ function tripal_bulk_loader_load_data($nid, $job_id) {
       if ($node->job_id and $num_lines % $interval == 0) {
         // percentage of lines processed for the current group
         $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
         // <previous group index> * 100 + <current group progress>
         // --------------------------------------------------------
@@ -386,7 +386,7 @@ function tripal_bulk_loader_load_data($nid, $job_id) {
       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);
   } //end of foreach constant set
 
@@ -449,7 +449,7 @@ function process_data_array_for_line($priority, &$data, &$default_data, $addt) {
     $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'])) {
     // Check all db required fields are set
     $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) {
 
   // First iteration
-  if($current == 0) {
+  if ($current == 0) {
     $new_bar = TRUE;
-    fputs(STDOUT,"Progress:\n");
+    fputs(STDOUT, "Progress:\n");
   }
 
   //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
-  for($i=strlen($perc); $i<=4; $i++) {
-    $perc = ' '.$perc;
+  for ($i = strlen($perc); $i <= 4; $i++) {
+    $perc = ' ' . $perc;
   }
 
   $total_size = $size + $i + 3 + 2;
   // 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 "\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
   // Start with a border
   echo '[';
-  for($place = 0; $place <= $size; $place++) {
+  for ($place = 0; $place <= $size; $place++) {
     // output "full" spaces if this portion is completed
-    if($place <= ($current / $total * $size)) {
+    if ($place <= ($current / $total * $size)) {
       echo '|';
     }
     else {
@@ -773,7 +773,7 @@ function tripal_bulk_loader_progress_bar($current=0, $total=100, $size=50) {
   echo " $perc%";
 
   // if it's the end, add a new line
-  if($current == $total) {
+  if ($current == $total) {
     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) {
   // 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
   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);
   }
 
   if ($record_added) {
-    fwrite($file_handle,'.');
+    fwrite($file_handle, '.');
   }
 
   if ($line_complete) {
-    fwrite($file_handle,"\n");
+    fwrite($file_handle, "\n");
   }
 
   // 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);
     variable_set('tripal_bulk_loader_progress_file_handle', NULL);
   }
-}
+}

+ 0 - 57
tripal_contact/tripal_contact.api.inc

@@ -1,60 +1,3 @@
 <?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
 
-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
@@ -139,7 +140,7 @@ function tripal_core_chado_insert($table, $values, $options = array()) {
   }
 
   // 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)) {
     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
 
   // 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
   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
 
   // 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
   foreach ($match as $field => $value) {
@@ -674,7 +675,7 @@ function tripal_core_chado_select($table, $columns, $values, $options = NULL) {
   }
 
   // get the table description
-  $table_desc = module_invoke_all('chado_' . $table . '_schema');
+  $table_desc = tripal_core_get_chado_table_schema($table);
   $select = '';
   $from = '';
   $where = '';
@@ -695,7 +696,7 @@ function tripal_core_chado_select($table, $columns, $values, $options = NULL) {
           'case_insensitive_columns' => $options['case_insensitive_columns']
         );
         $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
           // 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,
           // ),
           // WATCHDOG_WARNING);
-          return FALSE;
+          return array();
         }
         else {
           $where[$field] = $results;
@@ -775,6 +776,7 @@ function tripal_core_chado_select($table, $columns, $values, $options = NULL) {
   if ($options['return_sql']) {
     return array('sql' => $sql, 'args' => $args);
   }
+
   $previous_db = tripal_db_set_active('chado');  // use chado database
   $resource = db_query($sql, $args);
   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'])) {
         //foreign key was described 2X
         $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 "
           ."this hook was implemented in: " . implode(', ',
           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
     // relationship expected but we don't have any definition for one in the
     // 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
        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);
     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();
 
   // 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_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)) {
         // that has a foreign key to this one ($table_desc['primary key'][0]
         // 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(
           $sql,
           $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)) {
         $tablename = $matches[1];
         $fieldname = $matches[2];
-        $table_desc = module_invoke_all('chado_' . $tablename . '_schema');
+        $table_desc = tripal_core_get_chado_table_schema($tablename);
         $values = array();
         foreach ($table_desc['primary key'] as $key) {
           $values[$key] = $object->{$key};
@@ -1240,7 +1242,7 @@ function tripal_core_expand_chado_vars($object, $type, $to_expand, $table_option
     break;
     case "table": //--------------------------------------------------------------------------------
       $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 ($foreign_table_desc['foreign keys'][$base_table]) {
         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
             // array structure
             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}->{$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) {
   // 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']);
 
   // 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
-  $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']);
 
   // 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
-  $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']);
 
   // 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) {
 
   // 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];
 
   // 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) {
 
   // 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']);
 
   // 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) {
 
   // 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];
 
   // 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,
                                 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
                                 );
 
-

+ 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 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 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() {
 
-  $form['description'] = array(
+  $version = tripal_core_get_chado_version();
+  $form['current_version'] = 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."),
-    '#weight' => 1,
+    '#title' => t("Current installed version of Chado"),
+    '#value' => $version,
   );
 
   $form['action_to_do'] = array(
@@ -35,7 +29,18 @@ function tripal_core_chado_load_form() {
      ),
      '#description' => t('Select an action to perform'),
      '#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(
@@ -68,12 +73,20 @@ function tripal_core_chado_load_form_submit($form, &$form_state) {
  */
 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'){
     $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';
     if (tripal_core_reset_chado_schema()) {
       tripal_core_install_sql($schema_file);
       tripal_core_install_sql($init_file);
+      db_query($vsql,'1.2'); # set the version
     }
     else {
       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') {
     $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);
+    db_query($vsql,'1.2'); # set the version
   }
   elseif($action == 'Install Chado v1.11'){
     $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
  */
 function tripal_core_schema() {
+
+  // get the schemas defined by this install file
   $schema = tripal_core_get_schemas();
 
   // 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
   // want them created in the Drupal database.  The custom tables go in the
   // 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;

+ 5 - 5
tripal_core/tripal_core.module

@@ -1,9 +1,9 @@
 <?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
@@ -249,7 +249,7 @@ function tripal_core_job_describe_args($callback, $args) {
     $mview = db_fetch_object(db_query($sql, $args[0]));
     $new_args['View Name'] = $mview->name;
   }
-  elseif($callback == 'tripal_core_install_chado'){
+  elseif ($callback == 'tripal_core_install_chado') {
      $new_args['Action'] = $args[0];
   }
   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.

+ 4 - 4
tripal_cv/tripal_cv.views.inc

@@ -42,12 +42,12 @@ function tripal_cv_views_data() {
     foreach ($tables as $tablename) {
       if (!tripal_views_is_integrated($tablename, 9)) {
         // 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
         if ($tablename == 'cvterm') {
           $table_integration_array['fields']['name']['handlers']['filter']['name'] = 'views_handler_filter_chado_select_cvterm_name';
-        }
+        }  
 
         // add integration
         tripal_views_integration_add_entry($table_integration_array);
@@ -109,7 +109,7 @@ function tripal_cv_views_default_views() {
   // List all cvterms based on cv
   $view = new view;
   $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->view_php = '';
   $view->base_table = 'cvterm';
@@ -396,4 +396,4 @@ function tripal_cv_views_default_views() {
   $views[$view->name] = $view;
 
   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;
 }
 
-/**
- * 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.
  *

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

@@ -6,7 +6,7 @@
 
 /**
  * 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
  *
  * @return
@@ -14,32 +14,9 @@
  *
  * @ingroup tripal_schema_api
  */
-function tripal_feature_chado_feature_schema() {
+function tripal_feature_chado_schema_v1_11_feature() {
   $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',
     'element',
     'feature_cvterm',
@@ -65,7 +42,7 @@ function tripal_feature_chado_feature_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
  *
  * @return
@@ -73,25 +50,9 @@ function tripal_feature_chado_feature_schema() {
  *
  * @ingroup tripal_schema_api
  */
-function tripal_feature_chado_featureprop_schema() {
+function tripal_feature_chado_schema_v1_11_featureprop() {
   $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',
     '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
  *
  * @return
@@ -110,19 +71,9 @@ function tripal_feature_chado_featureprop_schema() {
  *
  * @ingroup tripal_schema_api
  */
-function tripal_feature_chado_featureloc_schema() {
+function tripal_feature_chado_schema_v1_11_featureloc() {
   $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',
     'featureloc_pub',
   );
@@ -130,134 +81,29 @@ function tripal_feature_chado_featureloc_schema() {
 
   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
  *
  * @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
  */
-function tripal_feature_chado_feature_cvterm_schema() {
+function tripal_feature_chado_schema_v1_2_featureloc() {
   $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;
 }
-/**
- *
- * @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.

+ 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) {
         continue;
       }
-      if (!preg_match('/^[^\=]+\=[^\=]+$/', $attr)) {
+      if (!preg_match('/^[^\=]+\=.+$/', $attr)) {
         print "ERROR: attribute is not correctly formatted on line $line_num: $attr\n";
         return '';
       }
 
       // 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
       $tags[$tag[0]] = explode(",", $tag[1]);  // split by comma
       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
  */
 
-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']['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']['cache'] = BLOCK_NO_CACHE;
@@ -392,11 +395,15 @@ function tripal_feature_block($op = 'list', $delta = 0, $edit=array()) {
           break;
         case '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;
-        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;
         case 'org_feature_counts':
           $block['subject'] = t('Feature Type Summary');
@@ -1334,6 +1341,73 @@ function tripal_feature_load_featureloc_sequences($feature_id, $featurelocs) {
   }
   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),
        '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),
-       'template' => 'tripal_feature_featurelocs',
+       'template' => 'tripal_feature_object_relationships',
   ),
-    'tripal_feature_relationships' => array(
+    'tripal_feature_subject_relationships' => array(
        'arguments' => array('node' => NULL),
-       'template' => 'tripal_feature_relationships',
+       'template' => 'tripal_feature_subject_relationships',
   ),
     'tripal_feature_edit_ALL_properties_form' => array(
       '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
  * 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
  */
-function tripal_genetic_chado_genotype_schema() {
+function tripal_genetic_chado_schema_v1_11_genotype() {
   $description = array();
 
   $referring_tables = array('analysisfeature',
@@ -67,9 +67,8 @@ function tripal_genetic_chado_genotype_schema() {
   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
  * 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
  */
-function tripal_genetic_chado_feature_genotype_schema() {
+function tripal_genetic_chado_schema_v1_2_genotype() {
   $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;
 

+ 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
  * Note: This array will be merged with the array from all other implementations
  *
@@ -20,25 +20,8 @@
  *
  * @ingroup tripal_schema_api
  */
-function tripal_library_chado_library_schema() {
+function tripal_library_chado_schema_v1_11_library() {
   $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(
       'library_cvterm',
       '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
  * Note: This array will be merged with the array from all other implementations
  *
  * @return
- *    Array describing the library_feature table
+ *    Array describing the library table
  *
  * @ingroup tripal_schema_api
  */
-function tripal_library_chado_library_feature_schema() {
+function tripal_library_chado_schema_v1_2_library() {
   $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;
 }
-/**
- * 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

+ 336 - 35
tripal_natural_diversity/tripal_natural_diversity.api.inc

@@ -4,7 +4,18 @@
  * @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(
@@ -55,8 +66,48 @@ function tripal_natural_diversity_chado_nd_experiment_schema() {
 
   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(
@@ -99,8 +150,18 @@ function tripal_natural_diversity_chado_nd_experiment_contact_schema() {
 
   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(
@@ -143,8 +204,18 @@ function tripal_natural_diversity_chado_nd_experiment_dbxref_schema() {
 
   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(
@@ -187,8 +258,18 @@ function tripal_natural_diversity_chado_nd_experiment_genotype_schema() {
 
   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(
@@ -231,8 +312,18 @@ function tripal_natural_diversity_chado_nd_experiment_phenotype_schema() {
 
   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(
@@ -275,8 +366,18 @@ function tripal_natural_diversity_chado_nd_experiment_project_schema() {
 
   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(
@@ -319,8 +420,18 @@ function tripal_natural_diversity_chado_nd_experiment_protocol_schema() {
 
   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(
@@ -363,8 +474,18 @@ function tripal_natural_diversity_chado_nd_experiment_pub_schema() {
 
   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(
@@ -418,8 +539,41 @@ function tripal_natural_diversity_chado_nd_experiment_stock_schema() {
 
   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(
@@ -469,8 +623,18 @@ function tripal_natural_diversity_chado_nd_experiment_stockprop_schema() {
 
   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(
@@ -513,8 +677,18 @@ function tripal_natural_diversity_chado_nd_experiment_stock_dbxref_schema() {
 
   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(
@@ -564,8 +738,18 @@ function tripal_natural_diversity_chado_nd_experimentprop_schema() {
 
   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(
@@ -602,8 +786,41 @@ function tripal_natural_diversity_chado_nd_geolocation_schema() {
 
   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(
@@ -653,8 +870,18 @@ function tripal_natural_diversity_chado_nd_geolocationprop_schema() {
 
   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(
@@ -681,8 +908,42 @@ function tripal_natural_diversity_chado_nd_protocol_schema() {
 
   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(
@@ -735,8 +996,18 @@ function tripal_natural_diversity_chado_nd_protocol_reagent_schema() {
 
   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(
@@ -786,8 +1057,18 @@ function tripal_natural_diversity_chado_nd_protocolprop_schema() {
 
   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(
@@ -826,8 +1107,18 @@ function tripal_natural_diversity_chado_nd_reagent_schema() {
 
   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(
@@ -872,8 +1163,18 @@ function tripal_natural_diversity_chado_nd_reagent_relationship_schema() {
 
   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(

+ 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
  * 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
  */
-function tripal_organism_chado_organism_schema() {
+function tripal_organism_chado_schema_v1_11_organism() {
   $description = 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
  * Note: This array will be merged with the array from all other implementations
  *
  * @return
- *    Array describing the organismprop table
+ *    Array describing the organism table
  *
  * @ingroup tripal_schema_api
  */
-function tripal_organism_chado_organismprop_schema() {
+function tripal_organism_chado_schema_v1_2_organism() {
   $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;
 }
+
 /**
  *  Returns a list of organisms that are currently synced with Drupal
  * @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() {
   $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
   $items['admin/tripal/tripal_organism'] = array(
    'title' => 'Organisms',
@@ -633,9 +626,6 @@ function tripal_organism_admin_validate($form, &$form_state) {
  */
 function tripal_organism_theme() {
   return array(
-    'tripal_organism_organism_page' => array(
-       'arguments' => array('organisms'),
-    ),
     'tripal_organism_base' => array(
        'arguments' => array('node' => NULL),
        'template' => 'tripal_organism_base',
@@ -742,9 +732,9 @@ function chado_organism_insert($node) {
         array('%values' => print_r($values, TRUE)),
         WATCHDOG_WARNING
       );
-    return;
+      return;
     }
-  $organism_id = $organism['organism_id'];
+    $organism_id = $organism['organism_id'];
   }
   else {
     $organism_id = $node->organism_id;
@@ -779,30 +769,27 @@ function chado_organism_update($node) {
   if ($node->revision) {
     // 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
@@ -1073,63 +1060,6 @@ function tripal_organism_help($path, $arg) {
   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

+ 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
  * 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
  */
-function tripal_stock_chado_stock_schema() {
+function tripal_stock_chado_schema_v1_11_stock() {
   $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['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(
     'stock_cvterm',
     '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
  * Note: This array will be merged with the array from all other implementations
  *
  * @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
  */
-function tripal_stock_chado_stockcollection_stock_schema() {
+function tripal_stock_chado_schema_v1_2_stock() {
   $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;
 }
 
-/**
- * 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
   );
 
-  //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-----------------
   $items['node/%cs_node/properties'] = array(
     'title' => 'Add Properties & Synonyms',
@@ -243,9 +234,7 @@ function tripal_stock_views_api() {
  */
 function tripal_stock_theme() {
   return array(
-    'tripal_stock_stock_table' => array(
-      'arguments' => array('stocks'),
-    ),
+
     // Property edit forms--------------------------
     'tripal_stock_edit_ALL_properties_form' => array(
       '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
  *

+ 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) {
 
   // 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
   $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
   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() {
   $schema = 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(
       'setup_id' => array(
         'description' => 'the id of the setup',
@@ -113,8 +116,14 @@ function tripal_views_views_schema() {
         'type' => 'int',
         '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(
-        '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',
         'length' => 255,
         'not null' => TRUE,

+ 5 - 4
tripal_views/tripal_views.module

@@ -23,20 +23,21 @@ function tripal_views_menu() {
     '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.',
     'page callback' => 'tripal_views_integration_setup_list',
     'access arguments' => array('manage tripal_views_integration'),
     'type' => MENU_NORMAL_ITEM,
+    'weight' => 0,
   );
 
   $items['admin/tripal/views/integration/new'] = array(
-    'title' => 'Integrate Views',
+    'title' => 'Integrate A Table',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('tripal_views_integration_form'),
     '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(

+ 36 - 12
tripal_views/tripal_views.views.inc

@@ -62,6 +62,17 @@ function tripal_views_views_handlers() {
     ),
     '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
       'chado_views_handler_field_aggregate' => array(
         'parent' => 'chado_views_handler_field',
@@ -71,6 +82,7 @@ function tripal_views_views_handlers() {
       ),
       'chado_views_handler_filter_select_string' => array(
         'parent' => 'chado_views_handler_filter_string',
+
       ),
 
       // Join Handlers
@@ -81,18 +93,19 @@ function tripal_views_views_handlers() {
         '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(
         'parent' => 'views_handler_field_node',
       ),
+      'views_handler_field_chado_tf_boolean' => array(
+        'parent' => 'views_handler_field_boolean',
+      ),
       'views_handler_field_chado_count' => array(
         'parent' => 'views_handler_field',
       ),
+      'views_handler_filter_chado_boolean' => array(
+        'parent' => 'views_handler_filter_boolean_operator',
+      ),
       'views_handler_field_dbxref_accession_link' => array(
         'parent' => 'views_handler_field',
       ),
@@ -138,6 +151,9 @@ function tripal_views_views_handlers() {
       'chado_views_handler_filter_string' => array(
         '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(
         'parent' => 'views_handler_filter_boolean_operator',
       ),
@@ -153,14 +169,22 @@ function tripal_views_views_handlers() {
       'chado_views_handler_filter_numeric' => array(
         'parent' => 'views_handler_filter_numeric',
       ),
-      'views_handler_filter_file_upload' => array(
-        'parent' => 'views_handler_filter',
-      ),
-
       // Sort Handlers
       'chado_views_handler_sort' => array(
         '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
       // 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) {
         $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
       $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;
       }
 

+ 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 .= "<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>";
 
   $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);
     }
     else {
-      $table_desc = module_invoke_all('chado_' . $table_name .  '_schema');
+      $table_desc = tripal_core_get_chado_table_schema($table_name);
       if ($table_desc) {
         $fields = $table_desc['fields'];
         // iterate through the columns and build the format
@@ -433,9 +434,9 @@ function tripal_views_integration_form(&$form_state, $setup_id = NULL) {
     $i=1;
     $form['view_setup_table']["instructions"] = array(
          '#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 ".
-                     "join you may leave the selection blank.",
+                     "join you may leave the selection blank."),
     );
     $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(
            '#type' => 'markup',
            '#prefix' => "<div class=\"fields-new-row\">",
-           '#suffix' => "</div>"
+           '#suffix' => "</div>",
+           '#value' => filter_xss('')
       );
 
       // COLUMN I
@@ -501,7 +503,7 @@ function tripal_views_integration_form(&$form_state, $setup_id = NULL) {
         '#prefix' => "<div class=\"column-one\">",
         '#value' => "<span class=\"column-name\">" . filter_xss($column_name) . "</span>".
                     "<br /><span class=\"column-type\">" . filter_xss($column_type) . "</span>",
-        '#suffix' => "</div>",
+        '#suffix' => "</div>",        
       );
       $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(
            '#type' => 'markup',
            '#prefix' => "<div class=\"column-two\">",
-           '#suffix' => "</div>"
+           '#suffix' => "</div>",
+           '#value' => filter_xss('')
       );
 
       // 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(
            '#type' => 'markup',
            '#prefix' => "<div class=\"column-three\">",
-           '#suffix' => "</div>"
+           '#suffix' => "</div>",
+           '#value' => filter_xss('')
       );
 
       // 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) {
         // get the table description in the typical way and if it returns
         // 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) {
           $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(
         '#type' => 'markup',
         '#prefix' => "<div class=\"column-four\">",
-        '#suffix' => "</div>"
+        '#suffix' => "</div>",
+        '#value' => filter_xss('')
       );
 
       // 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);
 
     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) {
         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) {
             $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
     // parent render expects 1/0 so need to translate to that form before rendering
     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;
         }
-        elseif (preg_match('/^[fF]/',$values->{$this->field_alias})) {
+        elseif (preg_match('/^[fF]/', $values->{$this->field_alias})) {
           $values->{$this->field_alias} = 0;
         }
       }
     }
     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) {
-          if (preg_match('/^[tT]/',$v)) {
+          if (preg_match('/^[tT]/', $v)) {
             $values->{$this->field_alias}[$k] = 1;
           }
-          elseif (preg_match('/^[fF]/',$v)) {
+          elseif (preg_match('/^[fF]/', $v)) {
             $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);
   }
 
-}
+}

+ 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 {
 
-  function init (&$view, $options) {
+  function init(&$view, $options) {
     include_once('chado_wrapper_functions.inc');
     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
     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});
       }
     }
     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) {
          $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);
   }
 
-}
+}

+ 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 = 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';
       $false = 'f';
     }
@@ -83,17 +83,17 @@ class chado_views_handler_filter_boolean_operator extends views_handler_filter_b
       if ($this->options['agg']['records_with']) {
         $where = "$this->table_alias.$this->real_field ";
         if (empty($this->value)) {
-          $where .= "= '".$false."'";
+          $where .= "= '" . $false . "'";
           if ($this->accept_null) {
             $where = '(' . $where . " OR $this->table_alias.$this->real_field IS NULL)";
           }
         }
         else {
           if (!empty($this->definition['use equal'])) {
-            $where .= "= '".$true."'";
+            $where .= "= '" . $true . "'";
           }
           else {
-            $where .= "<> '".$false."'";
+            $where .= "<> '" . $false . "'";
           }
         }
         $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 = 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
       $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 = 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
       $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.
       $where = '';
       $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
-         if($details->options['exposed'] == FALSE){
+         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'];
+            if (strcmp($details->table, $this->table)==0) {
+              $where .= "$details->field $details->operator " . $details->value['value'];
               $where .= ' AND ';
             }
          }
       }
-      if($where){
+      if ($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

+ 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.
       $where = '';
       $filters = $this->view->filter;
-      foreach($filters as $filter_name => $details){
+      foreach ($filters as $filter_name => $details) {
          // 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
-            if(strcmp($details->table,$this->table)==0){
+            if (strcmp($details->table, $this->table)==0) {
               $where .= "$details->field $details->operator ". $details->value['value'];
               $where .= ' AND ';
             }
          }
       } 
-      if($where){
+      if ($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

+ 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)
-      $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'];
 
       if (!empty($table_desc)) {
@@ -75,7 +75,7 @@ class views_handler_join_chado_aggregator extends views_join {
             }
 
             // 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'];
           }
         }