X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fensembl%2FEnsemblSeqProxy.java;fp=src%2Fjalview%2Fext%2Fensembl%2FEnsemblSeqProxy.java;h=8698b78bdb75acb09837ece49adfdfa70aaf0847;hb=a9f0472fe6fd4737b47d7955d198e76923e6aabc;hp=cbeaae941c92cd0dc68e7c27284a93e673822888;hpb=7e8ed915e35f83bad3f438a2d814a84678296a33;p=jalview.git diff --git a/src/jalview/ext/ensembl/EnsemblSeqProxy.java b/src/jalview/ext/ensembl/EnsemblSeqProxy.java index cbeaae9..8698b78 100644 --- a/src/jalview/ext/ensembl/EnsemblSeqProxy.java +++ b/src/jalview/ext/ensembl/EnsemblSeqProxy.java @@ -265,6 +265,8 @@ public abstract class EnsemblSeqProxy extends EnsemblRestClient proteinSeq.createDatasetSequence(); querySeq.createDatasetSequence(); + getProteinCrossReferences(proteinSeq); + MapList mapList = mapCdsToProtein(querySeq, proteinSeq); if (mapList != null) { @@ -288,6 +290,29 @@ public abstract class EnsemblSeqProxy extends EnsemblRestClient } /** + * Get Uniprot and PDB xrefs from Ensembl, and attach them to the protein + * sequence + * + * @param proteinSeq + */ + protected void getProteinCrossReferences(SequenceI proteinSeq) + { + while (proteinSeq.getDatasetSequence() != null) + { + proteinSeq = proteinSeq.getDatasetSequence(); + } + + EnsemblXref xrefFetcher = new EnsemblXref(); + List xrefs = xrefFetcher.getCrossReferences( + proteinSeq.getName(), "PDB", "Uniprot/SPTREMBL", + "Uniprot/SWISSPROT"); + for (DBRefEntry xref : xrefs) + { + proteinSeq.addDBRef(xref); + } + } + + /** * Returns a mapping from dna to protein by inspecting sequence features of * type "CDS" on the dna. *