seqIndex++, i++)\r
{\r
Sequence sequence = (Sequence) sequences.get(seqIndex);\r
- Vector uprefs = jalview.util.DBRefUtils.selectRefs(sequence.getDBRef(), new String[] {\r
+ DBRefEntry [] uprefs = jalview.util.DBRefUtils.selectRefs(sequence.getDBRef(), new String[] {\r
jalview.datamodel.DBRefSource.UNIPROT});\r
if (uprefs!=null)\r
{\r
// we know the id for this entry, so don't note its ID in the unknownSequences list\r
- for (int j=0,k=uprefs.size(); j<k; j++)\r
- ids.add(((DBRefEntry) uprefs.get(j)).getAccessionId());\r
+ for (int j=0,k=uprefs.length; j<k; j++)\r
+ ids.add(uprefs[j].getAccessionId());\r
unknownSequences.add(sequence);\r
} else {\r
if (!ids.contains(sequence.getName()))\r
int refCount = 0;\r
for(int i=0; i<sequences.length; i++)\r
{\r
- Vector dbref = sequences[i].getDBRef();\r
+ DBRefEntry [] dbref = sequences[i].getDBRef();\r
if(dbref!=null)\r
{\r
- for(int j=0; j<dbref.size(); j++)\r
+ for(int j=0; j<dbref.length; j++)\r
{\r
- DBRefEntry entry = (DBRefEntry)dbref.elementAt(j);\r
- System.out.println(entry.getSource()\r
+ System.out.println(dbref[j].getSource()\r
+" "+jalview.datamodel.DBRefSource.UNIPROT);\r
- if(entry.getSource()\r
+ if(dbref[j].getSource()\r
.equals(jalview.datamodel.DBRefSource.UNIPROT))\r
{\r
System.out.println("got a match");\r
int seqIndex = 0;\r
while (seqIndex < sequences.length)\r
{\r
- Vector uprefs = jalview.util.DBRefUtils.selectRefs(sequences[seqIndex].getDBRef(),\r
+ DBRefEntry [] uprefs = jalview.util.DBRefUtils.selectRefs(sequences[seqIndex].getDBRef(),\r
new String[] {\r
jalview.datamodel.DBRefSource.PDB,\r
jalview.datamodel.DBRefSource.UNIPROT});\r
if (uprefs != null)\r
{\r
// we know the id for this entry, so don't note its ID in the unknownSequences list\r
- for (int j = 0; j < uprefs.size(); j++)\r
+ for (int j = 0; j < uprefs.length; j++)\r
{\r
\r
// Will have to pass any mapping information to the fetcher - the start/end for the DBRefEntry may not be the same as the sequence's start/end\r
org.biojava.dasobert.dasregistry.DasCoordinateSystem cs[] = dasSource.getCoordinateSystem();\r
for (int l=0; l<cs.length; l++)\r
{\r
- if (jalview.util.DBRefUtils.isDasCoordinateSystem(cs[l].getName(), (DBRefEntry)\r
- uprefs.get(j)))\r
+ if (jalview.util.DBRefUtils.isDasCoordinateSystem(cs[l].getName(), uprefs[j]))\r
{\r
Cache.log.debug("Launched fetcher for coordinate system " +\r
cs[l].getName());\r
\r
createFeatureFetcher(sequences[seqIndex],\r
dasSource.getUrl(),\r
- ( (DBRefEntry) uprefs.get(j)).\r
- getAccessionId(),\r
+ uprefs[j].getAccessionId(),\r
dasSource.getNickname());\r
}\r
}\r
if (seq.getDatasetSequence() != null &&\r
seq.getDatasetSequence().getDBRef() != null)\r
{\r
- Vector dbr = seq.getDatasetSequence().getDBRef();\r
+ jalview.datamodel.DBRefEntry [] dbr = seq.getDatasetSequence().getDBRef();\r
int i, j;\r
- for (i = 0, j = dbr.size(); i < j; i++)\r
+ for (i = 0, j = dbr.length; i < j; i++)\r
{\r
- jalview.datamodel.DBRefEntry dref = (jalview.datamodel.DBRefEntry)\r
- dbr.elementAt(i);\r
- if (dref != null)\r
+ if (dbr[i] != null)\r
{\r
// JBPNote PDB dbRefEntry needs properties to propagate onto ModellerField\r
// JBPNote Need to get info from the user about whether the sequence is the one being modelled, or if it is a template.\r
- if (dref.getSource().equals(jalview.datamodel.DBRefSource.PDB))\r
+ if (dbr[i].getSource().equals(jalview.datamodel.DBRefSource.PDB))\r
{\r
- fields.put(Fields[LOCALID], dref.getAccessionId());\r
+ fields.put(Fields[LOCALID], dbr[i].getAccessionId());\r
t = 2;\r
break;\r
}\r
}\r
}\r
\r
- Vector entries = oldseq.getDBRef();\r
+ DBRefEntry [] entries = oldseq.getDBRef();\r
if (entries != null)\r
{\r
- DBRefEntry entry = (DBRefEntry) entries.elementAt(0);\r
oldseq.addDBRef(new jalview.datamodel.\r
DBRefEntry(jalview.datamodel.DBRefSource.UNIPROT,\r
"0",\r
- entry.getAccessionId()));\r
+ entries[0].getAccessionId()));\r
}\r
}\r
}\r
import jalview.datamodel.*;
+
public class DBRefUtils
{
/**
* @param sources String[] array of source DBRef IDs to retrieve
* @return Vector
*/
- public static Vector selectRefs(java.util.Vector dbrefs, String[] sources) {
+ public static DBRefEntry [] selectRefs(DBRefEntry [] dbrefs, String[] sources) {
if (dbrefs==null)
return null;
if (sources==null)
return dbrefs;
Hashtable srcs = new Hashtable();
Vector res=new Vector();
+
for (int i=0; i<sources.length; i++)
srcs.put(new String(sources[i]), new Integer(i));
- for (int i=0, j=dbrefs.size(); i<j; i++)
- if (dbrefs.get(i) instanceof jalview.datamodel.DBRefEntry) {
- jalview.datamodel.DBRefEntry entry = (jalview.datamodel.DBRefEntry) dbrefs.get(i);
- if (srcs.containsKey(entry.getSource()))
- res.add(entry);
+ for (int i = 0, j = dbrefs.length; i < j; i++)
+ {
+ if (srcs.containsKey(dbrefs[i].getSource()))
+ res.add(dbrefs[i]);
}
+
if (res.size()>0)
- return res;
+ {
+ DBRefEntry [] reply = new DBRefEntry[res.size()];
+ for(int i=0; i<res.size(); i++)
+ reply[i] = (DBRefEntry)res.elementAt(i);
+ return reply;
+ }
res = null;
// there are probable memory leaks in the hashtable!
return null;