X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fdatamodel%2FContactMatrix.java;fp=src%2Fjalview%2Fdatamodel%2FContactMatrix.java;h=32fa5b1776f9f2e41e7180cefba0b5f1d16223f0;hb=01dd60b282ea075d333a5a875a00906b80e6ec69;hp=48b6e6b45b3476fc97548fbd3ad4bf47ada00b9d;hpb=14d26b884637cc550dcf383c5098a1142f7c8958;p=jalview.git diff --git a/src/jalview/datamodel/ContactMatrix.java b/src/jalview/datamodel/ContactMatrix.java index 48b6e6b..32fa5b1 100644 --- a/src/jalview/datamodel/ContactMatrix.java +++ b/src/jalview/datamodel/ContactMatrix.java @@ -1,17 +1,12 @@ package jalview.datamodel; -import java.awt.Color; -import java.math.BigInteger; import java.util.ArrayList; -import java.util.BitSet; -import java.util.HashMap; import java.util.List; -import java.util.Spliterator; import java.util.StringTokenizer; import jalview.bin.Console; -public abstract class ContactMatrix implements ContactMatrixI +public abstract class ContactMatrix extends GroupSetHolder implements ContactMatrixI { /** * are contacts reflexive ? @@ -107,26 +102,7 @@ public abstract class ContactMatrix implements ContactMatrixI @Override public double getContactAt(int column) { - List clist; - Float cl = null; - if (symmetric) - { - if (p < column) - { - clist = contacts.get(p); - cl = clist.get(column); - } - else - { - clist = contacts.get(column); - cl = clist.get(p); - } - } - else - { - clist = contacts.get(p); - cl = clist.get(column); - } + Float cl = getFloatElementAt(column, p); if (cl == null) { // return 0 not NaN ? @@ -136,7 +112,41 @@ public abstract class ContactMatrix implements ContactMatrixI } }); } - + private Float getFloatElementAt(int column, int p) + { + + List clist; + Float cl = null; + if (symmetric) + { + if (p < column) + { + clist = contacts.get(p); + cl = clist.get(column); + } + else + { + clist = contacts.get(column); + cl = clist.get(p); + } + } + else + { + clist = contacts.get(p); + cl = clist.get(column); + } + return cl; + } + @Override + public double getElementAt(int column, int row) + { + Float cl = getFloatElementAt(column, row); + if (cl!=null) + { + return cl; + } + throw(new RuntimeException("Out of Bounds "+column+","+row)); + } @Override public float getMin() { @@ -160,17 +170,6 @@ public abstract class ContactMatrix implements ContactMatrixI { return "Contact Matrix"; } - GroupSet grps = new GroupSet(); - @Override - public GroupSetI getGroupSet() - { - return grps; - } - @Override - public void setGroupSet(GroupSet makeGroups) - { - grps = makeGroups; - } public static String contactToFloatString(ContactMatrixI cm) { StringBuilder sb = new StringBuilder();