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.** While working on #1163, it struck me that the error message for [failing to load a force field ](https://github.com/openforcefield/openff-toolkit/blob/12f5e3b27c7c009923de908634690e7c8f4b2b64/openff/toolkit/typing/engines/smirnoff/forcefield.py#L1108-L1116)through plugins...
Dear All, **Describe the bug** When I utilize the api `Molecule.from_smiles()`, the smile I queried is as following, contains several Nitrogen atoms. ``` SMILES = 'c1c2cc3c(c1)cnc(c3)C=CC(C)(C)C(=O)O[C@@H](C(=O)N[C@@H](C)C(=O)N1N[C@@H](CCC1)C(=O)N[C@@H]2C)C(C)C' ``` It turns out...
**Describe the bug** Carboxylate functional groups are read incorrectly from mol2 files produced by Amber/tleap. Carboxylate bond orders are specified as 1 such that the total charge of the functional...
**Is your feature request related to a problem? Please describe.** I repeatedly hear from users that have erased the chemical information in their molecule (transforming into something like an XYZ...
**Describe the bug** This is odd, hopefully it's not because I've misunderstood how the charge assignment works. I seem to be getting different charges from `create_openmm_system` depending on how the...
**Is your feature request related to a problem? Please describe.** The toolkit, and our software in general, should raise descriptive, custom exceptions instead of re-using built-in exceptions. **Describe the solution...
[graph-tool](https://graph-tool.skewed.de/) seems to be a more performant replacement for `networkx`. It is available on [`conda-forge`](https://anaconda.org/conda-forge/graph-tool), although it may or may not make our dependency footprint larger, i.e. > Depends: cairomm,...
If I run the following with RDKit (2021.09.2): ``` from rdkit import Chem m1 = Chem.MolFromSmiles("N1C[C@@]2(CC[C@H](C)CC2)CC1") print(Chem.MolToInchiKey(m1)) m2 = Chem.MolFromSmiles("N1C[C@]2(CC[C@H](C)CC2)CC1") print(Chem.MolToInchiKey(m2)) ``` I obtain: ``` SGJOFPWLAFWQEP-AOOOYVTPSA-N SGJOFPWLAFWQEP-MGCOHNPYSA-N ``` If I...
**Is your feature request related to a problem? Please describe.** It would be useful to be able to determine which atoms in a molecule are topologically symmetrical for applications such...
Have `Molecule.canonical_order_atoms` optionally return a mapping from the old to the new atom order
This would unblock an important feature in fragmenter. Full description at https://github.com/openforcefield/openff-fragmenter/issues/129 I think the best way to do this is to thread a new kwarg through `Molecule`, [`RDKitToolkitWrapper`](https://github.com/openforcefield/openff-toolkit/blob/a35a91b26d92c82f13898ed83d69ab0930218e8d/openff/toolkit/utils/rdkit_wrapper.py#L605), and...