X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FContactMatrix.java;h=48b6e6b45b3476fc97548fbd3ad4bf47ada00b9d;hb=ca160187a050f6d4e50158cd5b51f75c83a7179e;hp=65fd01caee2c3088d5dcfab7666d5c20d5c63ab5;hpb=9e40070f757fc662aba39ba6314be4937276ead4;p=jalview.git diff --git a/src/jalview/datamodel/ContactMatrix.java b/src/jalview/datamodel/ContactMatrix.java index 65fd01c..48b6e6b 100644 --- a/src/jalview/datamodel/ContactMatrix.java +++ b/src/jalview/datamodel/ContactMatrix.java @@ -160,67 +160,33 @@ public abstract class ContactMatrix implements ContactMatrixI { return "Contact Matrix"; } - List groups=null; + GroupSet grps = new GroupSet(); @Override - public void updateGroups(List colGroups) + public GroupSetI getGroupSet() { - groups = colGroups; - colorMap=new HashMap<>(); + return grps; } @Override - public boolean hasGroups() + public void setGroupSet(GroupSet makeGroups) { - return groups!=null && groups.size()>0; - } - @Override - public List getGroups() - { - return groups; - } - @Override - public BitSet getGroupsFor(int column) - { - for (BitSet gp:groups) { - if (gp.get(column)) - { - return gp; - } - } - return ContactMatrixI.super.getGroupsFor(column); - } - HashMap colorMap = new HashMap<>(); - @Override - public Color getColourForGroup(BitSet bs) - { - if (bs==null) { - return Color.white; - } - Color groupCol=colorMap.get(bs); - if (groupCol==null) - { - return Color.white; - } - return groupCol; - } - @Override - public void setColorForGroup(BitSet bs,Color color) - { - colorMap.put(bs,color); + grps = makeGroups; } public static String contactToFloatString(ContactMatrixI cm) { StringBuilder sb = new StringBuilder(); - for (int c=0;c0) { - sb.append('\t'); + for (int h = 0; h <= cl.getContactHeight(); h++) + { + if (sb.length() > 0) + { + sb.append('\t'); + } + sb.append(cl.getContactAt(h)); } - sb.append(cl.getContactAt(h)); - } } } return sb.toString(); @@ -230,29 +196,27 @@ public abstract class ContactMatrix implements ContactMatrixI int rows) { float[][] vals = new float[cols][rows]; - StringTokenizer tabsep = new StringTokenizer(values,""+'\t'); - int c=0,r=0; - + StringTokenizer tabsep = new StringTokenizer(values, "" + '\t'); + int c = 0, r = 0; while (tabsep.hasMoreTokens()) { double elem = Double.valueOf(tabsep.nextToken()); - vals[c][r++]=(float) elem; - if (r>=vals[c].length) + vals[c][r++] = (float) elem; + if (r >= vals[c].length) { - r=0; + r = 0; c++; } - if (c>=vals.length) + if (c >= vals.length) { - break; } } if (tabsep.hasMoreElements()) { - Console.warn("Ignoring additional elements for Float string to contact matrix parsing."); + Console.warn( + "Ignoring additional elements for Float string to contact matrix parsing."); } - return vals; } }