"N": 1, "H": 1, "HN": 1, "H1": 1, "H2": 1, "H3": 1, "CA": 1, "HA": 1, "HA1": 1, "HA2": 1, "HA3": 1, } backBoneNucleicAtomDict = {"P": 1, "O3'": 1, "C3'": 1, "C4'": 1, "C5'": 1, "O5'": 1} # skipping 'backbone protons' NterminalProteinAtomDict = NTdict() NterminalProteinAtomDict.appendFromList("H1 H2 H3 H' H''".split()) # watch out; H1 does occur in nucleic acid bases. NterminalNucleicAtomDict = NTdict() NterminalNucleicAtomDict.appendFromList("HOP2 HOP3".split()) def isNterminalAtom(atmDef): """ Return True if atom belongs to N-terminal category. Needs to be called by valid atmDef or 0 will be returned. """ if atmDef is None or atmDef.residueDef is None: # Fixes 2ksi # nTdebug("%s called without atom/residue definition." % getCallerName()) return 0 if atmDef.residueDef.hasProperties("protein"): d = NterminalProteinAtomDict