Code:
|
if values:
chainCodes = []
residueSeqIds = []
molSystemCodes = set(())
for residue in values:
chain = residue.chain
chainCodes.append(chain.code)
residueSeqIds.append(residue.seqId)
molSystemCodes.add(chain.molSystem.code)
if len(set(chainCodes)) == 1:
del chainCodes[1:]
if len(molSystemCodes) == 1:
wasOverride = self.root.override
self.root.override = True
try:
self.chainCodes = chainCodes
self.molSystemCode = molSystemCodes.pop()
self.residueSeqIds = residueSeqIds
finally:
self.root.override = wasOverride
else:
raise ApiError("Residues are from different MolSystems: %s" % values)
else:
raise ApiError("Residues can not be set to empty")
|