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

Annotation of /FigWebServices/co_occurs_server.cgi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (view) (download)

1 : overbeek 1.1 use strict;
2 :     use Data::Dumper;
3 :    
4 :     use YAML;
5 :    
6 :     use CGI;
7 :     my $cgi = new CGI;
8 :    
9 :     use FIG;
10 :     my $fig = new FIG;
11 :    
12 :     use ERDB;
13 :     use FC;
14 :    
15 :     my $function = $cgi->param('function');
16 :     $function || die "Missing a function in call to co_occurs_server.cgi";
17 :    
18 :     my $db = ERDB::GetDatabase('Sapling');
19 :    
20 :     if ($function eq "conserved_in_neighborhood")
21 :     {
22 :     my $pegs = &YAML::Load($cgi->param('args'));
23 :     my $tuples = [];
24 :     foreach my $peg (@$pegs)
25 :     {
26 :     my $group = [];
27 :     my @co_occurs = &FC::co_occurs($db,$peg);
28 :     foreach my $tuple (@co_occurs)
29 :     {
30 :     my($sc,$fid,$pairset) = @$tuple;
31 :     push(@$group,[$sc,$fid,scalar $fig->function_of($fid),$pairset]);
32 :     }
33 :     push(@$tuples,$group);
34 :     }
35 :     my $str = &YAML::Dump($tuples);
36 :     print $str;
37 :     }
38 : overbeek 1.2 elsif ($function eq "pairsets")
39 :     {
40 :     my $pairsets = &YAML::Load($cgi->param('args'));
41 :     my $ans = [];
42 :     foreach my $pairset (@$pairsets)
43 :     {
44 :     push(@$ans,[$pairset,[&FC::co_occurrence_set($db,$pairset)]]);
45 :     }
46 :     print &YAML::Dump($ans);
47 :     }
48 :     elsif ($function eq "clusters_containing")
49 :     {
50 :     my $pegs = &YAML::Load($cgi->param('args'));
51 :     my $ans = [];
52 :     foreach my $peg (@$pegs)
53 :     {
54 :     my $cluster = &FC::in_co_occurrence_cluster($db,$peg);
55 :     if ($cluster)
56 :     {
57 :     my $func = scalar $fig->function_of($peg);
58 :     push(@$ans,[$peg,$func,[map { [$_,scalar $fig->function_of($_)] } @$cluster]]);
59 :     }
60 :     }
61 :     print &YAML::Dump($ans);
62 :     }
63 :     elsif ($function eq "related_clusters")
64 :     {
65 :     my $pegs = &YAML::Load($cgi->param('args'));
66 :     my $ans = [];
67 :     foreach my $peg (@$pegs)
68 :     {
69 :     my $one_set = [];
70 :     my @clusters = &FC::largest_co_occurrence_clusters($db,$peg);
71 :     foreach my $cluster (@clusters)
72 :     {
73 :     my($peg1,$sc,$other_pegs) = @$cluster;
74 :     my $func1 = $fig->function_of($peg1);
75 :     my $others = [ map { [$_,scalar $fig->function_of($_)] } @$other_pegs];
76 :     push(@$one_set,[$peg1,$sc,$others]);
77 :     }
78 :     push(@$ans,$one_set);
79 :     }
80 :     print &YAML::Dump($ans);
81 :     }
82 :     elsif ($function eq "related_figfams")
83 :     {
84 :     my $ffs = &YAML::Load($cgi->param('args'));
85 :     my $ans = [];
86 :     foreach my $ff (@$ffs)
87 :     {
88 :     push(@$ans,[$ff,[&FC::co_occurring_FIGfams($db,$ff)]]);
89 :     }
90 :     print &YAML::Dump($ans);
91 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3