-
-
Save zeffii/c4955c4b4955b6de4518 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# lookup sidechain parents | |
def bondLookUp(atom, amac): | |
if atom in {"O", "OXT"}: | |
parent = ["C", C] | |
elif atom in {"CB", "HA", "HA2", "HA3"}: | |
parent = ["CA", C] | |
elif (atom == "SG" or "HB" in atom or "OG" in atom or "CG" in atom): | |
parent = ["CB", C] | |
elif atom in {"H", "H1", "H2", "H3"}: | |
parent = ["N", N] | |
elif atom == "HG1": | |
parent = ["OG1", O] | |
elif atom in {"HG23", "HG22", "HG21"}: | |
parent = ["CG2", C] | |
elif ("CD" in atom or "ND" in atom or atom in {"SD", "HG2", "HG3", "OD1", "OD2", "HG12", "HG13", "HG13"): | |
parent = ["CG1", C] if amac in {"ILE", "VAL"} else ["CG", C] | |
elif atom in {"CE2", "CE3", "NE2", "HD2"}: | |
if amac=="GLN": parent = ["CD",C] | |
elif amac in {"ARG", "LYS", "PRO"}: parent = ["CD",C] | |
elif amac=="ASP": parent = ["OD2", O] | |
else: parent = ["CD2",C] | |
elif atom in {"CE1", "HD11", "HD12", "HD13", "HD1", "NE1"}: | |
parent = ["ND1", N] if (amac == "HIS") else ["CD1", C] | |
elif atom in {"NE", "HD3", "CE", "OE1", "OE2"}: | |
parent = ["SD", S] if(amac == "MET") else ["CD", C] | |
elif atom in {"CZ", "HE", "HE1"}: | |
if (amac=="ARG"): parent = ["NE", N] | |
elif (amac=="TRP"): parent = ["NE1", N] | |
elif (amac=="MET"): parent = ["CE", C] | |
elif amac in {"PHE", "HIS", "TYR"}: parent = ["CE1", C] | |
elif atom in {"NH1", "NH2", "HZ", "OH"}: | |
parent = ["CZ", C] | |
elif atom in {"HH11", "HH12", "1HH1", "1HH2"}: | |
parent = ["NH1", N] | |
elif atom in {"HH21", "HH22", "2HH2", "1HH2"}: | |
parent = ["NH2", N] | |
elif atom in {"HD21", "HD22", "HD23"}: | |
parent = ["CD2", C] if amac == "LEU" else ["ND2", N] | |
elif atom in {"HE3", "NZ"}: | |
parent = ["CE3", C] if amac == "TRP" else ["CE", C] | |
elif atom in {"HZ1", "HZ2", "HZ3"}: | |
if (amac=="TRP" and atom=="HZ2"): parent = ["CZ2", S] | |
elif (amac=="TRP" and atom=="HZ3"): parent = ["CZ3", S] | |
else: parent = ["NZ",N] | |
elif (atom=="HG"): | |
if (amac=="LEU"): parent = ["CG", C] | |
if (amac=="CYS"): parent = ["SG", S] # elif instead? | |
else: parent = ["OG", O] | |
elif atom in {"HE2", "CZ2", "HE21", "HE22"}: | |
if amac in {"HIS", "GLN"}: parent = ["NE2", N] | |
elif amac in {"PHE", "TYR", "TRP"}: parent = ["CE2", C] | |
elif (amac=="GLU"): parent = ["OE2",O] | |
elif amac in {"MET", "LYS"}: parent = ["CE",C] | |
elif(atom=="HH"): parent = ["OH", O] | |
elif(atom=="CZ3"): parent = ["CE3", C] | |
elif(atom=="CH2"): parent = ["CZ2", C] | |
elif(atom=="HH2"): parent = ["CH2", C] | |
return parent |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment