JAL-1191 added mRNA isA transcript to SequenceOntologyLite (because
[jalview.git] / src / jalview / ws / sifts / SiftsClient.java
index 0ab6e7d..f20954e 100644 (file)
@@ -29,6 +29,7 @@ import jalview.datamodel.SequenceI;
 import jalview.io.StructureFile;
 import jalview.schemes.ResidueProperties;
 import jalview.structure.StructureMapping;
+import jalview.util.DBRefUtils;
 import jalview.util.Format;
 import jalview.xml.binding.sifts.Entry;
 import jalview.xml.binding.sifts.Entry.Entity;
@@ -323,24 +324,25 @@ public class SiftsClient implements SiftsClientI
   public DBRefEntryI getValidSourceDBRef(SequenceI seq)
           throws SiftsException
   {
-    DBRefEntry[] dbRefs = seq.getDBRefs();
-    if (dbRefs == null || dbRefs.length < 1)
+    List<DBRefEntry> dbRefs = seq.getPrimaryDBRefs();
+    if (dbRefs == null || dbRefs.size() < 1)
     {
       throw new SiftsException(
               "Source DBRef could not be determined. DBRefs might not have been retrieved.");
     }
 
-    for (DBRefEntryI dbRef : dbRefs)
+    for (DBRefEntry dbRef : dbRefs)
     {
       if (dbRef == null || dbRef.getAccessionId() == null
               || dbRef.getSource() == null)
       {
         continue;
       }
+      String canonicalSource = DBRefUtils.getCanonicalName(dbRef
+              .getSource());
       if (isValidDBRefEntry(dbRef)
-              && dbRef.isPrimary()
-              && (dbRef.getSource().equalsIgnoreCase(DBRefSource.UNIPROT) || dbRef
-                      .getSource().equalsIgnoreCase(DBRefSource.PDB)))
+              && (canonicalSource.equalsIgnoreCase(DBRefSource.UNIPROT) || canonicalSource
+                      .equalsIgnoreCase(DBRefSource.PDB)))
       {
         return dbRef;
       }