openff-toolkit
openff-toolkit copied to clipboard
The Open Forcefield Toolkit provides implementations of the SMIRNOFF format, parameterization engine, and other tools. Documentation available at http://open-forcefield-toolkit.readthedocs.io
**Is your feature request related to a problem? Please describe.** The author of `Molecule.nth_degree_neighbors` - yours truly - used an implementation that does not scale well with molecule size; computing...
**Is your feature request related to a problem? Please describe.** A frequent use case is to create a `Molecule` object from SMILES and then assign the `Molecule.name` field. **Describe the...
**Describe the bug** `Molecule.to_rdkit()` can produce a `Molecule` with a different number of atoms than the source RDKit molecule. This appears to be because the `hydrogens_are_explicit` flag is set to...
**Describe the bug** The toolkit molecule `to_qcschema` exports to a schema that represents a QCArchive molecule, however the corresponding `from_qcschema` actually wants an Entry object, which has the CMILES identifiers....
**Describe the bug** I've run into a strange case where I can create a Molecule without problem, but I get an exception when I try to add it to a...
**Is your feature request related to a problem? Please describe.** Currently `RDKitToolkitWrapper._elf_compute_electrostatic_energy` computes the energy for one conformer at a time. Perhaps it would be easier and more efficient to...
Currently, the interface to see which toolkits are being used is a bit clunky. The code I sent out to check this is here: ```from openforcefield.utils.toolkits import GLOBAL_TOOLKIT_REGISTRY, OpenEyeToolkitWrapper, RDKitToolkitWrapper...
Some ambiguous behavior can be reached if a molecule is loaded in with `allow_undefined_stereo=True`, which is commonly the case for loading in large molecule datasets and "just let me run...
In #1050 @j-wags and I re-encountered strange behavior relating to the `toolkit_registry` argument in some `Molecule` API points. The behavior is different if a `ToolkitWrapper` and `ToolkitRegistry` argument is passed...
Right now, `ToolkitRegistry.call` tries the requested method in each of its wrapped toolkits and if they _all_ fail, it raises a `ValueError` that squishes together the messages in each exception:...