[Bio] / FigWebServices / wc.cgi Repository:
ViewVC logotype

Annotation of /FigWebServices/wc.cgi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (view) (download)

1 : overbeek 1.1 ########################################################################
2 :     # -*- perl -*-
3 :     #
4 :     # Copyright (c) 2003-2006 University of Chicago and Fellowship
5 :     # for Interpretations of Genomes. All Rights Reserved.
6 :     #
7 :     # This file is part of the SEED Toolkit.
8 :     #
9 :     # The SEED Toolkit is free software. You can redistribute
10 :     # it and/or modify it under the terms of the SEED Toolkit
11 :     # Public License.
12 :     #
13 :     # You should have received a copy of the SEED Toolkit Public License
14 :     # along with this program; if not write to the University of Chicago
15 :     # at info@ci.uchicago.edu or the Fellowship for Interpretation of
16 :     # Genomes at veronika@thefig.info or download a copy from
17 :     # http://www.theseed.org/LICENSE.TXT.
18 :     #
19 :    
20 :     use URI::Escape; # uri_escape
21 :     use gjoseqlib;
22 :     use HTML;
23 :     use strict;
24 :     use CGI;
25 :     my $cgi = new CGI;
26 :     use SeedEnv;
27 :     use tree_utilities;
28 :     use CloseStrains;
29 :    
30 :     if (0) {
31 :     print $cgi->header;
32 :     my @params = $cgi->param;
33 :     print "<pre>\n";
34 :     foreach $_ (@params) {
35 :     print "$_\t:",join(",",$cgi->param($_)),":\n";
36 :     }
37 :     print "\n",join('&',map { "$_=" . $cgi->param($_) } @params),"\n";
38 :     exit;
39 :     }
40 :    
41 :     my $html = [];
42 :    
43 :     my $node = $cgi->param('node');
44 :     my $family = $cgi->param('family');
45 : overbeek 1.10 my $genome = $cgi->param('genome');
46 : overbeek 1.1 my $ali = $cgi->param('alignment');
47 :     my $tree = $cgi->param('tree');
48 :     my $request = $cgi->param('request');
49 :     my $keywords = $cgi->param('keywords');
50 :     my $function = $cgi->param('function');
51 : overbeek 1.10 my $reaction = $cgi->param('reaction');
52 : overbeek 1.1 my $dataD = $cgi->param('dataD');
53 : overbeek 1.2 my $csD = "/homes/overbeek/Ross/MakeCS.Kbase/Data/CS";
54 :     my $dataDF = "$csD/$dataD";
55 :    
56 :     my $parms = {};
57 :    
58 :     $parms->{genome_types} = &CloseStrains::genome_types($dataDF);
59 :     $parms->{dataDF} = $dataDF;
60 : overbeek 1.1
61 :     if ($request eq "show_otus")
62 :     {
63 :     &show_otus($cgi,$csD);
64 :     exit;
65 :     }
66 :     elsif (($request eq "show_options_for_otu") && $dataD)
67 :     {
68 : overbeek 1.10 $html = &CloseStrains::show_options_for_otu($cgi,$dataD,$dataDF);
69 : overbeek 1.1 }
70 :     elsif ($request eq "show_signatures")
71 :     {
72 : overbeek 1.2 &CloseStrains::show_signatures($cgi,$parms,$html);
73 : overbeek 1.1 }
74 : overbeek 1.10 elsif ($request eq "show_signatures_reactions")
75 :     {
76 :     &CloseStrains::show_signatures_reactions($cgi,$parms,$html);
77 :     }
78 : overbeek 1.1 elsif ($request eq "compute_sigs")
79 :     {
80 : overbeek 1.2 &CloseStrains::compute_signatures($cgi,$parms,$html);
81 : overbeek 1.1 }
82 : overbeek 1.10 elsif ($request eq "compute_signatures_reactions")
83 :     {
84 :     &CloseStrains::compute_signatures_reactions($cgi,$parms,$html);
85 :     }
86 : overbeek 1.1 elsif (($request eq "show_func") && $function)
87 :     {
88 :     $function =~ s/^\s+//;
89 :     $function =~ s/\s+$//;
90 : overbeek 1.2 &CloseStrains::show_func($cgi,$parms,$html,$function);
91 : overbeek 1.1 }
92 :     elsif (($request eq "show_family_pegs") && $family)
93 :     {
94 : overbeek 1.2 &CloseStrains::show_family_pegs($cgi,$parms,$html,$family);
95 : overbeek 1.1 }
96 :     elsif (($request eq "show_virulence_functions") && (-s "$dataDF/virulence.functions"))
97 :     {
98 : overbeek 1.2 &CloseStrains::show_virulence_functions($cgi,$parms,$html);
99 : overbeek 1.1 }
100 :     elsif (($request eq 'show_indexed_funcs') && $keywords)
101 :     {
102 : overbeek 1.2 &CloseStrains::show_indexed_funcs($cgi,$parms,$html,$keywords);
103 : overbeek 1.1 }
104 :     elsif (($request eq "show_ali_or_occurs_tree") && $ali)
105 :     {
106 : overbeek 1.2 &CloseStrains::show_ali($cgi,$parms); # NOTE: the alignment invokes Gary's alignment viewer,
107 : overbeek 1.1 # which prints the header, so we print everything in show_ali
108 :     exit;
109 :     }
110 :     elsif (($request eq "show_ali_or_occurs_tree") && $tree)
111 :     {
112 : overbeek 1.2 &CloseStrains::show_occurs_tree($cgi,$parms,$html);
113 : overbeek 1.1 }
114 :     elsif (($request eq "show_family_tree") && $family)
115 :     {
116 : overbeek 1.2 &CloseStrains::show_family_tree($cgi,$parms,$html,$family);
117 : overbeek 1.1 }
118 :     elsif (($request eq "show_node") && $node)
119 :     {
120 : overbeek 1.2 &CloseStrains::show_node($cgi,$parms,$html,$node);
121 : overbeek 1.1 }
122 :     elsif ($request eq "show_otu_tree")
123 :     {
124 : overbeek 1.2 &CloseStrains::show_otu_tree($cgi,$parms,$html,'families');
125 : overbeek 1.1 }
126 : overbeek 1.10 elsif ($request eq "show_reactions")
127 :     {
128 :     &CloseStrains::show_reactions($cgi,$parms,$html);
129 :     }
130 :     elsif (($request eq "show_reaction_on_tree") && $reaction)
131 :     {
132 :     &CloseStrains::show_reaction_on_tree($cgi,$reaction,$parms,$html);
133 :     }
134 :     elsif (($request eq "show_reaction_genome_data") && $reaction && $genome)
135 :     {
136 :     &CloseStrains::show_reaction_genome_data($cgi,$reaction,$genome,$dataDF,$parms,$html);
137 :     }
138 :     elsif ($request eq "show_options_for_reactions")
139 :     {
140 : overbeek 1.11 &CloseStrains::show_options_for_reactions($cgi,$html,$dataD,$dataDF);
141 :     # &CloseStrains::show_signatures_reactions($cgi,$parms,$html);
142 :     }
143 :     elsif ($request eq "show_otu_tree_reactions")
144 :     {
145 :     &CloseStrains::show_otu_tree($cgi,$parms,$html,'reactions');
146 : overbeek 1.10 }
147 : overbeek 1.1 elsif ($request eq "show_adjacency")
148 :     {
149 : overbeek 1.2 &CloseStrains::show_otu_tree($cgi,$parms,$html,'adjacency');
150 : overbeek 1.1 }
151 :     elsif ($request eq "show_clusters")
152 :     {
153 : overbeek 1.2 &CloseStrains::show_clusters($cgi,$parms,$html);
154 : overbeek 1.1 }
155 : overbeek 1.3 elsif ($request eq "show_help")
156 :     {
157 :     my $type = $cgi->param('type');
158 :     if ($type eq "signatures")
159 :     {
160 :     my $help_sig = &CloseStrains::help_sig();
161 :     push(@$html,"<pre>$help_sig</pre>\n");
162 :     }
163 : overbeek 1.10 elsif ($type eq "signatures_reactions")
164 :     {
165 :     my $help_sig_reactions = &CloseStrains::help_sig_reactions();
166 :     push(@$html,"<pre>$help_sig_reactions</pre>\n");
167 :     }
168 :     elsif ($type eq "reaction_on_tree")
169 :     {
170 :     my $help_reaction_on_tree = &CloseStrains::help_reaction_on_tree;
171 :     push(@$html,$help_reaction_on_tree);
172 :     }
173 : overbeek 1.6 elsif ($type eq "compute_signatures")
174 :     {
175 :     my $help_sig_output = &CloseStrains::help_sig_output();
176 :     push(@$html,"<pre>$help_sig_output</pre>\n");
177 :     }
178 : overbeek 1.10 elsif ($type eq "compute_signatures_reactions")
179 :     {
180 :     my $help_sig_output_reactions = &CloseStrains::help_sig_output_reactions();
181 :     push(@$html,"<pre>$help_sig_output_reactions</pre>\n");
182 :     }
183 : overbeek 1.6 elsif ($type eq "family")
184 :     {
185 :     my $help_family_output = &CloseStrains::help_family_output();
186 :     push(@$html,"<pre>$help_family_output</pre>\n");
187 :     }
188 :     elsif ($type eq "function")
189 :     {
190 :     my $help_function_output = &CloseStrains::help_function_output();
191 :     push(@$html,"<pre>$help_function_output</pre>\n");
192 :     }
193 : overbeek 1.3 }
194 : overbeek 1.1 else
195 :     {
196 :     push(@$html,"<h1>Invalid request</h1>");
197 :     }
198 :     &HTML::show_page($cgi,$html);
199 :     exit;
200 :    
201 :     sub show_otus {
202 :     my($cgi,$datadir) = @_;
203 :    
204 :     print $cgi->header;
205 :     if (opendir(GENERA,$csD))
206 :     {
207 :     my @genera = grep { $_ !~ /^\./ } readdir(GENERA);
208 :     closedir(GENERA);
209 :     print "<h1>What Changed?</h1>\n";
210 :     print "<h2><a target=_blank href=\"http://bioseed.mcs.anl.gov/~overbeek/what_changed.html\">Getting Started: a short Tutorial</a></h2>\n";
211 :     print "<h2>Genera Available</h2>\n";
212 :     foreach my $g (sort @genera)
213 :     {
214 : overbeek 1.10 print "<h3><a target=_blank href=http://bioseed.mcs.anl.gov/ross/FIG/wc.cgi?request=show_options_for_otu&dataD=$g>$g</a>\n";
215 : overbeek 1.1 }
216 :     }
217 :     else
218 :     {
219 :     print "<h1>The dataD parameter is invalid\n";
220 :     }
221 :     }
222 :    
223 :     sub virulence_functions_link {
224 :     my($cgi,$dataDF) = @_;
225 :    
226 :     if ((-s "$dataDF/virulence.functions") && ($dataDF =~ /([^\/]+)$/))
227 :     {
228 :     my $dataDQ = uri_escape($1);
229 : overbeek 1.10 return "<a target=_blank href=http://bioseed.mcs.anl.gov/ross/FIG/wc.cgi?request=show_virulence_functions&dataD=$dataDQ>Some Posssible Functions Associated with Virulence</a>";
230 : overbeek 1.1 }
231 :     return '';
232 :     }
233 :    
234 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3