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

Annotation of /FigWebServices/wc.cgi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (view) (download)

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3