public void printEnergy() { System.out.println(); System.out.println("*****************"); System.out.println("* ENERGY *"); System.out.println("*****************"); for (Variable v1 : residues) { for (Instance i1 : v1.getInstances()) { for (Variable v2 : residues) { if (v1.equals(v2)) { continue; } for (Instance i2 : v2.getInstances()) { System.out.println(i1.toString() + ", " + i2.toString() + " " + bi.get(i1, i2)); } } } } }
public void printProtein() { System.out.println(); System.out.println("*****************"); System.out.println("* PROTEIN *"); System.out.println("*****************"); for (Variable v : residues) { System.out.println(v.toString()); for (Instance i : v.getInstances()) { System.out.println(" " + i.toString() + " with energy " + i.getEnergy()); } } System.out.println(); }
public void makeBiGr(WriteFile wr) { if (!checkBinary()) { System.out.println("Can't do binary graph cut, Systm isn't binary."); } else { sys.makeNF(); wr.writeln("REGULAR ENERGIES"); // binary for (Variable var1 : sys.getVars()) { for (Instance inst1 : var1.getInstances()) { for (Variable var2 : sys.getVars()) { if (var1.equals(var2)) continue; for (Instance inst2 : var2.getInstances()) { if (inst1.getLabel().equals("PROT") && inst2.getLabel().equals("PROT")) { wr.writeln( "(" + inst1.getName() + "_PROTONATED, " + inst2.getName() + "_PROTONATED) " + Math.round(sys.getBinary().get(inst1, inst2) * 10000.0) / 10000.0); } else if (inst1.getLabel().equals("PROT") && inst2.getLabel().equals("DEPROT")) { wr.writeln( "(" + inst1.getName() + "_PROTONATED, " + inst2.getName() + "_DEPROTONATED) " + Math.round(sys.getBinary().get(inst1, inst2) * 10000.0) / 10000.0); } else if (inst1.getLabel().equals("DEPROT") && inst2.getLabel().equals("PROT")) { wr.writeln( "(" + inst1.getName() + "_DEPROTONATED, " + inst2.getName() + "_PROTONATED) " + Math.round(sys.getBinary().get(inst1, inst2) * 10000.0) / 10000.0); } else if (inst1.getLabel().equals("DEPROT") && inst2.getLabel().equals("DEPROT")) { wr.writeln( "(" + inst1.getName() + "_DEPROTONATED, " + inst2.getName() + "_DEPROTONATED) " + Math.round(sys.getBinary().get(inst1, inst2) * 10000.0) / 10000.0); } } } } } // Set<Vector<Instance>> keys = sys.getBinary().keySet(); // for (Vector<Instance> key : keys){ // Instance key1 = key.get(0); // Instance key2 = key.get(1); // if (key1.getLabel().equals("PROT") && key2.getLabel().equals("PROT")){ // wr.writeln("("+key1.getName()+"_PROTONATED, "+key2.getName()+"_PROTONATED) // "+Math.round(sys.getBinary().get(key1, key2)*10000.0)/10000.0); // }else if (key1.getLabel().equals("PROT") && key2.getLabel().equals("DEPROT")){ // wr.writeln("("+key1.getName()+"_PROTONATED, "+key2.getName()+"_DEPROTONATED) // "+Math.round(sys.getBinary().get(key1, key2)*10000.0)/10000.0); // }else if (key1.getLabel().equals("DEPROT") && key2.getLabel().equals("PROT")){ // wr.writeln("("+key1.getName()+"_DEPROTONATED, "+key2.getName()+"_PROTONATED) // "+Math.round(sys.getBinary().get(key1, key2)*10000.0)/10000.0); // }else{ // wr.writeln("("+key1.getName()+"_DEPROTONATED, "+key2.getName()+"_DEPROTONATED) // "+Math.round(sys.getBinary().get(key1, key2)*10000.0)/10000.0); // } // } // unary for (Variable var : sys.getVars()) { for (Instance inst : var.getInstances()) { if (inst.getLabel().equals("PROT")) { wr.writeln( inst.getName() + "_PROTONATED " + Math.round(inst.getEnergy() * 10000.0) / 10000.0); } else if (inst.getLabel().equals("DEPROT")) { wr.writeln( inst.getName() + "_DEPROTONATED " + Math.round(inst.getEnergy() * 10000.0) / 10000.0); } else { wr.writeln( inst.toString() + "_OTHER " + Math.round(inst.getEnergy() * 10000.0) / 10000.0); } } } wr.writeln(); wr.writeln("NORMAL FORM ENERGIES"); // binary for (Variable var1 : sys.getVars()) { for (Instance inst1 : var1.getInstances()) { for (Variable var2 : sys.getVars()) { if (var1.equals(var2)) continue; for (Instance inst2 : var2.getInstances()) { if (inst1.getLabel().equals("PROT") && inst2.getLabel().equals("PROT")) { wr.writeln( "(" + inst1.getName() + "_PROTONATED, " + inst2.getName() + "_PROTONATED) " + Math.round(sys.getBinaryNF().get(inst1, inst2) * 10000.0) / 10000.0); } else if (inst1.getLabel().equals("PROT") && inst2.getLabel().equals("DEPROT")) { wr.writeln( "(" + inst1.getName() + "_PROTONATED, " + inst2.getName() + "_DEPROTONATED) " + Math.round(sys.getBinaryNF().get(inst1, inst2) * 10000.0) / 10000.0); } else if (inst1.getLabel().equals("DEPROT") && inst2.getLabel().equals("PROT")) { wr.writeln( "(" + inst1.getName() + "_DEPROTONATED, " + inst2.getName() + "_PROTONATED) " + Math.round(sys.getBinaryNF().get(inst1, inst2) * 10000.0) / 10000.0); } else if (inst1.getLabel().equals("DEPROT") && inst2.getLabel().equals("DEPROT")) { wr.writeln( "(" + inst1.getName() + "_DEPROTONATED, " + inst2.getName() + "_DEPROTONATED) " + Math.round(sys.getBinaryNF().get(inst1, inst2) * 10000.0) / 10000.0); } } } } } // Set<Vector<Instance>> keysNF = sys.getBinaryNF().keySet(); // for (Vector<Instance> key : keysNF){ // Instance key1 = key.get(0); // Instance key2 = key.get(1); // if (key1.getLabel().equals("PROT") && key2.getLabel().equals("PROT")){ // wr.writeln("("+key1.getName()+"_PROTONATED, "+key2.getName()+"_PROTONATED) // "+Math.round(sys.getBinaryNF().get(key1, key2)*10000.0)/10000.0); // }else if (key1.getLabel().equals("PROT") && key2.getLabel().equals("DEPROT")){ // wr.writeln("("+key1.getName()+"_PROTONATED, "+key2.getName()+"_DEPROTONATED) // "+Math.round(sys.getBinaryNF().get(key1, key2)*10000.0)/10000.0); // }else if (key1.getLabel().equals("DEPROT") && key2.getLabel().equals("PROT")){ // wr.writeln("("+key1.getName()+"_DEPROTONATED, "+key2.getName()+"_PROTONATED) // "+Math.round(sys.getBinaryNF().get(key1, key2)*10000.0)/10000.0); // }else{ // wr.writeln("("+key1.getName()+"_DEPROTONATED, "+key2.getName()+"_DEPROTONATED) // "+Math.round(sys.getBinaryNF().get(key1, key2)*10000.0)/10000.0); // } // } // unary for (Variable var : sys.getVars()) { for (Instance inst : var.getInstances()) { if (inst.getLabel().equals("PROT")) { wr.writeln( inst.getName() + "_PROTONATED " + Math.round(inst.getEnergyNF() * 10000.0) / 10000.0); } else if (inst.getLabel().equals("DEPROT")) { wr.writeln( inst.getName() + "_DEPROTONATED " + Math.round(inst.getEnergyNF() * 10000.0) / 10000.0); } else { wr.writeln( inst.toString() + "_OTHER " + Math.round(inst.getEnergyNF() * 10000.0) / 10000.0); } } } // constant wr.writeln( "Normalized constant energy: " + Math.round(sys.getConstantNF() * 10000.0) / 10000.0); sysBiGr = new BinaryGraph(sys, false, wr); } }