Closed russell-taylor closed 3 years ago
Dorothee's code has a comment asking why OXT is missing and code that changes the name to 'O' when it is 'OXT'. For a stop-gap measure, will rename all O* things O and print a warning message.
The OXT --> O fixed the issue for one residue in 3dfr and other files, but then they failed on different names. Switching O* --> O did not fix things because some of the other residue's dictionaries have no atom named 'O'. The O5' noted above in 4fen.pdb is one such case, but there are others.
To get this going, trying to find the string that is the best match from the dictionary in that it matches the first character of the name and a maximal number of the others.
Will leave this workaround in place at least until the names in the dictionaries are changed to the new naming scheme.
Also added MolProbity-native VDW and acceptor/donor lookup, though the acceptor/donor is only the first step within Reduce to determining the actual atom behavior.
Switching this to use Nigel's new functions to get VDW and acceptor/donor resolved the OXT problem and also a number of other problems.
The call to find type_energy in Dorothee's example program:
te = atom_dict[a.name.strip()].type_energy
is failing with KeyError on look-ups for some PDB files. In particular:I'm asking her what to do about this.