-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathcheck_results.pl
63 lines (54 loc) · 1.16 KB
/
check_results.pl
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
#!/usr/bin/perl
open(MARKERSET, "$ARGV[0]");
open(FULLDATA, "$ARGV[1]");
$head = <MARKERSET>;
while(<MARKERSET>)
{
chomp;
($n, $marker, $data) = split(/[\t\,]/, $_); @data = split(//, $data); $train = @data;
$markers{$marker}++;
}
$head = <FULLDATA>;
chomp $head;
($id, @head) = split(/[\t\,]/, $head);
$full = @head;
while($line = <FULLDATA>)
{
chomp $line;
(@data) = split(/[\t\,]/, $line);
$id = $data[0];
if($markers{$id} >0)
{
$i++;
$x = 0;
$y = 0;
foreach $var1(@head)
{
$y = 0;
$x++;
foreach $var2(@head)
{
$y++;
$datax = $data[$x];
$datay = $data[$y];
if($y > $x){$t++;}
if($y> $x && $datax =~ /^[012]/ && $datay =~ /^[012]/ && $datax != $datay ){$differs{$var1}{$var2}++;}
}
}
}
}
print "$t comparisons\n";
$x = 0; $y = 0;
foreach $var1(@head)
{
$x++;
$y = 0;
foreach $var2(@head)
{
$y++;
if($y> $x && $differs{$var1}{$var2} <1){$bad{$var1}++; $bad{$var2}++;
print "$var1 not resolved from $var2\n";}
}
}
$total = @head;
$n = keys %bad; print "$ARGV[0]\t$n of $total varieties unresolved\n";