private void formDisulfideBond(SSBondImpl disulfideBond) {
try {
Map<Integer, Atom> a = getAtomFromRecord("SG", "", "CYS",
disulfideBond.getChainID1(), disulfideBond.getResnum1(),
disulfideBond.getInsCode1());
Map<Integer, Atom> b = getAtomFromRecord("SG", "", "CYS",
disulfideBond.getChainID2(), disulfideBond.getResnum2(),
disulfideBond.getInsCode2());
for(int i=0; i<structure.nrModels(); i++){
if(a.containsKey(i) && b.containsKey(i)){
if(!a.get(i).equals(b.get(i))){
Bond ssbond = new BondImpl(a.get(i), b.get(i), 1);
structure.addSSBond(ssbond);
}
}
}
} catch (StructureException e) {
if (! params.isParseCAOnly()) {
logger.warn("Could not find atoms specified in SSBOND record: {}",disulfideBond.toString());
} else {
logger.debug("Could not find atoms specified in SSBOND record while parsing in parseCAonly mode.");
}
}
}