add treatments to trial dialogs
[sgn.git] / lib / Bio / GeneticRelationships / Pedigree.pm
blob6c61650fdcd027699d3c7c8729b417b7af0e9e4c
1 package Bio::GeneticRelationships::Pedigree;
2 use strict;
3 use warnings;
4 use Moose;
5 use MooseX::FollowPBP;
6 use Moose::Util::TypeConstraints;
7 use Bio::GeneticRelationships::Individual;
9 =head1 NAME
11 Bio::GeneticRelationships::Pedigree - Pedigree of an individual
13 =head1 SYNOPSIS
15 my $variable = Bio::GeneticRelationships::Pedigree->new();
17 =head1 DESCRIPTION
19 This class stores an individual's pedigree.
21 =head2 Methods
23 =over
25 =cut
27 subtype 'CrossType',
28 as 'Str',
29 where {
30 $_ eq 'biparental' ||
31 $_ eq 'self' ||
32 $_ eq 'open' ||
33 $_ eq 'bulk' ||
34 $_ eq 'bulk_self' ||
35 $_ eq 'bulk_open' ||
36 $_ eq 'doubled_haploid' ||
37 $_ eq 'genetic_transformation' ||
38 $_ eq 'unknown' };
40 has 'name' => (isa => 'Str',is => 'rw', predicate => 'has_name', required => 1,);
41 has 'cross_type' => (isa =>'CrossType', is => 'rw', predicate => 'has_cross_type', required => 1,);
42 has 'female_parent' => (isa =>'Bio::GeneticRelationships::Individual', is => 'rw', predicate => 'has_female_parent');
43 has 'male_parent' => (isa =>'Bio::GeneticRelationships::Individual', is => 'rw', predicate => 'has_male_parent');
44 has 'selection_name' => (isa => 'Str',is => 'rw', predicate => 'has_selection_name');
47 ###
48 1; #do not remove
49 ###
51 =pod
53 =back
55 =head1 LICENSE
57 Same as Perl.
59 =head1 AUTHORS
61 Jeremy D. Edwards <jde22@cornell.edu>
63 =cut