dimitris852 has asked for the wisdom of the Perl Monks concerning the following question:
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;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: how to output the final Tree into a file?
by Mr. Muskrat (Canon) on Mar 15, 2016 at 22:27 UTC | |
by 1nickt (Canon) on Mar 16, 2016 at 00:40 UTC | |
by dimitris852 (Acolyte) on Mar 15, 2016 at 23:46 UTC | |
by Anonymous Monk on Mar 15, 2016 at 23:58 UTC | |
by dimitris852 (Acolyte) on Mar 16, 2016 at 00:33 UTC | |
by 1nickt (Canon) on Mar 16, 2016 at 00:41 UTC | |
by Anonymous Monk on Mar 16, 2016 at 00:54 UTC | |
| |
|
Re: how to output the final Tree into a file?
by 1nickt (Canon) on Mar 15, 2016 at 21:23 UTC | |
by dimitris852 (Acolyte) on Mar 16, 2016 at 01:32 UTC |