X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FCrossRef.java;h=9e99c7ce67a1896733a7f9501a6ada649f813c70;hb=4aa5be109de9af01dc494c31c0189377f8874f4e;hp=9e69ca4c6f02d2a2f87725c93073349352ac0f3e;hpb=a5a70dd1efb0b9fdb539dbf6016d97dd962f6d0a;p=jalview.git 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; } } }