X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAppJmol.java;h=f34045795285b3a1953fef129e4d9fac2190455b;hb=ccc0d91abe38690088a6050faba8ef66cde1f271;hp=5f1a70bcc1dbe1e5582e96ab974d015cda624b38;hpb=40ecea964afaaf404465d75873ec915b901117a3;p=jalview.git diff --git a/src/jalview/gui/AppJmol.java b/src/jalview/gui/AppJmol.java index 5f1a70b..f340457 100644 --- a/src/jalview/gui/AppJmol.java +++ b/src/jalview/gui/AppJmol.java @@ -33,7 +33,7 @@ import jalview.structure.*; import jalview.datamodel.PDBEntry; import jalview.io.*; import jalview.schemes.*; -import jalview.ws.EBIFetchClient; +import jalview.ws.ebi.EBIFetchClient; import org.jmol.api.*; import org.jmol.adapter.smarter.SmarterJmolAdapter; @@ -649,27 +649,33 @@ public synchronized void addSequence(SequenceI [] seq) StringBuffer command = new StringBuffer(); int lastPos = -1; - for (int s = 0; s < sequence.length; s++) + for (int sp,s = 0; s < sequence.length; s++) { for (int m = 0; m < mapping.length; m++) { if (mapping[m].getSequence() == sequence[s] - && ap.av.alignment.findIndex(sequence[s])>-1) + && (sp=ap.av.alignment.findIndex(sequence[s]))>-1) { - for (int r = 0; r < sequence[s].getLength(); r++) + SequenceI asp = ap.av.alignment.getSequenceAt(sp); + for (int r = 0; r < asp.getLength(); r++) { + // No mapping to gaps in sequence. + if (jalview.util.Comparison.isGap(asp.getCharAt(r))) + { + continue; + } int pos = mapping[m].getPDBResNum( - sequence[s].findPosition(r)); + asp.findPosition(r)); if (pos < 1 || pos==lastPos) continue; lastPos = pos; - Color col = sr.getResidueBoxColour(sequence[s], r); + Color col = sr.getResidueBoxColour(asp, r); if (showFeatures) - col = fr.findFeatureColour(col, sequence[s], r); + col = fr.findFeatureColour(col, asp, r); if (command.toString().endsWith(":" + mapping[m].getChain()+ ";color["