use FIG;
my $fig = new FIG;
use HTML;
use CGI;
my $cgi = new CGI;
my $html = [];
if($cgi->param('genome') && $cgi->param('attribute') && $cgi->param('value'))
{
push (@$html, "
Connect Pegs with Attributes to Subsystems");
my $genome_string = $cgi->param('genome');
my @string_parts = split(", ",$genome_string);
my $genome = $string_parts[1];
my $att_param = $cgi->param('attribute');
my $value_param = $cgi->param('value');
my @pegs = $fig->pegs_of($genome);
my %list_of_ss;
foreach my $peg (@pegs) {
next unless (my @attr=$fig->get_attributes($peg));
foreach my $attr (@attr) {
next unless (defined $attr);
my ($gotpeg, $tag, $val, $link)=@$attr;
next unless ($tag eq $att_param);
next unless($val eq $value_param);
my @subsystems = $fig->subsystems_for_peg($peg);
foreach my $ss (@subsystems)
{
my $ss_name = $ss->[0];
$list_of_ss{$ss_name} = "1";
}
}
}
my @list = keys(%list_of_ss);
my $prefix = "$FIG_Config::cgi_url"."/subsys.cgi?user=&ssa_name=";
my $suffix = "&request=show_ssa";
push(@$html,"");
foreach my $s (@list)
{
my $url = "$s";
push(@$html,"$url |
");
}
push(@$html,"
");
&HTML::show_page($cgi,$html);
}
else{
$html = [];
push @$html, "Connect Pegs with Attributes to Subsystems";
push(@$html,$cgi->start_form(-action => "array2sub.cgi", -method => 'post'));
my @gs_list;
my @genomes = $fig->genomes('complete');
foreach $g (@genomes){
my $gs = $fig->genus_species($g);
push(@gs_list, $gs.", ".$g);
}
@gs_list2 =sort {uc($a) cmp uc($b)} @gs_list;
push(@$html,
$cgi->h3("select genome"),
$cgi->scrolling_list(-name => 'genome',
-values => [@gs_list2],
-size => 10,
-multiple => 1
),
$cgi->hr
);
#my $opt=$fig->get_keys("peg"); # all the peg tags
#my @options=sort {uc($a) cmp uc($b)} keys %$opt;
#unshift(@options, undef);
@options =("microarray_sigmaB_regulon","pH_75_vs_55");
push(@$html,$cgi->h3("select experiment"), $cgi->popup_menu(-name => 'attribute', -values=>\@options), $cgi->br, $cgi->hr);
@options2 = ("up regulated","down regulated");
push(@$html,$cgi->h3("select value"), $cgi->popup_menu(-name => 'value', -values=>\@options2), $cgi->br,$cgi->hr);
push(@$html,$cgi->submit('find subsystems'), $cgi->end_form);
&HTML::show_page($cgi,$html);
}