Software Open Access

openforcefield/openforcefield: 0.6.0 Library Charges

Jeff Wagner; David L. Mobley; John Chodera; Caitlin Bannan; Andrea Rizzi; Camila; Christopher Bayly; Nathan M. Lim; Victoria Lim; Sukanya Sasmal; Jaime Rodríguez-Guerra; Yutong Zhao; Lee-Ping


JSON Export

{
  "files": [
    {
      "links": {
        "self": "https://zenodo.org/api/files/1c7b3f8d-d1f2-40aa-90a3-d3dbafe2d6c9/openforcefield/openforcefield-0.6.0.zip"
      }, 
      "checksum": "md5:5077426788b02695afdcd03264fd67e1", 
      "bucket": "1c7b3f8d-d1f2-40aa-90a3-d3dbafe2d6c9", 
      "key": "openforcefield/openforcefield-0.6.0.zip", 
      "type": "zip", 
      "size": 70147746
    }
  ], 
  "owners": [
    23144
  ], 
  "doi": "10.5281/zenodo.3541134", 
  "stats": {
    "version_unique_downloads": 21.0, 
    "unique_views": 782.0, 
    "views": 908.0, 
    "version_views": 4874.0, 
    "unique_downloads": 1.0, 
    "version_unique_views": 3882.0, 
    "volume": 70147746.0, 
    "version_downloads": 39.0, 
    "downloads": 1.0, 
    "version_volume": 2753708313.0
  }, 
  "links": {
    "doi": "https://doi.org/10.5281/zenodo.3541134", 
    "conceptdoi": "https://doi.org/10.5281/zenodo.597754", 
    "bucket": "https://zenodo.org/api/files/1c7b3f8d-d1f2-40aa-90a3-d3dbafe2d6c9", 
    "conceptbadge": "https://zenodo.org/badge/doi/10.5281/zenodo.597754.svg", 
    "html": "https://zenodo.org/record/3541134", 
    "latest_html": "https://zenodo.org/record/3541134", 
    "badge": "https://zenodo.org/badge/doi/10.5281/zenodo.3541134.svg", 
    "latest": "https://zenodo.org/api/records/3541134"
  }, 
  "conceptdoi": "10.5281/zenodo.597754", 
  "created": "2019-11-13T22:19:45.966546+00:00", 
  "updated": "2020-01-25T07:27:31.619876+00:00", 
  "conceptrecid": "597754", 
  "revision": 3, 
  "id": 3541134, 
  "metadata": {
    "access_right_category": "success", 
    "doi": "10.5281/zenodo.3541134", 
    "description": "0.6.0\n<p>This release adds support for a new SMIRKS-based charge assignment method, <a href=\"https://open-forcefield-toolkit.readthedocs.io/en/latest/smirnoff.html#librarycharges-library-charges-for-polymeric-residues-and-special-solvent-models\">Library Charges</a>. The addition of more charge assignment methods opens the door for new types of experimentation, but also introduces several complex behaviors and failure modes. Accordingly, we have made changes to the charge assignment infrastructure to check for cases when partial charges do not sum to the formal charge of the molecule, or when no charge assignment method is able to generate charges for a molecule. More detailed explanations of the new errors that may be raised and keywords for overriding them are in the \"Behavior Changed\" section below.</p>\n<p>With this release, we update <code>test_forcefields/tip3p.offxml</code> to be a working example of assigning LibraryCharges. However, we do not provide any force field files to assign protein residue <code>LibraryCharges</code>. If you are interested in translating an existing protein FF to SMIRNOFF format or developing a new one, please feel free to contact us on the <a href=\"https://github.com/openforcefield/openforcefield/issues\">Issue tracker</a> or open a <a href=\"https://github.com/openforcefield/openforcefield/pulls\">Pull Request</a>.</p>\n<p>A richer version of these release notes with live links to API documentation is available on <a href=\"https://open-forcefield-toolkit.readthedocs.io/en/latest/releasehistory.html\">our ReadTheDocs page</a></p>\n<p>See our <a href=\"https://open-forcefield-toolkit.readthedocs.io/en/latest/installation.html\">installation instructions</a>.</p>\n<p>Please report bugs, request features, or ask questions through our <a href=\"https://github.com/openforcefield/openforcefield/issues\">issue tracker</a>.</p>\n<p><strong>Please note that there may still be some changes to the API prior to a stable 1.0.0 release.</strong></p>\nNew features\n<ul>\n<li><p>PR #433 : Closes Issue #25 by adding initial support for the <a href=\"https://open-forcefield-toolkit.readthedocs.io/en/latest/smirnoff.html#librarycharges-library-charges-for-polymeric-residues-and-special-solvent-models\">LibraryCharges tag in the SMIRNOFF specification</a> using <code>LibraryChargeHandler</code>. For a molecule to have charges assigned using Library Charges, all of its atoms must be covered by at least one <code>LibraryCharge</code>. If an atom is covered by multiple <code>LibraryCharge</code> s, then the last <code>LibraryCharge</code> matched will be applied (per the hierarchy rules in the SMIRNOFF format).</p>\n<p>This functionality is thus able to apply per-residue charges similar to those in traditional protein force fields. At this time, there is no concept of \"residues\" or \"fragments\" during parametrization, so it is not possible to assign charges to <em>some</em> atoms in a molecule using <code>LibraryCharge</code> s, but calculate charges for other atoms in the same molecule using a different method. To assign charges to a protein, LibraryCharges SMARTS must be provided for the residues and protonation states in the molecule, as well as for any capping groups\nand post-translational modifications that are present.</p>\n<p>It is valid for <code>LibraryCharge</code> SMARTS to <em>partially</em> overlap one another. For example, a molecule consisting of atoms <code>A-B-C</code> connected by single bonds could be matched by a SMIRNOFF <code>LibraryCharges</code> section containing two <code>LibraryCharge</code> SMARTS: <code>A-B</code> and <code>B-C</code>. If listed in that order, the molecule would be assigned the <code>A</code> charge from the <code>A-B</code> <code>LibraryCharge</code> element and the <code>B</code> and <code>C</code> charges from the <code>B-C</code> element. In testing, these types of partial overlaps were found to frequently be sources of undesired behavior, so it is recommended that users define whole-molecule <code>LibraryCharge</code> SMARTS whenever possible.</p>\n</li>\n<li><p>PR #455 : Addresses #393 by adding <code>ParameterHandler.attribute_is_cosmetic</code> and <code>ParameterType.attribute_is_cosmetic</code>, which return True if the provided attribute name is defined for the queried object but does not correspond to an allowed value in the SMIRNOFF spec.</p>\n</li>\n</ul>\nBehavior changed\n<ul>\n<li>PR #433 : If a molecule can not be assigned charges by any charge-assignment method, an <code>openforcefield.typing.engines.smirnoff.parameters.UnassignedMoleculeChargeException</code> will be raised. Previously, creating a system without either <code>ToolkitAM1BCCHandler</code> or the <code>charge_from_molecules</code> keyword argument to <code>ForceField.create_openmm_system</code> would produce a system where the molecule has zero charge on all atoms. However, given that we will soon be adding more options for charge assignment, it is important that failures not be silent. Molecules with zero charge can still be produced by setting the <code>Molecule.partial_charges</code> array to be all zeroes, and including the molecule in the <code>charge_from_molecules</code> keyword argument to <code>create_openmm_system</code>.</li>\n<li>PR #433 : Due to risks introduced by permitting charge assignment using partially-overlapping <code>LibraryCharge</code> s, the toolkit will now raise a <code>openforcefield.typing.engines.smirnoff.parameters.NonIntegralMoleculeChargeException</code> if the sum of partial charges on a molecule are found to be more than 0.01 elementary charge units different than the molecule's formal charge. This exception can be overridden by providing the <code>allow_nonintegral_charges=True</code> keyword argument to <code>ForceField.create_openmm_system</code>.</li>\n</ul>\nTests added\n<ul>\n<li>PR #430 : Added test for Wiberg Bond Order implemented in OpenEye Toolkits. Test molecules taken from  DOI:10.5281/zenodo.3405489 . Added by @sukanyasasmal .</li>\n</ul>\nBugfixes\n<ul>\n<li>PR #431 : Fixes an issue where <code>ToolkitWrapper</code> objects would improperly search for functionality in the <code>GLOBAL_TOOLKIT_REGISTRY</code>, even though a specific <code>ToolkitRegistry</code> was requested for an operation.</li>\n<li>PR #439 : Fixes <code>Issue #438 &lt;https://github.com/openforcefield/openforcefield/issues/438&gt;</code>_, by replacing call to NetworkX <code>Graph.node</code> with call to <code>Graph.nodes</code>, per <a href=\"https://networkx.github.io/documentation/stable/release/release_2.4.html\">2.4 migration guide</a>.</li>\n</ul>\nFiles modified\n<ul>\n<li>PR #433 : Updates the previously-nonfunctional <code>test_forcefields/tip3p.offxml</code> to a functional state by updating it to the SMIRNOFF 0.3 specification, and specifying atomic charges using the <code>LibraryCharges</code> tag.</li>\n</ul>", 
    "license": {
      "id": "other-open"
    }, 
    "title": "openforcefield/openforcefield: 0.6.0 Library Charges", 
    "relations": {
      "version": [
        {
          "count": 13, 
          "index": 12, 
          "parent": {
            "pid_type": "recid", 
            "pid_value": "597754"
          }, 
          "is_last": true, 
          "last_child": {
            "pid_type": "recid", 
            "pid_value": "3541134"
          }
        }
      ]
    }, 
    "version": "0.6.0", 
    "publication_date": "2019-11-13", 
    "creators": [
      {
        "affiliation": "@openforcefield", 
        "name": "Jeff Wagner"
      }, 
      {
        "affiliation": "University of California, Irvine", 
        "name": "David L. Mobley"
      }, 
      {
        "affiliation": "Memorial Sloan Kettering Cancer Center", 
        "name": "John Chodera"
      }, 
      {
        "affiliation": "OpenEye Scientific Software", 
        "name": "Caitlin Bannan"
      }, 
      {
        "affiliation": "@choderalab", 
        "name": "Andrea Rizzi"
      }, 
      {
        "name": "Camila"
      }, 
      {
        "affiliation": "OpenEye Scientific Software", 
        "name": "Christopher Bayly"
      }, 
      {
        "affiliation": "@MobleyLab", 
        "name": "Nathan M. Lim"
      }, 
      {
        "affiliation": "@MobleyLab at UC Irvine", 
        "name": "Victoria Lim"
      }, 
      {
        "affiliation": "UC Irvine", 
        "name": "Sukanya Sasmal"
      }, 
      {
        "affiliation": "@volkamerlab + @choderalab", 
        "name": "Jaime Rodr\u00edguez-Guerra"
      }, 
      {
        "name": "Yutong Zhao"
      }, 
      {
        "name": "Lee-Ping"
      }
    ], 
    "access_right": "open", 
    "resource_type": {
      "type": "software", 
      "title": "Software"
    }, 
    "related_identifiers": [
      {
        "scheme": "url", 
        "identifier": "https://github.com/openforcefield/openforcefield/tree/0.6.0", 
        "relation": "isSupplementTo"
      }, 
      {
        "scheme": "doi", 
        "identifier": "10.5281/zenodo.597754", 
        "relation": "isVersionOf"
      }
    ]
  }
}
4,874
39
views
downloads
All versions This version
Views 4,874908
Downloads 391
Data volume 2.8 GB70.1 MB
Unique views 3,882782
Unique downloads 211

Share

Cite as