Bioperl: Bio::Species.pm: fixed bug #226
Hilmar Lapp
hlapp@gmx.net
Sat, 06 May 2000 21:39:12 +0200
Hello all,
as encouraged by Jason, Ewan, and James, I've corrected the bug in Species.pm
mentioned in report #226, so far only on branch-06.
The fix involved a couple of changes, most noticeably a change of what
Bio::Species->classification() is expecting now when it is passed an argument.
The reason is that now all methods consistently access the same array, except
for common_name(). Bio::SeqIO::genbank.pm and Bio::SeqIO::embl.pm already
behaved as if Species.pm worked the way it does now, which triggered the bug.
See the doc quote at the end.
I'm wondering whether there's a point in fixing the main branch as well
immediately. A diff of Species.pm to the main-branch version showed a few
other, but minor, differences, which I think were not introduced by me. So it
seems to me that the two branches are not necessarily kept sync'ed even if the
changes do not introduce API changes or new features etc. Could someone let me
know whether I shall fix the main branch as well.
Regarding design, I have the impression that Bio::Species rather encapsulates
the source of a sequence (therefore the organelle() method) than a species
only, and that's exactly the point of interest with respect to seqs (like
organ, tissue, library etc). So, intuitively I'd call it something like
Bio::SeqSource or Bio::IsolationSource. Does anyone see a point in this? I
have no idea how much attention the list community pays to such issues, so
maybe someone can give me an idea whether this is just stupid and you leave
such things to the OO/Corba/Java domain.
In addition, Jason advised me to post these things (bug-fixes, discussion
stuff) here, but maybe I've misunderstood him and I'm too technical for this
list. If so, please let me know, I'm new to all this.
Cheers,
Hilmar
Quoted from the updated documention:
=head2 classification
Title : classification
Usage : $self->classification(@class_array);
@classification = $self->classification();
Function: Fills or returns the classifcation list in
the object. The array provided must be in
the order SUBSPECIES, SPECIES, GENUS ---> KINGDOM.
The first and second element of the array, the subspecies and
species, must be in lower case, and the rest in title
case. Only species must be present.
Note that the format convention given above has changed after
release 0.60. Formerly, SUBSPECIES was not necessary. In order to
break as few scripts as possible, the method tries to recognize
whether or not the subspecies is provided, given that the rest
is given in correct case. This is the reason that the example given
below is still valid.
Example : $obj->classification(qw( sapiens Homo Hominidae
Catarrhini Primates Eutheria Mammalia Vertebrata
Chordata Metazoa Eukaryota));
Returns : Classification array
Args : Classification array
=cut
--
-----------------------------------------------------------------------
Hilmar Lapp email: hlapp@gmx.net
NFI Vienna, IFD/Bioinformatics phone: +43 1 86634 631
A-1235 Vienna fax: +43 1 86634 727
ROI: Bioinformatics (arrays, expression, seqs), Programming, Databases,
Mountain Biking (hard tail, hard fork: feel the trail)
-----------------------------------------------------------------------
=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://bio.perl.org/
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
====================================================================