[Bioperl-l] problem parsing a newick format
Chris Fields
cjfields at illinois.edu
Thu Feb 12 11:15:09 EST 2009
Then the semicolon is required. The split is along ";\n".
Committed a fix for this; it was an event handler issue (just needed a
tail check for any remaining data and return it if the tree is defined).
chris
On Feb 12, 2009, at 8:58 AM, Hilmar Lapp wrote:
> Note that the terminal semi-colon is part of the format spec. I've
> been bitten by this a few times in other programs - it's quite
> common that programs reading newick will throw an error or ignore
> the tree if it's not terminated by semi-colon.
>
> Having said that, along the lines of being strict on what we emit
> but liberal in what we accept, I guess it can be loosened up. But
> what if there is more than one tree in the file?
>
> -hilmar
>
> On Feb 12, 2009, at 8:03 AM, Mark A. Jensen wrote:
>
>> No problem, Chyrsanthi--
>>
>> Jason-- may I loosen up the parser a bit on this?
>> MAJ
>> ----- Original Message -----
>> From: Chrysanthi A.
>> To: Mark A. Jensen
>> Sent: Thursday, February 12, 2009 7:47 AM
>> Subject: Re: [Bioperl-l] problem parsing a newick format
>>
>>
>> Yes, that was the problem.. Now its working perfect!!!! Thanks a lot!
>>
>> Chrysanthi
>>
>>
>> 2009/2/12 Mark A. Jensen <maj at fortinbras.us>
>>
>> Chrysanthi-
>> Do the trees in your test file end with a semicolon? When I do
>>
>> use Bio::TreeIO;
>> $inp = Bio::TreeIO->new(-fh=>\*DATA, -format=>'newick);
>> $tre=$inp->next_tree;
>> __END__
>> (A:1,(B:2,C:3))
>>
>> $tre is empty, but when
>>
>> use Bio::TreeIO;
>> $inp = Bio::TreeIO->new(-fh=>\*DATA, -format=>'newick);
>> $tre=$inp->next_tree;
>> __END__
>> (A:1,(B:2,C:3));
>>
>> $tre contains the tree.
>>
>> If this is the problem, it sounds like a bug to me-
>> Mark
>> ----- Original Message -----
>> From: Chrysanthi A.
>> To: Mark A. Jensen
>> Cc: BioPerl List
>> Sent: Thursday, February 12, 2009 5:42 AM
>> Subject: Re: [Bioperl-l] problem parsing a newick format
>>
>>
>> I tried also that, but it does not work.. It does not give me
>> any error message.. It
>> seems that the code is correct, but It does not print
>> anything..Why???
>>
>> Thanks,
>>
>> Chrysanthi.
>>
>>
>>
>>
>> 2009/2/12 Mark A. Jensen <maj at fortinbras.us>
>>
>> C- I think you maybe want
>>
>> my $input = new Bio::TreeIO(-file =>"nexusCytochrome7R.newick",
>> -format => "newick");
>>
>> and not
>>
>>
>> my $input = new Bio::TreeIO(-fh =>"nexusCytochrome7R.newick",
>> -format => "newick");
>>
>>
>> ?
>>
>> Mark
>>
>> ----- Original Message ----- From: "Chrysanthi A." <chrysain at gmail.com
>> >
>> To: "BioPerl List" <bioperl-l at lists.open-bio.org>
>> Sent: Wednesday, February 11, 2009 9:13 PM
>> Subject: [Bioperl-l] problem parsing a newick format
>>
>>
>>
>> Is the code below correct?? Why it does not print anything???
>> use strict;
>>
>> use Bio::TreeIO;
>>
>>
>> my $input = new Bio::TreeIO(-fh =>"nexusCytochrome7R.newick",
>> -format => "newick");
>>
>> while(my $tree = $input->next_tree){
>> for my $node(grep{!$_->is_Leaf}$tree->get_nodes){
>> next if !$node->ancestor;
>> print "Node:", $node->id, "length:", $node->branch_length,
>> " ";
>> for my $child($node->get_Descendents){
>> print "child:", $child->id, "", $child->branch_length, " ";
>> }
>> print "\n";
>> }
>> }
>>
>> Any ideas? I want to read a tree and mainly get the
>> duplication events.
>> Could someone help me?
>>
>> Thanks a lot,
>>
>> Chrysanthi
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
> --
> ===========================================================
> : Hilmar Lapp -:- Durham, NC -:- hlapp at gmx dot net :
> ===========================================================
>
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
More information about the Bioperl-l
mailing list