Details
-
Type: Task
-
Status: Closed
-
Priority: Trivial
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 2.10.0
-
Component/s: data retrieval services
-
Labels:
Description
There is room for improvement/optimisation of Uniprot sequence fetcher.
I noticed that in order to construct an alignment the Uniprot sequence fetcher follows the process below after downloading a Uniprot xml and creating a UniprotEntry POJO from it:
- A Fasta StringBuffer containing the name and residues is created via constructSequenceFastaHeader(...)
- Then the StringBuffer is converted to String and parsed to a SequenceI instance via FormatAdapter().readFile(...);
- Finally, addUniprotXrefs(...) is called to add DBRefEntries to the retrieved Sequence(s)
- Also, I noticed dbrefs are stored as PDBRefEntry and later converted to DBRefEntry within the addUniprotXrefs(...) method
I suggest removing the methods constructSequenceFastaHeader(...) and addUniprotXrefs(...), and introducing a method toSequence() in UniportEntry which will create a SequenceI instance on the fly from the UniprotEntry members
I noticed that in order to construct an alignment the Uniprot sequence fetcher follows the process below after downloading a Uniprot xml and creating a UniprotEntry POJO from it:
- A Fasta StringBuffer containing the name and residues is created via constructSequenceFastaHeader(...)
- Then the StringBuffer is converted to String and parsed to a SequenceI instance via FormatAdapter().readFile(...);
- Finally, addUniprotXrefs(...) is called to add DBRefEntries to the retrieved Sequence(s)
- Also, I noticed dbrefs are stored as PDBRefEntry and later converted to DBRefEntry within the addUniprotXrefs(...) method
I suggest removing the methods constructSequenceFastaHeader(...) and addUniprotXrefs(...), and introducing a method toSequence() in UniportEntry which will create a SequenceI instance on the fly from the UniprotEntry members