[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.745, Sun Jan 25 17:34:13 2009 UTC revision 1.746, Mon Jan 26 21:09:30 2009 UTC
# Line 3025  Line 3025 
3025    #get lineage    #get lineage
3026    my $lineage = "";    my $lineage = "";
3027    if ($content =~ /\&lt\;Lineage\&gt\;cellular organisms; (.*)\&lt\;\/Lineage\&gt\;/) {    if ($content =~ /\&lt\;Lineage\&gt\;cellular organisms; (.*)\&lt\;\/Lineage\&gt\;/) {
3028      $lineage = $1;          $lineage = &decode_html_chars($1);
3029      $overview->{ lineage } = &decode_html_chars($lineage);          $lineage =~ s/^\s*//o;
3030            $lineage =~ s/\s*$//o;
3031            $overview->{ lineage } = $lineage;
3032    }    }
3033    
3034    # set genus    # set genus
3035    my $genus = "";    my $genus = "";
3036    if ($content =~ /\&lt\;ScientificName\&gt\;(.*)\&lt\;\/ScientificName\&gt\;(\W*)\&lt\;Rank\&gt\;genus\&lt\;\/Rank\&gt\;/) {    if ($content =~ /\&lt\;ScientificName\&gt\;(.*)\&lt\;\/ScientificName\&gt\;(\W*)\&lt\;Rank\&gt\;genus\&lt\;\/Rank\&gt\;/) {
3037      $genus = &decode_html_chars($1);      $genus = &decode_html_chars($1);
3038            $genus =~ s/^\s*//o;
3039            $genus =~ s/^Candidatus\s+//o;
3040            $genus =~ s/\s*$//o;
3041      $overview->{ genus } = $genus ;      $overview->{ genus } = $genus ;
3042    }    }
3043    
# Line 3043  Line 3048 
3048      $species =~ s/$genus\s//;      $species =~ s/$genus\s//;
3049      #$species =~ s/ii$/i/;      #$species =~ s/ii$/i/;
3050      #$species =~ s/ae$/a/;      #$species =~ s/ae$/a/;
3051            $species =~ s/^\s*//o;
3052            $species =~ s/\s*$//o;
3053      $overview->{ species } = $species ;      $overview->{ species } = $species ;
3054    }    }
3055    
# Line 3051  Line 3057 
3057    my $strain = "";    my $strain = "";
3058    if ($content =~ /\&lt\;ScientificName\&gt\;(.*)\&lt\;\/ScientificName\&gt\;(\W*)\&lt\;OtherNames\&gt\;/) {    if ($content =~ /\&lt\;ScientificName\&gt\;(.*)\&lt\;\/ScientificName\&gt\;(\W*)\&lt\;OtherNames\&gt\;/) {
3059      $strain = &decode_html_chars($1);      $strain = &decode_html_chars($1);
3060            $strain =~ s/^s*//o;
3061      $strain =~ s/$genus\s//;          $strain =~ s/^Candidatus\s+//o;
3062      $strain =~ s/$species\s//;          $strain =~ s/^$genus\s+//;
3063            $strain =~ s/^$species\s+//;
3064            $strain =~ s/\s+/ /go;
3065            $strain =~ s/\s*$//o;
3066      $overview->{ strain } = $strain;      $overview->{ strain } = $strain;
3067    }    }
3068    
# Line 3062  Line 3070 
3070    my $scientific_name = "";    my $scientific_name = "";
3071    my $names = {};    my $names = {};
3072    foreach my $line (split ("\n", $content) )  {    foreach my $line (split ("\n", $content) )  {
3073      $names->{ &decode_html_chars($1) } = 1 if ( $line =~ /\&lt\;Synonym\&gt\;(.*)\&lt\;\/Synonym\&gt\;/);          if ( $line =~ /\&lt\;Synonym\&gt\;(.*)\&lt\;\/Synonym\&gt\;/) {
3074      $names->{ &decode_html_chars($1) } = 1 if ( $line =~ /\&lt\;EquivalentName\&gt\;(.*)\&lt\;\/EquivalentName\&gt\;/);              $names->{ &decode_html_chars($1) } = 1;
     $scientific_name = &decode_html_chars($1) if ($content =~ /\&lt\;ScientificName\&gt\;(.*)\&lt\;\/ScientificName\&gt\;/ and !$scientific_name );  
3075    }    }
3076    
3077    $overview->{ synonyms } = $names;          if ( $line =~ /\&lt\;EquivalentName\&gt\;(.*)\&lt\;\/EquivalentName\&gt\;/) {
3078    $overview->{ scientific_name } = $scientific_name;              $names->{ &decode_html_chars($1) } = 1;
3079            }
3080    
3081            if ($content =~ /\&lt\;ScientificName\&gt\;(.*)\&lt\;\/ScientificName\&gt\;/ and !$scientific_name ) {
3082                $scientific_name = &decode_html_chars($1);
3083            }
3084        }
3085    
3086        $overview->{ synonyms } = $names;
3087        $overview->{ scientific_name } = $scientific_name;
3088    
3089    return $overview;    return $overview;
3090  }  }
# Line 4811  Line 4825 
4825          }          }
4826      }      }
4827    
4828      $ans =~ s/^\s+//o;      $ans =~ s/^\s*//o;
4829      $ans =~ s/^Candidatus\s*//o;      $ans =~ s/^Candidatus\s+//o;
4830        $ans =~ s/\s+/ /og;
4831        $ans =~ s/\s*$//o;
4832    
4833      return $ans;      return $ans;
4834  }  }
# Line 16338  Line 16354 
16354    
16355      $ans = $taxonomy->{$genome};      $ans = $taxonomy->{$genome};
16356    
16357      if (!defined($ans))      if (!defined($ans)) {
16358      {          if (keys(%$taxonomy) == 0) {
         if (keys(%$taxonomy) == 0)  
         {  
16359              my $rdbH = $self->db_handle;              my $rdbH = $self->db_handle;
16360              my $relational_db_response = $rdbH->SQL("SELECT genome,taxonomy  FROM genome");              my $relational_db_response = $rdbH->SQL("SELECT genome,taxonomy  FROM genome");
16361              my $pair;              foreach my $pair (@$relational_db_response) {
16362              foreach $pair (@$relational_db_response)                  my ($db_genome, $db_taxonomy) = @$pair;
16363              {                  $db_taxonomy =~ s/^\s*//o;
16364                  $taxonomy->{$pair->[0]} = $pair->[1];                  $db_taxonomy =~ s/Candidatus\s*//og;
16365                    $db_taxonomy =~ s/\s+/ /og;
16366                    $db_taxonomy =~ s/\s*$//o;
16367                    $taxonomy->{$db_genome} = $db_taxonomy;
16368              }              }
16369              $ans = $taxonomy->{$genome};              $ans = $taxonomy->{$genome};
16370          }          }
16371      }      }
16372      if (!$ans)  
16373      {      if (!$ans) {
16374          warn "No taxonomy found for $genome\n";          warn "No taxonomy found for $genome\n";
16375      }      }
16376    
16377      $ans =~ s/^\s*//o;      $ans =~ s/^\s*//o;
16378        $ans =~ s/Candidatus\s*//og;
16379        $ans =~ s/\s+/ /o;
16380        $ans =~ s/\s*$//o;
16381    
16382      return $ans;      return $ans;
16383  }  }
# Line 16427  Line 16447 
16447      my($self) = @_;      my($self) = @_;
16448      my $taxonomy = $self->cached('_taxonomy');      my $taxonomy = $self->cached('_taxonomy');
16449    
16450      if (keys(%$taxonomy) == 0)      if (keys(%$taxonomy) == 0) {
     {  
16451          my $rdbH = $self->db_handle;          my $rdbH = $self->db_handle;
16452          my $relational_db_response = $rdbH->SQL("SELECT genome,taxonomy  FROM genome");          my $relational_db_response = $rdbH->SQL("SELECT genome,taxonomy  FROM genome");
16453          my $pair;          foreach my $pair (@$relational_db_response) {
16454          foreach $pair (@$relational_db_response)              my ($db_genome, $db_taxonomy) = @$pair;
16455          {              $db_taxonomy =~ s/^\s*//o;
16456              $taxonomy->{$pair->[0]} = $pair->[1];              $db_taxonomy =~ s/Candidatus\s*//og;
16457                $db_taxonomy =~ s/\s+/ /og;
16458                $db_taxonomy =~ s/\s*$//o;
16459                $taxonomy->{$db_genome} = $db_taxonomy;
16460          }          }
16461      }      }
16462      return $taxonomy;      return $taxonomy;
# Line 16453  Line 16475 
16475  sub is_bacterial :Scalar {  sub is_bacterial :Scalar {
16476      my($self,$genome) = @_;      my($self,$genome) = @_;
16477    
16478      return ($self->taxonomy_of($genome) =~ /^Bacteria/) ? 1 : 0;      return ($self->taxonomy_of($genome) =~ /^Bacteria/o) ? 1 : 0;
16479  }  }
16480    
16481    
# Line 16468  Line 16490 
16490  sub is_archaeal :Scalar {  sub is_archaeal :Scalar {
16491      my($self,$genome) = @_;      my($self,$genome) = @_;
16492    
16493      return ($self->taxonomy_of($genome) =~ /^Archaea/) ? 1 : 0;      return ($self->taxonomy_of($genome) =~ /^Archaea/o) ? 1 : 0;
16494  }  }
16495    
16496    
# Line 16483  Line 16505 
16505  sub is_prokaryotic :Scalar {  sub is_prokaryotic :Scalar {
16506      my($self,$genome) = @_;      my($self,$genome) = @_;
16507    
16508      return ($self->taxonomy_of($genome) =~ /^(Archaea|Bacteria)/) ? 1 : 0;      return ($self->taxonomy_of($genome) =~ /^(Archaea|Bacteria)/o) ? 1 : 0;
16509  }  }
16510    
16511    
# Line 16498  Line 16520 
16520  sub is_eukaryotic :Scalar {  sub is_eukaryotic :Scalar {
16521      my($self,$genome) = @_;      my($self,$genome) = @_;
16522    
16523      return ($self->taxonomy_of($genome) =~ /^Eukaryota/) ? 1 : 0;      return ($self->taxonomy_of($genome) =~ /^Eukaryota/o) ? 1 : 0;
16524  }  }
16525    
16526    
# Line 16513  Line 16535 
16535  sub is_viral :Scalar {  sub is_viral :Scalar {
16536      my($self,$genome) = @_;      my($self,$genome) = @_;
16537    
16538      return ($self->taxonomy_of($genome) =~ /^Vir/) ? 1 : 0;      return ($self->taxonomy_of($genome) =~ /^Vir/o) ? 1 : 0;
16539  }  }
16540    
16541    
# Line 16527  Line 16549 
16549    
16550  sub is_environmental :Scalar {  sub is_environmental :Scalar {
16551      my($self,$genome) = @_;      my($self,$genome) = @_;
16552      return ($self->taxonomy_of($genome) =~ /environmental samples/) ? 1 : 0;      return ($self->taxonomy_of($genome) =~ /environmental samples/io) ? 1 : 0;
16553  }  }
16554    
16555    

Legend:
Removed from v.1.745  
changed lines
  Added in v.1.746

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3