[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.12, Tue Dec 23 22:38:31 2003 UTC revision 1.13, Sun Dec 28 17:11:29 2003 UTC
# Line 908  Line 908 
908  =cut  =cut
909    
910  sub genomes {  sub genomes {
911      opendir(GENOMES,"$FIG_Config::fig/Data/Organisms")      my($self,$complete,$restrictions) = @_;
912          || die "could not open $FIG_Config::fig/Data/Organisms";  
913      my @genomes = sort { $a <=> $b } grep { $_ =~ /^\d/ } readdir(GENOMES);      my $rdbH = $self->db_handle;
914    
915        my @where = ();
916        if ($complete)
917        {
918            push(@where,"( complete = \'1\' )")
919        }
920    
921        if ($restrictions)
922        {
923            push(@where,"( restrictions = \'1\' )")
924        }
925    
926        my $relational_db_response;
927        if (@where > 0)
928        {
929            my $where = join(" AND ",@where);
930            $relational_db_response = $rdbH->SQL("SELECT genome  FROM genome where $where");
931        }
932        else
933        {
934            $relational_db_response = $rdbH->SQL("SELECT genome  FROM genome");
935        }
936        my @genomes = sort { $a <=> $b } map { $_->[0] } @$relational_db_response;
937      return @genomes;      return @genomes;
938  }  }
939    
940  sub genome_counts {  sub genome_counts {
941      my($x);      my($self,$complete) = @_;
942      my($a,$b,$e,$v) = (0,0,0,0);      my($x,$relational_db_response);
943    
944      if (open(TMP,"cat $FIG_Config::organisms/*/TAXONOMY |"))      my $rdbH = $self->db_handle;
945    
946        if ($complete)
947      {      {
948          while (defined($x = <TMP>))          $relational_db_response = $rdbH->SQL("SELECT genome,maindomain  FROM genome where complete = '1'");
949        }
950        else
951          {          {
952              if     ($x =~ /^Eukaryota/)          { $e++ }          $relational_db_response = $rdbH->SQL("SELECT genome,maindomain  FROM genome");
             elsif  ($x =~ /^Bacteria/)           { $b++ }  
             elsif  ($x =~ /^Archaea/)            { $a++ }  
             elsif  ($x =~ /^Vir/)                { $v++ }  
953          }          }
954          close(TMP);  
955        my ($a,$b,$e,$v) = (0,0,0,0);
956        if (@$relational_db_response > 0)
957        {
958            foreach $x (@$relational_db_response)
959            {
960                if    ($x->[1] =~ /^a/i) { $a++ }
961                elsif ($x->[1] =~ /^b/i) { $b++ }
962                elsif ($x->[1] =~ /^e/i) { $e++ }
963                elsif ($x->[1] =~ /^v/i) { $v++ }
964      }      }
965        }
966    
967      return ($a,$b,$e,$v);      return ($a,$b,$e,$v);
968  }  }
969    
# Line 978  Line 1013 
1013    
1014  sub genus_species {  sub genus_species {
1015      my ($self,$genome) = @_;      my ($self,$genome) = @_;
   
1016      my $ans;      my $ans;
1017    
1018      my $genus_species = $self->cached('_genus_species');      my $genus_species = $self->cached('_genus_species');
1019      if (! ($ans = $genus_species->{$genome}))      if (! ($ans = $genus_species->{$genome}))
1020      {      {
1021          if (open(TMP,"<$FIG_Config::organisms/$genome/GENOME"))          my $rdbH = $self->db_handle;
1022            my $relational_db_response = $rdbH->SQL("SELECT genome,gname  FROM genome");
1023            my $pair;
1024            foreach $pair (@$relational_db_response)
1025          {          {
1026              $ans = <TMP>;              $genus_species->{$pair->[0]} = $pair->[1];
             chop $ans;  
             close(TMP);  
             $genus_species->{$genome} = $ans;  
1027          }          }
1028            $ans = $genus_species->{$genome};
1029      }      }
1030      return $ans;      return $ans;
1031  }  }
# Line 2827  Line 2863 
2863      &run("load_ec_names");      &run("load_ec_names");
2864      &run("load_kegg");      &run("load_kegg");
2865      &run("index_contigs");      &run("index_contigs");
2866        &run("compute_genome_counts");
2867      &run("make_indexes");      &run("make_indexes");
2868  }  }
2869    

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3