[Bio] / FigKernelScripts / make_binary.pl Repository:
ViewVC logotype

Annotation of /FigKernelScripts/make_binary.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download) (as text)

1 : efrank 1.1
2 :     use FIG;
3 :     # Takes an input file of "pins" and turns it into a set of binary connections (that
4 :     # can be glued together with cluster_objects)
5 :     #
6 :    
7 :     $usage = "usage: make_binary File > binary";
8 :    
9 :     ($file = shift @ARGV) || die $usage;
10 :    
11 :     open(IN,"<$file") || die "aborted";
12 :     while (defined($_ = <IN>))
13 :     {
14 :     if (substr($_,-1) eq "\n")
15 :     {
16 :     while ($_ =~ /(\S+),(\S+)/g)
17 :     {
18 :     $restrict{$1} = $restrict{$2} = 1;
19 :     }
20 :     }
21 :     }
22 :     close(IN);
23 :    
24 :     open(IN,"<$file") || die "aborted";
25 :     while (defined($line = <IN>))
26 :     {
27 :     if (substr($line,-1) eq "\n")
28 :     {
29 :     chop $line;
30 :     @ids = sort { &FIG::by_fig_id($a,$b) } grep { ! $restrict{$_} } split(/[\t]+/,$line);
31 :     for ($i=0; ($i < $#ids); $i++)
32 :     {
33 :     $key = "$ids[$i]\t$ids[$i+1]";
34 :     if (! $seen{$key})
35 :     {
36 :     print "$key\n";
37 :     $seen{$key} = 1;
38 :     }
39 :     }
40 :     }
41 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3