import jalview.datamodel.Annotation;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.ContactListI;
+import jalview.datamodel.ContactMatrixI;
import jalview.datamodel.ContactRange;
import jalview.datamodel.HiddenColumns;
import jalview.renderer.api.AnnotationRowRendererI;
{
/**
* bean holding colours for shading
+ *
* @author jprocter
*
*/
* shown when no data available from map
*/
Color no_data;
+
/**
* shown for region not currently visible - should normally not see this
*/
Color hidden;
+
/**
* linear shading scheme min/max
*/
/**
* build an EBI-AlphaFold style renderer of PAE matrices
+ *
* @return
*/
public static ContactMapRenderer newPAERenderer()
int column;
int aaMax = aa_annotations.length - 1;
+ ContactMatrixI cm = viewport.getContactMatrix(_aa);
while (x < eRes - sRes)
{
column = sRes + x;
x++;
continue;
}
+ Color gpcol = (cm == null) ? Color.white
+ : cm.getColourForGroup(cm.getGroupsFor(column));
// feature still in development - highlight or omit regions hidden in
// the alignment - currently marks them as red rows
boolean maskHiddenCols = false;
{
col = shade.hidden;
}
+ if (gpcol != null && gpcol != Color.white)
+ {
+ // todo - could overlay group as a transparent rectangle ?
+ col = new Color(
+ (int) (((float) (col.getRed() + gpcol.getRed())) / 2f),
+ (int) (((float) (col.getGreen() + gpcol.getGreen()))
+ / 2f),
+ (int) (((float) (col.getBlue() + gpcol.getBlue())) / 2f));
+ }
g.setColor(col);
+
if (cgeom.pixels_step > 1)
{
g.fillRect(x * charWidth, ht, charWidth, 1 + cgeom.pixels_step);
Color shadeFor(float min, float max, float value)
{
- return jalview.util.ColorUtils.getGraduatedColour(value, 0, shade.minColor,
- max, shade.maxColor);
+ return jalview.util.ColorUtils.getGraduatedColour(value, 0,
+ shade.minColor, max, shade.maxColor);
}
public Color getColorForRange(float min, float max, ContactListI cl,