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

Annotation of /FigKernelScripts/svr_pegs_in_subsystems.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : parrello 1.1 #!/usr/bin/perl -w
2 :    
3 :     use LWP;
4 :     use Data::Dumper;
5 :     use SSserver;
6 :     use Getopt::Long;
7 :    
8 :    
9 :     # This is a SAS Component
10 :    
11 :    
12 :     my $noroles = 0;
13 :     my $group = 0;
14 :     my $show_owner = 0;
15 :     my $oldid = "";
16 :    
17 :     $0 =~ m/([^\/]+)$/;
18 :     my $self = $1;
19 :     my $usage = "$self [--noroles --group GenomeF < SubsystemIDs]";
20 :    
21 :     my $rc = GetOptions("noroles" => \$noroles, "group" => \$group);
22 :    
23 :     if (!$rc) {
24 :     die "\n usage: $usage\n\n";
25 :     }
26 :    
27 :    
28 :     my $roles = $noroles ? 0 : 1;
29 :     my $ss = SSserver->new();
30 :    
31 :     open GENOMES, "<" . $ARGV[$#ARGV] || die "Genome file error: $!";
32 :    
33 :     my @genomes;
34 :     my @subs;
35 :     while (<GENOMES>) {
36 :     chomp;
37 :     push (@genomes, $_);
38 :     }
39 :     while (<STDIN>) {
40 :     chomp;
41 :     push (@subs, $_);
42 :     }
43 :    
44 :     #print Dumper @genomes;
45 :     my $pegs_inss = $ss->pegs_in_subsystems(\@genomes, \@subs);
46 :     if ($roles) {
47 :     foreach my $pegs (@{$pegs_inss}) {
48 :     #ss, role, peg
49 :     if ($group) {
50 :     print $pegs->[0], "\t", $pegs->[1]->[0], "\t", join (",", @{$pegs->[1]->[1]}), "\n";
51 :     } else {
52 :     foreach my $peg (@{$pegs->[1]->[1]}) {
53 :     print join("\t", ($pegs->[0], $pegs->[1]->[0], $peg)), "\n";
54 :     }
55 :     }
56 :     }
57 :    
58 :     } else { # do group here
59 :     my %ss_pegs;
60 :     foreach my $pegs (@{$pegs_inss}) {
61 :     foreach my $peg (@{$pegs->[1]->[1]}) {
62 :     push (@{$ss_pegs{$pegs->[0]}}, $peg);
63 :     }
64 :     }
65 :     for my $k (keys %ss_pegs) {
66 :     print $k, "\t", join(",", @{$ss_pegs{$k}}), "\n";
67 :    
68 :     }
69 :     }
70 :     exit;

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3