hello sorry to say I seem to have managed to balls up a project again: 'project invalid, please quit, fix and re-start: ccp.MolSystem.Residue.checkValid:constraint linking_and_descriptor_must_be_consistant_with_Atoms_ and_LinkEnds violated:' and the (impressively long) traceback is below. Any suggestions welcome. thanks, simon last xml element read: </_StorageUnit> parser state was: checking object validity ERROR loading xml ccp.MolSystem ccp/MolSystem.xml Error dereferencing link to Atom. key was: ['MS2', 'A', 1, 'C'] Error dereferencing atoms for object ccp.Nmr.AtomSet with (partial) key : [3538] last xml element read: </_StorageUnit> parser state was: setting links and multiattributes ERROR loading xml ccp.Nmr ccp/Nmr.xml Traceback (most recent call last): File "/home/simon/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/AnalysisGui.py", line 210, in ? main(filename, max_size, glDirect) File "/home/simon/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/AnalysisGui.py", line 104, in main top.initProject(project) File "/home/simon/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/AnalysisPopup.py", line 911, in initProject Analysis.initProject(self, project) File "/home/simon/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/Analysis.py", line 202, in initProject self.initResonances() File "/home/simon/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/Analysis.py", line 1028, in initResonances resonances = self.project.resonances File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/api/Implementation.py", line 17467, in getResonances otherStorage.load() File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/api/Implementation.py", line 8904, in load ioModule.load(stream, self.project) File "/home/simon/ccpnmr/ccpnmr1.0/python/ccp/xml/Nmr.py", line 113, in load return GeneralXmlIO.load(stream, mapping, parentObject) File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/format/xml/XmlIO.py", line 370, in load result = doLoad(stream, mapping, headObject) File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/format/xml/XmlIO.py", line 532, in doLoad loadDelayedData(objectDict, delayedLoadData) File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/format/xml/XmlIO.py", line 991, in loadDelayedData val = getByKey(clazz,fullKey) File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/general/Implementation.py", line 289, in getByKey value = current.__dict__[downlinks[ii]] or getattr(current,downlinks[ii]) File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/api/Implementation.py", line 14736, in getMolSystems otherStorage.load() File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/api/Implementation.py", line 8904, in load ioModule.load(stream, self.project) File "/home/simon/ccpnmr/ccpnmr1.0/python/ccp/xml/MolSystem.py", line 101, in load return GeneralXmlIO.load(stream, mapping, parentObject) File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/format/xml/XmlIO.py", line 374, in load result = doLoad(stream, mapping, headObject) File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/format/xml/XmlIO.py", line 567, in doLoad headObject.checkAllValid(checkPackage=packageName) File "/home/simon/ccpnmr/ccpnmr1.0/python/memops/api/Implementation.py", line 25158, in checkAllValid value.checkAllValid(complete) File "/home/simon/ccpnmr/ccpnmr1.0/python/ccp/api/MolSystem.py", line 10939, in checkAllValid value.checkAllValid(complete) File "/home/simon/ccpnmr/ccpnmr1.0/python/ccp/api/MolSystem.py", line 4949, in checkAllValid value.checkAllValid(complete) File "/home/simon/ccpnmr/ccpnmr1.0/python/ccp/api/MolSystem.py", line 17077, in checkAllValid self.checkValid(complete) File "/home/simon/ccpnmr/ccpnmr1.0/python/ccp/api/MolSystem.py", line 16516, in checkValid raise ApiError("%s.checkValid:" % self.qualifiedName + memops.general.Implementation.ApiError: ccp.MolSystem.Residue.checkValid:constraint linking_and_descriptor_must_be_consistent_with_Atoms_and_LinkEnds violated: >>>