package jalview.datamodel; import java.awt.Color; import java.util.Arrays; import java.util.BitSet; import java.util.List; public interface ContactMatrixI { ContactListI getContactList(int column); float getMin(); float getMax(); boolean hasReferenceSeq(); SequenceI getReferenceSeq(); String getAnnotDescr(); String getAnnotLabel(); /** * string indicating how the contactMatrix should be rendered - stored in * calcId * * @return */ String getType(); int getWidth(); int getHeight(); default boolean hasGroups() { return false; } default BitSet getGroupsFor(int column) { BitSet colbitset = new BitSet(); colbitset.set(column); return colbitset; } default List getGroups() { return Arrays.asList(); } default boolean hasTree() { return false; } /** * Newick representation of clustered matrix * * @return null unless hasTree is true */ default String getNewick() { return null; } default String getTreeMethod() { return null; } default boolean hasCutHeight() { return false; } default double getCutHeight() { return 0; } void updateGroups(List colGroups); void setColorForGroup(BitSet bs, Color color); default Color getColourForGroup(BitSet bs) { return Color.white; }; }