[Bioperl-l] Convert newick to nexus format
Neha Nahar
nehadnahar at yahoo.co.in
Mon Feb 5 19:58:08 UTC 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 !"
---------------------------------
Heres 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 !"
---------------------------------
Heres 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 !"
---------------------------------
Heres 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 !"
---------------------------------
Heres 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.pl>
More information about the Bioperl-l
mailing list