[Biopython-dev] about the SeqRecord and SeqFeature classes
Jose Blanca
jblanca at btc.upv.es
Tue Sep 23 12:40:24 UTC 2008
Hi:
I'm still interested on the design of the Sequence and Alignment classes. For
my work I need sequence classes with some extended features. I need a
SequenceWithQuality class and a Seq class capable of holding information
about features located in different regions of the sequence.
I could use SeqRecord for the sequence with features and extend Seq for the
SequenceWithQuality, but I have found some problems with this approach.
SeqRecord still doesn't have a __getitem__ method. Also, SeqRecord exposes the
implementation of the features collection, it's a public list. That I think
is a limitation. For instance, we could be interested in controlling if a the
feature added is inside the region covered by the sequence. We can't also ask
for features by their name or type.
I understand that keeping compatibility is paramount for BioPython and I share
that concern. I also understand that having two classes to do the same job is
not a nice thing. Nevertheless I have been thinking about these issues and I
have implemented a non-mutable sequence class with these ideas in mind. I
plan to use this implementation to write an Alignment class capable of
dealing with ESTs assemblies.
The most different aspect of this proposal and the code actually alive in
BioPython are the LocatableFeature and Location classes. LocatableFeature is
equivalent to SeqFeature, but while SeqFeature is mostly a struct with no
methods LocatableFeature has a __getitem__, __len__ and complement. Location
is inspired by the BioRange BioPerl class.
I would like to have equivalent functions in BioPython and I'm willing to help
in the adaptation the actual BioPython classes. I would appreciate to hear
your suggestions and criticisms about the classes that I'm sending.
Best regards,
Jose Blanca
P.D. In the tests files there is detailed information about how these classes
would work.
--
Jose M. Blanca Postigo
Instituto Universitario de Conservacion y
Mejora de la Agrodiversidad Valenciana (COMAV)
Universidad Politecnica de Valencia (UPV)
Edificio CPI (Ciudad Politecnica de la Innovacion), 8E
46022 Valencia (SPAIN)
Tlf.:+34-96-3877000 (ext 88473)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: biolib.tar.gz
Type: application/x-tgz
Size: 9873 bytes
Desc: not available
URL: <http://lists.open-bio.org/pipermail/biopython-dev/attachments/20080923/081e944a/attachment-0002.bin>
More information about the Biopython-dev
mailing list