int iend = sq.findPosition(sqcol.getEndRes()); // see JAL-2526
List<SequenceFeature> sfs = sq.getFeatures().findFeatures(ist,
iend, featureType);
- if (!sfs.isEmpty())
- {
- nseq++;
- }
+ boolean overlap = false;
for (SequenceFeature sf : sfs)
{
// future functionality - featureType == null means mark columns
if (sfStartCol >= startPosition && sfStartCol <= endPosition)
{
bs.set(sfStartCol - 1);
+ overlap = true;
}
if (sfEndCol >= startPosition && sfEndCol <= endPosition)
{
bs.set(sfEndCol - 1);
+ overlap = true;
}
continue;
}
for (; sfStartCol <= sfEndCol; sfStartCol++)
{
bs.set(sfStartCol - 1); // convert to base 0
+ overlap = true;
}
}
}
+ if (overlap)
+ {
+ nseq++;
+ }
}
}
return nseq;