stehr at molgen.mpg.de
Fri Mar 19 09:55:55 EDT 2010
> Ok I didn't realise that, of course one would need both: uniprot annotation
> and pdb to uniprot mapping.
The way I handle this is that all my features are properties of the
Uniprot sequence and if neccessary,
I convet to pdb coordinates using the alignment. You can see how it's
done in my Gene class.
Of course, Pdb objects could have features by themselves, such as
structural domains. Then you would have
to convert from Pdb to Uniprot coordinates if you need interaction
between the two.
> Now I've just had new idea. Could one use generics for the HasFeatures
> interface and then implement several of them, something like
> HasFeatures<UniprotFeature>, HasFeatures<StructuralDomainFeature> and so on.
> Can one do that kind of thing?
It's already implemented like that. An object implementing HasFeatures
will have a member
Map<FeatureType, Collection<Feature>> features;
which stores all the features for this object. The specific features
such as UniprotFeature implement the interface Feature.
We should really add an example implementation of this. But at least
we can reuse parts of this email for the documentation later.
> At some point we should really look for inspiration in other projects as Dan said :-)
That's alsways good. Bioperl and also Biojava make heavy use of
features. But for the moment I'm quite happy with our
lightweight feature implementation. For more fancy stuff like
graphical representation of features we will maybe have to
convert to Biojava features. Also have a look at DAS (biodas.org) if
you need inspiration.
More information about the Owl-devel