Recent Releases of foyer

foyer - 1.0.1

What's Changed

Features

Bug fixes

  • Ensure XML files are opened with UTF-8 encoding by @mattwthompson in #580
  • Fix documentation build by @chrisjonesBSU in #592

Maintenance

- Python
Published by chrisjonesBSU 7 months ago

foyer -

Major release of Foyer is being made to leave a stable version of Foyer that is backwards compatible with Python versions 3.9-3.12, as will released to be fully supported with all features of mBuild 1.0 and GMSO 1.0.

- Python
Published by CalCraven over 1 year ago

foyer - Foyer 0.12.1

Maintenance

  • Update Github CI by @daico007 in https://github.com/mosdef-hub/foyer/pull/539
  • Do not use deprecated OpenFF Toolkit iterator by @mattwthompson in https://github.com/mosdef-hub/foyer/pull/541
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #542, #544 - #548, #552 - #554
  • Fix failing CI tests on main by @daico007 in https://github.com/mosdef-hub/foyer/pull/551

Full Changelog: https://github.com/mosdef-hub/foyer/compare/0.12.0...0.12.1

- Python
Published by daico007 about 2 years ago

foyer - Foyer 0.12.0

Features

  • Update nbfix to use parmed structure.copy by @jaclark5 in https://github.com/mosdef-hub/foyer/pull/530
  • Add note explaining the origin of the name "foyer" by @ctk3b in https://github.com/mosdef-hub/foyer/pull/532
  • change default of useresiduemap to be False by @daico007 in https://github.com/mosdef-hub/foyer/pull/535

Bug Fixes

  • Update how xml_writer derive scaling factors by @daico007 in https://github.com/mosdef-hub/foyer/pull/518

Maintenance

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #519, #521, #524, #525, #526, #527, #528, #534
  • chore: fix typos by @e-kwsm in https://github.com/mosdef-hub/foyer/pull/522
  • Add CodeQL workflow for GitHub code scanning by @lgtm-com in https://github.com/mosdef-hub/foyer/pull/520
  • Turn off fail-fast by @daico007 in https://github.com/mosdef-hub/foyer/pull/523
  • Attempting to fix failing CI by @daico007 in https://github.com/mosdef-hub/foyer/pull/533
  • Remove obsolete requirement files by @daico007 in https://github.com/mosdef-hub/foyer/pull/537
  • Add testing for py3.10 by @daico007 in https://github.com/mosdef-hub/foyer/pull/536

New Contributors

  • @lgtm-com made their first contribution in https://github.com/mosdef-hub/foyer/pull/520
  • @jaclark5 made their first contribution in https://github.com/mosdef-hub/foyer/pull/530

Full Changelog: https://github.com/mosdef-hub/foyer/compare/0.11.3...0.12

- Python
Published by daico007 over 2 years ago

foyer - Foyer 0.11.3

Breaking change

  • Stop testing and supporting Python 3.7 by @mattwthompson in https://github.com/mosdef-hub/foyer/pull/513

Feature

  • Update TopologyGraph.from_openff_topology for new API by @mattwthompson in https://github.com/mosdef-hub/foyer/pull/469

Bug fix

  • Bugfix for atomtyper by @daico007 in https://github.com/mosdef-hub/foyer/pull/514

Maintenance

  • Update docs environment to use Python 3.8+ by @mattwthompson in https://github.com/mosdef-hub/foyer/pull/517
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/mosdef-hub/foyer/pull/515

Full Changelog: https://github.com/mosdef-hub/foyer/compare/0.11.2...0.11.3

- Python
Published by daico007 over 3 years ago

foyer - Foyer 0.11.2

Breaking change

  • drop general forcefield by @daico007 in https://github.com/mosdef-hub/foyer/pull/512

Maintenance

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #507, #508

Full Changelog: https://github.com/mosdef-hub/foyer/compare/0.11.1...0.11.2

- Python
Published by daico007 over 3 years ago

foyer - Foyer 0.11.1

Features

  • Add CITATION.cff file for easier repo citation by @justinGilmer in https://github.com/mosdef-hub/foyer/pull/498

Bugfixes

  • Modify opls_validation ".top" impropers by @CalCraven in https://github.com/mosdef-hub/foyer/pull/506

Maintenance

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #499, #502
  • Use github actions for CI by @umesh-timalsina in https://github.com/mosdef-hub/foyer/pull/503

Full Changelog: https://github.com/mosdef-hub/foyer/compare/0.11.0...0.11.1

- Python
Published by daico007 over 3 years ago

foyer - Foyer 0.11.0

