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

Annotation of /FigWebServices/figfam_proto.cgi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download)

1 : mkubal 1.1 # -*- perl -*-
2 :    
3 :     use FIG;
4 :     use FIG_Config;
5 :     use HTML;
6 :     use CGI;
7 :     my $cgi=new CGI;
8 :     use LWP::Simple qw(!head); # see the caveat in perldoc LWP about importing two head methods.
9 :    
10 :     $fig = new FIG;
11 :     my $html = [];
12 :    
13 :     unshift(@$html, "<TITLE>Domain Analysis of Protein Sets</TITLE>\n");
14 :    
15 :     my $inputs;
16 :     if ($cgi->param('request') )
17 :     {
18 :     my $input =$cgi->param('proteins');
19 :     my @inputs = split("\n",$input);
20 :    
21 :     if ($cgi->upload('fileupload'))
22 :     {
23 :     my $fh=$cgi->upload('fileupload');
24 :     @inputs = <$fh> ;
25 :     }
26 :    
27 :     $given = [@inputs];
28 :     &analyze_domains($cgi,$fig,$given);
29 :    
30 :     }
31 :     else
32 :     {
33 :     &show_initial($fig,$cgi,$html);
34 :     &HTML::show_page($cgi,$html,1);
35 :     exit;
36 :     }
37 :    
38 :     sub show_initial {
39 :     my ($fig,$cgi,$html)=@_;
40 :     push @$html,
41 :     $cgi->start_multipart_form(),
42 :     "<h3>Enter FigFam ID</h3>",
43 :     $cgi->textarea(-name=>"figfam_id", -rows=>1, -columns=>20),
44 :     $cgi->br,
45 :     "<h3>Enter set of pegs</h3>\n",
46 :     $cgi->textarea(-name=>"set_of_pegs", -rows=>10, -columns=>40),
47 :     $cgi->br,
48 :     "<h3>Upload File</h3>",
49 :     $cgi->filefield(-name=>"fileupload", -size=>50),
50 :     $cgi->br,
51 :     $cgi->hr,
52 :     $cgi->submit(-name=>'request', -value=>'Submit for Domain Analysis'),
53 :     $cgi->reset, $cgi->end_form;
54 :     return $html;
55 :     }
56 :    
57 :     sub analyze_domains
58 :     {
59 :     my ($cgi,$fig,$given) =@_;
60 :    
61 :     my $sops = $cgi->param('set_of_pegs');
62 :     my $figfam_id = $cgi->param('figfam_id');
63 :     my @set,$count,%domain;
64 :    
65 :     if($figfam_id){
66 :     @set = $fig->proteins_in_family($figfam_id);
67 :     $count = scalar(@set);
68 :     foreach $peg(@set){
69 :     $returns = $fig->get_attributes($peg);
70 :     foreach $return (@$returns){
71 :     if(@$return[1] =~/CDD::(\d+)/){
72 :     $id = $1;
73 :     if($domain{$id}){$domain{$id} = $domain{$id} + 1;}
74 :     else{$domain{$id} = 1;}
75 :     }
76 :     }
77 :     }
78 :    
79 :     push @$html,
80 :     "<h3>Domain Analysis Results</h3>",
81 :     "<br>",
82 :     "<table>";
83 :     foreach $dom (keys(%domain)){
84 :     $instances = $domain{$dom};
85 :     push @html,"<tr><td>$dom</td><td>$instances</td></tr>";
86 :     }
87 :     push @$html,
88 :     "</table>";
89 :    
90 :     &HTML::show_page($cgi,$html,1);
91 :     exit;
92 :     }
93 :     else{
94 :     push @$html,
95 :     "<h3>Must enter either FigFam ID or set of pegs</h3>";
96 :     &HTML::show_page($cgi,$html,1);
97 :     exit;
98 :     }
99 :    
100 :     }
101 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3