[Bioperl-l] Failed tests for FeatureIO
Chris Fields
cjfields at uiuc.edu
Mon Sep 25 15:19:37 UTC 2006
Torsten, Sendu,
Sendu's fix makes sense; if I just iterate through the lines of
test.ptt using $self->readline() using a while loop, this is what I
get for the first lines:
Leptospira interrogans serovar Lai str. 56601 chromosome II, complete
sequence - 0..358943
g protein
46207..47850 + 547 24217118 batD LB057
- - BatD
47847..49670 + 607 24217119 htpG2 LB058
- COG0326O heat shock protein 90
....
It skipped a ton of lines. The combination of the mode() bug and
_readline() did it.
Chris
On Sep 25, 2006, at 10:02 AM, Sendu Bala wrote:
> Torsten Seemann wrote:
>> Chris,
>>
>>> I am getting failed tests for FeatureIO.t on make test using
>>> bioperl-
>>> live on Mac OS X (10.4.7, perl 5.8.6):
>>> pyr:~/src/bioperl-live cjfields$ perl -I. -w t/FeatureIO.t
>>> ------------- EXCEPTION: Bio::Root::Exception -------------
>>> MSG: Invalid protein count
>>> STACK: Error::throw
>>> STACK: Bio::Root::Root::throw Bio/Root/Root.pm:331
>>> STACK: Bio::FeatureIO::ptt::_initialize Bio/FeatureIO/ptt.pm:147
>>> STACK: Bio::FeatureIO::new Bio/FeatureIO.pm:266
>>> STACK: Bio::FeatureIO::new Bio/FeatureIO.pm:286
>>> STACK: t/FeatureIO.t:189
>>> -----------------------------------------------------------
>>
>> Hmmm, I committed that module last week. I just did a fresh
>> complete checkout
>> of current CVS, and all the tests pass fine for me on Linux 2.6 +
>> Perl 5.8.5 ?
>
> The problem is your use of Bio::Root::IO::mode. Your's is the only
> module in bioperl that seems to use it, and for good reason: it was
> broken. I've fixed it and tested under Linux and Mac OS X, not tried
> Windows but hopefully that's ok too.
>
> (Briefly, mode() would call IO::Handle::getline which would return a
> seemingly random (but consistent per platform) line from the file, and
> then mode() would happily push that random line into the buffer.
> Worse,
> under Mac OS X, getlines() would leave Root::IO's filehandle at the
> point after that random line, so all subsequent _readline's would be
> from the wrong point in the file)
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
Christopher Fields
Postdoctoral Researcher
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign
More information about the Bioperl-l
mailing list