+ jalview.bin.Cache.log.debug("Querying "\r
+ + dbsource.getDbName() + " with : '"\r
+ + queryString.toString() + "'");\r
+ }\r
+ retrieved = dbsource.getSequenceRecords(queryString\r
+ .toString());\r
+ } catch (Exception ex)\r
+ {\r
+ ex.printStackTrace();\r
+ } catch (OutOfMemoryError err)\r
+ {\r
+ new OOMWarning("retrieving database references ("\r
+ + queryString.toString() + ")", err);\r
+ }\r
+ if (retrieved != null)\r
+ {\r
+ transferReferences(sdataset, dbsource.getDbSource(), retrieved);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ // make some more strings for use as queries\r
+ for (int i = 0; (seqIndex < dataset.length) && (i < 50); seqIndex++, i++)\r
+ {\r
+ SequenceI sequence = dataset[seqIndex];\r
+ DBRefEntry[] uprefs = jalview.util.DBRefUtils.selectRefs(\r
+ sequence.getDBRef(), new String[]\r
+ { dbsource.getDbSource() }); // jalview.datamodel.DBRefSource.UNIPROT\r
+ // });\r
+ // check for existing dbrefs to use\r
+ if (uprefs != null && uprefs.length > 0)\r
+ {\r
+ for (int j = 0; j < uprefs.length; j++)\r
+ {\r
+ addSeqId(sequence, uprefs[j].getAccessionId());\r
+ queries.addElement(uprefs[j].getAccessionId()\r
+ .toUpperCase());\r
+ }\r
+ }\r
+ else\r
+ {\r
+ // generate queries from sequence ID string\r
+ StringTokenizer st = new StringTokenizer(\r
+ sequence.getName(), "|");\r
+ while (st.hasMoreTokens())\r
+ {\r
+ String token = st.nextToken();\r
+ UPEntry[] presp = null;\r
+ if (picrClient != null)\r
+ {\r
+ // resolve the string against PICR to recover valid IDs\r
+ try\r
+ {\r
+ presp = picrClient.getUPIForAccession(token, null,\r
+ picrClient.getMappedDatabaseNames(), null,\r
+ true);\r
+ } catch (Exception e)\r
+ {\r
+ System.err.println("Exception with Picr for '"\r
+ + token + "'\n");\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ if (presp != null && presp.length > 0)\r
+ {\r
+ for (int id = 0; id < presp.length; id++)\r
+ {\r
+ // construct sequences from response if sequences are\r
+ // present, and do a transferReferences\r
+ // otherwise transfer non sequence x-references directly.\r
+ }\r
+ System.out\r
+ .println("Validated ID against PICR... (for what its worth):"\r
+ + token);\r
+ addSeqId(sequence, token);\r
+ queries.addElement(token.toUpperCase());\r
+ }\r
+ else\r
+ {\r
+ // if ()\r
+ // System.out.println("Not querying source with token="+token+"\n");\r
+ addSeqId(sequence, token);\r
+ queries.addElement(token.toUpperCase());\r
+ }\r
+ }\r