+ StringBuilder command = new StringBuilder(256);
+ // command.append("set spinFps 10;\n");
+
+ for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++)
+ {
+ if (pdbfnum == refStructure || selcom[pdbfnum] == null
+ || selcom[refStructure] == null)
+ {
+ continue;
+ }
+ command.append("echo ");
+ command.append("\"Superposing (");
+ command.append(structures[pdbfnum].pdbId);
+ command.append(") against reference (");
+ command.append(structures[refStructure].pdbId);
+ command.append(")\";\ncompare " + nSeconds);
+ command.append("{");
+ command.append(Integer.toString(1 + pdbfnum));
+ command.append(".1} {");
+ command.append(Integer.toString(1 + refStructure));
+ // conformation=1 excludes alternate locations for CA (JAL-1757)
+ command.append(".1} SUBSET {(*.CA | *.P) and conformation=1} ATOMS ");
+
+ // for (int s = 0; s < 2; s++)
+ // {
+ // command.append(selcom[(s == 0 ? pdbfnum : refStructure)]);
+ // }
+ command.append(selcom[pdbfnum]);
+ command.append(selcom[refStructure]);
+ command.append(" ROTATE TRANSLATE;\n");
+ }
+ if (selectioncom.length() > 0)
+ {
+ // TODO is performing selectioncom redundant here? is done later on
+ // System.out.println("Select regions:\n" + selectioncom.toString());
+ evalStateCommand("select *; cartoons off; backbone; select ("
+ + selectioncom.toString() + "); cartoons; ");
+ // selcom.append("; ribbons; ");
+ String cmdString = command.toString();
+ // System.out.println("Superimpose command(s):\n" + cmdString);
+
+ evalStateCommand(cmdString);
+ }
+ }
+ if (selectioncom.length() > 0)
+ {// finally, mark all regions that were superposed.
+ if (selectioncom.substring(selectioncom.length() - 1).equals("|"))
+ {
+ selectioncom.setLength(selectioncom.length() - 1);
+ }
+ // System.out.println("Select regions:\n" + selectioncom.toString());
+ evalStateCommand("select *; cartoons off; backbone; select ("
+ + selectioncom.toString() + "); cartoons; ");
+ // evalStateCommand("select *; backbone; select "+selcom.toString()+"; cartoons; center "+selcom.toString());