[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.38, Mon Mar 15 23:06:47 2004 UTC revision 1.39, Wed Mar 17 18:17:34 2004 UTC
# Line 4204  Line 4204 
4204      return ($groups,$ids);      return ($groups,$ids);
4205  }  }
4206    
4207    ################################# Subsystems  ####################################
4208    
4209    sub exportable_subsystem {
4210        my($self,$ssa) = @_;
4211        my(%seqs,@genomes);
4212    
4213        my $spreadsheet = [];
4214        my $notes = [];
4215    
4216        $ssa =~ s/ /_/g;
4217        if (open(SSA,"<$FIG_Config::data/Subsystems/$ssa/spreadsheet"))
4218        {
4219            while (defined($_ = <SSA>) && ($_ !~ /^\/\//))
4220            {
4221                push(@$spreadsheet,$_);
4222            }
4223            push(@$spreadsheet,"//\n");
4224    
4225            while (defined($_ = <SSA>) && ($_ !~ /^\/\//))
4226            {
4227                push(@$spreadsheet,$_);
4228            }
4229            push(@$spreadsheet,"//\n");
4230    
4231            while (defined($_ = <SSA>))
4232            {
4233                push(@$spreadsheet,$_);
4234                chop;
4235                my @flds = split(/\t/,$_);
4236                my $genome = $flds[0];
4237                push(@genomes,$genome);
4238                my($i,$id);
4239                for ($i=2; ($i < @flds); $i++)
4240                {
4241                    if ($flds[$i])
4242                    {
4243                        my @entries = split(/,/,$flds[$i]);
4244                        foreach $id (@entries)
4245                        {
4246                            $seqs{"fig\|$genome\.peg.$id"} = 1;
4247                        }
4248                    }
4249                }
4250            }
4251            push(@$spreadsheet,"//\n");
4252    
4253            my $peg;
4254            foreach $peg (sort { &FIG::by_fig_id($a,$b) } keys(%seqs))
4255            {
4256                my @aliases = grep { $_ =~ /^(sp\||gi\||pirnr\||kegg\||N[PGZ]_)/ } $self->feature_aliases($peg);
4257                push(@$spreadsheet,join("\t",($peg,join(",",@aliases),$self->genus_species($self->genome_of($peg)),scalar $self->function_of($peg))) . "\n");
4258            }
4259            push(@$spreadsheet,"//\n");
4260    
4261            foreach $peg (sort { &FIG::by_fig_id($a,$b) } keys(%seqs))
4262            {
4263                my $aliases = $self->feature_aliases($peg);
4264                my $seq = $self->get_translation($peg);
4265                push(@$spreadsheet,">$peg $aliases\n");
4266                my($i,$ln);
4267                $ln = length($seq);
4268                for ($i=0; ($i < $ln); $i += 60)
4269                {
4270                    if (($ln - $i) > 60)
4271                    {
4272                        push(@$spreadsheet,substr($seq,$i,60) . "\n");
4273                    }
4274                    else
4275                    {
4276                        push(@$spreadsheet,substr($seq,$i) . "\n");
4277                    }
4278                }
4279            }
4280            close(SSA);
4281            push(@$spreadsheet,"//\n");
4282    
4283            if (open(NOTES,"<$FIG_Config::data/Subsystems/$ssa/notes"))
4284            {
4285                while (defined($_ = <NOTES>))
4286                {
4287                    push(@$notes,$_);
4288                }
4289                close(NOTES);
4290            }
4291            push(@$notes,"//\n");
4292        }
4293        return ($spreadsheet,$notes);
4294    }
4295    
4296    sub is_exportable_subsystem {
4297        my $ssa = (@_ == 1) ? $_[0] : $_[1];
4298        $ssa =~ s/ /_/g;
4299        return -e "$FIG_Config::data/Subsystems/$ssa/EXPORTABLE";
4300    }
4301    
4302    sub all_exportable_subsystems {
4303    
4304        my @exportable = ();
4305        if (opendir(SUB,"$FIG_Config::data/Subsystems"))
4306        {
4307            push(@exportable,grep { ($_ !~ /^\./) && &is_exportable_subsystem($_) } readdir(SUB));
4308            closedir(SUB);
4309        }
4310        return @exportable;
4311    }
4312    
4313    
4314  1  1

Legend:
Removed from v.1.38  
changed lines
  Added in v.1.39

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3