Переглянути джерело

Merged in 6.x-6233304-Support_for_Chado_v1.2 branch and removed non-views stocks page

spficklin 12 роки тому
батько
коміт
c324a8440f
36 змінених файлів з 24998 додано та 13739 видалено
  1. 13 77
      tripal_analysis/tripal_analysis.api.inc
  2. 2 2
      tripal_bulk_loader/tripal_bulk_loader.admin.templates.inc
  3. 1 1
      tripal_bulk_loader/tripal_bulk_loader.loader.inc
  4. 0 57
      tripal_contact/tripal_contact.api.inc
  5. 102 0
      tripal_core/api/get_FKs.php
  6. 141 20
      tripal_core/api/tripal_core.api.inc
  7. 10753 0
      tripal_core/api/tripal_core.schema_v1.11.api.inc
  8. 13269 0
      tripal_core/api/tripal_core.schema_v1.2.api.inc
  9. 0 2
      tripal_core/chado_schema/initialize-1.11.sql
  10. 0 1
      tripal_core/chado_schema/initialize-1.2.sql
  11. 1 6
      tripal_core/chado_schema/upgrade-1.11-1.2.sql
  12. 27 13
      tripal_core/includes/chado_install.php
  13. 0 0
      tripal_core/includes/jobs.php
  14. 0 0
      tripal_core/includes/mviews.php
  15. 8 4
      tripal_core/tripal_core.install
  16. 4 4
      tripal_core/tripal_core.module
  17. 0 12737
      tripal_core/tripal_core.schema.api.inc
  18. 0 28
      tripal_core/tripal_launch_jobs_multi.php
  19. 2 2
      tripal_cv/tripal_cv.views.inc
  20. 0 22
      tripal_db/tripal_db.api.inc
  21. 14 168
      tripal_feature/tripal_feature.api.inc
  22. 11 25
      tripal_genetic/tripal_genetic.api.inc
  23. 12 66
      tripal_library/tripal_library.api.inc
  24. 336 35
      tripal_natural_diversity/tripal_natural_diversity.api.inc
  25. 16 17
      tripal_organism/tripal_organism.api.inc
  26. 2 3
      tripal_organism/tripal_organism.module
  27. 15 354
      tripal_stock/tripal_stock.api.inc
  28. 1 68
      tripal_stock/tripal_stock.module
  29. 1 1
      tripal_views/tripal_views.api.inc
  30. 11 2
      tripal_views/tripal_views.install
  31. 5 4
      tripal_views/tripal_views.module
  32. 35 11
      tripal_views/tripal_views.views.inc
  33. 5 4
      tripal_views/tripal_views_integration.inc
  34. 3 3
      tripal_views/views/handlers/chado_views_handler_field_aggregate.inc
  35. 206 0
      tripal_views/views/handlers/tripal_views_handler_filter_string_selectbox.inc
  36. 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;
 }

+ 2 - 2
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) {

+ 1 - 1
tripal_bulk_loader/tripal_bulk_loader.loader.inc

@@ -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'];

+ 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;
+}
+";
+  }
+}

+ 141 - 20
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 = '';
@@ -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;
@@ -859,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")) . ".";
@@ -892,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();
 }
 
 /**
@@ -965,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']);
 
@@ -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) {
@@ -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;

+ 4 - 4
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

+ 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.

+ 2 - 2
tripal_cv/tripal_cv.views.inc

@@ -47,7 +47,7 @@ function tripal_cv_views_data() {
         // 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';

+ 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

@@ -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.

+ 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

+ 2 - 3
tripal_organism/tripal_organism.module

@@ -732,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;
@@ -769,7 +769,6 @@ function chado_organism_update($node) {
   if ($node->revision) {
     // TODO -- decide what to do about revisions
   }
-
   $match = array(
     'organism_id' => chado_get_id_for_node('organism', $node),
   );

+ 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 - 68
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,62 +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
-  $header = array('Name', 'Type', 'Organism', 'Description');
-  $rows = array();
-  foreach ($stocks as $node) {
-    $output .= "<tr>";
-    $rows[]= array(
-       l($node->stock->name, "node/" . $node->nid),
-       $node->stock->type_id->name,
-       $node->stock->organism_id->common_name,
-       $node->stock->description
-    );
-  }
-  return theme('table', $header, $rows);
-}
-
 /**
  * Implements hook_node_info(): registers a stock node type
  *

+ 1 - 1
tripal_views/tripal_views.api.inc

@@ -374,7 +374,7 @@ function tripal_views_integration_remove_entry_by_setup_id($setup_id) {
 function tripal_views_get_integration_array_for_chado_table($table_name, $base_table = TRUE) {
 
   // 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(

+ 35 - 11
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'
+      ),
     ),
   );
 }
@@ -464,7 +488,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);
       }

+ 5 - 4
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
@@ -586,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);
         }

+ 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 {
 
   }
 
-}
+}

+ 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);
+        }
+      }
+    }
+  }
+}

+ 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'];
           }
         }