Bio::EnsEMBL::Map
Marker
Toolbar
Summary
Bio::EnsEMBL::Map::Marker
Package variables
No package variables defined.
Included modules
Inherit
Synopsis
Description
Represents a marker in the EnsEMBL database. The marker object
is unpositioned on the genome. Markers which are positioned are
represented by the MarkerFeature object.
Methods
Methods description
Arg [1..n] : @mlocs list of Bio::EnsEMBL::MapLocations Example : $marker->add_MapLocations(@mlocs); Description: Associates 1 or more map locations with this marker using this function to manually load map locations will prevent lazy-loading of locations from the database. Returntype : listref of Bio::EnsEMBL::MapLocations Exceptions : throws if map location has no name Caller : general Status : stable |
Arg [1] : (optional) Bio::EnsEMBL::DBSQL::MarkerSynonym $ms Example : none Description: Getter/Setter for the 'display' synonym of this marker Returntype : Bio::EnsEMBL::Map::MarkerSynonym Exceptions : thrown if the argument is invalid Caller : general Status : stable |
Arg [1] : none Example : $marker->get_all_MapLocations; Description: Removes map locations associated with this marker. Markers may be lazy-loaded from the database (again) after this. Returntype : none Exceptions : Caller : Status : stable |
Arg [1] : none Example : $marker->flush_MarkerSynonyms; Description: clears all of the marker sysnonyms which have been added to this marker. Returntype : none Exceptions : none Caller : general Status : stable |
Arg [1] : string $map_name Example : $map_location = $marker->get_MapLocation('genethon'); Description: Retrieves the location of this marker in a specified map. If this marker is not defined in the specified map then undef is returned. Returntype : Bio::EnsEMBL::Map::MapLocation Exceptions : thrown if the map_name arg is not provided Caller : general Status : stable |
Arg [1] : none Example : @map_locations = @{$marker->get_all_MapLocations}; Description: Retrieves all map locations which are associated with this marker. Returntype : listref of Bio::EnsEMBL::Map::MapLocations Exceptions : none Caller : general Status : stable |
Arg [1] : none Example : @marker_features = @{$marker->get_all_MarkerFeatures}; Description: Retrieves the marker features which are associated with this marker. I.e. locations where this marker has been mapped to the genome via e-PCR Returntype : listref of Bio::EnsEMBL::Map::MarkerFeatures Exceptions : none Caller : general Status : stable |
Arg [1] : none Example : @synonyms = @{$marker->get_all_MarkerSynonyms}; Description: Retrieves a list of marker synonyms associated with this marker. If this marker is connected to the datbase (i.e. it has an adaptor and Returntype : listref of Bio::EnsEMBL::Map::MarkerSynonyms Exceptions : none Caller : general Status : stable |
Arg [1] : (optional) string $left_primer Example : $left_primer = $marker->left_primer; Description: Getter/Setter for the left primer sequence of this marker Returntype : string Exceptions : none Caller : general Status : stable |
Arg [1] : (optional) string $max Example : $dist = $marker->max_primer_dist; Description: Getter/Setter for the maximum seperation distance between the left and right primers of this marker Returntype : int Exceptions : none Caller : general Status : stable |
Arg [1] : (optional) string $min Example : $dist = $marker->min_primer_dist; Description: Getter/Setter for the minimum seperation distance between the left and right primers of this marker Returntype : int Exceptions : none Caller : general Status : stable |
Arg [1] : (optional) int $dbID Arg [2] : (optional) Bio::EnsEMBL::Map::DBSQL::MarkerAdaptor $adaptor Arg [3] : (optional) string $left_primer Arg [4] : (optional) string $right_primer Arg [5] : (optional) int $primer_distance Arg [6] : (optional) int $priority Arg [7] : (optional) string $type Arg [8] : (optional) Bio::EnsEMBL::Map::MarkerSynonym $display_synonym Arg [9] : (optional) listref of Bio::EnsEMBL::Map::MarkerSynonyms $syns Arg [10] : (optional) listref of Bio::EnsEMBL::Map::MapLocations $locs Example : $marker = Bio::EnsEMBL::Map::MarkerSynonym->new (123, $adaptor, $left_primer, $right_primer, 400, 80, $ms1, [$ms1, $ms2], [$mloc1, $mloc2]); Description: Creates a new Marker Returntype : Bio::EnsEMBL::Map::Marker Exceptions : none Caller : general Status : stable |
Arg [1] : (optional) int $priority Example : $priority = $marker->priority; Description: Getter/Setter for priority of this marker which can be used to determine which markers are displayed. Returntype : int Exceptions : none Caller : general Status : stable |
Arg [1] : (optional) string $right_primer Example : $right_primer = $marker->right_primer; Description: Getter/Setter for the right primer sequence of this marker Returntype : string Exceptions : none Caller : general Status : stable |
Arg [1] : (optional) string $type Example : $type = $marker->type; Description: Getter/Setter for type of this marker. Rat markers are typed as 'est' or 'microsatellite'. Other markers may not have defined types. Returntype : string Exceptions : none Caller : general Status : stable |
Methods code
sub add_MapLocations
{ my ($self, @mlocs) = @_;
foreach my $ml (@mlocs) {
unless($ml && ref $ml && $ml->isa('Bio::EnsEMBL::Map::MapLocation')) {
throw("args must be Bio::EnsEMBL::Map::MapLocations not [$ml]");
}
my $mname = $ml->map_name;
unless($mname) {
throw("map location arg [$ml] does not define a map name");
}
$self->{'map_locations'}->{$mname} = $ml;
} } |
sub add_MarkerSynonyms
{ my ($self, @ms) = @_;
$self->{'marker_synonyms'} ||= [];
push(@{$self->{'marker_synonyms'}}, @ms); } |
sub display_MarkerSynonym
{ my $self = shift;
if(@_) {
my $ms = shift;
if($ms && !(ref $ms && $ms->isa('Bio::EnsEMBL::Map::MarkerSynonym'))) {
throw("ms arg must be Bio::EnsEMBL::Map::MarkerSynonym not [$ms]");
}
$self->{'display_marker_synonym'} = $ms;
}
return $self->{'display_marker_synonym'}; } |
sub flush_MapLocations
{ my $self = shift;
delete $self->{'map_locations'};
}
1; } |
sub flush_MarkerSynonyms
{ my $self = shift;
delete $self->{'marker_synonyms'}; } |
sub get_MapLocation
{ my $self = shift;
my $map_name = shift;
if(!exists $self->{'map_locations'} &&
$self->{'adaptor'} && $self->{'dbID'}) {
$self->adaptor->fetch_attributes($self);
}
unless($map_name) {
throw('map_name argument is required, or use get_all_MapLocations');
}
return $self->{'map_locations'}->{$map_name}; } |
sub get_all_MapLocations
{ my $self = shift;
if(!exists $self->{'map_locations'} &&
$self->{'adaptor'} && $self->{'dbID'}) {
$self->adaptor->fetch_attributes($self);
}
my @out = values %{$self->{'map_locations'}};
return\@ out; } |
sub get_all_MarkerFeatures
{ my $self = shift;
my $marker_feature_adaptor = $self->adaptor->db->get_MarkerFeatureAdaptor;
return $marker_feature_adaptor->fetch_all_by_Marker($self); } |
sub get_all_MarkerSynonyms
{ my $self = shift;
if(!exists $self->{'marker_synonyms'} &&
$self->{'adaptor'} && $self->{'dbID'}) {
$self->adaptor->fetch_attributes($self);
}
return $self->{'marker_synonyms'} || []; } |
sub left_primer
{ my $self = shift;
if(@_) {
$self->{'left_primer'} = shift;
}
return $self->{'left_primer'}; } |
sub max_primer_dist
{ my $self = shift;
if(@_) {
$self->{'max_primer_dist'} = shift;
}
return $self->{'max_primer_dist'}; } |
sub min_primer_dist
{ my $self = shift;
if(@_) {
$self->{'min_primer_dist'} = shift;
}
return $self->{'min_primer_dist'}; } |
sub new
{ my ($caller, $dbID, $adaptor, $left_primer, $right_primer,
$min_primer_dist, $max_primer_dist, $priority, $type, $display_synonym,
$syns, $mlocs) = @_;
my $class = ref($caller) || $caller;
my $self = bless( {'dbID' => $dbID,
'adaptor' => $adaptor,
'left_primer' => $left_primer,
'right_primer' => $right_primer,
'min_primer_dist' => $min_primer_dist,
'max_primer_dist' => $max_primer_dist,
'priority' => $priority,
'type' => $type,
'display_marker_synonym' => $display_synonym
}, $class);
if($syns && @$syns) {
$self->{'marker_synonyms'} = $syns;
}
if($mlocs) {
foreach my $ml (@$mlocs) {
$self->add_MapLocation($ml);
}
}
return $self; } |
sub priority
{ my $self = shift;
if(@_) {
$self->{'priority'} = shift;
}
return $self->{'priority'}; } |
sub right_primer
{ my $self = shift;
if(@_) {
$self->{'right_primer'} = shift;
}
return $self->{'right_primer'}; } |
sub type
{ my $self = shift;
if(@_) {
$self->{'type'} = shift;
}
return $self->{'type'}; } |
General documentation
Copyright (c) 1999-2009 The European Bioinformatics Institute and
Genome Research Limited. All rights reserved.
This software is distributed under a modified Apache license.
For license details, please see
/info/about/code_licence.html
Arg [1] : Bio::EnsEMBL::MarkerSynonym $ms
Example : $marker->add_MarkerSynonym($ms);
Description: Associates a new synonym with this marker. Adding marker
synonyms to a marker which has not yet retrieved its
synonyms from the database will prevent the loading of these
from the database at request time (unless flush_MarkerSynonyms
is called first).
Returntype : none
Exceptions : thrown if incorrect argument is passed
Caller : general
Status : stable