[Bio] / FigKernelPackages / Observation.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/Observation.pm

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

revision 1.71, Tue Sep 9 13:58:55 2008 UTC revision 1.76, Fri Mar 20 18:35:46 2009 UTC
# Line 11  Line 11 
11  use WebConfig;  use WebConfig;
12    
13  use FIG_Config;  use FIG_Config;
14    use LWP::Simple;
15  #use strict;  #use strict;
16  #use warnings;  #use warnings;
17  use HTML;  use HTML;
# Line 333  Line 334 
334      else{      else{
335          my %domain_classes;          my %domain_classes;
336          my @attributes = $fig->get_attributes($fid);          my @attributes = $fig->get_attributes($fid);
337          $domain_classes{'CDD'} = 1;          #$domain_classes{'CDD'} = 1;
338          $domain_classes{'PFAM'} = 1;          $domain_classes{'PFAM'} = 1;
339          get_identical_proteins($fid,\@matched_datasets,$fig);          get_identical_proteins($fid,\@matched_datasets,$fig);
340          get_attribute_based_domain_observations($fid,\%domain_classes,\@matched_datasets,\@attributes,$fig);          get_attribute_based_domain_observations($fid,\%domain_classes,\@matched_datasets,\@attributes,$fig);
# Line 568  Line 569 
569                      $evalue = $part1."e-".$part2;                      $evalue = $part1."e-".$part2;
570                  }                  }
571                  elsif(($raw_evalue =~/(\d+)\.(\d+)/) && ($class eq "PFAM")){                  elsif(($raw_evalue =~/(\d+)\.(\d+)/) && ($class eq "PFAM")){
572                      $evalue=$raw_evalue;                      #$evalue=$raw_evalue;
573                        my $part2 = 1000 - $1;
574                        my $part1 = $2/100;
575                        $evalue = $part1."e-".$part2;
576    
577                  }                  }
578                  else{                  else{
579                      $evalue = "0.0";                      $evalue = "0.0";
# Line 1298  Line 1303 
1303                                  -password => $WebConfig::DBPWD);                                  -password => $WebConfig::DBPWD);
1304    
1305      my ($name_title,$name_value,$description_title,$description_value);      my ($name_title,$name_value,$description_title,$description_value);
1306      if($db eq "CDD"){  
1307          my $cdd_objs = $dbmaster->cdd->get_objects( { 'id' => $id } );      if($db =~ /PFAM/){
1308          if(!scalar(@$cdd_objs)){          my $new_id;
1309              $name_title = "name";          if ($id =~ /_/){
1310              $name_value = "not available";              ($new_id) = ($id) =~ /(.*?)_/;
             $description_title = "description";  
             $description_value = "not available";  
1311          }          }
1312          else{          else{
1313              my $cdd_obj = $cdd_objs->[0];              $new_id = $id;
             $name_title = "name";  
             $name_value = $cdd_obj->term;  
             $description_title = "description";  
             $description_value = $cdd_obj->description;  
1314          }          }
1315      }  
     elsif($db =~ /PFAM/){  
         my ($new_id) = ($id) =~ /(.*?)_/;  
1316          my $pfam_objs = $dbmaster->pfam->get_objects( { 'id' => $new_id } );          my $pfam_objs = $dbmaster->pfam->get_objects( { 'id' => $new_id } );
1317          if(!scalar(@$pfam_objs)){          if(!scalar(@$pfam_objs)){
1318              $name_title = "name";              $name_title = "name";
# Line 1371  Line 1368 
1368    
1369      my $link;      my $link;
1370      my $link_url;      my $link_url;
1371      if ($thing->class eq "CDD"){$link_url = "http://0-www.ncbi.nlm.nih.gov.library.vu.edu.au:80/Structure/cdd/cddsrv.cgi?uid=$link_id"}  #    if ($thing->class eq "CDD"){$link_url = "http://0-www.ncbi.nlm.nih.gov.library.vu.edu.au:80/Structure/cdd/cddsrv.cgi?uid=$link_id"}
1372      elsif($thing->class eq "PFAM"){$link_url = "http://pfam.sanger.ac.uk/family?acc=$link_id"}      if($thing->class eq "PFAM"){$link_url = "http://pfam.sanger.ac.uk/family?acc=$link_id"}
1373      else{$link_url = "NO_URL"}      else{$link_url = "NO_URL"}
1374    
1375      $link = {"link_title" => $thing->acc,      $link = {"link_title" => $thing->acc,
# Line 1401  Line 1398 
1398      my $data = [];      my $data = [];
1399      my $count = 0;      my $count = 0;
1400      my $content;      my $content;
1401        my $seen = {};
1402    
1403      foreach my $thing (@$dataset) {      foreach my $thing (@$dataset) {
1404          next if ($thing->type !~ /dom/);          next if ($thing->type !~ /dom/);
# Line 1416  Line 1414 
1414                                  -password => $WebConfig::DBPWD);                                  -password => $WebConfig::DBPWD);
1415    
1416          my ($name_title,$name_value,$description_title,$description_value);          my ($name_title,$name_value,$description_title,$description_value);
1417          if($db eq "CDD"){  
1418              my $cdd_objs = $dbmaster->cdd->get_objects( { 'id' => $id } );          my $new_id;
1419              if(!scalar(@$cdd_objs)){          if($db =~ /PFAM/){
1420                  $name_title = "name";              if ($id =~ /_/){
1421                  $name_value = "not available";                  ($new_id) = ($id) =~ /(.*?)_/;
                 $description_title = "description";  
                 $description_value = "not available";  
1422              }              }
1423              else{              else{
1424                  my $cdd_obj = $cdd_objs->[0];                  $new_id = $id;
                 $name_title = "name";  
                 $name_value = $cdd_obj->term;  
                 $description_title = "description";  
                 $description_value = $cdd_obj->description;  
             }  
1425          }          }
1426          elsif($db =~ /PFAM/){  
1427              my ($new_id) = ($id) =~ /(.*?)_/;              next if ($seen->{$new_id});
1428                $seen->{$new_id}=1;
1429    
1430              my $pfam_objs = $dbmaster->pfam->get_objects( { 'id' => $new_id } );              my $pfam_objs = $dbmaster->pfam->get_objects( { 'id' => $new_id } );
1431    #           print STDERR "VALUES: " . $pfam_objs . "\n";
1432              if(!scalar(@$pfam_objs)){              if(!scalar(@$pfam_objs)){
1433                  $name_title = "name";                  $name_title = "name";
1434                  $name_value = "not available";                  $name_value = "not available";
# Line 1453  Line 1447 
1447          my $location =  $thing->start . " - " . $thing->stop;          my $location =  $thing->start . " - " . $thing->stop;
1448    
1449          push(@$single_domain,$db);          push(@$single_domain,$db);
1450          push(@$single_domain,$thing->acc);          push(@$single_domain,$new_id);
1451          push(@$single_domain,$name_value);          push(@$single_domain,$name_value);
1452          push(@$single_domain,$location);          push(@$single_domain,$location);
1453          push(@$single_domain,$thing->evalue);          push(@$single_domain,$thing->evalue);
# Line 2295  Line 2289 
2289          }          }
2290    
2291          # create the radio cell for any sequence, not just fig ids          # create the radio cell for any sequence, not just fig ids
2292          my $radio = qq(<input type="radio" name="function_select" value="$id" id="$field_name" onClick="clearText('new_text_function')">);          my $radio = qq(<input type="radio" name="function_select" value="$current_function" id="$field_name" onClick="clearText('new_text_function')">);
2293          $radio_cell = { 'data'=>$radio, 'highlight'=>$white};          $radio_cell = { 'data'=>$radio, 'highlight'=>$white};
2294    
2295          # get the linked fig id          # get the linked fig id
2296          my $anchor_link = "graph_" . $replace_id;          my $anchor_link = "graph_" . $replace_id;
2297          my $fig_data =  "<table><tr><td><a href='?page=Annotation&feature=$id'>$id</a></td>" . "&nbsp;" x 2;  
2298            my $fig_data;
2299            if ($id =~ /^fig\|/)
2300            {
2301                $fig_data =  "<table><tr><td><a href='?page=Annotation&feature=$id'>$id</a></td>" . "&nbsp;" x 2;
2302            }
2303            else
2304            {
2305                my $url_link = &HTML::set_prot_links($cgi,$id);
2306                $fig_data = "<table><tr><td>$url_link</td>". "&nbsp;" x 2;
2307            }
2308          $fig_data .= qq(<td><img height='10px' width='20px' src='$FIG_Config::cgi_url/Html/anchor_alignment.png' alt='View Graphic View of Alignment' onClick='changeSimsLocation("$anchor_link", 0)'/></td></tr></table>);          $fig_data .= qq(<td><img height='10px' width='20px' src='$FIG_Config::cgi_url/Html/anchor_alignment.png' alt='View Graphic View of Alignment' onClick='changeSimsLocation("$anchor_link", 0)'/></td></tr></table>);
2309          my $fig_col = {'data'=> $fig_data,          my $fig_col = {'data'=> $fig_data,
2310                         'highlight'=>$white};                         'highlight'=>$white};
# Line 2519  Line 2523 
2523      my $organism = $fig->org_of($id);      my $organism = $fig->org_of($id);
2524      my $single_domain = [];      my $single_domain = [];
2525    
2526      # organisms cell      # organisms cell comehere2
2527      my ($org, $org_color) = $fig->org_and_color_of($id);      my ($org, $org_color) = $fig->org_and_color_of($id);
2528      my $org_cell = { 'data' =>  $organism, 'highlight' => $org_color};      my $org_cell = { 'data' =>  $organism, 'highlight' => $org_color};
2529    
2530      # get the linked fig id      # get the linked fig id
2531      my $fig_data =  "<a href='?page=Annotation&feature=$id'>$id</a>";      my $fig_data;
2532        if ($id =~ /^fig\|/)
2533        {
2534            $fig_data =  "<a href='?page=Annotation&feature=$id'>$id</a>";
2535        }
2536        else
2537        {
2538            my $url_link = &HTML::set_prot_links($cgi,$id);
2539            $fig_data = "<table><tr><td>$url_link</td>". "&nbsp;" x 2;
2540        }
2541    
2542      my $fig_col = {'data'=> $fig_data,      my $fig_col = {'data'=> $fig_data,
2543                     'highlight'=>"#ffffff"};                     'highlight'=>"#ffffff"};
2544    
# Line 2598  Line 2612 
2612      my $figfams = new FFs($figfam_data);      my $figfams = new FFs($figfam_data);
2613    
2614      foreach my $id (@$ids){      foreach my $id (@$ids){
2615          my ($ff) =  $figfams->families_containing_peg($id);          my ($ff);
2616            if ($id =~ /\.peg\./){
2617                ($ff) =  $figfams->families_containing_peg($id);
2618            }
2619          if ($ff){          if ($ff){
2620              push (@$column, "<a href='?page=FigFamViewer&figfam=" . $ff . "' target='_new'>" . $ff . "</a>");              push (@$column, "<a href='?page=FigFamViewer&figfam=" . $ff . "' target='_new'>" . $ff . "</a>");
2621          }          }
# Line 2795  Line 2812 
2812              my $pretty_code = $code->[2];              my $pretty_code = $code->[2];
2813              if ($pretty_code =~ /;/) {              if ($pretty_code =~ /;/) {
2814                  my ($cd, $ss) = split(";", $code->[2]);                  my ($cd, $ss) = split(";", $code->[2]);
                 print STDERR "$id: $cd, $ss\n";  
2815                  if ($cd =~ /ilit|dlit/){                  if ($cd =~ /ilit|dlit/){
2816                      my ($type,$pubmed_id) = ($cd) =~ /(.*?)\((.*)\)/;                      my ($type,$pubmed_id) = ($cd) =~ /(.*?)\((.*)\)/;
2817                      my $publink = &HTML::alias_url($pubmed_id,'PMID');                      my $publink = &HTML::alias_url($pubmed_id,'PMID');
# Line 2864  Line 2880 
2880                      my @parts = split("::",$code);                      my @parts = split("::",$code);
2881                      my $pfam_link = "<a href=http://pfam.sanger.ac.uk/family?acc=" . $parts[1] . ">$parts[1]</a>";                      my $pfam_link = "<a href=http://pfam.sanger.ac.uk/family?acc=" . $parts[1] . ">$parts[1]</a>";
2882    
2883                      # get the locations for the domain  #                   # get the locations for the domain
2884                      my @locs;  #                   my @locs;
2885                      foreach my $part (@{$attribute_location{$id}{$code}}){  #                   foreach my $part (@{$attribute_location{$id}{$code}}){
2886                          my ($loc) = ($part) =~ /\;(.*)/;  #                       my ($loc) = ($part) =~ /\;(.*)/;
2887                          push (@locs,$loc);  #                       push (@locs,$loc);
2888                      }  #                   }
2889                      my %locsaw;  #                   my %locsaw;
2890                      foreach my $key (@locs) {$locsaw{$key}=1;}  #                   foreach my $key (@locs) {$locsaw{$key}=1;}
2891                      @locs = keys %locsaw;  #                   @locs = keys %locsaw;
2892    #
2893                      my $locations = join (", ", @locs);  #                   my $locations = join (", ", @locs);
2894    #
2895                      if (defined ($description_codes{$parts[1]})){                      if (defined ($description_codes{$parts[1]})){
2896                          push(@pfam_codes, "$parts[1] ($locations)");                          push(@pfam_codes, "$parts[1]");
2897                      }                      }
2898                      else {                      else {
2899                          my $description = $dbmaster->pfam->get_objects( { 'id' => $parts[1] } );                          my $description = $dbmaster->pfam->get_objects( { 'id' => $parts[1] } );
2900                          $description_codes{$parts[1]} = $description->[0]->{term};                          $description_codes{$parts[1]} = $description->[0]->{term};
2901                          push(@pfam_codes, "$pfam_link ($locations)");                          push(@pfam_codes, "$pfam_link");
2902                      }                      }
2903                  }                  }
2904    
# Line 2991  Line 3007 
3007      return $column;      return $column;
3008  }  }
3009    
3010    sub get_aclh_aliases {
3011        my ($ids,$fig,$db,$cgi,$returnType) = @_;
3012        my $db_array;
3013    
3014        my $id_line = join (",", @$ids);
3015        my $aclh_url = "http://clearinghouse.nmpdr.org/aclh.cgi?page=SearchResults&raw_dump=1&query=" . $id_line;
3016    
3017    
3018    }
3019    
3020    sub get_id_aliases {
3021        my ($id, $fig) = @_;
3022        my $aliases = {};
3023    
3024        my $org = $fig->org_of($id);
3025        my $url = "http://clearinghouse.nmpdr.org/aclh.cgi?page=SearchResults&raw_dump=1&query=$id";
3026        if ( my $form = &LWP::Simple::get($url) ) {
3027            my ($block) = ($form) =~ /<pre>(.*)<\/pre>/s;
3028            foreach my $line (split /\n/, $block){
3029                my @values = split /\t/, $line;
3030                next if ($values[3] eq "Expert");
3031                if (($values[1] =~ /$org/) || ($org =~ /$values[1]/) && (! defined $aliases->{$values[4]}) ){
3032                    $aliases->{$values[4]} = $values[0];
3033                }
3034            }
3035        }
3036    
3037        return $aliases;
3038    }
3039    
3040  sub get_db_aliases {  sub get_db_aliases {
3041      my ($ids,$fig,$db,$cgi,$returnType) = @_;      my ($ids,$fig,$db,$cgi,$returnType) = @_;
   
3042      my $db_array;      my $db_array;
3043      my $all_aliases = $fig->feature_aliases_bulk($ids);      my $all_aliases = $fig->feature_aliases_bulk($ids);
3044      foreach my $id (@$ids){      foreach my $id (@$ids){
3045    #       my @all_aliases = grep { $_ ne $id and $_ !~ /^xxx/ } map { $_->[0] } $fig->mapped_prot_ids($id);
3046            my $id_org = $fig->org_of($id);
3047    
3048          foreach my $alias (@{$$all_aliases{$id}}){          foreach my $alias (@{$$all_aliases{$id}}){
3049    #       foreach my $alias (@all_aliases){
3050              my $id_db = &Observation::get_database($alias);              my $id_db = &Observation::get_database($alias);
3051              next if ( ($id_db ne $db) && ($db ne 'all') );              next if ( ($id_db ne $db) && ($db ne 'all') );
3052              next if ($aliases->{$id}->{$db});              next if ($aliases->{$id}->{$db});
3053                my $alias_org = $fig->org_of($alias);
3054    #           if (($id ne $peg) && ( ($alias_org =~ /$id_org/) || ($id_org =~ /$alias_org/)) ) {
3055                    #push(@funcs, [$id,$id_db,$tmp]);
3056              $aliases->{$id}->{$id_db} = &HTML::set_prot_links($cgi,$alias);              $aliases->{$id}->{$id_db} = &HTML::set_prot_links($cgi,$alias);
3057    #           }
3058          }          }
3059          if (!defined( $aliases->{$id}->{$db})){          if (!defined( $aliases->{$id}->{$db})){
3060              $aliases->{$id}->{$db} = " ";              $aliases->{$id}->{$db} = " ";

Legend:
Removed from v.1.71  
changed lines
  Added in v.1.76

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3