int lastPos = -1;
for (int s = 0; s < sequence.length; s++)
{
- for (int m = 0; m < mapping.length; m++)
+ for (int sp,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;
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["