3 my @id = split /\t/,$_;
8 my @x = split '',@_[0];
11 @ks = sort keys %hash;
19 my ($gF,$gM,$gC) = split /\t/,$_;
20 my ($F,$Fl) = s2a
($gF);
21 my ($M,$Ml) = s2a
($gM);
22 my ($C,$Cl) = s2a
($gC);
25 if ($F eq $M and $M eq $C and $Fl==1) {
28 } elsif ($F ne $M and $Fl+$Ml==2 and $Cl==2 and $C =~ /$F/ and $C=~/$M/) {
31 } elsif ($C eq $M and $Cl+$Ml==2 and $Fl==2 and $F=~/$M/) {
33 $type = "P P PQ 1/2p";
34 } elsif ($Ml==1 and $Cl==2 and $Fl==2 and $C=~/$M/) {
36 $type = "P PQ PQ/QR 1/2q";
38 if ($Cl==1 and $M=~/$C/) {
39 if ($Fl==1 and $F=~/$C/) {
41 $type = "PQ QQ QQ 1/q";
42 } elsif ($Fl==2 and $F=~/$C/) {
44 $type = "PQ QQ QR 1/2q";
48 if ($F eq $C or $Fl==1) {
50 $type = "PQ PQ PP/QQ/PQ 1/(p+q)";
53 $type = "PQ PQ PR 1/2(p+q)";
56 if ($Fl==1 and $F=~/$C/) {
58 $type = "PQ QR RR 1/r";
59 } elsif ($Fl==2 and $F=~/$C/) {
61 $type = "PQ QR RS 1/2r";
64 $type = "PQ PR PR 1/2r";
69 print "($M,$C,$F)\t$pi=$type\n";