/** * Assign asym ids following the rules used by the PDB to assign asym ids in mmCIF files * @param polys * @param nonPolys * @param waters */ private void assignAsymIds(List<List<Chain>> polys, List<List<Chain>> nonPolys, List<List<Chain>> waters) { for (int i=0; i<polys.size(); i++) { String asymId = "A"; for (Chain poly:polys.get(i)) { poly.setId(asymId); asymId = getNextAsymId(asymId); } for (Chain nonPoly:nonPolys.get(i)) { nonPoly.setId(asymId); asymId = getNextAsymId(asymId); } for (Chain water:waters.get(i)) { water.setId(asymId); asymId = getNextAsymId(asymId); } } }