This PR attempts to unify the way IDs are mapped from initial TS guesses through the entire workflow. IDs are created upon initial guess generation (which means we are NOT accounting for failed TS guess generation). This motivates the following changes:
updating the Copy method for an RDKitMol to allow copying user-specified object-level attributes (note that these are different from attributes of underlying ._mol object)
updating the utility functions mol_to_dict and dict_to_mol to allow copying user-specified object-level attributes as well
updating all optimizer classes (Sella, Orca, Gaussian) to copy over the new KeepIDs attribute to account for which TS guesses pass the optimization step and which ones fail
for Orca and Gaussian, for all failed optimizations, a null TS conformer is embedded for bookkeeping purposes (this requires a new function AddNullConf)
updating all verifier classes (Sella, Orca, Gaussian) to use the new KeepIDs attribute to account for which TS conformers pass the verification step and which ones fail
the verifiers no longer take as input or return a list of IDs to keep, since this is internally tracked within the TS mol object
update the TS pruning call to work with the new KeepIDs attribute
save the final IDs as a dictionary after the full workflow is complete
This PR attempts to unify the way IDs are mapped from initial TS guesses through the entire workflow. IDs are created upon initial guess generation (which means we are NOT accounting for failed TS guess generation). This motivates the following changes:
Copy
method for anRDKitMol
to allow copying user-specified object-level attributes (note that these are different from attributes of underlying._mol
object)mol_to_dict
anddict_to_mol
to allow copying user-specified object-level attributes as wellKeepIDs
attribute to account for which TS guesses pass the optimization step and which ones failAddNullConf
)KeepIDs
attribute to account for which TS conformers pass the verification step and which ones failKeepIDs
attribute