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

Diff of /FigKernelPackages/FigFam.pm

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

revision 1.3, Sat Mar 25 23:12:56 2006 UTC revision 1.4, Fri Mar 31 19:37:40 2006 UTC
# Line 20  Line 20 
20  use strict;  use strict;
21  use FIG;  use FIG;
22  use SameFunc;  use SameFunc;
23    
24    use Carp;
25  use Data::Dumper;  use Data::Dumper;
26    
27  # This is the constructor.  Presumably, $class is 'FigFam'.  # This is the constructor.  Presumably, $class is 'FigFam'.
# Line 60  Line 62 
62      &FIG::verify_dir($dir);      &FIG::verify_dir($dir);
63      if ((! -s "$dir/PEGs") && defined($fam_file))      if ((! -s "$dir/PEGs") && defined($fam_file))
64      {      {
65            if (-s $fam_file)
66            {
67          system("grep $fam_id \"$fam_file\" > \"$dir/PEGs\"");          system("grep $fam_id \"$fam_file\" > \"$dir/PEGs\"");
68          if (! -s "$dir/PEGs")          if (! -s "$dir/PEGs")
69          {          {
70              system "rm -rf $dir";              system "rm -rf $dir";
71                    confess "PEG file $dir/PEGs does not exist --- $dir deleted";
72                    return undef;
73                }
74            }
75            else
76            {
77                confess "Family file $fam_file doe not exist";
78              return undef;              return undef;
79          }          }
80    
# Line 96  Line 107 
107      }      }
108      $fam->{pegsH} = $pegsH;      $fam->{pegsH} = $pegsH;
109    
110      if (! -s "$dir/PEGs.fasta.pin")  
111        if (-s "$dir/PEGs.fasta")
112        {
113            open(FASTA,"<$dir/PEGs.fasta") || die "could not read-open $dir/PEGs.fasta";
114            while (my ($peg, $seqP) = &FIG::read_fasta_record(\*FASTA))
115            {
116                $fam->{peg_lengths}->{$peg} = length($$seqP);
117            }
118            close(FASTA);
119        }
120        else
121      {      {
122          open(FASTA,">$dir/PEGs.fasta") || die "could not open $dir/PEGs.fasta";          open(FASTA,">$dir/PEGs.fasta") || die "could not write-open $dir/PEGs.fasta";
123          foreach $peg (@$pegsL)          foreach $peg (@$pegsL)
124          {          {
125              my $seq = $fig->get_translation($peg);              my $seq = $fig->get_translation($peg);
# Line 107  Line 128 
128                  print FASTA ">$peg\n$seq\n";                  print FASTA ">$peg\n$seq\n";
129                  $fam->{peg_lengths}->{$peg} = length($seq);                  $fam->{peg_lengths}->{$peg} = length($seq);
130              }              }
131                else
132                {
133                    confess "Could not get seq for $peg";
134                }
135          }          }
136          close(FASTA);          close(FASTA);
137        }
138    
139        if ((! -s "$dir/PEGs.fasta.pin") || ((-M "$dir/PEGs.fasta.pin") > (-M "$dir/PEGs.fasta")))
140        {
141          &FIG::run("$FIG_Config::ext_bin/formatdb -i \"$dir/PEGs.fasta\" -p");          &FIG::run("$FIG_Config::ext_bin/formatdb -i \"$dir/PEGs.fasta\" -p");
142      }      }
143    
144    
145      if (! -s "$dir/bounds")      if (! -s "$dir/bounds")
146      {      {
147          open(BOUNDS,">$dir/bounds") || die "could not open $dir/bounds";          open(BOUNDS,">$dir/bounds") || die "could not open $dir/bounds";
# Line 288  Line 317 
317          if ((! $seen{$peg}) && ($sc <= 1.0e-10))          if ((! $seen{$peg}) && ($sc <= 1.0e-10))
318          {          {
319              $seen{$peg} = 1;              $seen{$peg} = 1;
320              push(@$sim,$query_ln,$self->{peg_lengths}->{$peg});              push @$sim, $query_ln, $self->{peg_lengths}->{$peg};
321              push(@$sims,$sim);              bless $sim, 'Sim';
322                push @$sims, $sim;
323              my $bounds = $self->{bounds}->{$peg};              my $bounds = $self->{bounds}->{$peg};
324              if ($bounds && ($sc <= $bounds->[1]) && ($bounds->[3] > $sc))              if ($bounds && ($sc <= $bounds->[1]) && ($bounds->[3] > $sc))
325              {              {

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3