From 24cdd47a31a05a36232dc7e11f8136ca46450a8b Mon Sep 17 00:00:00 2001 From: mueller Date: Thu, 10 Nov 2011 23:09:37 -0500 Subject: [PATCH] add accessors for map parent stocks. --- lib/CXGN/Cview/Map.pm | 82 ++++++++++++++++++++++++++++++++++++++- lib/CXGN/Cview/Map/SGN/Genetic.pm | 29 ++++++++++++-- 2 files changed, 107 insertions(+), 4 deletions(-) diff --git a/lib/CXGN/Cview/Map.pm b/lib/CXGN/Cview/Map.pm index 53cdb08..8938c75 100644 --- a/lib/CXGN/Cview/Map.pm +++ b/lib/CXGN/Cview/Map.pm @@ -947,6 +947,86 @@ sub can_overlay { return 0; } +=head2 accessors get_parent1_stock_id, set_parent1_stock_id + + Usage: + Desc: + Property + Side Effects: + Example: + +=cut + +sub get_parent1_stock_id { + my $self = shift; + return $self->{parent1_stock_id}; +} + +sub set_parent1_stock_id { + my $self = shift; + $self->{parent1_stock_id} = shift; +} + +=head2 accessors get_parent2_stock_id, set_parent2_stock_id + + Usage: + Desc: + Property + Side Effects: + Example: + +=cut + +sub get_parent2_stock_id { + my $self = shift; + return $self->{parent2_stock_id}; +} + +sub set_parent2_stock_id { + my $self = shift; + $self->{parent2_stock_id} = shift; +} + +=head2 accessors get_parent1_stock_name, set_parent1_stock_name + + Usage: + Desc: + Property + Side Effects: + Example: + +=cut + +sub get_parent1_stock_name { + my $self = shift; + return $self->{parent1_stock_name}; +} + +sub set_parent1_stock_name { + my $self = shift; + $self->{parent1_stock_name} = shift; +} + +=head2 accessors get_parent2_stock_name, set_parent2_stock_name + + Usage: + Desc: + Property + Side Effects: + Example: + +=cut + +sub get_parent2_stock_name { + my $self = shift; + return $self->{parent2_stock_name}; +} + +sub set_parent2_stock_name { + my $self = shift; + $self->{parent2_stock_name} = shift; +} + -return 1; +1; diff --git a/lib/CXGN/Cview/Map/SGN/Genetic.pm b/lib/CXGN/Cview/Map/SGN/Genetic.pm index d773cf9..6849f10 100644 --- a/lib/CXGN/Cview/Map/SGN/Genetic.pm +++ b/lib/CXGN/Cview/Map/SGN/Genetic.pm @@ -80,7 +80,8 @@ sub fetch { # get the map metadata # my $query = " - SELECT map_version_id, map_type, short_name, long_name, + SELECT map_version_id, map_type, short_name, long_name, + parent1_stock_id, parent2_stock_id, abstract, public.organism.species, organismgroup.name FROM sgn.map JOIN sgn.map_version using(map_id) LEFT JOIN public.stock on(parent1_stock_id=stock.stock_id) @@ -91,11 +92,13 @@ sub fetch { my $sth = $self->get_dbh()->prepare($query); $sth->execute($self->get_id()); - my ($map_version_id, $map_type, $short_name, $long_name, $abstract, $organism_name, $common_name) = $sth->fetchrow_array(); + my ($map_version_id, $map_type, $short_name, $long_name, $parent1_stock_id, $parent2_stock_id, $abstract, $organism_name, $common_name) = $sth->fetchrow_array(); $self->set_id($map_version_id); $self->set_type($map_type); $self->set_short_name($short_name); $self->set_long_name($long_name); + $self->set_parent1_stock_id($parent1_stock_id); + $self->set_parent2_stock_id($parent2_stock_id); $self->set_abstract($abstract); $self->set_organism($organism_name); $self->set_common_name($common_name); @@ -114,7 +117,7 @@ sub fetch { $self->set_chromosome_count(scalar(@names)); $self->set_preferred_chromosome_width(20); - # get the location of the centromeres + # get the location of the centromeres # my $centromere_q = "SELECT lg_name, min(position) as north_centromere, max(position) as south_centromere FROM linkage_group left join marker_location on (north_location_id=location_id or south_location_id=location_id) where linkage_group.map_version_id=? group by linkage_group.lg_id, linkage_group.map_version_id, lg_order, lg_name order by lg_order"; my $centromere_h = $self->get_dbh()->prepare($centromere_q); @@ -811,5 +814,25 @@ sub can_overlay { return 1; } +sub get_stock_name { + my $self = shift; + my $id = shift; + my $q = "SELECT name FROM stock WHERE stock_id=?"; + my $h = $self->get_dbh()->prepare($q); + $h->execute($id); + my ($name) = $h->fetchrow_array(); + return $name; +} + +sub get_parent1_stock_name { + my $self = shift; + return $self->get_stock_name($self->get_parent1_stock_id); +} + +sub get_parent2_stock_name { + my $self = shift; + return $self->get_stock_name($self->get_parent2_stock_id); +} + 1; -- 2.11.4.GIT