warn that patch 00068/AddMissingStockAndTrialProps is so far only designed for some dbs
[sgn.git] / lib / CXGN / Cross.pm
blob0ec3b5b9233c6e1d978c4beff752bf721dd8aff4
2 package CXGN::Cross;
4 use Moose;
5 use SGN::Model::Cvterm;
6 use Data::Dumper;
8 has 'bcs_schema' => ( isa => 'Bio::Chado::Schema',
9 is => 'rw',
10 required => 1,
13 has 'cross_stock_id' => (isa => "Int",
14 is => 'rw',
15 required => 1,
18 sub get_cross_relationships {
19 my $self = shift;
20 my $crs = $self->bcs_schema->resultset("Stock::StockRelationship")->search( { object_id => $self->cross_stock_id } );
22 my $maternal_parent = "";
23 my $paternal_parent = "";
24 my @progeny = ();
26 foreach my $child ($crs->all()) {
27 if ($child->type->name() eq "female_parent") {
28 $maternal_parent = [ $child->subject->name, $child->subject->stock_id() ];
30 if ($child->type->name() eq "male_parent") {
31 $paternal_parent = [ $child->subject->name, $child->subject->stock_id() ];
33 if ($child->type->name() eq "member_of") {
34 push @progeny, [ $child->subject->name, $child->subject->stock_id() ];
37 return ($maternal_parent, $paternal_parent, \@progeny);