From 0d6e36143a2d7471edb7ef386d0b79095e0cd63e Mon Sep 17 00:00:00 2001 From: amwaterhouse <Andrew Waterhouse> Date: Fri, 21 Jul 2006 08:45:54 +0000 Subject: [PATCH] DBRefs now array --- src/jalview/io/DBRefFetcher.java | 6 +++--- src/jalview/io/DasSequenceFeatureFetcher.java | 19 ++++++++----------- src/jalview/io/ModellerDescription.java | 12 +++++------- src/jalview/io/WSWUBlastClient.java | 5 ++--- src/jalview/util/DBRefUtils.java | 21 ++++++++++++++------- 5 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/jalview/io/DBRefFetcher.java b/src/jalview/io/DBRefFetcher.java index 4488d02..01e67cf 100644 --- a/src/jalview/io/DBRefFetcher.java +++ b/src/jalview/io/DBRefFetcher.java @@ -135,13 +135,13 @@ public class DBRefFetcher implements Runnable seqIndex++, i++) { Sequence sequence = (Sequence) sequences.get(seqIndex); - Vector uprefs = jalview.util.DBRefUtils.selectRefs(sequence.getDBRef(), new String[] { + DBRefEntry [] uprefs = jalview.util.DBRefUtils.selectRefs(sequence.getDBRef(), new String[] { jalview.datamodel.DBRefSource.UNIPROT}); if (uprefs!=null) { // we know the id for this entry, so don't note its ID in the unknownSequences list - for (int j=0,k=uprefs.size(); j<k; j++) - ids.add(((DBRefEntry) uprefs.get(j)).getAccessionId()); + for (int j=0,k=uprefs.length; j<k; j++) + ids.add(uprefs[j].getAccessionId()); unknownSequences.add(sequence); } else { if (!ids.contains(sequence.getName())) diff --git a/src/jalview/io/DasSequenceFeatureFetcher.java b/src/jalview/io/DasSequenceFeatureFetcher.java index b4dd1f6..1d63e5b 100755 --- a/src/jalview/io/DasSequenceFeatureFetcher.java +++ b/src/jalview/io/DasSequenceFeatureFetcher.java @@ -95,15 +95,14 @@ public class DasSequenceFeatureFetcher implements Runnable int refCount = 0; for(int i=0; i<sequences.length; i++) { - Vector dbref = sequences[i].getDBRef(); + DBRefEntry [] dbref = sequences[i].getDBRef(); if(dbref!=null) { - for(int j=0; j<dbref.size(); j++) + for(int j=0; j<dbref.length; j++) { - DBRefEntry entry = (DBRefEntry)dbref.elementAt(j); - System.out.println(entry.getSource() + System.out.println(dbref[j].getSource() +" "+jalview.datamodel.DBRefSource.UNIPROT); - if(entry.getSource() + if(dbref[j].getSource() .equals(jalview.datamodel.DBRefSource.UNIPROT)) { System.out.println("got a match"); @@ -344,7 +343,7 @@ public class DasSequenceFeatureFetcher implements Runnable int seqIndex = 0; while (seqIndex < sequences.length) { - Vector uprefs = jalview.util.DBRefUtils.selectRefs(sequences[seqIndex].getDBRef(), + DBRefEntry [] uprefs = jalview.util.DBRefUtils.selectRefs(sequences[seqIndex].getDBRef(), new String[] { jalview.datamodel.DBRefSource.PDB, jalview.datamodel.DBRefSource.UNIPROT}); @@ -356,15 +355,14 @@ public class DasSequenceFeatureFetcher implements Runnable if (uprefs != null) { // we know the id for this entry, so don't note its ID in the unknownSequences list - for (int j = 0; j < uprefs.size(); j++) + for (int j = 0; j < uprefs.length; j++) { // 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 org.biojava.dasobert.dasregistry.DasCoordinateSystem cs[] = dasSource.getCoordinateSystem(); for (int l=0; l<cs.length; l++) { - if (jalview.util.DBRefUtils.isDasCoordinateSystem(cs[l].getName(), (DBRefEntry) - uprefs.get(j))) + if (jalview.util.DBRefUtils.isDasCoordinateSystem(cs[l].getName(), uprefs[j])) { Cache.log.debug("Launched fetcher for coordinate system " + cs[l].getName()); @@ -372,8 +370,7 @@ public class DasSequenceFeatureFetcher implements Runnable createFeatureFetcher(sequences[seqIndex], dasSource.getUrl(), - ( (DBRefEntry) uprefs.get(j)). - getAccessionId(), + uprefs[j].getAccessionId(), dasSource.getNickname()); } } diff --git a/src/jalview/io/ModellerDescription.java b/src/jalview/io/ModellerDescription.java index 1e4f905..300a9ba 100755 --- a/src/jalview/io/ModellerDescription.java +++ b/src/jalview/io/ModellerDescription.java @@ -224,19 +224,17 @@ public class ModellerDescription if (seq.getDatasetSequence() != null && seq.getDatasetSequence().getDBRef() != null) { - Vector dbr = seq.getDatasetSequence().getDBRef(); + jalview.datamodel.DBRefEntry [] dbr = seq.getDatasetSequence().getDBRef(); int i, j; - for (i = 0, j = dbr.size(); i < j; i++) + for (i = 0, j = dbr.length; i < j; i++) { - jalview.datamodel.DBRefEntry dref = (jalview.datamodel.DBRefEntry) - dbr.elementAt(i); - if (dref != null) + if (dbr[i] != null) { // JBPNote PDB dbRefEntry needs properties to propagate onto ModellerField // JBPNote Need to get info from the user about whether the sequence is the one being modelled, or if it is a template. - if (dref.getSource().equals(jalview.datamodel.DBRefSource.PDB)) + if (dbr[i].getSource().equals(jalview.datamodel.DBRefSource.PDB)) { - fields.put(Fields[LOCALID], dref.getAccessionId()); + fields.put(Fields[LOCALID], dbr[i].getAccessionId()); t = 2; break; } diff --git a/src/jalview/io/WSWUBlastClient.java b/src/jalview/io/WSWUBlastClient.java index 391c9a8..782e0ed 100755 --- a/src/jalview/io/WSWUBlastClient.java +++ b/src/jalview/io/WSWUBlastClient.java @@ -163,14 +163,13 @@ public class WSWUBlastClient } } - Vector entries = oldseq.getDBRef(); + DBRefEntry [] entries = oldseq.getDBRef(); if (entries != null) { - DBRefEntry entry = (DBRefEntry) entries.elementAt(0); oldseq.addDBRef(new jalview.datamodel. DBRefEntry(jalview.datamodel.DBRefSource.UNIPROT, "0", - entry.getAccessionId())); + entries[0].getAccessionId())); } } } diff --git a/src/jalview/util/DBRefUtils.java b/src/jalview/util/DBRefUtils.java index 2f844da..d3788ea 100755 --- a/src/jalview/util/DBRefUtils.java +++ b/src/jalview/util/DBRefUtils.java @@ -4,6 +4,7 @@ import java.util.*; import jalview.datamodel.*; + public class DBRefUtils { /** @@ -15,23 +16,29 @@ 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; -- 1.7.10.2