Skip Menu |

This queue is for tickets about the Graph CPAN distribution.

Report information
The Basics
Id: 17108
Status: resolved
Priority: 0/
Queue: Graph

People
Owner: Nobody in particular
Requestors: osborne1 [...] optonline.net
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.69
Fixed in: (no value)



Subject: Nodes appear to unblessed after using articulation_points()
Jarkko, Very, very useful package, thank you. I'm a Bioperl contributor and I'm using Graph to examine biological networks. Unfortunately I'm not a "real" programmer, so I may not be describing the problem perfectly. I use Graph::Undirected, and I create graphs where each node is a Bioperl Bio::Seq::RichSeq object. For example, $n: main::(t/psi_xml.t:58): my $n = $g1->nodes_by_id('O24853'); DB<2> main::(t/psi_xml.t:59): ok $n->species->binomial,"Helicobacter pylori 26695"; DB<2> x $n 0 Bio::Seq::RichSeq=HASH(0x1cdb72c) '_annotation' => Bio::Annotation::Collection=HASH(0x1cda3c8) '_annotation' => HASH(0x1cdae9c) 'dblink' => ARRAY(0x1cdb07c) 0 Bio::Annotation::DBLink=HASH(0x1cda4b8) '_root_verbose' => 0 'database' => 'PIR' 'primary_id' => 'A64520' 'tagname' => 'dblink' 1 Bio::Annotation::DBLink=HASH(0x1cdaecc) '_root_verbose' => 0 'database' => 'psixml' 'primary_id' => 'G_2' 'tagname' => 'dblink' 2 Bio::Annotation::DBLink=HASH(0x1cdaf5c) <much more deleted here> However, in the very same *t file, here's what happens when I use articulation_points: main::(t/psi_xml.t:61): my @rts = $g1->articulation_points; DB<3> main::(t/psi_xml.t:62): ok scalar @rts,1; DB<3> ok 9 main::(t/psi_xml.t:63): ok $rts[0]->primary_seq->desc,"hypothetical HP001"; # same as $n above DB<3> x $rts[0] 0 'Bio::Seq::RichSeq=HASH(0x1cdb72c)' DB<4> Notice how Bio::Seq::RichSeq=HASH(0x1cdb72c) is singly quoted above. Also notice that both nodes have the same memory address, that's by design in the *t file to prove that's there nothing wrong with the node itself. The difference is that this last one, above, is empty and can't access its methods: DB<4> n Can't locate object method "primary_seq" via package "Bio::Seq::RichSeq=HASH(0x1cdb72c)" (perhaps you forgot to load "Bio::Seq::RichSeq=HASH(0x1cdb72c)"?) at t/psi_xml.t line 63. at t/psi_xml.t line 63 ok 10 # skip Missing dependencies. Skipping tests ok 11 # skip Missing dependencies. Skipping tests ok 12 # skip Missing dependencies. Skipping tests ok 13 # skip Missing dependencies. Skipping tests Debugged program terminated. Use q to quit or R to restart, use O inhibit_exit to avoid stopping after program termination, h q, h R or h O to get additional info. The t script clearly has loaded Bio::Seq::RichSeq since I've used its method just a few lines earlier. Also, it's exactly the same node but the last "incarnation" of the node is stripped, somehow. I should mention that although I subclass Graph to make ProteinGraph I have not touched the articulation_points method. Unfortunately if you can't see this bug yourself using your own script it's going to be difficult for you to reproduce it, it requires Bioperl as well as some modules in development that exist only on this machine. 103 ~>perl -v This is perl, v5.8.6 built for darwin-thread-multi-2level (with 2 registered patches, see perl -V for more detail) Mac OS 10.4.4 Thanks again, Brian O.