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

Diff of /FigWebServices/subsys.cgi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.35, Wed Feb 2 01:07:44 2005 UTC revision 1.36, Fri Feb 4 21:21:18 2005 UTC
# Line 750  Line 750 
750                  $cgi->br,$cgi->br                  $cgi->br,$cgi->br
751          );          );
752    
753    
754        push(@$html,$cgi->checkbox(-name => 'show_missing_including_matches_in_ss', -value => 1, -checked => 0, -override => 1,-label => 'show missing with matches in ss'),
755                    "    [To restrict to a single genome: ",
756                    $cgi->textfield(-name => "just_genome", -size => 15),"]",
757                    "    [To restrict to a single role: ",
758                    $cgi->textfield(-name => "just_role", -size => 15),"]",
759                    $cgi->br,$cgi->br
760            );
761    
762    
763      push(@$html,$cgi->checkbox(-name => 'check_assignments', -value => 1, -checked => 0, -override => 1,-label => 'check assignments'),      push(@$html,$cgi->checkbox(-name => 'check_assignments', -value => 1, -checked => 0, -override => 1,-label => 'check assignments'),
764                  '  [',                  '  [',
765                  $cgi->checkbox(-name => 'strict_check', -value => 1, -checked => 0, -override => 1,-label => 'strict'),                  $cgi->checkbox(-name => 'strict_check', -value => 1, -checked => 0, -override => 1,-label => 'strict'),
# Line 867  Line 877 
877      {      {
878          &format_missing_including_matches($fig,$cgi,$html,$subsystem);          &format_missing_including_matches($fig,$cgi,$html,$subsystem);
879      }      }
880        if ($cgi->param('show_missing_including_matches_in_ss'))
881        {
882            &format_missing_including_matches_in_ss($fig,$cgi,$html,$subsystem);
883        }
884    
885    
886      if ($cgi->param('check_assignments'))      if ($cgi->param('check_assignments'))
887      {      {
# Line 1912  Line 1927 
1927           $cgi->end_form);           $cgi->end_form);
1928  }  }
1929    
1930    
1931    
1932    sub columns_missing_entries {
1933        my($cgi,$subsystem,$org,$roles,$in) = @_;
1934    
1935        next if (($_ = $cgi->param('just_genome')) && ($org != $_));
1936        my $just_col = $cgi->param('just_col');
1937        my(@really_missing) = ();
1938    
1939        my($role,%missing_cols);
1940        foreach $role (@$roles)
1941        {
1942            next if ($just_col && ($role ne $just_col));
1943            if ($subsystem->get_pegs_from_cell($org,$role) == 0)
1944            {
1945                $missing_cols{$role} = 1;
1946            }
1947        }
1948    
1949        foreach $role (@$roles)
1950        {
1951            if ($missing_cols{$role})
1952            {
1953                my($set);
1954                if (($set = $in->{$role}) && (! $cgi->param('ignore_alt')))
1955                {
1956                    my @set = $subsystem->get_subsetC_roles($set);
1957    
1958                    my($k);
1959                    for ($k=0; ($k < @set) && $missing_cols{$set[$k]}; $k++) {}
1960                    if ($k == @set)
1961                    {
1962                        push(@really_missing,$role);
1963                    }
1964                }
1965                else
1966                {
1967                    push(@really_missing,$role);
1968                }
1969            }
1970        }
1971        return @really_missing;
1972    }
1973    
1974    sub format_missing_including_matches_in_ss
1975    {
1976        my($fig,$cgi,$html,$subsystem) = @_;
1977        my($org,$abr,$role,$missing);
1978    
1979        my $user = $cgi->param('user');
1980    
1981        my $active_subsetC = ($cgi->param('active_subsetC') or $subsystem->get_active_subsetC );
1982        my $active_subsetR = ($cgi->param('active_subsetR') or $subsystem->get_active_subsetR );
1983    
1984        my @subsetC = $subsystem->get_subsetC_roles($active_subsetC);
1985        my %activeC = map { $_ => 1 } @subsetC;
1986    
1987        my @subsetR = $subsystem->get_subsetR($active_subsetR);
1988    
1989        my @alt_sets = grep { ($_ =~ /^\*/) } $subsystem->get_subset_namesC;
1990        my($set,$col,%in);
1991        foreach $set (@alt_sets)
1992        {
1993            my @mem = grep { $activeC{$_} } $subsystem->get_subsetC_roles($set);
1994            foreach $col (@mem)
1995            {
1996                $in{$col} = $set;
1997            }
1998        }
1999        push(@$html,$cgi->h1('To Check Missing Entries:'));
2000    
2001        push(@$html, $cgi->start_form(-action=> "fid_checked.cgi"));
2002    
2003        my $can_alter = $cgi->param('can_alter');
2004        push(@$html,
2005             $cgi->hidden(-name => 'user', -value => $user, -override => 1),
2006             $cgi->hidden(-name => 'can_alter', -value => $can_alter, -override => 1));
2007    
2008        my $just_role = &which_role($subsystem,$cgi->param('just_role'));
2009    
2010        foreach $org (@subsetR)
2011        {
2012            my @missing = &columns_missing_entries($cgi,$subsystem,$org,\@subsetC,\%in);
2013            $missing = [];
2014            foreach $role (@missing)
2015            {
2016    #           next if (($_ = $cgi->param('just_role')) && ($_ != ($subsystem->get_role_index($role) + 1)));
2017                next if ($just_role && ($just_role ne $role));
2018    
2019                my @hits = $fig->find_role_in_org($role, $org, $user, $cgi->param("sims_cutoff"));
2020                push(@$missing,@hits);
2021            }
2022    
2023            if (@$missing > 0)
2024            {
2025                my $genus_species = &ext_genus_species($fig,$org);
2026                push(@$html,$cgi->h2("$org: $genus_species"));
2027    
2028                my $colhdr = ["Assign", "P-Sc", "PEG", "Len", "Current fn", "Matched peg", "Len", "Function"];
2029                my $tbl = [];
2030    
2031                for my $hit (@$missing)
2032                {
2033                    my($psc, $my_peg, $my_len, $my_fn, $match_peg, $match_len, $match_fn) = @$hit;
2034    
2035                    my $my_peg_link = &HTML::fid_link($cgi, $my_peg, 1);
2036                    my $match_peg_link = &HTML::fid_link($cgi, $match_peg, 0);
2037    
2038                    my $checkbox = $cgi->checkbox(-name => "checked",
2039                                                  -value => "to=$my_peg,from=$match_peg",
2040                                                  -label => "");
2041    
2042                    my (@list_of_returned_ss,$ss_name,$ss_role,$good,$skip);
2043                    @list_of_returned_ss = $fig->subsystems_for_peg($match_peg);
2044                    $good = 0;
2045                    for my $ret_ss (@list_of_returned_ss)
2046                    {
2047                        ($ss_name,$ss_role)= @$ret_ss;
2048                        if ($ss_name =~/Unique/){ $skip = 1}
2049                        else{ $good = 1}
2050                    }
2051    
2052    
2053                    if ($good)
2054                    {
2055                                 push(@$tbl, [$checkbox,
2056                                 $psc,
2057                                 $my_peg_link, $my_len, $my_fn,
2058                                 $match_peg_link, $match_len, $match_fn]);
2059                    }
2060                }
2061    
2062                push(@$html, &HTML::make_table($colhdr, $tbl, ""));
2063            }
2064        }
2065        push(@$html,
2066             $cgi->submit(-value => "Process assignments",
2067                                  -name => "batch_assign"),
2068             $cgi->end_form);
2069    }
2070    
2071    
2072  sub format_check_assignments {  sub format_check_assignments {
2073      my($fig,$cgi,$html,$subsystem) = @_;      my($fig,$cgi,$html,$subsystem) = @_;
2074      my($org,$role);      my($org,$role);

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.36

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3