0.7.0 Charge Increment Model, Proper Torsion interpolation, and new Molecule methods
Pre-release0.7.0 - Charge Increment Model, Proper Torsion interpolation, and new Molecule methods
This is a relatively large release, motivated by the idea that changing existing functionality is bad so we shouldn't do it too often, but when we do change things we should do it all at once.
A richer version of these release notes with live links to API documentation is available on our ReadTheDocs page
See our installation instructions.
Please report bugs, request features, or ask questions through our issue tracker.
Please note that there may still be some changes to the API prior to a stable 1.0.0 release.
Here's a brief rundown of what changed, migration tips, and what to search for in the full release notes to find more details and workarounds:
- To provide more consistent partial charges for a given molecule, existing conformers are now disregarded by default by
Molecule.assign_partial_charges. Instead, new conformers are generated for use in semiempirical calculations. Search foruse_conformers. - Formal charges are now always returned as
simtk.unit.Quantityobjects, with units of elementary charge. To convert them to integers, usefrom simtk import unitandatom.formal_charge.value_in_unit(unit.elementary_charge)ormol.total_charge.value_in_unit(unit.elementary_charge). Searchatom.formal_charge. - The OpenFF Toolkit now automatically reads and writes partial charges in SDF files. Search for
atom.dprop.PartialCharges. - The OpenFF Toolkit now has different behavior for handling multi-molecule and multi-conformer SDF files. Search
multi-conformer. - The OpenFF Toolkit now distinguishes between partial charges that are all-zero and partial charges that are unknown. Search
partial_charges = None. Topology.to_openmmnow assigns unique atoms names by default. Searchensure_unique_atom_names.- Molecule equality checks are now done by graph comparison instead of SMILES comparison. Search
Molecule.are_isomorphic. - The
ChemicalEnvironmentmodule was almost entirely removed, as it is an outdated duplicate of some Chemper functionality. SearchChemicalEnvironment. TopologyMolecule.topology_particle_start_indexhas been removed from theTopologyMoleculeAPI, since atoms and virtualsites are no longer contiguous in theTopologyparticle indexing system. Searchtopology_particle_start_index.compute_wiberg_bond_ordershas been renamed toassign_fractional_bond_orders.
There are also a number of new features, such as:
- Support for
ChargeIncrementModelsections in force fields. - Support for
ProperTorsionkinterpolation in force fields using fractional bond orders. - Support for AM1-Mulliken, Gasteiger, and other charge methods using the new
assign_partial_chargesmethods. - Support for AM1-Wiberg bond order calculation using either the OpenEye or RDKit/AmberTools backends and the new
assign_fractional_bond_ordersmethods - Initial (limited) interoperability with QCArchive, via
Molecule.to_qcschemaandfrom_qcschema. - A
Molecule.visualizemethod. - Several additional
Moleculemethods, including state enumeration and mapped SMILES creation.
For details of these changes and in-depth descriptions please see the full release notes.