/
Pedigree.t
79 lines (64 loc) · 1.94 KB
/
Pedigree.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# -*-Perl-*-
use strict;
BEGIN {
use vars qw($NUMTESTS $error) ;
$NUMTESTS = 4;
$error = 0;
eval { require Test; };
if( $@ ) {
use lib 't';
}
use Test;
plan tests => $NUMTESTS;
}
END {
for ( $Test::ntest..$NUMTESTS ) {
skip("Skipping rest of Pedigree tests",1);
}
}
use Bio::PopGen::Genotype;
use Bio::Pedigree::Person;
use Bio::Pedigree::Group;
use Bio::Pedigree::Pedigree;
if( $error == 1 ) { exit(0); }
my @r = ( new Bio::PopGen::Genotype(-marker_name => 'D1S234',
-alleles => [100,102] ),
new Bio::PopGen::Genotype(-marker_name => 'CFDX',
-alleles => ['A'] ),
);
my @p;
push @p, ( new Bio::Pedigree::Person(-person_id => 1,
-father_id => 0,
-mother_id => 0,
-gender => 'M',
-genotypes => [@r]) );
@r = ( new Bio::PopGen::Genotype(-marker_name => 'D1S234',
-alleles => [110,105] ),
new Bio::PopGen::Genotype(-marker_name => 'CFDX',
-alleles => ['U'] ),
);
push @p, ( new Bio::Pedigree::Person(-person_id => 2,
-father_id => 0,
-mother_id => 0,
-gender => 'F',
-genotypes => [@r]) );
@r = ( new Bio::PopGen::Genotype(-marker_name => 'D1S234',
-alleles => [110,102] ),
new Bio::PopGen::Genotype(-marker_name => 'CFDX',
-alleles => ['A'] ),
);
push @p, ( new Bio::Pedigree::Person(-person_id => 3,
-father_id => 1,
-mother_id => 2,
-gender => 'M',
-genotypes => [@r] ));
my $group = new Bio::Pedigree::Group( -people => [@p],
-center => 'DUK',
-group_id => 1,
-type => 'FAMILY',
-description => 'simple example');
my $pedigree = new Bio::Pedigree::Pedigree( -groups => [ $group ]);
ok ($pedigree);
ok ($pedigree->num_of_groups, 1);
ok ($pedigree->get_Group("DUK 1")->center_groupid, $group->center_groupid);
ok ($pedigree->add_Group($group), 1 );