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

Annotation of /FigKernelScripts/make_subsystems_from_clusters.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : overbeek 1.1 use FIG;
2 :    
3 :     $usage = "usage: make_subsystems_from_clusters KernelCSSs CouplingF DisambiguationPrefix SubsysDirectory User ProposedAssignmentsDirectory";
4 :    
5 :     (
6 : overbeek 1.2 ($cssD = shift @ARGV) && opendir(CSS,$cssD) &&
7 :     ($couplingF = shift @ARGV) &&
8 :     ($prefix = shift @ARGV) &&
9 :     ($subsysD = shift @ARGV) &&
10 :     ($user = shift @ARGV) &&
11 :     ($assignD = shift @ARGV)
12 : overbeek 1.1 )
13 :     || die "aborted";
14 :    
15 :     @css = grep { $_ !~ /^\./ } readdir(CSS);
16 :     closedir(CSS);
17 :    
18 :     &FIG::verify_dir($assignD);
19 :    
20 :     $tmpD = "/tmp/Tmp$$";
21 :    
22 :     &FIG::verify_dir($tmpD);
23 :    
24 : overbeek 1.2 $N = 1;
25 : overbeek 1.1 foreach $css (@css)
26 :     {
27 :     if ($css =~ /^(\d+)-\.\.\.(\d+)\.\.\.-(\d+)/)
28 :     {
29 :     ($beg,$n,$end) = ($1,$2,$3);
30 :     open(CSS,"<$cssD/$css") || die "could not open $cssD/$css";
31 :     $/ = "\n//\n";
32 :     $_ = <CSS>;
33 :     $/ = "\n";
34 :     if (defined($_ = <CSS>) && ($_ =~ /^(\d+\.\d+)/))
35 :     {
36 :     $main_genome = $1;
37 : overbeek 1.3 $name = "$main_genome-$beg-$n-$end";
38 :     &FIG::run("fill_in_roles $assignD/$name < $cssD/$css > $tmpD/with.roles");
39 :     open(TMP,"<$tmpD/with.roles") || die "could not open $tmpD/with.roles";
40 : overbeek 1.1 $/ = "\n//\n";
41 :     if (defined($_ = <STDIN>) && defined($_ = <STDIN>))
42 :     {
43 :     $/ = "\n";
44 :     chomp;
45 :     @lines = map { $_ =~ /^(\S+)\t(\S.*\S)/; [$1,$2] } split(/\n/,$_);
46 :     @hypos = ();
47 :     foreach $x (@lines)
48 :     {
49 :     if (&FIG::hypo($x->[1]))
50 :     {
51 :     push(@hypos,$x->[0]);
52 :     }
53 :     }
54 :    
55 :     $abbreviations = join(" ",@hypos);
56 : overbeek 1.2 &FIG::run("make_assignments_fit_initial_css $prefix\_$N $assignD/$name $abbreviations < $tmpD/with.roles > $tmpD/hypos.prefixed");
57 : overbeek 1.1 &FIG::run("expand_multifunctional_roles < $tmpD/hypos.prefixed > $tmpD/expanded.multifunctionals");
58 :     &FIG::run("make_spreadsheet_and_notes $couplingF $subsysD $user < $tmpD/expanded.multifunctionals");
59 : overbeek 1.2 $N++;
60 : overbeek 1.1 }
61 :     close(TMP);
62 :     }
63 :     else
64 :     {
65 :     die "bad spreadsheet: $css";
66 :     }
67 :     }
68 :     else
69 :     {
70 :     die "bad name: $css";
71 :     }
72 : overbeek 1.2 }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3