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

Annotation of /FigKernelScripts/check_figfams.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : overbeek 1.1
2 : overbeek 1.3 $usage = "usage: check_figfams Dir1 Dir2";
3 : overbeek 1.1
4 :     (
5 : overbeek 1.3 ($dir1 = shift @ARGV) &&
6 :     ($dir2 = shift @ARGV)
7 : overbeek 1.1 )
8 :     || die $usage;
9 : overbeek 1.2
10 : overbeek 1.3 &FIG::verify_dir($dir1);
11 :     &FIG::verify_dir($dir2);
12 : overbeek 1.1
13 :     use FIG;
14 :     my $fig = new FIG;
15 :     use FigFams;
16 :     my $figfams = new FigFams($fig);
17 :     $procs = 10;
18 :     $nextP = 0;
19 :    
20 : overbeek 1.3 @procs = &start_procs("test_figfam_placement_into_families $dir1 $dir2",$procs);
21 : overbeek 1.1
22 :     my @all_ids = sort $figfams->all_families;
23 :     foreach $fam_id (@all_ids)
24 :     {
25 : overbeek 1.4 my $mod = substr($fam_id,6,3);
26 : olson 1.6 my $ffdata = &FIG::get_figfams_data();
27 :     if (! -d "$ffdata/FIGFAMS/$mod/$fam_id") { die "$fam_id is invalid"; }
28 : overbeek 1.4
29 :     next if ((-e "$dir1/$fam_id") && (-e "$dir2/$fam_id"));
30 : overbeek 1.1 $fh = $procs[$nextP];
31 :     print $fh "$fam_id\n";
32 :     $nextP = ($nextP == $#procs) ? 0 : $nextP+1;
33 :     }
34 :    
35 :     &close_procs(\@procs);
36 :     print STDERR "closed processes\n";
37 :    
38 :     sub start_procs {
39 :     my($cmd,$procsN) = @_;
40 :    
41 :     my @procs = ();
42 :     open(F1,"| $cmd 1") || die 1;
43 :     my $ofh = select F1; $| = 1; select $ofh;
44 :     push(@procs,\*F1);
45 :     print STDERR "starting process 1\n";
46 :    
47 :     $procsN--; if ($procsN == 0) { return @procs }
48 :     open(F2,"| $cmd 2") || die 2;
49 :     my $ofh = select F2; $| = 1; select $ofh;
50 :     push(@procs,\*F2);
51 :     print STDERR "starting process 2\n";
52 :    
53 :     $procsN--; if ($procsN == 0) { return @procs }
54 :     open(F3,"| $cmd 3") || die 3;
55 :     my $ofh = select F3; $| = 1; select $ofh;
56 :     push(@procs,\*F3);
57 :     print STDERR "starting process 3\n";
58 :    
59 :     $procsN--; if ($procsN == 0) { return @procs }
60 :     open(F4,"| $cmd 4") || die 4;
61 :     my $ofh = select F4; $| = 1; select $ofh;
62 :     push(@procs,\*F4);
63 :     print STDERR "starting process 4\n";
64 :    
65 :     $procsN--; if ($procsN == 0) { return @procs }
66 :     open(F5,"| $cmd 5") || die 5;
67 :     my $ofh = select F5; $| = 1; select $ofh;
68 :     push(@procs,\*F5);
69 :     print STDERR "starting process 5\n";
70 :    
71 :     $procsN--; if ($procsN == 0) { return @procs }
72 :     open(F6,"| $cmd 6") || die 6;
73 :     my $ofh = select F6; $| = 1; select $ofh;
74 :     push(@procs,\*F6);
75 :     print STDERR "starting process 6\n";
76 :    
77 :     $procsN--; if ($procsN == 0) { return @procs }
78 :     open(F7,"| $cmd 7") || die 7;
79 :     my $ofh = select F7; $| = 1; select $ofh;
80 :     push(@procs,\*F7);
81 :     print STDERR "starting process 7\n";
82 :    
83 :     $procsN--; if ($procsN == 0) { return @procs }
84 :     open(F8,"| $cmd 8") || die 8;
85 :     my $ofh = select F8; $| = 1; select $ofh;
86 :     push(@procs,\*F8);
87 :     print STDERR "starting process 8\n";
88 :    
89 :     $procsN--; if ($procsN == 0) { return @procs }
90 :     open(F9,"| $cmd 9") || die 9;
91 :     my $ofh = select F9; $| = 1; select $ofh;
92 :     push(@procs,\*F9);
93 :     print STDERR "starting process 9\n";
94 :    
95 :     $procsN--; if ($procsN == 0) { return @procs }
96 :     open(F10,"| $cmd 10") || die 10;
97 :     my $ofh = select F10; $| = 1; select $ofh;
98 :     push(@procs,\*F10);
99 :     print STDERR "starting process 10\n";
100 :    
101 :     $procsN--; if ($procsN == 0) { return @procs }
102 :     open(F11,"| $cmd 11") || die 11;
103 :     my $ofh = select F11; $| = 1; select $ofh;
104 :     push(@procs,\*F11);
105 :     print STDERR "starting process 11\n";
106 :    
107 :     $procsN--; if ($procsN == 0) { return @procs }
108 :     open(F12,"| $cmd 12") || die 12;
109 :     my $ofh = select F12; $| = 1; select $ofh;
110 :     push(@procs,\*F12);
111 :     print STDERR "starting process 12\n";
112 :    
113 :     $procsN--; if ($procsN == 0) { return @procs }
114 :     open(F13,"| $cmd 13") || die 13;
115 :     my $ofh = select F13; $| = 1; select $ofh;
116 :     push(@procs,\*F13);
117 :     print STDERR "starting process 13\n";
118 :    
119 :     $procsN--; if ($procsN == 0) { return @procs }
120 :     open(F14,"| $cmd 14") || die 14;
121 :     my $ofh = select F14; $| = 1; select $ofh;
122 :     push(@procs,\*F14);
123 :     print STDERR "starting process 14\n";
124 :    
125 :     return @procs;
126 :     }
127 :    
128 :     sub close_procs {
129 :     my($procs) = @_;
130 :     my $proc;
131 :    
132 :     for (my $i=0; ($i < @$procs); $i++)
133 :     {
134 :     print STDERR "CLOSING ",$i+1,"\n";
135 :     my $fh = $procs->[$i];
136 :     close($fh);
137 :     print STDERR "CLOSED ",$i+1,"\n";
138 :     }
139 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3