diff --git a/modules/t/test-genome-DBs/polyploidy/core/SQLite/table.sql b/modules/t/test-genome-DBs/polyploidy/core/SQLite/table.sql
new file mode 100644
index 0000000000000000000000000000000000000000..e1dd01eb70a80d1a2cfe6d66b53c141a271b92af
--- /dev/null
+++ b/modules/t/test-genome-DBs/polyploidy/core/SQLite/table.sql
@@ -0,0 +1,972 @@
+-- 
+-- Created by SQL::Translator::Producer::SQLite
+-- Created on Fri Dec  5 13:10:39 2014
+-- 
+
+BEGIN TRANSACTION;
+
+--
+-- Table: alt_allele
+--
+CREATE TABLE alt_allele (
+  alt_allele_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  alt_allele_group_id integer NOT NULL,
+  gene_id integer NOT NULL
+);
+
+CREATE UNIQUE INDEX gene_idx ON alt_allele (gene_id);
+
+--
+-- Table: alt_allele_attrib
+--
+CREATE TABLE alt_allele_attrib (
+  alt_allele_id integer,
+  attrib enum
+);
+
+--
+-- Table: alt_allele_group
+--
+CREATE TABLE alt_allele_group (
+  alt_allele_group_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
+);
+
+--
+-- Table: analysis
+--
+CREATE TABLE analysis (
+  analysis_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  created datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  logic_name varchar(128) NOT NULL,
+  db varchar(120),
+  db_version varchar(40),
+  db_file varchar(120),
+  program varchar(80),
+  program_version varchar(40),
+  program_file varchar(80),
+  parameters text,
+  module varchar(80),
+  module_version varchar(40),
+  gff_source varchar(40),
+  gff_feature varchar(40)
+);
+
+CREATE UNIQUE INDEX logic_name_idx ON analysis (logic_name);
+
+--
+-- Table: analysis_description
+--
+CREATE TABLE analysis_description (
+  analysis_id smallint NOT NULL,
+  description text,
+  display_label varchar(255) NOT NULL,
+  displayable tinyint NOT NULL DEFAULT 1,
+  web_data text
+);
+
+CREATE UNIQUE INDEX analysis_idx ON analysis_description (analysis_id);
+
+--
+-- Table: assembly
+--
+CREATE TABLE assembly (
+  asm_seq_region_id integer NOT NULL,
+  cmp_seq_region_id integer NOT NULL,
+  asm_start integer NOT NULL,
+  asm_end integer NOT NULL,
+  cmp_start integer NOT NULL,
+  cmp_end integer NOT NULL,
+  ori tinyint NOT NULL
+);
+
+CREATE UNIQUE INDEX all_idx ON assembly (asm_seq_region_id, cmp_seq_region_id, asm_start, asm_end, cmp_start, cmp_end, ori);
+
+--
+-- Table: assembly_exception
+--
+CREATE TABLE assembly_exception (
+  assembly_exception_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  exc_type enum NOT NULL,
+  exc_seq_region_id integer NOT NULL,
+  exc_seq_region_start integer NOT NULL,
+  exc_seq_region_end integer NOT NULL,
+  ori integer NOT NULL
+);
+
+--
+-- Table: associated_group
+--
+CREATE TABLE associated_group (
+  associated_group_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  description varchar(128)
+);
+
+--
+-- Table: associated_xref
+--
+CREATE TABLE associated_xref (
+  associated_xref_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  object_xref_id integer NOT NULL DEFAULT 0,
+  xref_id integer NOT NULL DEFAULT 0,
+  source_xref_id integer,
+  condition_type varchar(128),
+  associated_group_id integer,
+  rank integer DEFAULT 0
+);
+
+CREATE UNIQUE INDEX object_associated_source_type_idx ON associated_xref (object_xref_id, xref_id, source_xref_id, condition_type, associated_group_id);
+
+--
+-- Table: attrib_type
+--
+CREATE TABLE attrib_type (
+  attrib_type_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  code varchar(20) NOT NULL DEFAULT '',
+  name varchar(255) NOT NULL DEFAULT '',
+  description text
+);
+
+CREATE UNIQUE INDEX code_idx ON attrib_type (code);
+
+--
+-- Table: coord_system
+--
+CREATE TABLE coord_system (
+  coord_system_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  species_id integer NOT NULL DEFAULT 1,
+  name varchar(40) NOT NULL,
+  version varchar(255),
+  rank integer NOT NULL,
+  attrib varchar
+);
+
+CREATE UNIQUE INDEX name_idx ON coord_system (name, version, species_id);
+
+CREATE UNIQUE INDEX rank_idx ON coord_system (rank, species_id);
+
+--
+-- Table: data_file
+--
+CREATE TABLE data_file (
+  data_file_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  coord_system_id integer NOT NULL,
+  analysis_id smallint NOT NULL,
+  name varchar(100) NOT NULL,
+  version_lock tinyint NOT NULL DEFAULT 0,
+  absolute tinyint NOT NULL DEFAULT 0,
+  url text,
+  file_type enum
+);
+
+CREATE UNIQUE INDEX df_unq_idx ON data_file (coord_system_id, analysis_id, name, file_type);
+
+--
+-- Table: density_feature
+--
+CREATE TABLE density_feature (
+  density_feature_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  density_type_id integer NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  density_value float(8,2) NOT NULL
+);
+
+--
+-- Table: density_type
+--
+CREATE TABLE density_type (
+  density_type_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  analysis_id smallint NOT NULL,
+  block_size integer NOT NULL,
+  region_features integer NOT NULL,
+  value_type enum NOT NULL
+);
+
+CREATE UNIQUE INDEX analysis_idx02 ON density_type (analysis_id, block_size, region_features);
+
+--
+-- Table: dependent_xref
+--
+CREATE TABLE dependent_xref (
+  object_xref_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  master_xref_id integer NOT NULL,
+  dependent_xref_id integer NOT NULL
+);
+
+--
+-- Table: ditag
+--
+CREATE TABLE ditag (
+  ditag_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  name varchar(30) NOT NULL,
+  type varchar(30) NOT NULL,
+  tag_count smallint NOT NULL DEFAULT 1,
+  sequence tinytext NOT NULL
+);
+
+--
+-- Table: ditag_feature
+--
+CREATE TABLE ditag_feature (
+  ditag_feature_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  ditag_id integer NOT NULL DEFAULT 0,
+  ditag_pair_id integer NOT NULL DEFAULT 0,
+  seq_region_id integer NOT NULL DEFAULT 0,
+  seq_region_start integer NOT NULL DEFAULT 0,
+  seq_region_end integer NOT NULL DEFAULT 0,
+  seq_region_strand tinyint NOT NULL DEFAULT 0,
+  analysis_id smallint NOT NULL DEFAULT 0,
+  hit_start integer NOT NULL DEFAULT 0,
+  hit_end integer NOT NULL DEFAULT 0,
+  hit_strand tinyint NOT NULL DEFAULT 0,
+  cigar_line tinytext NOT NULL,
+  ditag_side enum NOT NULL
+);
+
+--
+-- Table: dna
+--
+CREATE TABLE dna (
+  seq_region_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  sequence longtext NOT NULL
+);
+
+--
+-- Table: dna_align_feature
+--
+CREATE TABLE dna_align_feature (
+  dna_align_feature_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL,
+  hit_start integer NOT NULL,
+  hit_end integer NOT NULL,
+  hit_strand tinyint NOT NULL,
+  hit_name varchar(40) NOT NULL,
+  analysis_id smallint NOT NULL,
+  score double precision,
+  evalue double precision,
+  perc_ident float,
+  cigar_line text,
+  external_db_id integer,
+  hcoverage double precision,
+  external_data text
+);
+
+--
+-- Table: exon
+--
+CREATE TABLE exon (
+  exon_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL,
+  phase tinyint NOT NULL,
+  end_phase tinyint NOT NULL,
+  is_current tinyint NOT NULL DEFAULT 1,
+  is_constitutive tinyint NOT NULL DEFAULT 0,
+  stable_id varchar(128),
+  version smallint NOT NULL DEFAULT 1,
+  created_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  modified_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
+);
+
+--
+-- Table: exon_transcript
+--
+CREATE TABLE exon_transcript (
+  exon_id integer NOT NULL,
+  transcript_id integer NOT NULL,
+  rank integer NOT NULL,
+  PRIMARY KEY (exon_id, transcript_id, rank)
+);
+
+--
+-- Table: external_db
+--
+CREATE TABLE external_db (
+  external_db_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  db_name varchar(100) NOT NULL,
+  db_release varchar(255),
+  status enum NOT NULL,
+  priority integer NOT NULL,
+  db_display_name varchar(255),
+  type enum,
+  secondary_db_name varchar(255),
+  secondary_db_table varchar(255),
+  description text
+);
+
+CREATE UNIQUE INDEX db_name_db_release_idx ON external_db (db_name, db_release);
+
+--
+-- Table: external_synonym
+--
+CREATE TABLE external_synonym (
+  xref_id integer NOT NULL,
+  synonym varchar(100) NOT NULL,
+  PRIMARY KEY (xref_id, synonym)
+);
+
+--
+-- Table: gene
+--
+CREATE TABLE gene (
+  gene_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  biotype varchar(40) NOT NULL,
+  analysis_id smallint NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL,
+  display_xref_id integer,
+  source varchar(40) NOT NULL,
+  status enum,
+  description text,
+  is_current tinyint NOT NULL DEFAULT 1,
+  canonical_transcript_id integer NOT NULL,
+  stable_id varchar(128),
+  version smallint NOT NULL DEFAULT 1,
+  created_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  modified_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
+);
+
+--
+-- Table: gene_archive
+--
+CREATE TABLE gene_archive (
+  gene_stable_id varchar(128) NOT NULL,
+  gene_version smallint NOT NULL DEFAULT 1,
+  transcript_stable_id varchar(128) NOT NULL,
+  transcript_version smallint NOT NULL DEFAULT 1,
+  translation_stable_id varchar(128),
+  translation_version smallint NOT NULL DEFAULT 1,
+  peptide_archive_id integer,
+  mapping_session_id integer NOT NULL
+);
+
+--
+-- Table: gene_attrib
+--
+CREATE TABLE gene_attrib (
+  gene_id integer NOT NULL DEFAULT 0,
+  attrib_type_id smallint NOT NULL DEFAULT 0,
+  value text NOT NULL
+);
+
+CREATE UNIQUE INDEX gene_attribx ON gene_attrib (gene_id, attrib_type_id, value);
+
+--
+-- Table: genome_statistics
+--
+CREATE TABLE genome_statistics (
+  genome_statistics_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  statistic varchar(128) NOT NULL,
+  value integer NOT NULL DEFAULT 0,
+  species_id integer DEFAULT 1,
+  attrib_type_id integer,
+  timestamp datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
+);
+
+CREATE UNIQUE INDEX stats_uniq ON genome_statistics (statistic, attrib_type_id, species_id);
+
+--
+-- Table: identity_xref
+--
+CREATE TABLE identity_xref (
+  object_xref_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  xref_identity integer,
+  ensembl_identity integer,
+  xref_start integer,
+  xref_end integer,
+  ensembl_start integer,
+  ensembl_end integer,
+  cigar_line text,
+  score double precision,
+  evalue double precision
+);
+
+--
+-- Table: interpro
+--
+CREATE TABLE interpro (
+  interpro_ac varchar(40) NOT NULL,
+  id varchar(40) NOT NULL
+);
+
+CREATE UNIQUE INDEX accession_idx ON interpro (interpro_ac, id);
+
+--
+-- Table: intron_supporting_evidence
+--
+CREATE TABLE intron_supporting_evidence (
+  intron_supporting_evidence_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  analysis_id smallint NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL,
+  hit_name varchar(100) NOT NULL,
+  score decimal(10,3),
+  score_type enum DEFAULT 'NONE',
+  is_splice_canonical tinyint NOT NULL DEFAULT 0
+);
+
+CREATE UNIQUE INDEX analysis_id ON intron_supporting_evidence (analysis_id, seq_region_id, seq_region_start, seq_region_end, seq_region_strand, hit_name);
+
+--
+-- Table: karyotype
+--
+CREATE TABLE karyotype (
+  karyotype_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  band varchar(40),
+  stain varchar(40)
+);
+
+--
+-- Table: map
+--
+CREATE TABLE map (
+  map_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  map_name varchar(30) NOT NULL
+);
+
+--
+-- Table: mapping_session
+--
+CREATE TABLE mapping_session (
+  mapping_session_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  old_db_name varchar(80) NOT NULL DEFAULT '',
+  new_db_name varchar(80) NOT NULL DEFAULT '',
+  old_release varchar(5) NOT NULL DEFAULT '',
+  new_release varchar(5) NOT NULL DEFAULT '',
+  old_assembly varchar(20) NOT NULL DEFAULT '',
+  new_assembly varchar(20) NOT NULL DEFAULT '',
+  created datetime NOT NULL
+);
+
+--
+-- Table: mapping_set
+--
+CREATE TABLE mapping_set (
+  mapping_set_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  internal_schema_build varchar(20) NOT NULL,
+  external_schema_build varchar(20) NOT NULL
+);
+
+CREATE UNIQUE INDEX mapping_idx ON mapping_set (internal_schema_build, external_schema_build);
+
+--
+-- Table: marker
+--
+CREATE TABLE marker (
+  marker_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  display_marker_synonym_id integer,
+  left_primer varchar(100) NOT NULL,
+  right_primer varchar(100) NOT NULL,
+  min_primer_dist integer NOT NULL,
+  max_primer_dist integer NOT NULL,
+  priority integer,
+  type enum
+);
+
+--
+-- Table: marker_feature
+--
+CREATE TABLE marker_feature (
+  marker_feature_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  marker_id integer NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  analysis_id smallint NOT NULL,
+  map_weight integer
+);
+
+--
+-- Table: marker_map_location
+--
+CREATE TABLE marker_map_location (
+  marker_id integer NOT NULL,
+  map_id integer NOT NULL,
+  chromosome_name varchar(15) NOT NULL,
+  marker_synonym_id integer NOT NULL,
+  position varchar(15) NOT NULL,
+  lod_score double precision,
+  PRIMARY KEY (marker_id, map_id)
+);
+
+--
+-- Table: marker_synonym
+--
+CREATE TABLE marker_synonym (
+  marker_synonym_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  marker_id integer NOT NULL,
+  source varchar(20),
+  name varchar(50)
+);
+
+--
+-- Table: meta
+--
+CREATE TABLE meta (
+  meta_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  species_id integer DEFAULT 1,
+  meta_key varchar(40) NOT NULL,
+  meta_value varchar(255)
+);
+
+CREATE UNIQUE INDEX species_key_value_idx ON meta (species_id, meta_key, meta_value);
+
+--
+-- Table: meta_coord
+--
+CREATE TABLE meta_coord (
+  table_name varchar(40) NOT NULL,
+  coord_system_id integer NOT NULL,
+  max_length integer
+);
+
+CREATE UNIQUE INDEX cs_table_name_idx ON meta_coord (coord_system_id, table_name);
+
+--
+-- Table: misc_attrib
+--
+CREATE TABLE misc_attrib (
+  misc_feature_id integer NOT NULL DEFAULT 0,
+  attrib_type_id smallint NOT NULL DEFAULT 0,
+  value text NOT NULL
+);
+
+CREATE UNIQUE INDEX misc_attribx ON misc_attrib (misc_feature_id, attrib_type_id, value);
+
+--
+-- Table: misc_feature
+--
+CREATE TABLE misc_feature (
+  misc_feature_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL DEFAULT 0,
+  seq_region_start integer NOT NULL DEFAULT 0,
+  seq_region_end integer NOT NULL DEFAULT 0,
+  seq_region_strand tinyint NOT NULL DEFAULT 0
+);
+
+--
+-- Table: misc_feature_misc_set
+--
+CREATE TABLE misc_feature_misc_set (
+  misc_feature_id integer NOT NULL DEFAULT 0,
+  misc_set_id smallint NOT NULL DEFAULT 0,
+  PRIMARY KEY (misc_feature_id, misc_set_id)
+);
+
+--
+-- Table: misc_set
+--
+CREATE TABLE misc_set (
+  misc_set_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  code varchar(25) NOT NULL DEFAULT '',
+  name varchar(255) NOT NULL DEFAULT '',
+  description text NOT NULL,
+  max_length integer NOT NULL
+);
+
+CREATE UNIQUE INDEX code_idx02 ON misc_set (code);
+
+--
+-- Table: object_xref
+--
+CREATE TABLE object_xref (
+  object_xref_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  ensembl_id integer NOT NULL,
+  ensembl_object_type enum NOT NULL,
+  xref_id integer NOT NULL,
+  linkage_annotation varchar(255),
+  analysis_id smallint NOT NULL DEFAULT 0
+);
+
+CREATE UNIQUE INDEX xref_idx ON object_xref (xref_id, ensembl_object_type, ensembl_id, analysis_id);
+
+--
+-- Table: ontology_xref
+--
+CREATE TABLE ontology_xref (
+  object_xref_id integer NOT NULL DEFAULT 0,
+  linkage_type varchar(3),
+  source_xref_id integer
+);
+
+CREATE UNIQUE INDEX object_source_type_idx ON ontology_xref (object_xref_id, source_xref_id, linkage_type);
+
+--
+-- Table: operon
+--
+CREATE TABLE operon (
+  operon_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL,
+  display_label varchar(255),
+  analysis_id smallint NOT NULL,
+  stable_id varchar(128),
+  version smallint NOT NULL DEFAULT 1,
+  created_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  modified_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
+);
+
+--
+-- Table: operon_transcript
+--
+CREATE TABLE operon_transcript (
+  operon_transcript_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL,
+  operon_id integer NOT NULL,
+  display_label varchar(255),
+  analysis_id smallint NOT NULL,
+  stable_id varchar(128),
+  version smallint NOT NULL DEFAULT 1,
+  created_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  modified_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
+);
+
+--
+-- Table: operon_transcript_gene
+--
+CREATE TABLE operon_transcript_gene (
+  operon_transcript_id integer,
+  gene_id integer
+);
+
+--
+-- Table: peptide_archive
+--
+CREATE TABLE peptide_archive (
+  peptide_archive_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  md5_checksum varchar(32),
+  peptide_seq mediumtext NOT NULL
+);
+
+--
+-- Table: prediction_exon
+--
+CREATE TABLE prediction_exon (
+  prediction_exon_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  prediction_transcript_id integer NOT NULL,
+  exon_rank smallint NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL,
+  start_phase tinyint NOT NULL,
+  score double precision,
+  p_value double precision
+);
+
+--
+-- Table: prediction_transcript
+--
+CREATE TABLE prediction_transcript (
+  prediction_transcript_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL,
+  analysis_id smallint NOT NULL,
+  display_label varchar(255)
+);
+
+--
+-- Table: protein_align_feature
+--
+CREATE TABLE protein_align_feature (
+  protein_align_feature_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL DEFAULT 1,
+  hit_start integer NOT NULL,
+  hit_end integer NOT NULL,
+  hit_name varchar(40) NOT NULL,
+  analysis_id smallint NOT NULL,
+  score double precision,
+  evalue double precision,
+  perc_ident float,
+  cigar_line text,
+  external_db_id integer,
+  hcoverage double precision
+);
+
+--
+-- Table: protein_feature
+--
+CREATE TABLE protein_feature (
+  protein_feature_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  translation_id integer NOT NULL,
+  seq_start integer NOT NULL,
+  seq_end integer NOT NULL,
+  hit_start integer NOT NULL,
+  hit_end integer NOT NULL,
+  hit_name varchar(40) NOT NULL,
+  analysis_id smallint NOT NULL,
+  score double precision(8,2),
+  evalue double precision,
+  perc_ident float,
+  external_data text,
+  hit_description text
+);
+
+--
+-- Table: repeat_consensus
+--
+CREATE TABLE repeat_consensus (
+  repeat_consensus_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  repeat_name varchar(255) NOT NULL,
+  repeat_class varchar(100) NOT NULL,
+  repeat_type varchar(40) NOT NULL,
+  repeat_consensus text
+);
+
+--
+-- Table: repeat_feature
+--
+CREATE TABLE repeat_feature (
+  repeat_feature_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL DEFAULT 1,
+  repeat_start integer NOT NULL,
+  repeat_end integer NOT NULL,
+  repeat_consensus_id integer NOT NULL,
+  analysis_id smallint NOT NULL,
+  score double precision
+);
+
+--
+-- Table: seq_region
+--
+CREATE TABLE seq_region (
+  seq_region_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  name varchar(40) NOT NULL,
+  coord_system_id integer NOT NULL,
+  length integer NOT NULL
+);
+
+CREATE UNIQUE INDEX name_cs_idx ON seq_region (name, coord_system_id);
+
+--
+-- Table: seq_region_attrib
+--
+CREATE TABLE seq_region_attrib (
+  seq_region_id integer NOT NULL DEFAULT 0,
+  attrib_type_id smallint NOT NULL DEFAULT 0,
+  value text NOT NULL
+);
+
+CREATE UNIQUE INDEX region_attribx ON seq_region_attrib (seq_region_id, attrib_type_id, value);
+
+--
+-- Table: seq_region_mapping
+--
+CREATE TABLE seq_region_mapping (
+  external_seq_region_id integer NOT NULL,
+  internal_seq_region_id integer NOT NULL,
+  mapping_set_id integer NOT NULL
+);
+
+--
+-- Table: seq_region_synonym
+--
+CREATE TABLE seq_region_synonym (
+  seq_region_synonym_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  synonym varchar(40) NOT NULL,
+  external_db_id integer
+);
+
+CREATE UNIQUE INDEX syn_idx ON seq_region_synonym (synonym);
+
+--
+-- Table: simple_feature
+--
+CREATE TABLE simple_feature (
+  simple_feature_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL,
+  display_label varchar(255) NOT NULL,
+  analysis_id smallint NOT NULL,
+  score double precision
+);
+
+--
+-- Table: stable_id_event
+--
+CREATE TABLE stable_id_event (
+  old_stable_id varchar(128),
+  old_version smallint,
+  new_stable_id varchar(128),
+  new_version smallint,
+  mapping_session_id integer NOT NULL DEFAULT 0,
+  type enum NOT NULL,
+  score float NOT NULL DEFAULT 0
+);
+
+CREATE UNIQUE INDEX uni_idx ON stable_id_event (mapping_session_id, old_stable_id, new_stable_id, type);
+
+--
+-- Table: supporting_feature
+--
+CREATE TABLE supporting_feature (
+  exon_id integer NOT NULL DEFAULT 0,
+  feature_type enum,
+  feature_id integer NOT NULL DEFAULT 0
+);
+
+CREATE UNIQUE INDEX all_idx02 ON supporting_feature (exon_id, feature_type, feature_id);
+
+--
+-- Table: transcript
+--
+CREATE TABLE transcript (
+  transcript_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  gene_id integer,
+  analysis_id smallint NOT NULL,
+  seq_region_id integer NOT NULL,
+  seq_region_start integer NOT NULL,
+  seq_region_end integer NOT NULL,
+  seq_region_strand tinyint NOT NULL,
+  display_xref_id integer,
+  source varchar(40) NOT NULL DEFAULT 'ensembl',
+  biotype varchar(40) NOT NULL,
+  status enum,
+  description text,
+  is_current tinyint NOT NULL DEFAULT 1,
+  canonical_translation_id integer,
+  stable_id varchar(128),
+  version smallint NOT NULL DEFAULT 1,
+  created_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  modified_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
+);
+
+CREATE UNIQUE INDEX canonical_translation_idx ON transcript (canonical_translation_id);
+
+--
+-- Table: transcript_attrib
+--
+CREATE TABLE transcript_attrib (
+  transcript_id integer NOT NULL DEFAULT 0,
+  attrib_type_id smallint NOT NULL DEFAULT 0,
+  value text NOT NULL
+);
+
+CREATE UNIQUE INDEX transcript_attribx ON transcript_attrib (transcript_id, attrib_type_id, value);
+
+--
+-- Table: transcript_intron_supporting_evidence
+--
+CREATE TABLE transcript_intron_supporting_evidence (
+  transcript_id integer NOT NULL,
+  intron_supporting_evidence_id integer NOT NULL,
+  previous_exon_id integer NOT NULL,
+  next_exon_id integer NOT NULL,
+  PRIMARY KEY (intron_supporting_evidence_id, transcript_id)
+);
+
+--
+-- Table: transcript_supporting_feature
+--
+CREATE TABLE transcript_supporting_feature (
+  transcript_id integer NOT NULL DEFAULT 0,
+  feature_type enum,
+  feature_id integer NOT NULL DEFAULT 0
+);
+
+CREATE UNIQUE INDEX all_idx03 ON transcript_supporting_feature (transcript_id, feature_type, feature_id);
+
+--
+-- Table: translation
+--
+CREATE TABLE translation (
+  translation_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  transcript_id integer NOT NULL,
+  seq_start integer NOT NULL,
+  start_exon_id integer NOT NULL,
+  seq_end integer NOT NULL,
+  end_exon_id integer NOT NULL,
+  stable_id varchar(128),
+  version smallint NOT NULL DEFAULT 1,
+  created_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  modified_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
+);
+
+--
+-- Table: translation_attrib
+--
+CREATE TABLE translation_attrib (
+  translation_id integer NOT NULL DEFAULT 0,
+  attrib_type_id smallint NOT NULL DEFAULT 0,
+  value text NOT NULL
+);
+
+CREATE UNIQUE INDEX translation_attribx ON translation_attrib (translation_id, attrib_type_id, value);
+
+--
+-- Table: unmapped_object
+--
+CREATE TABLE unmapped_object (
+  unmapped_object_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  type enum NOT NULL,
+  analysis_id smallint NOT NULL,
+  external_db_id integer,
+  identifier varchar(255) NOT NULL,
+  unmapped_reason_id integer NOT NULL,
+  query_score double precision,
+  target_score double precision,
+  ensembl_id integer DEFAULT 0,
+  ensembl_object_type enum DEFAULT 'RawContig',
+  parent varchar(255)
+);
+
+CREATE UNIQUE INDEX unique_unmapped_obj_idx ON unmapped_object (ensembl_id, ensembl_object_type, identifier, unmapped_reason_id, parent, external_db_id);
+
+--
+-- Table: unmapped_reason
+--
+CREATE TABLE unmapped_reason (
+  unmapped_reason_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  summary_description varchar(255),
+  full_description varchar(255)
+);
+
+--
+-- Table: xref
+--
+CREATE TABLE xref (
+  xref_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+  external_db_id integer NOT NULL,
+  dbprimary_acc varchar(40) NOT NULL,
+  display_label varchar(128) NOT NULL,
+  version varchar(10) NOT NULL DEFAULT '0',
+  description text,
+  info_type enum NOT NULL DEFAULT 'NONE',
+  info_text varchar(255) NOT NULL DEFAULT ''
+);
+
+CREATE UNIQUE INDEX id_index ON xref (dbprimary_acc, external_db_id, info_type, info_text, version);
+
+COMMIT;