-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add CoC and Contribution guide, update readme (#241)
* Add CoC and Contribution guide, update readme * Fix CoC links * CoC typos * Add link to pre-print * Simplify links * Update CONTRIBUTING.md Co-authored-by: Matt Thompson <[email protected]> * More info on pre-commit from Matt * Remove slightly redundant pre-commit badge * Add CITATION.cff * Update CONTRIBUTING.md --------- Co-authored-by: Matt Thompson <[email protected]>
- Loading branch information
1 parent
6b57aa6
commit 57f2ba4
Showing
4 changed files
with
341 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
cff-version: 1.2.0 | ||
title: OpenFF BespokeFit | ||
message: >- | ||
In any publications using force fields produced by | ||
BespokeFit, please cite: | ||
type: software | ||
authors: | ||
- given-names: The BespokeFit Contributors | ||
identifiers: | ||
- type: doi | ||
value: 10.1021/acs.jcim.2c01153 | ||
- type: url | ||
value: 'https://doi.org/10.26434/chemrxiv-2022-6h628' | ||
description: ChemRxiv | ||
repository-code: 'https://github.com/openforcefield/openff-bespokefit' | ||
url: 'https://docs.openforcefield.org/bespokefit' | ||
abstract: >- | ||
The development of accurate transferable force fields is | ||
key to realizing the full potential of atomistic modeling | ||
in the study of biological processes such as | ||
protein–ligand binding for drug discovery. | ||
State-of-the-art transferable force fields, such as those | ||
produced by the Open Force Field Initiative, use modern | ||
software engineering and automation techniques to yield | ||
accuracy improvements. However, force field torsion | ||
parameters, which must account for many stereoelectronic | ||
and steric effects, are considered to be less transferable | ||
than other force field parameters and are therefore often | ||
targets for bespoke parametrization. Here, we present the | ||
Open Force Field QCSubmit and BespokeFit software packages | ||
that, when combined, facilitate the fitting of torsion | ||
parameters to quantum mechanical reference data at scale. | ||
We demonstrate the use of QCSubmit for simplifying the | ||
process of creating and archiving large numbers of quantum | ||
chemical calculations, by generating a dataset of 671 | ||
torsion scans for druglike fragments. We use BespokeFit to | ||
derive individual torsion parameters for each of these | ||
molecules, thereby reducing the root-mean-square error in | ||
the potential energy surface from 1.1 kcal/mol, using the | ||
original transferable force field, to 0.4 kcal/mol using | ||
the bespoke version. Furthermore, we employ the bespoke | ||
force fields to compute the relative binding free energies | ||
of a congeneric series of inhibitors of the TYK2 protein, | ||
and demonstrate further improvements in accuracy, compared | ||
to the base force field (MUE reduced from | ||
0.56_{0.39}^{0.77} to 0.42_{0.28}^{0.59} kcal/mol and R2 | ||
correlation improved from 0.72_{0.35}^{0.87} to | ||
0.93_{0.84}^{0.97}). | ||
keywords: | ||
- force field | ||
- free energy | ||
- molecular mechanics | ||
- forcebalance | ||
- openff | ||
- smirnoff | ||
- qcsubmit | ||
- qcengine | ||
license: MIT | ||
|
||
preferred-citation: | ||
type: article | ||
title: >- | ||
Open Force Field BespokeFit: Automating Bespoke Torsion | ||
Parametrization at Scale | ||
authors: | ||
- given-names: Joshua T. | ||
family-names: Horton | ||
orcid: 'https://orcid.org/0000-0001-8694-7200' | ||
affiliation: >- | ||
School of Natural and Environmental Sciences, | ||
Newcastle University | ||
- given-names: Simon | ||
family-names: Boothroyd | ||
affiliation: Boothroyd Scientific Consulting Ltd. | ||
orcid: 'https://orcid.org/0000-0002-3456-1872' | ||
- given-names: Jeffrey | ||
family-names: Wagner | ||
affiliation: The Open Force Field Initiative | ||
orcid: 'https://orcid.org/0000-0001-6448-0873' | ||
- given-names: Joshua A. | ||
family-names: Mitchell | ||
affiliation: The Open Force Field Initiative | ||
orcid: 'https://orcid.org/0000-0002-8246-5113' | ||
email: [email protected] | ||
- given-names: Trevor | ||
family-names: Gokey | ||
affiliation: 'Dept. Chemistry, UC Irvine' | ||
orcid: 'https://orcid.org/0000-0001-7856-1156' | ||
- given-names: David L. | ||
family-names: Dotson | ||
orcid: 'https://orcid.org/0000-0001-5879-2942' | ||
affiliation: The Open Force Field Initiative | ||
- given-names: Pavan Kumar | ||
family-names: Behara | ||
orcid: 'https://orcid.org/0000-0001-6583-2148' | ||
affiliation: 'Dept. Pharmaceutical Sciences, UC Irvine' | ||
- given-names: Venkata Krishnan | ||
family-names: Ramaswamy | ||
affiliation: Cresset BioMolecular Discovery Ltd. | ||
orcid: 'https://orcid.org/0000-0002-5804-8483' | ||
- given-names: Mark | ||
family-names: Mackey | ||
affiliation: Cresset BioMolecular Discovery Ltd. | ||
orcid: 'https://orcid.org/0000-0001-5131-7583' | ||
- orcid: 'https://orcid.org/0000-0003-0542-119X' | ||
given-names: John D. | ||
family-names: Chodera | ||
affiliation: >- | ||
Computational & Systems Biology Program, Sloan | ||
Kettering Institute | ||
- given-names: Jamshed | ||
family-names: Anwar | ||
affiliation: 'Dept. Chemistry, Lancaster University' | ||
orcid: 'https://orcid.org/0000-0003-1721-0330' | ||
- given-names: David L. | ||
family-names: Mobley | ||
affiliation: 'Dept. Chemistry, UC Irvine' | ||
orcid: 'https://orcid.org/0000-0002-1083-5533' | ||
- given-names: Daniel J. | ||
family-names: Cole | ||
affiliation: >- | ||
School of Natural and Environmental Sciences, | ||
Newcastle University | ||
orcid: 'https://orcid.org/0000-0003-2933-0719' | ||
email: [email protected] | ||
identifiers: | ||
- type: doi | ||
value: 10.1021/acs.jcim.2c01153 | ||
- type: url | ||
value: 'https://doi.org/10.26434/chemrxiv-2022-6h628' | ||
description: ChemRxiv Pre-Print | ||
doi: "10.1021/acs.jcim.2c01153" | ||
journal: "J. Chem. Inf. Model." | ||
month: 11 | ||
start: 5622 # First page number | ||
end: 5633 # Last page number | ||
issue: 22 | ||
volume: 62 | ||
year: 2022 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
# Code of conduct | ||
|
||
The OpenFF BespokeFit *Code of Conduct* sets the rules for the behavior of | ||
every member in the OpenFF BespokeFit community so that everyone can | ||
experience a welcoming, supportive, and productive environment that is | ||
free from harassment. | ||
|
||
**Table of Contents** | ||
|
||
- [Code of conduct](#code-of-conduct) | ||
- [Code of Conduct and Community Guidelines](#code-of-conduct-and-community-guidelines) | ||
- [Scope](#scope) | ||
- [Enforcement](#enforcement) | ||
- [Acknowledgments](#acknowledgments) | ||
|
||
## Code of Conduct and Community Guidelines | ||
|
||
OpenFF BespokeFit is part of an engaged and respectful community made up of | ||
people from all over the world. Your involvement helps us to further our | ||
mission and to create an open platform that serves a broad range of | ||
communities, from research and education to industry and beyond. This diversity | ||
is one of our biggest strengths, but it can also lead to communication issues | ||
and conflicts. Therefore, we have a few ground rules we ask that our community | ||
members adhere to. | ||
|
||
Fundamentally, we are committed to providing a productive, | ||
harassment-free environment for everyone. Rather than considering this | ||
code an exhaustive list of things that you can't do, take it in the | ||
spirit it is intended - a guide to make it easier to enrich all of us | ||
and the communities in which we participate. | ||
|
||
Importantly: as a member of our community, you are also a steward of these | ||
values. Not all problems need to be resolved via formal processes, and often a | ||
quick, friendly but clear word on an online forum or in person can help resolve | ||
a misunderstanding and de-escalate things. | ||
|
||
By embracing the following principles, guidelines and actions to follow or | ||
avoid, you will help us make OpenFF BespokeFit a welcoming and productive | ||
community. | ||
|
||
1. **Be friendly and patient**. | ||
|
||
2. **Be welcoming**. We strive to be a community that welcomes and supports | ||
people of all backgrounds and identities. This includes, but is not limited | ||
to, members of any race, ethnicity, culture, national origin, color, | ||
immigration status, social and economic class, educational level, sex, | ||
sexual orientation, gender identity and expression, age, physical | ||
appearance, family status, political belief, technological or professional | ||
choices, academic discipline, religion, mental ability, and physical | ||
ability. | ||
|
||
3. **Be considerate**. Your work will be used by other people, and you in turn | ||
will depend on the work of others. Any decision you take will affect users | ||
and colleagues, and you should take those consequences into account when | ||
making decisions. Remember that we're a world-wide community. You may be | ||
communicating with someone with a different primary language or cultural | ||
background. | ||
|
||
4. **Be respectful**. Not all of us will agree all the time, but disagreement | ||
is no excuse for poor behavior or poor manners. We might all experience some | ||
frustration now and then, but we cannot allow that frustration to turn into | ||
a personal attack. It's important to remember that a community where people | ||
feel uncomfortable or threatened is not a productive one. | ||
|
||
5. **Be careful in the words that you choose**. Be kind to others. Do not | ||
insult or put down other community members. Harassment and other | ||
exclusionary behaviors are not acceptable. This includes, but is not | ||
limited to: | ||
* threats or violent language directed against another person | ||
* discriminatory jokes and language | ||
* posting sexually explicit or violent material | ||
* posting (or threatening to post) other people's personally identifying | ||
information ("doxing") | ||
* personal insults, especially those using racist or sexist terms | ||
* unwelcome sexual attention, even if believed to be welcome | ||
* advocating for, or encouraging, any of the above behavior | ||
* repeated harassment of others. In general, if someone asks you to stop, | ||
then stop | ||
|
||
6. **Moderate your expectations**. Many in our community volunteer their time. | ||
They are probably not purposefully ignoring issues, refusing to engage in | ||
discussion, avoiding features, etc. but often just unavailable. | ||
|
||
7. **When we disagree, try to understand why**. Disagreements, both social and | ||
technical, happen all the time and OpenFF BespokeFit is no exception. It is | ||
important that we resolve disagreements and differing views constructively. | ||
Remember that we're different. The strength of OpenFF BespokeFit comes from | ||
its varied community that includes people from a wide range of backgrounds. | ||
Different people have different perspectives on issues. Being unable to | ||
understand why someone holds a viewpoint doesn't mean they're wrong. Don't | ||
forget that it is human to err and blaming each other doesn't get us | ||
anywhere. Instead, focus on helping to resolve issues and learning from | ||
mistakes. | ||
|
||
8. **A simple apology can go a long way**. It can often de-escalate a | ||
situation, and telling someone that you are sorry is act of empathy that | ||
doesn't automatically imply an admission of guilt. | ||
|
||
|
||
## Scope | ||
|
||
This Code of Conduct applies both within project spaces and in public spaces | ||
when an individual is representing the project or its community. Examples of | ||
representing a project or community include using an official project e-mail | ||
address, posting via an official social media account, or acting as an | ||
appointed representative at an online or offline event. Representation of a | ||
project may be further defined and clarified by project maintainers. | ||
|
||
## Enforcement | ||
|
||
Instances of abusive, harassing, or otherwise unacceptable behavior may be | ||
reported by contacting the project team at [email protected]. | ||
The project team will review and investigate all complaints, and will respond | ||
in a way that it deems appropriate to the circumstances. The project team is | ||
obligated to maintain confidentiality with regard to the reporter of an | ||
incident. Further details of specific enforcement policies may be posted | ||
separately. | ||
|
||
Project maintainers who do not follow or enforce the Code of Conduct in good | ||
faith may face temporary or permanent repercussions as determined by other | ||
members of the project's leadership. | ||
|
||
|
||
## Acknowledgments | ||
|
||
This code of conduct is adapted from the [OpenFF NAGL code of conduct]. | ||
Original text was adapted from the [*Speak Up!*], [*Django*], | ||
[*Contributor Covenant*], [*Jupyter*], [*MolSSI*], and [*MDAnalysis*] | ||
projects. We are grateful to those projects for contributing these materials | ||
under open licensing terms for us to easily reuse. | ||
|
||
All content on this page is licensed under a [*Creative Commons Attribution*] | ||
license. | ||
|
||
[OpenFF NAGL code of conduct]: https://github.com/openforcefield/openff-nagl/blob/main/CODE_OF_CONDUCT.md | ||
[*Speak Up!*]: http://web.archive.org/web/20141109123859/http://speakup.io/coc.html | ||
[*Django*]: https://www.djangoproject.com/conduct | ||
[*Contributor Covenant*]: http://contributor-covenant.org/ | ||
[*Jupyter*]: https://github.com/jupyter/governance/blob/master/conduct/code_of_conduct.md | ||
[*MolSSI*]: https://github.com/MolSSI/cookiecutter-cms/blob/master/%7B%7Bcookiecutter.repo_name%7D%7D/CODE_OF_CONDUCT.md | ||
[*MDAnalysis*]: https://github.com/MDAnalysis/mdanalysis/blob/develop/CODE_OF_CONDUCT.md | ||
[*Creative Commons Attribution*]: http://creativecommons.org/licenses/by/3.0/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# Contributing to BespokeFit | ||
|
||
OpenFF BespokeFit developers follow a [code of conduct]. Please familiarize yourself with the code. | ||
|
||
Despite being developed primarily by UK and Australian developers, BespokeFit uses US English in all documentation. | ||
|
||
BespokeFit is developed in the open at [GitHub]. We welcome PRs and issues from the general public! Please consider raising an issue there to discuss changes or additions to the code before you commit time to a PR! | ||
|
||
A development environment for BespokeFit can be created using [Mamba], which is a faster implementation of the [Conda] package manager: | ||
|
||
```shell | ||
git clone https://github.com/openforcefield/openff-bespokefit.git | ||
cd openff-bespokefit | ||
mamba env create --file devtools/conda-envs/test-env.yaml --name bespokefit-dev | ||
mamba env update --file devtools/conda-envs/docs-env.yaml --name bespokefit-dev | ||
conda activate bespokefit-dev | ||
pip install -e . | ||
``` | ||
|
||
With this environment, tests can be run locally with [PyTest]: | ||
|
||
```shell | ||
pytest openff/bespokefit/tests | ||
``` | ||
|
||
And documentation can be built with [Sphinx] and viewed in a web browser: | ||
|
||
```shell | ||
sphinx-build -j auto docs docs/_build/html | ||
firefox docs/_build/html/index.html | ||
``` | ||
|
||
Finally, BespokeFit uses a number of lints and code formatters to help maintain code quality. These will be run automatically on any PRs by [pre-commit.ci], so be aware that there's a bot potentially committing to your feature branch. You can run the lints and formatters yourself automatically on each local commit by installing the pre-commit hook: | ||
|
||
```shell | ||
mamba install pre-commit -c conda-forge | ||
pre-commit install | ||
``` | ||
|
||
These hooks are installed in isolated virtual environments, separate from the `conda` environment you created for development (though pre-commit itself will be installed in the current environment). Installing `pre-commit` and hooks locally may help avoid frustration associated with the remote branch coming out of sync when multiple commits are pushed in sequence without pulling the automated changes. | ||
|
||
[code of conduct]: CODE_OF_CONDUCT.md | ||
[GitHub]: https://github.com/openforcefield/openff-bespokefit | ||
[Mamba]: https://mamba.readthedocs.io/ | ||
[Conda]: https://docs.conda.io/ | ||
[PyTest]: https://pytest.org/ | ||
[Sphinx]: https://www.sphinx-doc.org/ | ||
[pre-commit.ci]: https://results.pre-commit.ci/latest/github/openforcefield/openff-bespokefit/main |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters