[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.9, Wed Apr 26 21:57:23 2006 UTC revision 1.10, Wed May 3 13:18:22 2006 UTC
# Line 41  Line 41 
41  sub new {  sub new {
42      my($class,$fig,$fam_id,$fam_data) = @_;      my($class,$fig,$fam_id,$fam_data) = @_;
43    
     ($fam_id =~ /^FIG\d{3}(\d{3})$/) || confess "$fam_id is not a valid FIG family ID";  
   
     my $yyy = $1;  
44      my $fam = {};      my $fam = {};
45      $fam->{id}  = $fam_id;      $fam->{id}  = $fam_id;
46      $fam->{fig} = $fig;      $fam->{fig} = $fig;
# Line 56  Line 53 
53    
54      my $fam_dir = "$fam_data/FIGFAMS";      my $fam_dir = "$fam_data/FIGFAMS";
55      my $fam_file = "$fam_data/families.2c";      my $fam_file = "$fam_data/families.2c";
56      my $dir = "$fam_dir/$yyy/$fam_id";      my $dir = &fam_dir($fam_data,$fam_id);
57      $fam->{dir} = $dir;      $fam->{dir} = $dir;
58    
59      &FIG::verify_dir($dir);      &FIG::verify_dir($dir);
# Line 87  Line 84 
84          }          }
85          else          else
86          {          {
87              die "$dir has no valid function file";              confess "$dir has no valid function file";
88          }          }
89      }      }
90      open(FUNC,"<$dir/function") || die "could not open $dir/function";      open(FUNC,"<$dir/function") || die "could not open $dir/function";
# Line 97  Line 94 
94      $fam->{function} = $func;      $fam->{function} = $func;
95    
96      my($peg,$pegs);      my($peg,$pegs);
97      my $pegsL = [sort { &FIG::by_fig_id($a,$b) } map { $_ =~ /^\S+\t(\S+)/; $1 } `cat \"$dir/PEGs\"`];      my $pegsL = [sort { &FIG::by_fig_id($a,$b) } grep { $fig->is_real_feature($_) } map { $_ =~ /^\S+\t(\S+)/; $1 } `cat \"$dir/PEGs\"`];
98    
99      $fam->{pegsL} = $pegsL;      $fam->{pegsL} = $pegsL;
100      my $pegsH = {};      my $pegsH = {};
# Line 447  Line 444 
444      return $self->{id};      return $self->{id};
445  }  }
446    
447    sub fam_dir {
448        my($fam_data,$fam_id) = @_;
449    
450        $fam_id =~ /(\d{3})$/;
451        return "$fam_data/FIGFAMS/$1/$fam_id";
452    }
453    
454  1;  1;

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3