import java.awt.Rectangle;
import java.io.File;
import java.io.IOException;
+import java.math.BigInteger;
import java.util.ArrayList;
+import java.util.BitSet;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import jalview.datamodel.ContactMatrixI;
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.GeneLocus;
+import jalview.datamodel.GroupSet;
import jalview.datamodel.HiddenSequences;
import jalview.datamodel.Mapping;
import jalview.datamodel.PDBEntry;
Assert.assertTrue(content.contains("\t1.")); // at least one element must be 1
float[][] vals = ContactMatrix.fromFloatStringToContacts(content, sq.getLength(), sq.getLength());
assertEquals(vals[3][4],paevals[3][4]);
- dummyMat.makeGroups(0.5f, false);
+ dummyMat.setGroupSet(GroupSet.makeGroups(dummyMat,0.5f, false));
Assert.assertNotSame(dummyMat.getNewick(), "");
AlignmentAnnotation paeCm = sq.addContactList(dummyMat);
al.addAnnotation(paeCm);
+ // verify store/restore of group bitsets
+ for (BitSet gp:dummyMat.getGroups())
+ {
+ StringBuilder sb = new StringBuilder();
+ for (long val:gp.toLongArray())
+ {
+ if (sb.length()>0) {
+ sb.append(",");
+ }
+ sb.append(val);
+ }
+ String[] longvals = sb.toString().split(",");
+ long[] newlongvals = new long[longvals.length];
+ for (int lv=0;lv<longvals.length;lv++)
+ {
+ try {
+ newlongvals[lv]=Long.valueOf(longvals[lv]);
+ } catch (Exception x)
+ {
+ Assert.fail("failed to deserialise bitset element ");
+ }
+ }
+ BitSet newGp = BitSet.valueOf(newlongvals);
+ assertTrue(gp.equals(newGp));
+ }
+
File tfile = File.createTempFile("testStoreAndRecoverPAEmatrix",
".jvp");
new Jalview2XML(false).saveState(tfile);