Breaking Changes

  • Officially stop testing on Python 3.6 and add testing for Python 3.9 in https://github.com/mosdef-hub/foyer/pull/480

Features

  • Report missing bonds' types when using verbose flag by @jennyfothergill in https://github.com/mosdef-hub/foyer/pull/486
  • Modify XML parsing order of general forcefield by @daico007 in https://github.com/mosdef-hub/foyer/pull/488
  • Remove untyped connections by @chrisiacovella in https://github.com/mosdef-hub/foyer/pull/493
  • Storing meta data in typed parmed structure by @daico007 in https://github.com/mosdef-hub/foyer/pull/496

Bug fixes

  • Fix scaling factors and mixing rule bug when atomtyping with general_forcefield by @daico007 in https://github.com/mosdef-hub/foyer/pull/489

Maintenance

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #478, #481, #492, #494
  • Update links in README by @daico007 in https://github.com/mosdef-hub/foyer/pull/484
  • Fix typo in issue template by @jennyfothergill in https://github.com/mosdef-hub/foyer/pull/487

Full Changelog: https://github.com/mosdef-hub/foyer/compare/0.10.0...0.11.0

- Python
Published by daico007 almost 4 years ago

foyer - Foyer 0.10.0

Features

  • Decouple forcefield from atomtyping step (#467)

Bug Fixes

  • Return periodic torsion parameters, regardless of k value (#471)

Maintenance

  • pre-commit ci autoupdate (#462, #473, #475)
  • Update docker image and re-add anaconda user (#463)
  • Miscellaneous updates related to executable files, accidently tracked files, PEP8 E722 and F523 (#465). Thanks @e-kwsm
  • Use codecov uploader in favor of bash uploader for coverage reports (#468)

- Python
Published by umesh-timalsina over 4 years ago

foyer - Foyer 0.9.4

This is a patch release for making foyer compatible with latest API changes in openmm version 7.6.

Maintenance

  • Update import syntax in foyer to work with OpenMM v7.6 (#455, #457)
  • Pre-commit autoupdate (#456)

- Python
Published by umesh-timalsina over 4 years ago

foyer - Foyer 0.9.3

Features

  • Add combining rule to TRAPPE-UA XML (#452)
  • Integrate ele to the atomtyping step (#428)
  • Update SMARTS string for opls_154 (#450)

Bug Fix

  • Collapsing combining_rule of forcefield when loading multiple forcefield files (#442)

Maintenance

  • Fix typo in pre-commit yml (#439)
  • Add Foyer graphic to README.md (#443)
  • Update Foyer documentation (#415)
  • Pre-commit autoupdate (#444, #445, #449)
  • Migrate azure pipeline environment creation use mamba (#447)
  • Update docker building routine (#451)

- Python
Published by daico007 over 4 years ago

foyer - Foyer 0.9.2

Bug fixes

  • This is a patch release for the issue related to the combining rule used to calculate 1-4 nonbonded interactions (#435)
    • Currently, the 1-4 nonbonded calculations are calculated using the Lorentz Berthelot combining rule (https://en.wikipedia.org/wiki/Combiningrules#Lorentz-Berthelotrules), and the parameters are not updated when forcefield.combining_rule is updated. This release adds a patch to recalculate sigma when forcefield.combining_rule is updated to “geometric” (#433)
    • NOTE - This applies to all instances of parametrizing with foyer, all mixing rules were calculated using Lorentz-Berthelot, even when geometric was specified

Features

  • Include combination_rule as top-level metadata in forcefield XMLs (#433)
  • Update references and SMARTS strings for ester groups in oplsaa.xml, refer to CHANGELOG for list of affected atomtypes (#429)

Maintenance

  • Explicitly list default cloud-based pre-commit options in .pre-commit-config.yaml (#425)
  • Include detailed tests for forcefield metadata (#435)
  • Increase performance for unit testing gmso integration (#437)

- Python
Published by daico007 over 4 years ago

foyer - Foyer 0.9.1

Bug fixes

  • This is a bug fix release. Add __init__py for the foyer.tests module. Fixing a bug in mbuild tests when importing get_fn from foyer.tests.utils. (#421)

Maintenance

  • Pre-commit autoupdate (#420)

- Python
Published by daico007 over 4 years ago

foyer - Foyer 0.9.0

Features

  • Add new general Forcefield class which supports gmso backend (#358)
  • Add atomtyping support for gmso.Topology and openff.Topology objects (#399)

Maintenance

  • Add pre-commit (#417, #418)
  • Refactor tests (#385)

- Python
Published by daico007 over 4 years ago

foyer - Foyer 0.8.1

Features

  • Add SMARTS definition for esters in oplsaa.xml (#346)
  • Add SMARTS definition for lithium ion in oplsaa.xml (#383)
  • Add lj14scale and coulomb14scale to Forcefield (#398)
  • Add SMARTS definition for chloride ion in oplsaa.xml (#403)
  • Add SMARTS definition for acetate ion in oplsaa.xml (#404)

Maintenance

  • Refactor the creation of a structure from a residue (#373)
  • Default to environment.yml files for environment creation (#400)
  • Include pytest.ini for sane pytest defaults (#400)
  • Make environment.yml files more consistent among the mosdef-hub organization (#410)
  • Fix regression in Dockerfile and automated image building (#412)
  • Add link and blurb about the TRUE paper and methodology (#413)
  • Pin networkx dependency to >=2.5 (#416)
  • Add Units tab to our documentation at foyer.mosdef.org (#402)

- Python
Published by umesh-timalsina almost 5 years ago

foyer - Foyer 0.8.0

Features

  • Native method to get parameters from a Forcefield object (#382)
  • Decouple parmed from the foyer atomtyper (#389)
  • Return a list of available Forcefield loaders based on currently installed plugins (#388)

Maintenance

  • Upload CodeCov reports without tokens (#393)
  • Update user documentation (#376)
  • Update README badge for conda-forge (#372)

- Python
Published by umesh-timalsina almost 5 years ago

foyer - Foyer 0.7.7

Maintenance

  • Entrypoints Conda (To ensure that we have our plugins supported) (#345)
  • Update foyer docs link (#347)
  • Add link to GitHub/homepage in docs footer (#351)
  • Update copyright years in docs (#353)
  • Use bump2version for versioning (#357)
  • Fix typo in desc (#361)
  • Remove travis (#366, #368)
  • Fix typo in forcefield.py (#362)
  • Fix docker link in README (#367)
  • Fix OpenMM _SystemData changes (#369)
  • Pin OpenMM version (#370)

Breaking Changes

This version of foyer is no longer compatible with OpenMM < v7.5.

- Python
Published by umesh-timalsina about 5 years ago

foyer - Foyer 0.7.6

Features

  • Add warning for non-zero charge structure (#338)
  • Add SMARTS string for opls_207 and more test files (#343)

Bug Fixes

  • Fix error in Forcefield.apply() verbose mode when dihedrals are missed (#335)
  • Resolve issue with latest version of lark-parser (0.8.6) (#341)

- Python
Published by daico007 over 5 years ago

foyer - Foyer 0.7.5

Attention

The lark-parser package recently updated to version 0.8.6, which has broken certain SMARTS functionality within foyer. Until these issues are resolved, do not use lark-parser version 0.8.6. This has been hotfixed until the issue has been resolved (#337)

Features

  • Automate Docker Image publishing with AZP (#334)
  • Add OPLS SMARTS strings for Sulfur Compounds (#307) ### Bug Fixes
  • Pin lark-parser to version 0.8.5 (#337)

- Python
Published by daico007 over 5 years ago

foyer - Foyer 0.7.4

Features

  • Add version attribute to ForceField class and XML schema (#298)
  • Expand OPLS-AA XML coverage: - Amides (#278) - Isopropyl and tert-butyl ether (#311) - Chlorobenzene and benzonitrile (#308) - Methyl-nitro aniline (#319) - Secondary and Tertiary alcohols (#320) - Update to use smaller files for testing (#313)
  • Remove OpenMM from atom-typing step (#296)

Maintenance

  • Fix travis by not installing md5sha1sum (#302)
  • Refactor unit tests to use mbuild recipes instead of mbuild examples (#303)
  • Remove six from requirements (#325)
  • Drop Appveyor YML and update README (#329)

Miscellaneous

  • Add LICENSE.rst to MANIFEST.in (#324)
  • Build documentation on ReadTheDocs (#316)

- Python
Published by daico007 almost 6 years ago

foyer - Foyer 0.7.3

Features

  • Establish entry points for external force fields (#282)
  • Separate parametrization step into a discrete function (#294)

Bug Fixes

  • Reorder _check_angles function in order for verbose messages to be printed (#293)
  • Fix TravisCI build errors (#300)
  • Pass assert_improper_params argument to parametrize_system (#299)

Miscellaneous

  • Remove coveralls badge from README (#289)
  • Switch force field entry points to functions that load classes (#288)

- Python
Published by rmatsum836 about 6 years ago

foyer - Foyer 0.7.2

Features

  • Add Azure Pipelines for CI (#273)
  • Mock requests in unit tests for reference retrieval (#283)

Bugfixes

  • Handle failures of retrieving BibTeX references with a warning (#276)
  • Set default combining rule to geometric (#285)

Miscellaneous

  • Add style fixes suggested by LGTM (#274)

- Python
Published by rmatsum836 over 6 years ago

foyer - 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)

- Python
Published by mattwthompson over 6 years ago

foyer - 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 to xml_writer (#254)
  • Remove undefined atom types from SMARTS string in xml_writer (#255)

Bug fix

  • Change OS oxygen atoms in silica.mol2 file to O (#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)

- Python
Published by daico007 over 6 years ago

foyer - foyer 0.6.2

Breaking Changes

Foyer now officially supports Python 3.7. Python 3.5 is no longer packaged or used in development testing. (#247)

Features

  • Foyer can now write a Foyer XML from a parametrized ParmEd structure (#161, #241)
  • Foyer now supports CHARMM-style periodic torsions (#165)

Maintenance

  • A conftest.py file as added to delete temporary files generated while testing writers (#245)
  • A compatibility issue with OpenMM 7.3+ has been resolved (#246 or see commits by @ahy3nz in #247)

- Python
Published by mattwthompson over 6 years ago

foyer - 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.

https://arxiv.org/abs/1812.06779

- Python
Published by chrisiacovella almost 7 years ago

foyer - foyer 0.6.1

Bugfixes

This is a bugfix release, fixing an issue in the conda recipe not caught until packaging the previous release ( 23ba645d75830e53e3352a1589ad2f1dd790bbc3)

- Python
Published by mattwthompson almost 7 years ago

foyer - foyer 0.6.0

Features

  • SMARTS strings are now parsed with lark instead of plyplus, 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)

- Python
Published by mattwthompson almost 7 years ago

foyer - 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)

- Python
Published by mattwthompson almost 7 years ago

foyer - Foyer 0.5.1

Bug Fixes

OpenMM is pinned to versions before 7.3 (#190) MDTraj is now a dependency as a temporary fix to a dependency loop with mBuild (#190)

- Python
Published by mattwthompson about 7 years ago

foyer - 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.
  • 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 to Forcefield.apply
    • See #138 for more details
  • Multiple DOIs can now be assigned to a single atom type definition. (#168)
  • Miscellaneous refactorization and syntax changes
    • Atom-typing has been moved into a separate function: Forcefield.run_atomtyping. (#159)
    • The language in error messages and within the underlying code has been modified to refer to generic atom types as opposed to OPLS-specific types. (#154)

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 overriding opls_1 due to the space between the two atom type names after the comma.
    • 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.
  • 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 (opls678 and opls679)
      • Carbon atoms in cyclopropanes (opls711, opls712, opls_713)
      • Carbon, oxygen, and hydrogen atoms in propylene carbonates (opls771 – opls779)
      • Carbon and hydrogen atoms in alkynes (opls925 – opls930)
    • 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 to Forcefield.apply.
  • 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)

- Python
Published by summeraz over 7 years ago

foyer - Foyer 0.4.0

  • Performance

    • Atomtype by "residue" (#138)
      • Previously, each "residue" (e.g. unique molecule) in a system would be atomtyped even if an identical residue was previously found. Foyer's functionality has been updated so that subgraph isomorphisms are performed only for each unique molecule prototype. Duplicate "residues" are now atomtyped by referring to the atomtypes assigned to the residue prototype.
    • Slice out "rules" for elements not found in a system (#133)
    • Limit ring finding to sizes of eight atoms or less (prior behavior scaled poorly atomtyping surfaces) (#134)
  • Misc.

    • Housekeeping for OPLS-aa forcefield XML (#127, #141)
    • Provide verbose option in Forcefield.apply when encountering missing atomtypes (#143)
    • Minor Travis CI fixes (#144, #147)
    • Syntax updates for backwards and forwards compatibility with NetworkX v1 and v2 (#148)

- Python
Published by summeraz over 8 years ago

foyer - Foyer 0.3.1

- Python
Published by ctk3b over 8 years ago

foyer - Foyer 0.3.0

- Python
Published by ctk3b over 8 years ago

foyer - Foyer 0.2.3

- Python
Published by ctk3b about 9 years ago

foyer - Foyer 0.2.2

- Python
Published by ctk3b about 9 years ago

foyer - Foyer 0.2.1

- Python
Published by ctk3b about 9 years ago

foyer - Foyer 0.2.0

- Python
Published by ctk3b about 9 years ago

foyer - Initial concept

Proof of concept implementation using Python decorators for rules.

The current code works as a proof of concept but is being supplanted by the smarts branch.

- Python
Published by ctk3b about 9 years ago