[Bioperl-l] Convert newick to nexus format

Neha Nahar nehadnahar at yahoo.co.in
Mon Feb 5 14:58:08 EST 2007


Hi,
Thank you for the code.
I tried it but I still get the same exception.

------------- EXCEPTION  -------------
MSG: Cannot call method write_tree on Bio::TreeIO object must use a subclass
STACK Bio::TreeIO::nexus::write_tree /usr/lib/perl5/vendor_perl/5.8.8/Bio/TreeIO/nexus.pm:170
STACK toplevel ./nexus1.pl:18


Please find attached the perl file(nexus.pl).


Using  bioperl-1.5.2_101.tar.gz module from http://search.cpan.org/~sendu/bioperl/Bio/TreeIO.pm

Please let me know if I am using the correct version.If not, please point me to the latest one.

Thank you.
Regards,
nnahar



  

Jason Stajich <jason at bioperl.org> wrote:please  cc the mailing list when asking a question or followup.

Sorry I don't know what you are doing wrong - you didn't resend your code so I don't know if you still have a typo.  

This code works fine for me

use Bio::TreeIO;
use strict;
my ($filein,$fileout) = @ARGV;
my ($format,$oformat) = qw(newick nexus);
my $in = Bio::TreeIO->new(-file  => $filein, -format => $format);my $out= Bio::TreeIO->new(-format => $oformat, -file => ">$fileout");


while( my $t = $in->next_tree ) { 
 $out->write_tree($t);
}



On Feb 5, 2007, at 11:24 AM, Neha Nahar wrote:

Thank you very much for the reply.


I fixed the code as per your suggestion,but now am getting a different error:


$ ./nexus.pl mrp-input.txt nexus.out
newickfile=mrp-input.txt, nexusfile=nexus.out


-------------  EXCEPTION  -------------
MSG: Cannot call method write_tree on Bio::TreeIO object must use a subclass
STACK Bio::TreeIO::nexus::write_tree /usr/lib/perl5/vendor_perl/5.8.8/Bio/TreeIO/nexus.pm:170
STACK toplevel ./nexus.pl:23


--------------------------------------


Please help me out with this script.


Thank you.
Regards,
Neha








Jason Stajich <jason at bioperl.org> wrote: you want to write the TREE out not the TREE WRITER.




$treeout->write_tree($tree) 


not 
$treeout->write_tree($treeout);


On Feb 5, 2007, at 9:59 AM, Neha Nahar wrote:


Hello everyone,




I am trying  to convert newick tree to nexus format.
Using the script (refered from and email from George dated Wed Sep 22 11:52:47 EDT 2004) :




/*------------------------------------------------------------*/




$ cat nexus.pl
#!/usr/bin/perl -w




use Bio::TreeIO;




($NEWICKFILE, $NEXUSFILE) = @ARGV;
print "newickfile=$NEWICKFILE,  nexusfile=$NEXUSFILE\n";
my $treeio = new Bio::TreeIO(-format => 'newick', -file   => "$NEWICKFILE");
my $treeout = new Bio::TreeIO(-format => 'nexus', -file   => ">$NEXUSFILE");
while(my $tree = $treeio->next_tree) {
        $treeout->write_tree($treeout);
    }




exit 0;








/*------------------------------------------------------------*/




Running the script through command line:
Gives the following error:




$ ./nexus.pl mrp-input.txt nexus.out
newickfile=mrp-input.txt, nexusfile=nexus.out




------------- EXCEPTION  -------------
MSG: Cannot call method write_tree on Bio::TreeIO object must use a subclass
STACK  Bio::TreeIO::nexus::write_tree /usr/lib/perl5/vendor_perl/5.8.8/Bio/TreeIO/nexus.pm:170
STACK toplevel ./nexus.pl:23




--------------------------------------








Using  bioperl-1.5.2_101.tar.gz module from http://search.cpan.org/~sendu/bioperl/Bio/TreeIO.pm




Questions:-




1. Please let me know if I am using the correct version.
If not, please point me to the latest one.




2. Provided that the version I am using is the right one, please let me know what is wrong with the script.




Thank you.
Regards,
Neha.




















-Neha Nahar
  " Work for cause and not for applause, live to express and not to impress !"




---------------------------------
 Here’s a new way to find what you're looking for - Yahoo! Answers 




 --
Jason Stajich 
Miller Research Fellow
University of California, Berkeley
lab: 510.642.8441


http://pmb.berkeley.edu/~taylor/people/js.html
http://fungalgenomes.org/












-Neha Nahar
  " Work for cause and not for applause, live to express and not to impress !"
     

---------------------------------
 Here’s a new way to find what you're looking for - Yahoo! Answers 
 

 --
Jason Stajich 
Miller Research Fellow
University of California, Berkeley
lab: 510.642.8441

http://pmb.berkeley.edu/~taylor/people/js.html
http://fungalgenomes.org/
 







-Neha Nahar
  " Work  for cause and not for applause, live to express and not to impress !"         

---------------------------------
  Here’s a new way to find what you're looking for - Yahoo! Answers 


-Neha Nahar
  " Work for cause and not for applause, live to express and not to impress !"
 				
---------------------------------
 Here’s a new way to find what you're looking for - Yahoo! Answers 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nexus.pl
Type: application/x-perl
Size: 811 bytes
Desc: 1389215665-nexus.pl
Url : http://lists.open-bio.org/pipermail/bioperl-l/attachments/20070205/c6453dcf/attachment.bin 


More information about the Bioperl-l mailing list