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

Annotation of /Babel/bin/babel.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3