[Owl-devel] Uniprot entries and mapping to Pdb structures

Jose M. Duarte jose.m.duarte at gmail.com
Tue Apr 27 12:11:06 EDT 2010

Hi Henning

Sorry I should have mentioned some of the things I've been doing. First of
all just to say this is all work in progress, so none of the things I commit
have to be taken as they are so anybody please feel free to modify things.

Ok the questions one by one, I'll see if I can answer:

- For the classes that implement some interface, you had @Override
> annotations for all implemented methods (I guess your Eclipse is doing
> that automatically). For some reason, my Eclipse is giving me
> compilation errors (not even warning) and asks me to remove the
> annotations. Do you have an idea why that could be happening? Do you
> get warnings for missing annotations when you check out my latest
> changes? (I have seen something like this happening)

Yes I've seen this kind of problems too. I get no warnings here at all.
Could you check if you are using a 1.6 compliant level for the compilation?
(I have 1.6 here and I'd say it's a good idea to keep it 1.6 compliant as
1.6 has been out for quite a while). Go to Window-> Preferences-> Java->
Compiler-> JDK compliance. Other than that it could only be the version of
eclipse (I'm using 3.5.2). Let me know what you find.

> - Your UniprotHomolog is using a local standalone blast database,
> right? So you will have to use formatdb and make sure that you use a
> current Uniprot DB. Apart from the effort to create that DB, that is
> actually nice, because the results will be reproducable. I had been
> using the Uniprot Java API which can also do blasting against the
> online Uniprot (mutanom.UniprotConnection). This is nice but the
> results change with every Uniprot update, which is sometimes not
> optimal.The reason why I havn't moved UniprotConnection to OWL yet was
> that it requies lots of external jars to function properly and I was
> hesitating whether it's worth it. Eventuelly we should probably move
> it there. What are you using currently to retrieve the actual Uniprot
> entries identified with blast? The perfect solution would be a class
> which can use both online and offline Uniprot versions so you can
> switch depending on the purpose. Maybe even parsing Uniprot text
> format would do. Any success on that?
Ok sorry I should have told you what I've been doing here. I did already
commit your UniprotConnection class with all its dependencies... I thought
it was really nice and it was a pity not to have it in (and I needed exactly
that for the project I'm working on ;-) ). So basically I'm using it to
retrieve Uniprot info and even I put a new method in to read multiple
entries (provided in the API). What I didn't do was redirect your
structuralimpact code to the new class in owl.

What I'm then doing is using this UniprotHomolog to store sequence and
related data (at the moment blast hit, taxonomy id, associated embl cds
sequences, uniprot ids). I need local blast for this because it's a lot of
queries that I'm doing. Then I use your UniprotConnection to get related
data like the EMBL CDS identifiers or the taxonomy id. The name
UniprotHomolog was the best I could come up with.

Another thing I commited is owl.core.connections.EmblWSDBfetchConnection
which is a web service that EMBL provides to get data using simple URLs. At
the moment you can retrieve with it Uniprot sequences or EMBL CDS sequences
(DNA coding sequences). I also use it in UniprotHomologList to retrieve the

> - The SiftsFeature for mapping Pdbs to Uniprot sequences is really
> nice. How do you get the mapping then? Shall we move my SiftsMapping
> class to OWL (maybe calling it SiftsConnection)?
Ok here as usual I'm working as I go along... The SiftsConnection class does
the parsing of the local/remote SIFTS file. Then it stores it all in a Map
in memory and you can then query it and it returns SiftsFeatures (which are
actually just mappings of pdb sequences to uniprot sequences, essentially
the same as your SiftsMappings class). Those you can then add to a Pdb (see
owl.tests.core.connections.SiftsConnectionTest for an example). I'm really
not sure whether SiftsFeature is an appropriate name for the mappings but
after giving it some thought that's the best solution I came up with. Please
feel free to restructure/refactor any of this if you have clearer ideas
about how to do it. (BTW perhaps SiftsFeature should belong in
owl.core.structure.features instead of owl.core.features)

> - Once you have selected the appropriate protein from your
> UniprotHomologs, do you have a UniprotEntry class which owns the
> SiftsFeatures? Otherwise shall we create one in owl.core.sequence?
No I don't but as I say I was really confused about how to structure all
this. All I'm doing now is adding SiftsFeatures directly to Pdbs, but I
haven't used that yet anyway. I guess if one would use it a lot more things
would be needed like an alignment to proper map pdb to uniprot and so on.
Ideas welcomed as usual.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.bioinformatics.org/pipermail/owl-devel/attachments/20100427/2b87227a/attachment.html>

More information about the Owl-devel mailing list