
----------------------------------------------------------------
--
-- Table creation scripts for class feature
--

----------------------------------------------------------------
--
-- Schema
--

----------------------------------------------------------------
--
-- Main table - feature
--
CREATE TABLE feature
	(
		id                               	VARCHAR(32)	NOT NULL PRIMARY KEY,
		type                             	VARCHAR(255),
		name                             	VARCHAR(255),
		contig                           	VARCHAR(255),
		start_pos                        	VARCHAR(255),
		end_pos                          	VARCHAR(255),
		strand                           	VARCHAR(255),
		description                      	VARCHAR(255),
		geneid                           	VARCHAR(255),
		organism                         	VARCHAR(255),
		position                         	VARCHAR(255)
	) TYPE=INNODB
;

----------------------------------------------------------------
--
-- Multivalue field - feature_names
--
CREATE TABLE feature_names
	(
		id                               	VARCHAR(32)	NOT NULL,
		names                            	VARCHAR(255),
		qualifier                        	VARCHAR(20)
	) TYPE=INNODB
;
CREATE INDEX feature_names_id_index ON feature_names (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_db_xref
--
CREATE TABLE feature_db_xref
	(
		id                               	VARCHAR(32)	NOT NULL,
		db_xref                          	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_db_xref_id_index ON feature_db_xref (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_introns
--
CREATE TABLE feature_introns
	(
		id                               	VARCHAR(32)	NOT NULL,
		introns                          	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_introns_id_index ON feature_introns (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_exons
--
CREATE TABLE feature_exons
	(
		id                               	VARCHAR(32)	NOT NULL,
		exons                            	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_exons_id_index ON feature_exons (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_ec_number
--
CREATE TABLE feature_ec_number
	(
		id                               	VARCHAR(32)	NOT NULL,
		ec_number                        	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_ec_number_id_index ON feature_ec_number (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_codon_start
--
CREATE TABLE feature_codon_start
	(
		id                               	VARCHAR(32)	NOT NULL,
		codon_start                      	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_codon_start_id_index ON feature_codon_start (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_gene
--
CREATE TABLE feature_gene
	(
		id                               	VARCHAR(32)	NOT NULL,
		gene                             	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_gene_id_index ON feature_gene (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_protein_id
--
CREATE TABLE feature_protein_id
	(
		id                               	VARCHAR(32)	NOT NULL,
		protein_id                       	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_protein_id_id_index ON feature_protein_id (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_transl_table
--
CREATE TABLE feature_transl_table
	(
		id                               	VARCHAR(32)	NOT NULL,
		transl_table                     	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_transl_table_id_index ON feature_transl_table (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_function
--
CREATE TABLE feature_function
	(
		id                               	VARCHAR(32)	NOT NULL,
		function                         	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_function_id_index ON feature_function (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_isolate
--
CREATE TABLE feature_isolate
	(
		id                               	VARCHAR(32)	NOT NULL,
		isolate                          	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_isolate_id_index ON feature_isolate (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_mol_type
--
CREATE TABLE feature_mol_type
	(
		id                               	VARCHAR(32)	NOT NULL,
		mol_type                         	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_mol_type_id_index ON feature_mol_type (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_note
--
CREATE TABLE feature_note
	(
		id                               	VARCHAR(32)	NOT NULL,
		note                             	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_note_id_index ON feature_note (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_product
--
CREATE TABLE feature_product
	(
		id                               	VARCHAR(32)	NOT NULL,
		product                          	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_product_id_index ON feature_product (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_translation
--
CREATE TABLE feature_translation
	(
		id                               	VARCHAR(32)	NOT NULL,
		translation                      	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_translation_id_index ON feature_translation (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_strain
--
CREATE TABLE feature_strain
	(
		id                               	VARCHAR(32)	NOT NULL,
		strain                           	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_strain_id_index ON feature_strain (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_locus_tag
--
CREATE TABLE feature_locus_tag
	(
		id                               	VARCHAR(32)	NOT NULL,
		locus_tag                        	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_locus_tag_id_index ON feature_locus_tag (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_sub_strain
--
CREATE TABLE feature_sub_strain
	(
		id                               	VARCHAR(32)	NOT NULL,
		sub_strain                       	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_sub_strain_id_index ON feature_sub_strain (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_bound_moiety
--
CREATE TABLE feature_bound_moiety
	(
		id                               	VARCHAR(32)	NOT NULL,
		bound_moiety                     	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_bound_moiety_id_index ON feature_bound_moiety (id);

----------------------------------------------------------------
--
-- Multivalue field - feature_db_xref_exp
--
CREATE TABLE feature_db_xref_exp
	(
		id                               	VARCHAR(32)	NOT NULL,
		db_xref_exp                      	VARCHAR(255)
	) TYPE=INNODB
;
CREATE INDEX feature_db_xref_exp_id_index ON feature_db_xref_exp (id);
