Raw content of Bio::EnsEMBL::Compara::DBSQL::DnaFragRegionAdaptor
#
# Ensembl module for Bio::EnsEMBL::Compara::DnaFragRegionAdaptor
#
# Cared for by Abel Ureta-Vidal
#
# Copyright GRL and EBI
#
# You may distribute this module under the same terms as perl itself
# POD documentation - main docs before the code
=head1 NAME
Bio::EnsEMBL::Compara::DBSQL::DnaFragRegionAdaptor - DESCRIPTION of Object
=head1 SYNOPSIS
Give standard usage here
=head1 DESCRIPTION
Describe the object here
=head1 CONTACT
Ensembl - ensembl-dev@ebi.ac.uk
=head1 APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
=cut
package Bio::EnsEMBL::Compara::DBSQL::DnaFragRegionAdaptor;
use strict;
use Bio::EnsEMBL::Utils::Exception;
use Bio::EnsEMBL::Compara::DnaFragRegion;
use Bio::EnsEMBL::DBSQL::BaseAdaptor;
our @ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor);
sub fetch_by_synteny_region_id {
my ($self, $synteny_region_id) = @_;
if( !defined $synteny_region_id ) {
throw("fetch_by_synteny_region_id with no synteny_region_id!");
}
# print "synteny_region_id : $synteny_region_id\n";
my $sth = $self->prepare("select synteny_region_id, dnafrag_id, dnafrag_start, dnafrag_end, dnafrag_strand from dnafrag_region where synteny_region_id = $synteny_region_id");
$sth->execute;
my ($dnafrag_id, $dnafrag_start, $dnafrag_end, $dnafrag_strand);
$sth->bind_columns(\$synteny_region_id, \$dnafrag_id, \$dnafrag_start, \$dnafrag_end, \$dnafrag_strand);
my $dfrs;
while ($sth->fetch()) {
my $dfr = new Bio::EnsEMBL::Compara::DnaFragRegion;
$dfr->synteny_region_id($synteny_region_id);
$dfr->dnafrag_id($dnafrag_id);
$dfr->dnafrag_start($dnafrag_start);
$dfr->dnafrag_end($dnafrag_end);
$dfr->dnafrag_strand($dnafrag_strand);
$dfr->adaptor($self);
push @{$dfrs}, $dfr;
}
return $dfrs;
}
sub store{
my ($self,$dfr) = @_;
if( !ref $dfr || !$dfr->isa("Bio::EnsEMBL::Compara::DnaFragRegion") ) {
throw("$dfr is not a DnaFragRegion object");
}
my $sth = $self->prepare("insert into dnafrag_region (synteny_region_id, dnafrag_id, dnafrag_start, dnafrag_end, dnafrag_strand) VALUES (?,?,?,?,?)");
$sth->execute($dfr->synteny_region_id, $dfr->dnafrag_id, $dfr->dnafrag_start, $dfr->dnafrag_end, $dfr->dnafrag_strand);
$dfr->adaptor($self);
return 1;
}
1;