Mercurial > repos > mahtabm > ensembl
comparison variant_effect_predictor/Bio/EnsEMBL/DBSQL/SeqRegionSynonymAdaptor.pm @ 0:1f6dce3d34e0
Uploaded
| author | mahtabm |
|---|---|
| date | Thu, 11 Apr 2013 02:01:53 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:1f6dce3d34e0 |
|---|---|
| 1 =head1 LICENSE | |
| 2 | |
| 3 Copyright (c) 1999-2012 The European Bioinformatics Institute and | |
| 4 Genome Research Limited. All rights reserved. | |
| 5 | |
| 6 This software is distributed under a modified Apache license. | |
| 7 For license details, please see | |
| 8 | |
| 9 http://www.ensembl.org/info/about/code_licence.html | |
| 10 | |
| 11 =head1 CONTACT | |
| 12 | |
| 13 Please email comments or questions to the public Ensembl | |
| 14 developers list at <dev@ensembl.org>. | |
| 15 | |
| 16 Questions may also be sent to the Ensembl help desk at | |
| 17 <helpdesk@ensembl.org>. | |
| 18 INTO | |
| 19 =cut | |
| 20 | |
| 21 package Bio::EnsEMBL::DBSQL::SeqRegionSynonymAdaptor; | |
| 22 use vars qw(@ISA); | |
| 23 use strict; | |
| 24 | |
| 25 | |
| 26 use Bio::EnsEMBL::DBSQL::BaseAdaptor; | |
| 27 use Bio::EnsEMBL::Utils::Exception qw(throw deprecate warning stack_trace_dump); | |
| 28 use Bio::EnsEMBL::SeqRegionSynonym; | |
| 29 | |
| 30 @ISA = ('Bio::EnsEMBL::DBSQL::BaseAdaptor'); | |
| 31 | |
| 32 | |
| 33 sub get_synonyms{ | |
| 34 my $self = shift; | |
| 35 my $seq_id = shift; | |
| 36 | |
| 37 my @results; | |
| 38 | |
| 39 my $sth = $self->prepare("select seq_region_synonym_id, synonym, external_db_id from seq_region_synonym where seq_region_id = ?"); | |
| 40 $sth->bind_param(1, $seq_id, SQL_INTEGER); | |
| 41 $sth->execute(); | |
| 42 my $dbid; | |
| 43 my $alt_name; | |
| 44 my $ex_db; | |
| 45 $sth->bind_columns(\$dbid, \$alt_name, \$ex_db); | |
| 46 while($sth->fetch()){ | |
| 47 push @results, Bio::EnsEMBL::SeqRegionSynonym->new(-adaptor => $self, | |
| 48 -synonym => $alt_name, | |
| 49 -dbID => $dbid, | |
| 50 -external_db_id => $ex_db, | |
| 51 -seq_region_id => $seq_id); | |
| 52 } | |
| 53 $sth->finish; | |
| 54 | |
| 55 return \@results; | |
| 56 } | |
| 57 | |
| 58 sub store { | |
| 59 my $self = shift; | |
| 60 my $syn = shift; | |
| 61 | |
| 62 return if($syn->is_stored($self->db)); | |
| 63 | |
| 64 if(!defined($syn->seq_region_id)){ | |
| 65 throw("seq_region_id is needed to store a seq_region_synoym"); | |
| 66 } | |
| 67 | |
| 68 my $sth = $self->prepare("INSERT IGNORE INTO seq_region_synonym (seq_region_id, synonym, external_db_id) VALUES (?, ?, ?)"); | |
| 69 $sth->bind_param(1, $syn->seq_region_id, SQL_INTEGER); | |
| 70 $sth->bind_param(2, $syn->name , SQL_VARCHAR); | |
| 71 $sth->bind_param(3, $syn->external_db_id, SQL_INTEGER); | |
| 72 $sth->execute; | |
| 73 $syn->{'dbID'} = $sth->{'mysql_insertid'}; | |
| 74 $sth->finish; | |
| 75 } | |
| 76 | |
| 77 | |
| 78 | |
| 79 1; |
