From: jprocter Date: Fri, 12 Jun 2009 15:46:22 +0000 (+0000) Subject: reinstated blind querying of datasources. Transfer references to alignment from Map... X-Git-Tag: Release_2_5~272 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=37c97b109c3a03f4640bce3855069f8ad8e17123;p=jalview.git reinstated blind querying of datasources. Transfer references to alignment from Map.To sequences on retrieved entries (e.g. protein product from EMBLCDS record) --- diff --git a/src/jalview/ws/DBRefFetcher.java b/src/jalview/ws/DBRefFetcher.java index 5400d4e..4b7c07e 100644 --- a/src/jalview/ws/DBRefFetcher.java +++ b/src/jalview/ws/DBRefFetcher.java @@ -31,6 +31,7 @@ import jalview.gui.Desktop; import jalview.gui.IProgressIndicator; import jalview.gui.OOMWarning; +import java.lang.reflect.Array; import java.util.Enumeration; import java.util.Hashtable; import java.util.StringTokenizer; @@ -384,12 +385,14 @@ public class DBRefFetcher implements Runnable // construct sequences from response if sequences are present, and do a transferReferences // otherwise transfer non sequence x-references directly. } + System.out.println("Validated ID against PICR... (for what its worth):"+token); addSeqId(sequence, token); queries.addElement(token.toUpperCase()); } else { - System.out.println("Not querying source with token="+token+"\n"); - //addSeqId(sequence, token); - //queries.addElement(token.toUpperCase()); + //if () + //System.out.println("Not querying source with token="+token+"\n"); + addSeqId(sequence, token); + queries.addElement(token.toUpperCase()); } } } @@ -433,7 +436,7 @@ public class DBRefFetcher implements Runnable { return; } - SequenceI[] retrieved = retrievedAl.getSequencesArray(); + SequenceI[] retrieved = recoverDbSequences(retrievedAl.getSequencesArray()); SequenceI sequence = null; // Vector entries = new Uniprot().getUniprotEntries(file); @@ -600,4 +603,34 @@ public class DBRefFetcher implements Runnable } } } + + /** + * loop thru and collect additional sequences in Map. + * @param sequencesArray + * @return + */ + private SequenceI[] recoverDbSequences(SequenceI[] sequencesArray) + { + Vector nseq = new Vector(); + for (int i=0;sequencesArray!=null && i0) { + sequencesArray = new SequenceI[nseq.size()]; + nseq.toArray(sequencesArray); + } + return sequencesArray; + } }