From 4aa5be109de9af01dc494c31c0189377f8874f4e Mon Sep 17 00:00:00 2001 From: jprocter Date: Wed, 25 Jul 2007 17:17:56 +0000 Subject: [PATCH] fix crossRef retrieval so either protein OR nucleotide --- src/jalview/analysis/CrossRef.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/jalview/analysis/CrossRef.java b/src/jalview/analysis/CrossRef.java index 9e69ca4..9e99c7c 100644 --- a/src/jalview/analysis/CrossRef.java +++ b/src/jalview/analysis/CrossRef.java @@ -196,7 +196,7 @@ public class CrossRef { Vector rseqs = new Vector(); Alignment ral = null; - AlignedCodonFrame cf=new AlignedCodonFrame(dataset.getWidth()); // nominal width + AlignedCodonFrame cf=new AlignedCodonFrame(0); // nominal width for (int s = 0; s < seqs.length; s++) { SequenceI dss = seqs[s]; @@ -210,6 +210,7 @@ public class CrossRef { System.out.println("Attempting to find ds Xrefs refs."); DBRefEntry[] lrfs = CrossRef.findXDbRefs(!dna, seqs[s].getDBRef()); // less ambiguous would be a 'find primary dbRefEntry' method. + // filter for desired source xref here found = CrossRef.searchDatasetXrefs(dss, !dna, lrfs, dataset, rseqs, cf); } for (int r = 0; xrfs!=null && r < xrfs.length; r++) @@ -244,6 +245,8 @@ public class CrossRef if (dataset != null) { found = searchDataset(dss, xrfs[r], dataset, rseqs, cf); + if (found) + xrfs[r] = null; // we've recovered seqs for this one. } } } @@ -262,8 +265,8 @@ public class CrossRef for (int r = 0; r < xrfs.length; r++) { // filter out any irrelevant or irretrievable references - if ((source != null && !source.equals(xrfs[r].getSource())) - || !sftch.isFetchable(xrfs[r].getSource())) + if (xrfs[r]==null || ((source != null && !source.equals(xrfs[r].getSource())) + || !sftch.isFetchable(xrfs[r].getSource()))) { l--; xrfs[r] = null; @@ -347,10 +350,9 @@ public class CrossRef * * @param sequenceI * @param xrf - * @param dna * @param dataset * @param rseqs - * @param cf + * @param cf * @return true if sequences were found and added */ public static boolean searchDataset(SequenceI sequenceI, DBRefEntry xrf, @@ -422,10 +424,10 @@ public class CrossRef } } } + // TODO: add mapping between sequences if necessary + found = true; } - // TODO: add mapping between sequences if necessary - found = true; } } } -- 1.7.10.2