[Bio] / Kmers2 / build_data_directory.pl Repository:
ViewVC logotype

Diff of /Kmers2/build_data_directory.pl

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

revision 1.3, Tue Jul 16 13:39:48 2013 UTC revision 1.4, Tue Jul 16 15:40:25 2013 UTC
# Line 1  Line 1 
1  use strict;  use strict;
2  use Data::Dumper;  use Data::Dumper;
3  use SeedEnv;  use SeedEnv;
4    use FIG;
5    my $fig = new FIG;
6    
7  my $usage = "usage: build_data_directory DataDir K";  my $usage = "usage: build_data_directory DataDir K";
8  my($genus,$dataD,$k);  my($genus,$dataD,$k);
# Line 12  Line 14 
14  print STDERR "building $dataD for Kmers of size $k\n";  print STDERR "building $dataD for Kmers of size $k\n";
15  mkdir($dataD,0777);  mkdir($dataD,0777);
16    
17    my %seen;
18    my $existing = $ENV{'SAS_SERVER'};
19    $ENV{'SAS_SERVER'} = 'PUBSEED';
20    open(G,">$dataD/all.genomes") || die "could not open $dataD/all.genomes";
21    foreach $_ (`svr_all_genomes`)
22    {
23        if (($_ !~ /[pP]hage\b/) && ($_ !~ /[pP]lasmid\b/))
24        {
25            if (($_ =~ /^(\S+)\s(\S+).*\s(\d+\.\d+)$/) && ($2 ne "sp."))
26            {
27                my $genus = $1;
28                my $species = $2;
29                my $genome = $3;
30                if ($species !~ /^sp\.?$/i)
31                {
32                    my $md5 = $fig->genome_md5sum($genome);
33                    if ((! $seen{$md5}) && $fig->is_prokaryotic($genome))
34                    {
35                        $seen{$md5} = 1;
36                        print G $_;
37                    }
38                }
39            }
40        }
41    }
42    close(G);
43    $ENV{'SAS_SERVER'} = $existing;
44    
45  &build_function_index($dataD);  &build_function_index($dataD);
46  &build_otu_index($dataD);  &build_otu_index($dataD);
47  &build_reduced_kmers($dataD,$k);  &build_reduced_kmers($dataD,$k);
# Line 107  Line 137 
137              $to_fI{$2} = $1;              $to_fI{$2} = $1;
138          }          }
139      }      }
140    #
141    #   we take assignments from both the pubSEED and the ASEED.  ASEED functions
142    #   override PSEED functions
143    #
144      my %peg_to_fI;      my %peg_to_fI;
145      foreach $_ (`cut -f2 $dataD/all.genomes | svr_all_features peg | svr_function_of`)      &load_peg_to_fI($dataD,\%to_fI,'PUBSEED',\%peg_to_fI);
146      {      &load_peg_to_fI($dataD,\%to_fI,'SEED',\%peg_to_fI);
         if ($_ =~ /^(\S+)\t(\S.*\S)/)  
         {  
             my $peg = $1;  
             my $func = $2;  
             if ($to_fI{$func})  
             {  
                 $peg_to_fI{$peg} = $to_fI{$func};  
             }  
         }  
     }  
147    
148      open(RAW,"| sort -T . > $dataD/sorted.kmers") || die "could not open $dataD/sorted.kmers";      open(RAW,"| sort -T . > $dataD/sorted.kmers") || die "could not open $dataD/sorted.kmers";
149      foreach my $g (`cut -f2 $dataD/all.genomes`)      foreach my $g (`cut -f2 $dataD/all.genomes`)
# Line 167  Line 190 
190      close(REDUCED);      close(REDUCED);
191  }  }
192    
193    sub load_peg_to_fI {
194        my($dataD,$to_fI,$which_seed,$peg_to_fI) = @_;
195        my $existing = $ENV{'SAS_SERVER'};
196        $ENV{'SAS_SERVER'} = $which_seed;
197    
198        foreach $_ (`cut -f2 $dataD/all.genomes | svr_all_features peg | svr_function_of`)
199        {
200            if ($_ =~ /^(\S+)\t(\S.*\S)/)
201            {
202                my $peg = $1;
203                my $func = $2;
204                if ($to_fI->{$func})
205                {
206                    $peg_to_fI->{$peg} = $to_fI->{$func};
207                }
208            }
209        }
210        $ENV{'SAS_SERVER'} = $existing;
211    }
212    
213    
214  sub process_set {  sub process_set {
215      my($kmer,$set,$fh) = @_;      my($kmer,$set,$fh) = @_;
216    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3