Releases: mosdef-hub/foyer
Releases · mosdef-hub/foyer
Foyer 0.7.2
Foyer 0.7.1
This is a hotfix release to ensure compatibility with NetworkX 2.x (up to at least 2.4).
Fixes
- Update
atomtyper.py
to use methods of NetworkX 2.x, (#280)
Foyer 0.7.0
Breaking Changes
- Officially drop Python 2.7 (#257)
Features
- Add workaround function for applying nbfixes (#268)
- Store atomtyping results in a dict instead of the topology (#249)
- Add
overrides
term toxml_writer
(#254) - Remove undefined atom types from SMARTS string in
xml_writer
(#255)
Bug fix
- Change
OS
oxygen atoms in silica.mol2 file toO
(#260)
Maintenance
- Use vector graphics for gitter badge on the README.md (#248)
- Update links for COMMAT paper (#251)
- Enforce deletion of temporary XML files (#252)
- Update links in README.md (#253)
- Improve documentation of various Foyer classes and functions (#261, #263, #266)
- Remove duplicate docs files (#270)
- Add some pytest skips for
has_mbuild = False
(#272)
foyer 0.6.2
Foyer software and examples associated with our year 2019 publication in Computational Materials Science.
Foyer software and examples associated with our year 2019 publication in Computational Materials Science. This paper is also available on arXiv.
foyer 0.6.1
Bugfixes
This is a bugfix release, fixing an issue in the conda recipe not caught until packaging the previous release ( 23ba645)
foyer 0.6.0
Features
- SMARTS strings are now parsed with
lark
instead ofplyplus
, which is no longer being developed.lark
is more modern and appears to be more performant. (#224) - The whitelists and blacklists used in resolving atom types now use built-in sets.
- Python 3.6 is now supported (#204)
Maintenance
- A number of dependencies have been dropped (
MDTraj
: 4c0020a,plyplus
: #224,oset
: #231) networkx
is now pinned to v2.0+ to avoid using previous versions that are no longer compatible.- A contributor's guide has been added (#214)
- Some issue and PR templates for GitHub have been added (#215)
- Codecov is now used as part of the CI routine (#227)
- Conda builds are once again done with
noarch
(#218) - Python 2.7 is not tested on Appveyor, though it is still being tested in Travis CI and is still officially supported.
Bugfixes
- An incorrect mass in
oplsaa.xml
has been fixed (#236)
Foyer 0.5.2
Features
- Similar to previous checks on angle and dihedral parameters (#155), sanity checks can now (optionally) be done on the existence of bond parameters. (#199)
- An error is now thrown when trying to atom-type using a force field that has no atom types defined (i.e. an empty force field). (#194)
Maintenance
- mBuild is now an optional ("dev") dependency. The core features of Foyer do not rely on mbuild, but some tests do. Atom-typing mBuild compounds to
Forcefield.apply()
is unchanged. (#207) - The .gitignore file has been updated for compatability with VSCode. (#197)
Documentation
- A link to our preprint was added to the README. (#202)
Foyer 0.5.1
Foyer 0.5.0
Features
- Bond, angles, and dihedral parameters are now assigned based on definition specificity. Specificity is determined by the number “type” attributes (as opposed to “class” attributes) in a bond, angle, or dihedral definition. (#160)
- This updates the previous behavior which assigned parameters based on the first matching definition regardless of specificity.
- Foyer now performs sanity checks for parameterization of angles, dihedrals, and impropers in a system. (#155)
- By default, an error will be raised if parameters are not assigned to all angles and dihedrals in a system, and a warning will be raised if parameters are not assigned to all impropers in a system.
- The user can toggle these checks to raise warnings or errors as desired.
- Note that an error for non-parameterized bonds should already be raised by OpenMM.
- By default, an error will be raised if parameters are not assigned to all angles and dihedrals in a system, and a warning will be raised if parameters are not assigned to all impropers in a system.
- Residue-based atom-typing is now optional, though turned on by default. (#159)
- This can be toggled through use of the
use_residue_map
argument toForcefield.apply
- See #138 for more details
- This can be toggled through use of the
- Multiple DOIs can now be assigned to a single atom type definition. (#168)
- Miscellaneous refactorization and syntax changes
Bug Fixes
- Fixed bug with atom-typing of polycyclic molecules (#171)
- Our previous ring identification algorithm did not properly assign ring membership for all atoms within certain polycyclic molecules.
- A new algorithm for assigning ring membership has been implemented that resolves this issue.
- Residue-based atom-typing no longer raises an error for systems containing singular atoms. (#151)
- With the addition of the residue map (#138) to speed up atom-typing of non-unique molecules in the system, systems featuring singular atoms would cause an error to be raised due to a lack of bonded partners.
- This issue has been resolved, and systems featuring singular atoms can now be properly atom-typed using residue-based atom-typing.
- Spaces can now be included when defining multiple atom types within an
overrides
attribute. (#181)- Previously multiple atom type names could be listed within a single
overrides
attribute for an atom type definition in a force field XML file, but these had to be separated by a comma only and no space.- e.g. Foyer would process a definition containing
overrides="opls_1, opls_2"
as only overridingopls_1
due to the space between the two atom type names after the comma.
- e.g. Foyer would process a definition containing
- Whitespace is now properly stripped from the
overrides
strings. - A comma separated list of overrides is still expected; however, whitespace between each override will no longer cause unexpected behavior.
- Previously multiple atom type names could be listed within a single
- Travis CI bug fixes (#152)
- Multiple issues with Travis CI, Ruby, and MacOS when setting up the testing environment with Miniconda.
- These issues have been resolved.
Documentation
- DOIs have been added for most OPLS atom types that have SMARTS strings. Future SMARTS additions will require a corresponding DOI tag for merging (#158)
- Sources, when found, were added to the atom type definitions in the OPLS force field XML through addition of a
doi
attribute. - DOI sources could not be located for the following atom types:
- Alpha carbons in alkyl pyrroles (opls_678 and opls_679)
- Carbon atoms in cyclopropanes (opls_711, opls_712, opls_713)
- Carbon, oxygen, and hydrogen atoms in propylene carbonates (opls_771 – opls_779)
- Carbon and hydrogen atoms in alkynes (opls_925 – opls_930)
- References corresponding to these DOIs can be obtained in BibTeX format for systems atom-typed using the OPLS force field by providing a
references_file
argument toForcefield.apply
.
- Sources, when found, were added to the atom type definitions in the OPLS force field XML through addition of a
- The Foyer web page is now live at http://mosdef-hub.github.io/foyer (#162, #175, #178)
- This website follows the same readthedocs theme as the mBuild package.
- We are currently experiencing issues with the stylesheet, so the website is not properly rendered. This issue should be resolved soon.
- Our documentation now includes a section on supported parameter definitions within a force field XML. (#160)
- This can be found at https://github.com/mosdef-hub/foyer/blob/master/docs/parameter_definitions.md and on the website.