Bio::EnsEMBL::Map Marker
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
Bio::EnsEMBL::Map::Marker
Package variables
No package variables defined.
Included modules
Bio::EnsEMBL::Storable
Bio::EnsEMBL::Utils::Exception qw ( throw )
Inherit
Bio::EnsEMBL::Storable
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
add_MapLocationsDescriptionCode
add_MarkerSynonyms
No description
Code
display_MarkerSynonymDescriptionCode
flush_MapLocationsDescriptionCode
flush_MarkerSynonymsDescriptionCode
get_MapLocationDescriptionCode
get_all_MapLocationsDescriptionCode
get_all_MarkerFeaturesDescriptionCode
get_all_MarkerSynonymsDescriptionCode
left_primerDescriptionCode
max_primer_distDescriptionCode
min_primer_distDescriptionCode
newDescriptionCode
priorityDescriptionCode
right_primerDescriptionCode
typeDescriptionCode
Methods description
add_MapLocationscode    nextTop
  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
display_MarkerSynonymcodeprevnextTop
  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
flush_MapLocationscodeprevnextTop
  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
flush_MarkerSynonymscodeprevnextTop
  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
get_MapLocationcodeprevnextTop
  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
get_all_MapLocationscodeprevnextTop
  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
get_all_MarkerFeaturescodeprevnextTop
  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
get_all_MarkerSynonymscodeprevnextTop
  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
left_primercodeprevnextTop
  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
max_primer_distcodeprevnextTop
  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
min_primer_distcodeprevnextTop
  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
newcodeprevnextTop
  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
prioritycodeprevnextTop
  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
right_primercodeprevnextTop
  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
typecodeprevnextTop
  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
add_MapLocationsdescriptionprevnextTop
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;  
  }
}
add_MarkerSynonymsdescriptionprevnextTop
sub add_MarkerSynonyms {
  my ($self, @ms) = @_;

  #create the array if it does not exist it
$self->{'marker_synonyms'} ||= []; push(@{$self->{'marker_synonyms'}}, @ms);
}
display_MarkerSynonymdescriptionprevnextTop
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'};
}
flush_MapLocationsdescriptionprevnextTop
sub flush_MapLocations {
  my $self = shift;

  delete $self->{'map_locations'};
}


1;
}
flush_MarkerSynonymsdescriptionprevnextTop
sub flush_MarkerSynonyms {
  my $self = shift;

  delete $self->{'marker_synonyms'};
}
get_MapLocationdescriptionprevnextTop
sub get_MapLocation {
  my $self = shift;
  my $map_name = shift;

  #lazy-load the map locations if they have not been fetched yet
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};
}
get_all_MapLocationsdescriptionprevnextTop
sub get_all_MapLocations {
  my $self = shift;

  #lazy-load the map locations if they have not been fetched yet
if(!exists $self->{'map_locations'} && $self->{'adaptor'} && $self->{'dbID'}) { $self->adaptor->fetch_attributes($self); } my @out = values %{$self->{'map_locations'}}; return\@ out;
}
get_all_MarkerFeaturesdescriptionprevnextTop
sub get_all_MarkerFeatures {
  my $self = shift;

  my $marker_feature_adaptor = $self->adaptor->db->get_MarkerFeatureAdaptor;

  #these results are not cached to avoid a circular reference loop
return $marker_feature_adaptor->fetch_all_by_Marker($self);
}
get_all_MarkerSynonymsdescriptionprevnextTop
sub get_all_MarkerSynonyms {
  my $self = shift;
  
  #lazy-load the marker synonyms if they haven't been retrieved
if(!exists $self->{'marker_synonyms'} && $self->{'adaptor'} && $self->{'dbID'}) { $self->adaptor->fetch_attributes($self); } return $self->{'marker_synonyms'} || [];
}
left_primerdescriptionprevnextTop
sub left_primer {
  my $self = shift;
  
  if(@_) {
    $self->{'left_primer'} = shift;
  }

  return $self->{'left_primer'};
}
max_primer_distdescriptionprevnextTop
sub max_primer_dist {
  my $self = shift;

  if(@_) {
    $self->{'max_primer_dist'} = shift;
  }

  return $self->{'max_primer_dist'};
}
min_primer_distdescriptionprevnextTop
sub min_primer_dist {
  my $self = shift;

  if(@_) {
    $self->{'min_primer_dist'} = shift;
  }

  return $self->{'min_primer_dist'};
}
newdescriptionprevnextTop
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);

  #only load the marker synononyms if they were supplied, otherwise they 
# will be lazy-loaded
if($syns && @$syns) { $self->{'marker_synonyms'} = $syns; } #only load the map_locations if they were supplied, otherwise they will
# be lazy-loaded
if($mlocs) { foreach my $ml (@$mlocs) { $self->add_MapLocation($ml); } } return $self;
}
prioritydescriptionprevnextTop
sub priority {
  my $self = shift;

  if(@_) {
    $self->{'priority'} = shift;
  }
  
  return $self->{'priority'};
}
right_primerdescriptionprevnextTop
sub right_primer {
  my $self = shift;
  
  if(@_) {
    $self->{'right_primer'} = shift;
  }

  return $self->{'right_primer'};
}
typedescriptionprevnextTop
sub type {
  my $self = shift;

  if(@_) {
    $self->{'type'} = shift;
  }
  
  return $self->{'type'};
}
General documentation
LICENSETop
  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
CONTACTTop
  Please email comments or questions to the public Ensembl
developers list at <ensembl-dev@ebi.ac.uk>.
Questions may also be sent to the Ensembl help desk at <helpdesk@ensembl.org>.
add_MarkerSynonymTop
  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