After executing the script, a Tree in newick form is generated (form a fasta file given). How can I output this result into a file and not just leave it in my command promt? Thanks!
#!/usr/bin/perl $ENV{CLUSTALDIR} = 'C:\\\\\\\\\\\\\\\\\\\\; use Bio::Tools::Run::Alignment::Clustalw; my $file = <>; # Get file name (fasta file) from command prompt. # Build a clustalw alignment factory my $factory = Bio::Tools::Run::Alignment::Clustalw->new(-matrix => 'BL +OSUM',-outfile=>'out', -output =>'clustalw'); my $ktuple = 2; $factory->ktuple($ktuple); my $inseq = Bio::SeqIO->new( -file=> "<$file", -format=> 'fasta' ); my $seq; my @seq_array; while ($seq = $inseq->next_seq) { push(@seq_array, $seq); } # Now we do the actual alignment. my $seq_array_ref = \@seq_array; my $aln = $factory->align($seq_array_ref); #constarcting the Tree my $alnio = Bio::AlignIO->new(-file => 'out', -format=>'clustalw'); my $dfactory = Bio::Tree::DistanceFactory->new(-method => 'NJ'); my $stats = Bio::Align::ProteinStatistics->new; my $treeout = Bio::TreeIO->new(-format => 'newick'); while( my $aln = $alnio->next_aln ) { my $mat = $stats->distance(-method => 'Kimura', -align => $aln); my $tree = $dfactory->make_tree($mat); $treeout->write_tree($tree); } exit;
In reply to how to output the final Tree into a file? by dimitris852
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |