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

Annotation of /FigKernelScripts/compute_ribo_ratio_by_function.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : overbeek 1.1 use SeedEnv;
2 :     use strict;
3 :     use Data::Dumper;
4 :     use Getopt::Long;
5 :    
6 :     my $usage = "usage: compute_ribo_ratio_by_function -g Genome -d debug-level > Ratio\n";
7 :    
8 :     my $dataD;
9 :     my $debug = 0;
10 :    
11 :     my $genome;
12 :     my $rc = GetOptions('g=s' => \$genome,
13 :     'debug=i' => \$debug);
14 :     if ((! $rc) || (! $genome)) { print STDERR $usage; exit }
15 :    
16 :     my @classes = ('bacterial','archaeal');
17 :    
18 :     my %gc4 = ( Mycoplasma => 4,
19 :     Mesoplasma => 4,
20 :     Spiroplasma => 4,
21 :     Ureaplasma => 4 );
22 :    
23 :     my %species;
24 :    
25 :     my @bacterial = (
26 :     'SSU ribosomal protein S10p (S20e)',
27 :     'SSU ribosomal protein S11p (S14e)',
28 :     'SSU ribosomal protein S12p (S23e)',
29 :     'SSU ribosomal protein S13p (S18e)',
30 :     'SSU ribosomal protein S15p (S13e)',
31 :     'SSU ribosomal protein S16p',
32 :     'SSU ribosomal protein S17p (S11e)',
33 :     # 'SSU ribosomal protein S18p',
34 :     'SSU ribosomal protein S19p (S15e)',
35 :     'SSU ribosomal protein S20p',
36 :     'SSU ribosomal protein S2p (SAe)',
37 :     'SSU ribosomal protein S3p (S3e)',
38 :     'SSU ribosomal protein S4p (S9e)',
39 :     'SSU ribosomal protein S5p (S2e)',
40 :     'SSU ribosomal protein S6p',
41 :     'SSU ribosomal protein S7p (S5e)',
42 :     'SSU ribosomal protein S8p (S15Ae)',
43 :     'SSU ribosomal protein S9p (S16e)',
44 :     'LSU ribosomal protein L10p (P0)',
45 :     'LSU ribosomal protein L11p (L12e)',
46 :     'LSU ribosomal protein L13p (L13Ae)',
47 :     'LSU ribosomal protein L14p (L23e)',
48 :     'LSU ribosomal protein L15p (L27Ae)',
49 :     'LSU ribosomal protein L16p (L10e)',
50 :     'LSU ribosomal protein L17p',
51 :     'LSU ribosomal protein L18p (L5e)',
52 :     'LSU ribosomal protein L19p',
53 :     'LSU ribosomal protein L1p (L10Ae)',
54 :     'LSU ribosomal protein L20p',
55 :     'LSU ribosomal protein L21p',
56 :     'LSU ribosomal protein L22p (L17e)',
57 :     'LSU ribosomal protein L23p (L23Ae)',
58 :     'LSU ribosomal protein L24p (L26e)',
59 :     'LSU ribosomal protein L27p',
60 :     'LSU ribosomal protein L29p (L35e)',
61 :     'LSU ribosomal protein L2p (L8e)',
62 :     'LSU ribosomal protein L34p',
63 :     'LSU ribosomal protein L35p',
64 :     'LSU ribosomal protein L3p (L3e)',
65 :     'LSU ribosomal protein L4p (L1e)',
66 :     'LSU ribosomal protein L5p (L11e)',
67 :     'LSU ribosomal protein L6p (L9e)',
68 :     'LSU ribosomal protein L7/L12 (P1/P2)',
69 :     'LSU ribosomal protein L9p'
70 :     );
71 :     my %bacterial = map { $_ => 1 } @bacterial;
72 :     my @archaeal = (
73 :     'SSU ribosomal protein S11e (S17p)',
74 :     'SSU ribosomal protein S13e (S15p)',
75 :     'SSU ribosomal protein S14e (S11p)',
76 :     'SSU ribosomal protein S15Ae (S8p)',
77 :     'SSU ribosomal protein S15e (S19p)',
78 :     'SSU ribosomal protein S16e (S9p)',
79 :     'SSU ribosomal protein S17e',
80 :     'SSU ribosomal protein S18e (S13p)',
81 :     'SSU ribosomal protein S19e',
82 :     'SSU ribosomal protein S20e (S10p)',
83 :     'SSU ribosomal protein S23e (S12p)',
84 :     'SSU ribosomal protein S24e',
85 :     'SSU ribosomal protein S27e',
86 :     'SSU ribosomal protein S28e',
87 :     'SSU ribosomal protein S29e (S14p)',
88 :     'SSU ribosomal protein S2e (S5p)',
89 :     'SSU ribosomal protein S3Ae',
90 :     'SSU ribosomal protein S3e (S3p)',
91 :     'SSU ribosomal protein S4e',
92 :     'SSU ribosomal protein S5e (S7p)',
93 :     'SSU ribosomal protein S6e',
94 :     'SSU ribosomal protein S8e',
95 :     'SSU ribosomal protein S9e (S4p)',
96 :     'SSU ribosomal protein SAe (S2p)',
97 :     'LSU ribosomal protein L10Ae (L1p)',
98 :     'LSU ribosomal protein L10e (L16p)',
99 :     'LSU ribosomal protein L11e (L5p)',
100 :     'LSU ribosomal protein L13Ae (L13p)',
101 :     'LSU ribosomal protein L15e',
102 :     'LSU ribosomal protein L17e (L22p)',
103 :     'LSU ribosomal protein L18e',
104 :     'LSU ribosomal protein L19e',
105 :     'LSU ribosomal protein L1e (L4p)',
106 :     'LSU ribosomal protein L21e',
107 :     'LSU ribosomal protein L23Ae (L23p)',
108 :     'LSU ribosomal protein L23e (L14p)',
109 :     'LSU ribosomal protein L24e',
110 :     'LSU ribosomal protein L26e (L24p)',
111 :     'LSU ribosomal protein L27Ae (L15p)',
112 :     'LSU ribosomal protein L31e',
113 :     'LSU ribosomal protein L32e',
114 :     'LSU ribosomal protein L35e (L29p)',
115 :     'LSU ribosomal protein L37Ae',
116 :     'LSU ribosomal protein L37e',
117 :     'LSU ribosomal protein L39e',
118 :     'LSU ribosomal protein L3e (L3p)',
119 :     'LSU ribosomal protein L40e',
120 :     'LSU ribosomal protein L44e',
121 :     'LSU ribosomal protein L5e (L18p)',
122 :     'LSU ribosomal protein L7e (L30p)',
123 :     'LSU ribosomal protein L7Ae',
124 :     'LSU ribosomal protein L8e (L2p)',
125 :     'LSU ribosomal protein L9e (L6p)'
126 :     );
127 :     my %archaeal = map { $_ => 1 } @archaeal;
128 :    
129 :     $genome || die "you need to specify -g genomeID";
130 :    
131 :     my %ribo;
132 :    
133 :     foreach $_ (`cat /vol/public-pseed/FIGdisk/FIG/Data/Organisms/$genome/assigned_functions`)
134 :     {
135 :     if ($_ =~ /^(\S+)\t(\S.*\S)/)
136 :     {
137 :     my($peg,$func) = ($1,$2);
138 :     $ribo{$peg} = $func;
139 :     }
140 :     }
141 :     foreach my $class (@classes)
142 :     {
143 :     my %hits;
144 :     foreach my $peg (keys(%ribo))
145 :     {
146 :     my @roles = &SeedUtils::roles_of_function($ribo{$peg});
147 :     foreach my $role (@roles)
148 :     {
149 :     if ((($class eq 'bacterial') && $bacterial{$role}) ||
150 :     (($class eq 'archaeal') && $archaeal{$role}))
151 :     {
152 :     $hits{$role}++;
153 :     }
154 :     }
155 :     }
156 :     if ($debug)
157 :     {
158 :     print &Dumper(\%hits);
159 :     }
160 :     my $sum = 0;
161 :     my $max = 0;
162 :     my $max_role = '';
163 :     foreach my $role (keys(%hits))
164 :     {
165 :     $sum += $hits{$role};
166 :     if ($hits{$role} > $max)
167 :     {
168 :     $max = $hits{$role};
169 :     $max_role = $role;
170 :     }
171 :     }
172 :     my $ratio = $sum / (($class eq 'bacterial') ? @bacterial : @archaeal);
173 :     $ratio = sprintf("%0.3f",$ratio);
174 :     print join("\t",('class',$class,'ratio',$ratio,'max',$max,$max_role)),"\n";
175 :     }
176 :    
177 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3