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

Diff of /FigKernelPackages/AliTree.pm

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

revision 1.1, Thu Jul 12 17:52:56 2007 UTC revision 1.2, Sun Jul 15 04:08:16 2007 UTC
# Line 194  Line 194 
194      {      {
195          my $id     = $self->{id};          my $id     = $self->{id};
196          my $data   = $self->{data};          my $data   = $self->{data};
197          my $dir    = "$data/$id";          my $dir    = $self->{dir};
198          my $ali    = $self->{ali};          my $ali    = $self->{ali};
199          if ((! -s "$dir/tree.newick") && (@$ali > 3))          if ((! -s "$dir/tree.newick") && (@$ali > 3))
200          {          {
# Line 322  Line 322 
322      return (-s "$dir/full.html") ? join("",`cat $dir/full.html`) : undef;      return (-s "$dir/full.html") ? join("",`cat $dir/full.html`) : undef;
323  }  }
324    
325    sub phob_dir {
326        my($self) = @_;
327    
328        my $dir    = $self->{dir};
329        if (! -d "$dir/PHOB")
330        {
331            if ($self->make_phob_dir("$dir/PHOB"))
332            {
333                return "$dir/PHOB";
334            }
335            else
336            {
337                return "";
338            }
339        }
340        else
341        {
342            return "$dir/PHOB";
343        }
344    }
345    
346    sub make_phob_dir {
347        my($self,$dir) = @_;
348    
349        if (-d $dir)
350        {
351            print STDERR "Attempt to make $dir failed: it already exists\n";
352            return 0;
353        }
354        &FIG::verify_dir($dir);
355    
356        my($ali,$tree);
357        if (($ali = $self->ali) && ($tree = $self->tree))
358        {
359            my($n,$to,$id,$seq,$idN,$tuple);
360            open(IDS,">$dir/ids")       || die "could not open $dir/ids";
361            open(ALI,">$dir/aln.fasta") || die "could not open $dir/aln.fasta";
362            open(TREE,">$dir/tree.dnd") || die "could not open $dir/tree.dnd";
363            $n = 1;
364            $to = {};
365            foreach $tuple (@$ali)
366            {
367                ($id,undef,$seq) = @$tuple;
368                $idN = "id$n";
369                $n++;
370                print IDS "$idN\t$id\n";
371                $to->{$id} = $idN;
372                $seq =~ s/\s//gs;
373                $seq =~ s/[uU]/x/g;
374                &FIG::display_id_and_seq($idN,\$seq,\*ALI);
375            }
376            &tree_utilities::relabel_nodes($tree,$to);
377            print TREE &tree_utilities::to_newick($tree),"\n";
378            close(IDS);
379            close(ALI);
380            close(TREE);
381            return 1;
382        }
383        else
384        {
385            return 0;
386        }
387    }
388    
389  1;  1;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3