X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FCrossRefs.java;h=0f3f425e347c30fc8cd334f4f2e8b59bb56b48a6;hb=65675b2d016736f8ca4dfb2493863c4d53cec591;hp=7d0c263f056105b5d292b001503d4c71bc2b74ce;hpb=b21429180fdda3586d67b5d0f43c89d35b504be7;p=jalview.git diff --git a/src/jalview/analysis/CrossRefs.java b/src/jalview/analysis/CrossRefs.java index 7d0c263..0f3f425 100644 --- a/src/jalview/analysis/CrossRefs.java +++ b/src/jalview/analysis/CrossRefs.java @@ -49,6 +49,8 @@ public class CrossRefs List foundSeqs = new ArrayList(); AlignedCodonFrame mappings = new AlignedCodonFrame(); + List sourceRefs = new ArrayList(); + for (SequenceI seq : seqs) { if (dna != Comparison.isNucleotide(seq)) @@ -62,28 +64,27 @@ public class CrossRefs /* * get this sequence's dbrefs to source database (if any) */ - List sourceRefs = DBRefUtils.searchRefsForSource( + List seqSourceRefs = DBRefUtils.searchRefsForSource( seq.getDBRefs(), source); /* * first extract any mapped sequences from sourceRefs */ - findMappedDbrefs(seq, sourceRefs, foundSeqs, mappings); + findMappedDbrefs(seq, seqSourceRefs, foundSeqs, mappings); /* * for remaining sourceRefs, try to match a * complementary sequence in the dataset */ - findIndirectCrossReferences(seq, source, sourceRefs, dataset, + findIndirectCrossReferences(seq, source, seqSourceRefs, dataset, foundSeqs, mappings); - - /* - * fetch any remaining sourceRefs from the source database - */ - fetchCrossReferences(seq, sourceRefs, foundSeqs, mappings, dna, - dataset); } + /* + * fetch any remaining sourceRefs from the source database + */ + fetchCrossReferences(sourceRefs, foundSeqs, mappings, dna, dataset); + if (foundSeqs.isEmpty()) { return null;