X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2FDBRefFetcher.java;h=d531fea96622ee408002129bd8d4cc163749069d;hb=51f05d7903402a5dec8e915fbe5e49ce913d069a;hp=f5789ea5ee265f7ebe7d0c5e364527f101593a33;hpb=aced09c4feeaf3406269442c14e54abeeb4cad81;p=jalview.git diff --git a/src/jalview/ws/DBRefFetcher.java b/src/jalview/ws/DBRefFetcher.java index f5789ea..d531fea 100644 --- a/src/jalview/ws/DBRefFetcher.java +++ b/src/jalview/ws/DBRefFetcher.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -125,9 +125,13 @@ public class DBRefFetcher implements Runnable { alseqs[i] = seqs[i]; if (seqs[i].getDatasetSequence() != null) + { ds[i] = seqs[i].getDatasetSequence(); + } else + { ds[i] = seqs[i]; + } } this.dataset = ds; // TODO Jalview 2.5 lots of this code should be in the gui package! @@ -283,11 +287,14 @@ public class DBRefFetcher implements Runnable { if (dbSources == null) { - throw new Error(MessageManager.getString("error.implementation_error_must_init_dbsources")); + throw new Error( + MessageManager + .getString("error.implementation_error_must_init_dbsources")); } running = true; long startTime = System.currentTimeMillis(); - af.setProgressBar(MessageManager.getString("status.fetching_db_refs"), startTime); + af.setProgressBar(MessageManager.getString("status.fetching_db_refs"), + startTime); try { if (Cache.getDefault("DBREFFETCH_USEPICR", false)) @@ -393,8 +400,8 @@ public class DBRefFetcher implements Runnable { SequenceI sequence = dataset[seqIndex]; DBRefEntry[] uprefs = jalview.util.DBRefUtils.selectRefs( - sequence.getDBRef(), new String[] - { dbsource.getDbSource() }); // jalview.datamodel.DBRefSource.UNIPROT + sequence.getDBRef(), + new String[] { dbsource.getDbSource() }); // jalview.datamodel.DBRefSource.UNIPROT // }); // check for existing dbrefs to use if (uprefs != null && uprefs.length > 0) @@ -517,8 +524,7 @@ public class DBRefFetcher implements Runnable Vector sequenceMatches = new Vector(); // look for corresponding accession ids DBRefEntry[] entryRefs = jalview.util.DBRefUtils.selectRefs( - entry.getDBRef(), new String[] - { dbSource }); + entry.getDBRef(), new String[] { dbSource }); if (entryRefs == null) { System.err @@ -594,9 +600,9 @@ public class DBRefFetcher implements Runnable sequence.getSequenceAsString()).toUpperCase(); int absStart = entrySeq.indexOf(nonGapped); - int mapStart = entry.getStart(); - jalview.datamodel.Mapping mp; + Mapping mp; + final int sequenceStart = sequence.getStart(); if (absStart == -1) { // Is local sequence contained in dataset sequence? @@ -616,12 +622,10 @@ public class DBRefFetcher implements Runnable // absStart = 0; // create valid mapping between matching region of local sequence and // the mapped sequence - mp = new Mapping(null, new int[] - { sequence.getStart() + absStart, - sequence.getStart() + absStart + entrySeq.length() - 1 }, - new int[] - { entry.getStart(), - entry.getStart() + entrySeq.length() - 1 }, 1, 1); + mp = new Mapping(null, new int[] { sequenceStart + absStart, + sequenceStart + absStart + entrySeq.length() - 1 }, new int[] + { entry.getStart(), entry.getStart() + entrySeq.length() - 1 }, + 1, 1); updateRefFrame = false; // mapping is based on current start/end so // don't modify start and end } @@ -644,7 +648,7 @@ public class DBRefFetcher implements Runnable if (sequence.getSequenceFeatures() != null) { SequenceFeature[] sf = sequence.getSequenceFeatures(); - int start = sequence.getStart(); + int start = sequenceStart; int end = sequence.getEnd(); int startShift = 1 - absStart - start; // how much the features // are @@ -666,8 +670,8 @@ public class DBRefFetcher implements Runnable + " from " + dbSource + " sequence : " + entry.getName()); sequence.transferAnnotation(entry, mp); // unknownSequences.remove(sequence); - int absEnd = absStart + nonGapped.length(); - absStart += 1; + absStart += entry.getStart(); + int absEnd = absStart + nonGapped.length() - 1; if (!trimDatasetSeqs) { // insert full length sequence from record