[Bio] / Babel / bin / babel.pl Repository:
ViewVC logotype

Annotation of /Babel/bin/babel.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : wilke 1.1 use Data::Dumper;
2 :     use Carp;
3 :     use DBI;
4 :     use strict;
5 :     use warnings;
6 :     use M5NR;
7 :    
8 :    
9 :     use Getopt::Long;
10 :    
11 : wilke 1.2 my $verbose = '';
12 : wilke 1.1 my $id = '';
13 :     my $md5 = '';
14 : wilke 1.2 my $seq = '';
15 : wilke 1.1 my $org = '';
16 :     my $func = '';
17 :     my $analyze = 0 ;
18 :     my $explain = 0 ;
19 :     my $source = '';
20 :     my $help = 0 ;
21 :     my $option = '';
22 :    
23 :     my $options = { md52id => 1 ,
24 : wilke 1.2 md52seq => 1 ,
25 : wilke 1.1 id2md5 => 1 ,
26 :     md52overview => 1 ,
27 :     } ;
28 :    
29 : wilke 1.2
30 :     GetOptions( "verbose!" =>\$verbose,
31 :     "id=s" =>\$id,
32 :     "sequence=s" =>\$seq ,
33 : wilke 1.1 "md5=s" =>\$md5,
34 :     "organism=s" =>\$org,
35 :     "function=s" =>\$func,
36 :     "explain!" =>\$explain ,
37 :     "analyze!" =>\$analyze ,
38 :     "source=s" =>\$source ,
39 :     "help" =>\$help ,
40 :     "option=s" =>\$option ,
41 :     );
42 :    
43 :    
44 :    
45 :    
46 :    
47 :    
48 :     my $fig_path = "/vol/seed-anno-mirror";
49 :     my $db = "mgrast_ach_prod";
50 :     my $dbuser = "root" || "ach" ;
51 :     my $dbhost = ''; #"kursk-3.mcs.anl.gov";
52 :     my $dbpass = '';
53 :     my $dbport = '';
54 :     my $dbh;
55 :    
56 :    
57 :     if ($dbhost)
58 :     {
59 :     $dbh = DBI->connect("DBI:Pg:dbname=$db;host=$dbhost", $dbuser, $dbpass);
60 :     }
61 :    
62 :     unless ($dbh) {
63 :     # print STDERR "Error , " , DBI->error , "\n";
64 :     }
65 :    
66 :     my $babel = M5NR->new( $dbh );
67 :    
68 :    
69 : wilke 1.2 if($help or not ( $options->{$option} or $seq ) ){
70 : wilke 1.1 &help($babel) ;
71 :     exit;
72 :     }
73 :    
74 : wilke 1.2
75 :     if ($seq){
76 :     output( [[$babel->sequence2md5($seq)]]);
77 :     }
78 :     elsif ($md5 and $option eq 'md52seq' ){
79 :     output( [[$babel->md5s2sequences([$md5])]]);
80 :     }
81 :     elsif( $option eq 'md52id' ){
82 : wilke 1.1 my $rows = &md52id($babel , [$md5] , $source) ;
83 :     output($rows);
84 :     }
85 :     elsif( $option eq 'md52overview'){
86 :     output( $source ? $babel->md5s2sets4source([$md5] , $source) : $babel->md5s2sets([$md5]) );
87 :     }
88 :    
89 :     if( $option eq 'id2md5'){
90 :     output($babel->id2md5($id));
91 :     }
92 :    
93 :     exit;
94 :    
95 :     if ($md5){
96 :    
97 :     print "Query for $md5\n";
98 :     foreach my $row (@{ $babel->md52id($md5) }){
99 :     print join "\t" , @$row , "\n";
100 :     }
101 :     foreach my $row (@{ $babel->md52org($md5) }){
102 :     print join "\t" , @$row , "\n";
103 :     }
104 :     foreach my $row (@{ $babel->md52function($md5) }){
105 :     print join "\t" , @$row , "\n";
106 :     }
107 :     print $babel->md5s2sequences( [$md5 , "5b8a2c111c8258cc82c275f755a2c15d"] );
108 :     print "\nmd5s to organisms\n";
109 :     foreach my $row (@{ $babel->md5s2organisms( [$md5 , $md5 , "5b8a2c111c8258cc82c275f755a2c15d" ] ) } ){
110 :     print join "\t" , @$row , "\n";
111 :     }
112 :     exit;
113 :     }
114 :    
115 :     print "\nNext ID2... \n\n";
116 :     if ($id){
117 :    
118 :     print "Query for $id\n";
119 :     foreach my $row (@{ $babel->id2md5($id) }){
120 :     print join "\t" , @$row , "\n";
121 :     }
122 :     foreach my $row (@{ $babel->id2org($id) }){
123 :     print join "\t" , @$row , "\n";
124 :     }
125 :     foreach my $row (@{ $babel->id2function($id) }){
126 :     print join "\t" , @$row , "\n";
127 :     }
128 :     print "Query sequences for 'fig|1148.1.peg.3614' , 'fig|2465.1.peg.98'\n";
129 :     print $babel->ids2sequences([ 'fig|1148.1.peg.3614' , 'fig|2465.1.peg.98']);
130 :     }
131 :    
132 :     print "\nNext ID2... regexp \n\n";
133 :    
134 :     if (0){
135 :    
136 :     print "Query for $id\n";
137 :     foreach my $row (@{ $babel->id2md5($id , 1) }){
138 :     print join "\t" , @$row , "\n";
139 :     }
140 :     foreach my $row (@{ $babel->id2org($id , 1) }){
141 :     print join "\t" , @$row , "\n";
142 :     }
143 :     foreach my $row (@{ $babel->id2function($id , 1) }){
144 :     print join "\t" , @$row , "\n";
145 :     }
146 :    
147 :     }
148 :    
149 :     print "\nNext ORG2... \n\n";
150 :    
151 :     if (0){
152 :    
153 :     print "Query for $org\n";
154 :     foreach my $row (@{ $babel->org2md5($org ,) }){
155 :     print join "\t" , @$row , "\n";
156 :     }
157 :     foreach my $row (@{ $babel->org2id($org) }){
158 :     print join "\t" , @$row , "\n";
159 :     }
160 :    
161 :     foreach my $row (@{ $babel->org2function($org) }){
162 :     print join "\t" , @$row , "\n";
163 :     }
164 :    
165 :     }
166 :    
167 :    
168 :     print "\nNext ORG2... regexp \n\n";
169 :    
170 :     if (0){
171 :    
172 :     foreach my $row (@{ $babel->org2function($org ,1) }){
173 :     print join "\t" , @$row , "\n";
174 :     }
175 :    
176 :     }
177 :    
178 :    
179 :     print "\nNext Function... test \n\n";
180 :    
181 :     if ($func){
182 :    
183 :     print "Query for md5\n";
184 :     foreach my $row (@{ $babel->functions2md5s([$func]) }){
185 :     print join "\t" , @$row , "\n";
186 :     }
187 :    
188 :     print "Query for sets\n";
189 :     foreach my $row (@{ $babel->functions2sets([$func , $func]) }){
190 :     print join "\t" , @$row , "\n";
191 :     }
192 :    
193 :     }
194 :    
195 :    
196 :     sub md52id {
197 :     my ($babel , $md5s , $source) = @_ ;
198 :     return $source ? $babel->md5s2ids4source($md5s , $source) : $babel->md5s2ids($md5s , $source) ;
199 :     }
200 :    
201 :    
202 :     sub output{
203 :     my ($rows) = @_ ;
204 :     foreach my $row (@$rows){
205 :     print join "\t" , @$row , "\n";
206 :     }
207 :     }
208 :    
209 :    
210 :     sub help {
211 :     my ($babel) = @_ ;
212 :    
213 :    
214 :     print "$0 -option OPTION -md5 MD5 -id ID -source SOURCE -help \n";
215 :     print "Options: " , ( join " , " , keys %$options ) , "\n" ;
216 :    
217 :     my $sources = $babel->sources ;
218 :    
219 :     print "Available sources:\n";
220 :     foreach my $source ( keys %$sources ){
221 :     my $counts = {} ;
222 :     print "\t$source\n";
223 :     }
224 :    
225 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3