X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSeqDistanceContactMatrix.java;h=f8fd750955d0861ca20606d3b4b6a7ea85ff7812;hb=d622d93ba5a3e596a4ea29bc1ba75bf2acacfdf0;hp=ee7de5ed66531d3a66dbf841224ecf3ec50a4529;hpb=3e88ca066c0cc12f1f1f4c63e9cd49e19586b2bd;p=jalview.git diff --git a/src/jalview/datamodel/SeqDistanceContactMatrix.java b/src/jalview/datamodel/SeqDistanceContactMatrix.java index ee7de5e..f8fd750 100644 --- a/src/jalview/datamodel/SeqDistanceContactMatrix.java +++ b/src/jalview/datamodel/SeqDistanceContactMatrix.java @@ -1,48 +1,68 @@ package jalview.datamodel; import java.awt.Color; +import java.util.BitSet; +import java.util.HashMap; +import java.util.List; +import jalview.util.MapList; +import jalview.ws.datamodel.alphafold.MappableContactMatrix; /** * Dummy contact matrix based on sequence distance * * @author jprocter * */ -public class SeqDistanceContactMatrix implements ContactMatrixI +public class SeqDistanceContactMatrix + extends MappableContactMatrix + implements ContactMatrixI { + private static final String SEQUENCE_DISTANCE = "SEQUENCE_DISTANCE"; private int width = 0; public SeqDistanceContactMatrix(int width) { this.width = width; } + + @Override + public float getMin() + { + return 0f; + } + + @Override + public float getMax() + { + return width; + } + @Override public ContactListI getContactList(final int column) { - if (column<0 || column >= width) + if (column < 0 || column >= width) { return null; } - return new ContactListI() { + return new ContactListImpl(new ContactListProviderI() + { + int p = column; - @Override - public Color getColorForScore(int column) - { - return jalview.util.ColorUtils.getGraduatedColour(Math.abs(column-p), 0, Color.white, width, Color.magenta); - } - @Override - public Color getColorForRange(int from_column, int to_column) - { - return jalview.util.ColorUtils.getGraduatedColour( - Math.abs(to_column + from_column - 2 * p) / 2, 0, Color.white, width, - Color.magenta); - } - @Override - public int getColumnWidth() - { - return 1; - } + // @Override + // public Color getColorForScore(int column) + // { + // return jalview.util.ColorUtils.getGraduatedColour(Math.abs(column-p), + // 0, Color.white, width, Color.magenta); + // } + // @Override + // public Color getColorForRange(int from_column, int to_column) + // { + // return jalview.util.ColorUtils.getGraduatedColour( + // Math.abs(to_column + from_column - 2 * p) / 2, 0, Color.white, width, + // Color.magenta); + // } + @Override public int getContactHeight() { @@ -51,11 +71,58 @@ public class SeqDistanceContactMatrix implements ContactMatrixI } @Override + public int getPosition() + { + return p; + } + + @Override public double getContactAt(int column) { return Math.abs(column - p); } - }; + }); } + @Override + public String getAnnotDescr() + { + return "Sequence distance matrix"; + } + + @Override + public String getAnnotLabel() + { + return "Sequence Distance"; + } + + @Override + public String getType() + { + return SEQUENCE_DISTANCE; + } + + @Override + public int getWidth() + { + return width; + } + + @Override + public int getHeight() + { + return width; + } + @Override + protected double getElementAt(int _column, int i) + { + return Math.abs(_column - i); + } + @Override + protected SeqDistanceContactMatrix newMappableContactMatrix( + SequenceI newRefSeq, MapList newFromMapList) + { + + return new SeqDistanceContactMatrix(width); + } }