$dbh->do("CREATE TABLE if NOT EXISTS $safe_syn_table(
`gene_id` VARCHAR( 255 ) NOT NULL ,
`species` VARCHAR( 255 ) NOT NULL ,
- `synonyms` TEXT
+ `synonyms` TEXT ,
+ UNIQUE KEY `gene_species_idx` (`gene_id`, `species`)
) TYPE = MYISAM");
# and the statement handler to do the inserts
if(defined($gene)) {
$seq_hash{$gene}->{'sequence'} = $seq;
$seq_hash{$gene}->{'gene_header'} = $gene_header;
+ if($defined($synonyms)) {
+ $seq_hash{$gene}->{'synonyms'} = $synonyms;
+ undef $synonyms;
+ }
}
$gene_header = $line;
$gene_header =~ s/^>//;
# add the last gene to the hash
$seq_hash{$gene}->{'sequence'} = $seq;
$seq_hash{$gene}->{'gene_header'} = $gene_header;
+ if(defined($synonyms)) {
+ $seq_hash{$gene}->{'synonyms'} = $synonyms;
+ }
foreach my $key (keys %seq_hash) {
$insert_sth->execute($key,$seq_hash{$key}->{'gene_header'},$seq_hash{$key}->{'sequence'});
- if($synonyms ne "null") {
- $insert_syn_sth->execute($key,$species,$synonyms);
+ if($seq_hash{$key}->{'synonyms'} ne "null") {
+ $insert_syn_sth->execute($key,$species,$seq_hash{$key}->{'synonyms'});
}
}
}