Bioperl: Accessing sequences via Bio::DB::SeqI

Mark Dalphin mdalphin@amgen.com
Mon, 01 May 2000 11:54:28 -0700


Thanks for the reply, Ewan.  I have a further naive quetion about the use of the
modules:

Following on from my earlier letter, I see now that Bio::DB::GenBank.pm ISA
RandomAccessI.pm and that SeqI.pm ISA a RandomAccessI.pm. And I understand your
design in making SeqI.pm a superset of RandomAccessI.pm.

Where I am stuck is in "Why is RandomAccessI.pm ISA RootI.pm?"  One needs to
eventiually inherit from a concrete class, I would think.  In that case, I would
think that RandomAccessI.pm ISA Bio::Root::Object.pm would make more sense.  Then one
could write:

    package Bio::DB::SeqStore;
    use Bio::DB::RandomAccessI.pm
    @ISA = qw(Bio::DB::RandomAccessI);    # I am a concrete example derived from this
abstract class

Now I can directly inherit 'new()' from the Bio::Root::Object, via the RandomAccessI

On the other hand, if RandomAccessI.pm ISA Bio::Root:RootI, then I need to _also_
add to the ISA Bio::Root::Object.  Doesn't this defeat the purpose of inheriting
here? (I see that this is what GenBank.pm does).

Mark

--
Mark Dalphin                          email: mdalphin@amgen.com
Mail Stop: 29-2-A                     phone: +1-805-447-4951 (work)
One Amgen Center Drive                       +1-805-375-0680 (home)
Thousand Oaks, CA 91320                 fax: +1-805-499-9955 (work)



=========== 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
====================================================================