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

Diff of /FigKernelPackages/FIG.pm

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

revision 1.228, Sat Feb 26 19:49:59 2005 UTC revision 1.229, Sun Feb 27 01:39:55 2005 UTC
# Line 3784  Line 3784 
3784    
3785  sub assign_function {  sub assign_function {
3786      my($self,$peg,$user,$function,$confidence) = @_;      my($self,$peg,$user,$function,$confidence) = @_;
3787      my($role,$roleQ);      my($role,$roleQ,$kvs,$kv,$k,$v);
3788    
3789      if (! $self->is_real_feature($peg)) { return 0 }      if (! $self->is_real_feature($peg)) { return 0 }
3790    
3791        my $genome = $self->genome_of($peg);
3792    
3793      $function =~ s/\s+/ /sg;      $function =~ s/\s+/ /sg;
3794      $function =~ s/^\s+//;      $function =~ s/^\s+//;
3795      $function =~ s/\s+$//;      $function =~ s/\s+$//;
3796        if ($function =~ /^(.*?)\!(.*)/)
3797        {
3798            ($function,$kvs) = ($1,$2);
3799            if ($kvs)
3800            {
3801                $kvs =~ s/^\s+//;
3802                $kvs =~ s/\s+$//;
3803                foreach $kv (split(/\s+\!\s+/,$kvs))
3804                {
3805                    if ($kv =~ /^([A-Za-z0-9._\-\+\%]+)\s+\^\s+(.*)$/)
3806                    {
3807                        ($k,$v) = ($1,$2);
3808                        if ($v !~ /\S/)
3809                        {
3810                            &replace_peg_key_value($self,$peg,$k,"");
3811                        }
3812                        else
3813                        {
3814                            &replace_peg_key_value($self,$peg,$k,$v);
3815                        }
3816                    }
3817                    elsif ($kv =~ /^([A-Za-z0-9._\-\+\%]+)$/)
3818                    {
3819                        &replace_peg_key_value($self,$peg,$1,1);
3820                    }
3821                }
3822            }
3823        }
3824    
3825      my $rdbH = $self->db_handle;      my $rdbH = $self->db_handle;
3826      $confidence = $confidence ? $confidence : "";      $confidence = $confidence ? $confidence : "";
     my $genome = $self->genome_of($peg);  
3827    
3828      $rdbH->SQL("DELETE FROM assigned_functions WHERE ( prot = \'$peg\' AND made_by = \'$user\' )");      $rdbH->SQL("DELETE FROM assigned_functions WHERE ( prot = \'$peg\' AND made_by = \'$user\' )");
3829    
# Line 3832  Line 3861 
3861      return 0;      return 0;
3862  }  }
3863    
3864    sub replace_peg_key_value {
3865        my($self,$peg,$k,$v) = @_;
3866        my $genome = &genome_of($peg);
3867    
3868        my $rdbH = $self->db_handle;
3869        $rdbH->SQL("DELETE FROM attribute WHERE fid = \'$peg\'");
3870        &verify_dir("$FIG_Config::organisms/$genome/Features/peg/Attributes");
3871        if (open(TMPATTR,">>$FIG_Config::organisms/$genome/Features/peg/Attributes/assigned_attributes"))
3872        {
3873            print TMPATTR "$peg\t$k\t$v\t\n";
3874            close(TMPATTR);
3875        }
3876        if ($v)
3877        {
3878            $rdbH->SQL("INSERT INTO attribute ( fid,tag,val,url ) VALUES ( '$peg','$k','$v','')");
3879        }
3880    }
3881    
3882  sub hypo {  sub hypo {
3883      shift if UNIVERSAL::isa($_[0],__PACKAGE__);      shift if UNIVERSAL::isa($_[0],__PACKAGE__);
3884      my $x = (@_ == 1) ? $_[0] : $_[1];      my $x = (@_ == 1) ? $_[0] : $_[1];
# Line 5631  Line 5678 
5678      shift if UNIVERSAL::isa($_[0],__PACKAGE__);      shift if UNIVERSAL::isa($_[0],__PACKAGE__);
5679      my $func = (@_ == 1) ? $_[0] : $_[1];      my $func = (@_ == 1) ? $_[0] : $_[1];
5680    
5681      return (split(/\s*[\/;]\s+/,$func),($func =~ /\d+\.\d+\.\d+\.\d+/g));      $func =~ s/\!.*$//;
5682        return (split(/\s*;\s+|\s+[\@\/]\s+/,$func),($func =~ /\d+\.\d+\.\d+\.\d+/g));
5683  }  }
5684    
5685  =pod  =pod

Legend:
Removed from v.1.228  
changed lines
  Added in v.1.229

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3