$kary_adaptor = $db_adaptor->get_KaryotypeBandAdaptor();
foreach $band ( @{ $kary_adaptor->fetch_all_by_Slice($slice) } ) {
# do something with band
}
$band = $kary_adaptor->fetch_by_dbID($id);
my @bands = @{ $kary_adaptor->fetch_all_by_chr_name('X') };
my $band = $kary_adaptor->fetch_by_chr_band( '4', 'q23' );
sub _objs_from_sth
{ my ($self, $sth) = @_;
my $db = $self->db();
my $slice_adaptor = $db->get_SliceAdaptor();
my @features;
my %slice_cache;
my($karyotype_id,$seq_region_id,$seq_region_start,$seq_region_end,
$band,$stain);
$sth->bind_columns(\$karyotype_id,\$ seq_region_id,\$ seq_region_start,\$
seq_region_end,\$ band,\$ stain);
while ( $sth->fetch() ) {
$seq_region_id = $self->get_seq_region_id_internal($seq_region_id);
my $slice = $slice_cache{$seq_region_id} ||=
$slice_adaptor->fetch_by_seq_region_id($seq_region_id);
push( @features,
$self->_create_feature( 'Bio::EnsEMBL::KaryotypeBand', {
-START => $seq_region_start,
-END => $seq_region_end,
-SLICE => $slice,
-ADAPTOR => $self,
-DBID => $karyotype_id,
-NAME => $band,
-STAIN => $stain
} ) );
}
return\@ features; } |
sub _tables
{ my $self = shift;
return (['karyotype','k'])
}
} |
sub fetch_all_by_chr_band
{ my ($self, $chr_name, $band) = @_;
throw('Chromosome name argument expected') if(!$chr_name);
throw('Band argument expected') if(!$band);
my $slice = $self->db->get_SliceAdaptor->fetch_by_region(undef,
$chr_name);
my $constraint = "k.band like '$band%'";
return $self->fetch_all_by_Slice_constraint($slice,$constraint); } |
sub fetch_all_by_chr_name
{ my ($self,$chr_name) = @_;
throw('Chromosome name argument expected') if(!$chr_name);
my $slice =
$self->db->get_SliceAdaptor->fetch_by_region(undef, $chr_name);
unless ($slice){
warning("Cannot retrieve chromosome $chr_name");
return;
}
return $self->fetch_all_by_Slice($slice); } |
sub fetch_by_chr_band
{ my $self = shift;
deprecate('Use fetch_all_by_chr_band instead.');
my ($band) = @{$self->fetch_all_by_chr_band(@_)};
return $band; } |
sub list_dbIDs
{ my ($self, $ordered) = shift;
return $self->_list_dbIDs("karyotype",undef, $ordered);
}
1; } |