Bio::SeqIO and XML::DOM

InterProScan is an excellent tool to query the InterPro database with a protein sequence and return annotated features. It also returns XML which is useful in many ways, not least of which is that Bioperl’s Bio::SeqIO::interpro.pm can process it.

Allegedly.

Can't locate object method "findnodes" via package "XML::DOM::Document" at /usr/local/share/perl/5.8.7/Bio/SeqIO/interpro.pm line 136,  line 57.

After a thorough investigation of the many Perl XML modules, it turns out that the findnodes() method is part of XML::DOM::XPath. I installed this from CPAN but the error persisted, even though interpro.pm contains “use XML::DOM”. Finally I added “use XML::DOM::XPath” to my script, which does the trick.

Not sure whether this classes as a bug or is a consequence of the horror that is most peoples Perl XML module installation.

Update: a clean install of bioperl-1.5.2_102 seems to fix this problem; no requirement for XML::DOM::XPath

2 thoughts on “Bio::SeqIO and XML::DOM

  1. nsaunders Post author

    This seems to be fixed in the latest developer 1.5.2 release; the one that extracts to a directory with a “102” suffix. Previously I was using the “101”.

Comments are closed.