Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JOSS paper #328

Closed
wants to merge 108 commits into from
Closed
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
d9a153b
first draft
xiki-tempula Jul 8, 2023
7816c2f
Merge branch 'master' into 71-joss-paper
dotsdl Aug 21, 2023
7d69775
Test render
xiki-tempula Dec 29, 2023
1192a1d
fix end
xiki-tempula Dec 29, 2023
0fc12b4
update action
xiki-tempula Dec 29, 2023
e8976be
fix citation
xiki-tempula Dec 29, 2023
7816081
edit
xiki-tempula Dec 29, 2023
557d13d
MRS comments (#339)
mrshirts Dec 30, 2023
2057c41
first fix
xiki-tempula Dec 30, 2023
aa2e189
update the content
xiki-tempula Dec 30, 2023
87153a0
update
xiki-tempula Dec 30, 2023
edb9429
Correct the figure
xiki-tempula Dec 30, 2023
966e386
Merge branch 'master' into 71-joss-paper
xiki-tempula Jan 3, 2024
d040546
Merge branch 'master' into 71-joss-paper
orbeckst Apr 6, 2024
1ab91ab
Merge branch 'master' into 71-joss-paper
xiki-tempula Apr 7, 2024
081e90c
Small edits, clauses set as newlines for easier diffs
dotsdl Apr 9, 2024
b5c3d1d
Some additional minor edits for internal consistency around estimator…
dotsdl Apr 9, 2024
ed01447
Small rearrangement of metadata items
dotsdl Apr 9, 2024
0559c9f
Set alchemlyb to lowercase throughout (stylistic choice); small rearr…
dotsdl Apr 9, 2024
13b13c7
added Oliver as author
orbeckst Apr 25, 2024
850ec5a
consistent line breaking in markdown
orbeckst Apr 25, 2024
6e7fdb6
updated Acknowledgements/Contributions
orbeckst Apr 25, 2024
1c2ec9d
edited summary
orbeckst Apr 25, 2024
0b14e7c
WIP: editing statement of need
orbeckst Apr 25, 2024
6b202b2
removed download stats
orbeckst Apr 25, 2024
5002923
completed editing of Statement of need section
orbeckst Apr 25, 2024
0ca06f6
Ack/Author contrib update
orbeckst Apr 25, 2024
e8d57e9
Update paper.md with some comments.
mrshirts Apr 27, 2024
eca0066
Update paper.bib
mrshirts Apr 27, 2024
ae955d8
add MDPOW
orbeckst May 15, 2024
e08a52e
add fractional equilibration time
orbeckst May 15, 2024
64de66d
edited Implementation section
orbeckst May 15, 2024
bfda924
Merge branch '71-joss-paper' of github.com:alchemistry/alchemlyb into…
orbeckst May 16, 2024
cb5e5dc
spell checked
orbeckst May 16, 2024
e6c6023
added David Mobley to authors
orbeckst May 16, 2024
ea900ca
minor abstract edits
orbeckst May 16, 2024
98b829e
updated author contribs
orbeckst May 16, 2024
7541d71
fix citation syntax
orbeckst May 16, 2024
dc99971
minor edits
orbeckst May 16, 2024
82d45a0
added all other authors to acknowledgements
orbeckst May 16, 2024
791c03a
Merge branch 'master' into 71-joss-paper
orbeckst May 16, 2024
cf04861
changed Author contributions: maintenance
orbeckst May 16, 2024
3f39574
funding ack
orbeckst May 16, 2024
834ed86
minor edit (use MD after first definition)
orbeckst May 16, 2024
7d56536
add ASU to @dotsdl affiliation
orbeckst May 16, 2024
3dad66f
use referencing for figure
orbeckst May 16, 2024
950b1d8
add ASU to @dotsdl 's affiliation
orbeckst May 16, 2024
bf9c515
add @dotsdl to "wrote paper" in contributions as he was missing from …
orbeckst May 16, 2024
e3ee72c
reference update/cleanup
orbeckst May 16, 2024
1ae8464
use hyperlinks instead of bare URLs
orbeckst May 16, 2024
a9809d2
update artifact upload action
orbeckst May 16, 2024
f21f170
Merge branch 'master' into 71-joss-paper
orbeckst May 21, 2024
4d79965
add PDF for author review
orbeckst May 21, 2024
1bde8d1
used DLD instead of DD for @dotsdl
orbeckst May 21, 2024
6344006
added my name (#361)
DrDomenicoMarson May 22, 2024
4fc3ee5
JOSS paper: Add T. Joseph to authors and grant to acknowledgements (#…
ttjoseph May 22, 2024
adf5a26
add name and minor change (#363)
hl2500 May 23, 2024
414320d
Merge branch 'master' into 71-joss-paper
xiki-tempula May 25, 2024
f663f50
edits by Alexander Schlaich
orbeckst May 27, 2024
4a0d892
additional edis suggested by @schlaicha
orbeckst May 27, 2024
0a4291b
add @schlaicha to paper writers
orbeckst May 27, 2024
bc3b7fb
name the JOSS paper build workflow
orbeckst May 27, 2024
1f01ec7
Add JH to author lists, extra reference (#365)
jhenin May 28, 2024
b7b15cb
Add HL to author list with affiliation (#366)
lee212 May 28, 2024
1161e03
Add Ian Kenney to author list (#367)
ianmkenney May 28, 2024
6260d21
Move JH from Acknowledgments to Contributions (#368)
jhenin May 28, 2024
29aee32
fixed typo LAMPPS -> LAMMPS
jhenin May 28, 2024
ae2bd7c
fiddle with bib to make JC Chodera citations appear unformly
orbeckst May 28, 2024
1c1bc71
software engineering details and minor touch-ups
orbeckst May 28, 2024
be4c2e7
update @orbeckst's affiliation
orbeckst May 28, 2024
9b2657e
using SPEC 0 (updated from NEP29)
orbeckst May 29, 2024
d0be813
Merge branch 'master' into 71-joss-paper
orbeckst May 29, 2024
00e4f10
Add Irfan Alibay to paper.md (#372)
IAlibay May 30, 2024
d9df3e4
PDF draft of paper as of 2024-05-30
orbeckst May 30, 2024
4c7a82f
Merge branch '71-joss-paper' of github.com:alchemistry/alchemlyb into…
orbeckst May 30, 2024
4bcf959
update information for David Mobley
davidlmobley May 30, 2024
19c963c
fix DM affiliation
orbeckst May 31, 2024
767e89f
add @vtlim to Author list
vtlim May 31, 2024
5fe9ec9
Update joss_paper/paper.md
xiki-tempula Jun 3, 2024
41285c3
Add affiliation (#374)
brycestx Jun 4, 2024
bc46b48
Update paper.md (#373)
ptmerz Jun 4, 2024
74d164a
Update paper.md for authorship (#375)
msoroush Jun 4, 2024
388dc54
finalized author information and date
orbeckst Jun 4, 2024
9215695
introduce alchemical free energy calcs outside Implementation section
ptmerz Jun 4, 2024
f9f5429
edited paragraph on solvation free energy calc to improve clarity
ptmerz Jun 5, 2024
85226d5
fixed front matter
orbeckst Jun 5, 2024
1902b70
add PTM to "wrote manuscript"
orbeckst Jun 5, 2024
463ce35
add Shuai Li to authors (but need to renumber affiliations)
orbeckst Jun 5, 2024
9706f56
Fix Shuai Liu’s name (sorry)
orbeckst Jun 5, 2024
3926c0c
Updated author order and contributions
orbeckst Jun 5, 2024
9fa2352
full author list for NAMD paper
orbeckst Jun 5, 2024
a61bddc
re-numbered affiliations
orbeckst Jun 5, 2024
d124059
finalized acknowledgements
orbeckst Jun 5, 2024
df864a7
clean up: removed PDF versions
orbeckst Jun 5, 2024
cd991d9
fixed name of Wei-Tse Hu in Ack
orbeckst Jun 5, 2024
e85a327
add missing DOIs
orbeckst Jun 5, 2024
4cbea4c
add DOI for Kirkwood 1935
orbeckst Jun 5, 2024
4f01ac8
Fix name Hu -> Hsu in Ack
orbeckst Jun 6, 2024
7a2b140
Update affiliation
xiki-tempula Jun 26, 2024
2fca23e
Merge branch 'master' into 71-joss-paper
orbeckst Jul 18, 2024
0fcae51
Merge branch 'master' into 71-joss-paper
orbeckst Jul 27, 2024
42f3c46
Merge branch 'master' into 71-joss-paper
orbeckst Aug 15, 2024
1f32e88
Minor changes to the paper (#387)
xiki-tempula Aug 17, 2024
464c2cf
Merge branch 'master' into 71-joss-paper
orbeckst Sep 5, 2024
dd117d8
Merge branch 'master' into 71-joss-paper
orbeckst Sep 17, 2024
acac89d
Merge branch 'master' into 71-joss-paper
orbeckst Sep 19, 2024
4f7e2db
add @jaclark5 to acknowledgements
orbeckst Sep 19, 2024
27caba8
paper affiliations: spell out USA
orbeckst Sep 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
on: [push]

jobs:
paper:
runs-on: ubuntu-latest
name: Paper Draft
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build draft PDF
uses: openjournals/openjournals-draft-action@master
with:
journal: joss
# This should be the path to the paper within your repo.
paper-path: joss_paper/paper.md
- name: Upload
uses: actions/upload-artifact@v1
with:
name: paper
# This is the output path where Pandoc will write the compiled
# PDF. Note, this should be the same directory as the input
# paper.md
path: joss_paper/paper.pdf
Binary file added joss_paper/Fig1.pdf
Binary file not shown.
189 changes: 189 additions & 0 deletions joss_paper/paper.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
@article{bennett1976efficient,
title={Efficient estimation of free energy differences from Monte Carlo data},
author={Bennett, C. H.},
journal={Journal of Computational Physics},
volume={22},
number={2},
pages={245-268},
year={1976},
}

@article{case2014ff14sb,
title={The FF14SB force field},
author={Case, D. and Babin, V. and Berryman, J. and Betz, R. and Cai, Q. and Cerutti, D. and et al.},
journal={Amber},
volume={14},
pages={29-31},
year={2014},
}

@article{chodera2007use,
title={Use of the Weighted Histogram Analysis Method for the Analysis of Simulated and Parallel Tempering Simulations},
author={Chodera, J. D. and Swope, W. C. and Pitera, J. W. and Seok, C. and Dill, K. A.},
journal={J Chem Theory Comput},
volume={3},
number={1},
pages={26-41},
year={2007},
doi={10.1021/ct0502864},
}

@article{cummings2021open,
title={Open-source molecular modeling software in chemical engineering focusing on the Molecular Simulation Design Framework},
author={Cummings, P. T. and McCabe, C. and Iacovella, C. R. and Ledeczi, A. and Jankowski, E. and Jayaraman, A. and et al.},
journal={AIChE Journal},
volume={67},
number={3},
pages={e17206},
year={2021},
doi={https://doi.org/10.1002/aic.17206},
}

@article{deng2009computations,
title={Computations of standard binding free energies with molecular dynamics simulations},
author={Deng, Y. and Roux, B.},
journal={J Phys Chem B},
volume={113},
number={8},
pages={2234-2246},
year={2009},
doi={10.1021/jp807701h},
}

@article{gusev2023active,
title={Active Learning Guided Drug Design Lead Optimization Based on Relative Binding Free Energy Modeling},
author={Gusev, F. and Gutkin, E. and Kurnikova, M. G. and Isayev, O.},
journal={Journal of Chemical Information and Modeling},
volume={63},
number={2},
pages={583-594},
year={2023},
doi={10.1021/acs.jcim.2c01052},
}

@article{hedges2023suite,
title={A Suite of Tutorials for the BioSimSpace Framework for Interoperable Biomolecular Simulation [Article v1.0]},
author={Hedges, L. O. and Bariami, S. and Burman, M. and Clark, F. and Cossins, B. P. and Hardie, A. and et al.},
journal={Living Journal of Computational Molecular Science},
volume={5},
number={1},
pages={2375},
year={2023},
doi={10.33011/livecoms.5.1.2375},
}

@article{kirkwood1935statistical,
title={Statistical mechanics of fluid mixtures},
author={Kirkwood, J. G.},
journal={The Journal of Chemical Physics},
volume={3},
number={5},
pages={300-313},
year={1935},
}

@article{klimovich2015guidelines,
title={Guidelines for the analysis of free energy calculations},
author={Klimovich, P. V. and Shirts, M. R. and Mobley, D. L.},
journal={J Comput Aided Mol Des},
volume={29},
number={5},
pages={397-411},
year={2015},
doi={10.1007/s10822-015-9840-9},
}

@book{merz2010drug,
title={Drug design: structure-and ligand-based approaches},
author={Merz Jr, K. M. and Ringe, D. and Reynolds, C. H.},
year={2010},
publisher={Cambridge University Press},
}

@article{paliwal2011benchmark,
title={A Benchmark Test Set for Alchemical Free Energy Transformations and Its Use to Quantify Error in Common Free Energy Methods},
author={Paliwal, H. and Shirts, M. R.},
journal={J Chem Theory Comput},
volume={7},
number={12},
pages={4115-4134},
year={2011},
doi={10.1021/ct2003995},
}

@article{pham2011identifying,
title={Identifying low variance pathways for free energy calculations of molecular transformations in solution phase},
author={Pham, T. T. and Shirts, M. R.},
journal={J Chem Phys},
volume={135},
number={3},
pages={034114},
year={2011},
doi={10.1063/1.3607597},
}

@article{phillips2020scalable,
title={Scalable molecular dynamics on CPU and GPU architectures with NAMD},
author={Phillips, J. C. and Hardy, D. J. and Maia, J. D. C. and Stone, J. E. and Ribeiro, J. V. and Bernardi, R. C. and et al.},
journal={The Journal of Chemical Physics},
volume={153},
number={4},
pages={044130},
year={2020},
doi={10.1063/5.0014475},
}

@article{pohorille2010good,
title={Good practices in free-energy calculations},
author={Pohorille, A. and Jarzynski, C. and Chipot, C.},
journal={J Phys Chem B},
volume={114},
number={32},
pages={10235-10253},
year={2010},
doi={10.1021/jp102971x},
}

@article{pronk2013gromacs,
title={GROMACS 4.5: a high-throughput and highly parallel open source molecular simulation toolkit},
author={Pronk, S. and Páll, S. and Schulz, R. and Larsson, P. and Bjelkmar, P. and Apostolov, R. and et al.},
journal={Bioinformatics},
volume={29},
number={7},
pages={845-854},
year={2013},
doi={10.1093/bioinformatics/btt055},
}

@article{shirts2008statistically,
title={Statistically optimal analysis of samples from multiple equilibrium states},
author={Shirts, M. R. and Chodera, J. D.},
journal={J Chem Phys},
volume={129},
number={12},
pages={124105},
year={2008},
doi={10.1063/1.2978177},
}

@article{yang2004free,
title={Free energy simulations: use of reverse cumulative averaging to determine the equilibrated region and the time required for convergence},
author={Yang, W. and Bitetti-Putzer, R. and Karplus, M.},
journal={J Chem Phys},
volume={120},
number={6},
pages={2618-2628},
year={2004},
doi={10.1063/1.1638996},
}

@article{zwanzig1954high,
title={High‐temperature equation of state by a perturbation method. I. Nonpolar gases},
author={Zwanzig, R. W.},
journal={The Journal of Chemical Physics},
volume={22},
number={8},
pages={1420-1426},
year={1954},
}

126 changes: 126 additions & 0 deletions joss_paper/paper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
---
title: 'Alchemlyb: The Simple Alchemistry Library'
tags:
- Python
- alchemistry
- molecular dynamics
- free energy
authors:
- name: Zhiyi Wu
orcid: 0000-0002-7615-7851
equal-contrib: true
affiliation: 1
- name: David L. Dotson
equal-contrib: true # (This is how you can denote equal contributions between multiple authors)
orcid: 0000-0001-5879-2942
affiliation: 2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dotsdl you did most of the work while at ASU and while on the NIH grant so it would be appropriate to also list the ASU affiliation and then mark Datryllic LLC as "present address" (there's probably a way to do it).

Would you agree?

- name: Michael R. Shirts
orcid: 0000-0003-3249-1097
affiliation: 3
- name: Author with no affiliation
corresponding: true # (This is how to denote the corresponding author)
affiliation: 3
affiliations:
- name: Exscientia, Oxford, UK
index: 1
- name: Datryllic LLC, Phoenix, AZ, USA
index: 2
- name: University of Colorado Boulder, Boulder, Colorado, USA
index: 3

date: 29 December 2023
bibliography: paper.bib

---

# Summary

*Alchemlyb* is a dedicated open-source software package tailored for the analysis of alchemical free energy calculations,
an integral part of computational chemistry and biology,
most notably in the field of drug discovery.
The software spans a wide range of functions,
starting with the extraction of raw data from molecular dynamics (MD) engines,
moving on to data preprocessing tasks such as decorrelation of time series,
using various estimators to derive free energy estimates from simulation samples,
and finally providing quality analysis tools for data convergence checking.

A distinctive attribute of *alchemlyb* is its streamlined, end-to-end analysis workflow.
This user-friendly workflow facilitates navigation through the entire analysis pipeline,
from the initial data input stage to the final result derivation.
This attribute enhances accessibility,
enabling researchers from diverse scientific backgrounds,
and not solely computational chemistry specialists,
to utilize *alchemlyb* effectively.


# Statement of need

In the pharmaceutical sector, computational chemistry techniques are integral for evaluating potential drug compounds based on their protein binding affinity [@deng2009computations].
Notably, absolute binding free energy calculations between proteins and ligands or relative binding affinity of ligands to the same protein are routinely employed for this purpose [@merz2010drug].
The resultant estimates of these free energies are essential for understanding binding affinity throughout various stages of drug discovery, such as hit identification and lead optimization [@merz2010drug].
Other free energies extracted from simulations are useful in solution thermodynamics, chemical engineering, environmental science, and material science.
orbeckst marked this conversation as resolved.
Show resolved Hide resolved
The *alchemlyb* software processes the raw data from MD simulations using key estimators from statistical mechanics, drastically simplifying the process of extracting crucial thermodynamic insights from molecular simulations.

Various molecular dynamics (MD) engines, including GROMACS [@pronk2013gromacs], AMBER [@case2014ff14sb], GOMC [@cummings2021open], and NAMD [@phillips2020scalable],
offer distinct tools for performing free energy calculations.
However, the diversity in output formats and analysis tools among different MD engines complicates the research process.
Data generated by each engine requires individualized processing and analysis methods,
hindering seamless collaboration and comparison of results.


The [alchemical-analysis.py](https://github.com/MobleyLab/alchemical-analysis) tool [@klimovich2015guidelines], which preceeded *alchemlyb*, addressed this problem.
Now that [alchemical-analysis.py](https://github.com/MobleyLab/alchemical-analysis) has been deprecated,
*alchemlyb* continues to provide a unified, engine-agnostic analysis workflow.
Unlike its predecessor, *alchemlyb* breaks down components of the workflow into modular tools,
allowing users to more easily customize their analysis.
This innovation enables consistent processing of free energy data from diverse MD engines,
facilitating streamlined comparison and combination of results.

Notably, *alchemlyb*'s robust and user-friendly nature has led to its integration into other automated workflow libraries such as BioSimSpace [@hedges2023suite].
This further enhances its accessibility and usability within broader scientific workflows,
reinforcing its position as a versatile and essential tool in the field of computational chemistry [^1].

[^1]: As of 29/12/2023, *alchemlyb* has been downloaded 23,922 times from [conda-forge](https://anaconda.org/conda-forge/alchemlyb/files).

# Implementation
orbeckst marked this conversation as resolved.
Show resolved Hide resolved

Solvation free energy, a key physical property often computed by computational chemists, involves constructing two end states:
one where the ligand interacts with water and itself (coupled state),
and the other where the ligand interacts only with itself, mimicking the pure solvent and ligand in the gas phase (decoupled state).
The solvation free energy is then obtained by calculating the free energy difference between these two end states.
To achieve this, it is crucial to ensure sufficient overlap in phase space between the coupled and decoupled states, a condition often challenging to achieve.
Overlapping is facilitated by introducing a parameter `lambda` ($\lambda $) that connects the two end-states, resulting in a series of intermediate states.
MD engines simulate the system at these states, generating and accumulating free energy data.

*alchemlyb* offers specific parsers designed to load raw free energy data from various MD engines, converting them into standard `pandas` `DataFrames`.
Two types of free energy data are considered:
Hamiltonian gradients (`dHdl`, $dH/d\lambda$) at all lambda states, suitable for thermodynamic integration (TI) estimators [@kirkwood1935statistical],
and reduced potential energy differences between lambda states (`u_nk`, $u_{nk}$), which are used for free energy perturbation (FEP) estimators [@zwanzig1954high],

In *alchemlyb*, TI [@paliwal2011benchmark] and TI with Gaussian quadrature [@gusev2023active] estimators are implemented in the TI category of estimators.
FEP category estimators include Bennett Acceptance Ratio (BAR) [@bennett1976efficient] and Multistate BAR (MBAR) [@shirts2008statistically].
These estimators assume uncorrelated samples, and *alchemlyb* provides tools for data resampling based on autocorrelation times [@chodera2007use].

To evaluate the accuracy of the free energy estimate, *alchemlyb* offers a range of assessment tools.
The error of the TI method is correlated with the average curvature [@pham2011identifying],
while the error of FEP estimators depends on the overlap in sampled energy distributions [@pohorille2010good].
*alchemlyb* visualizes the smoothness of the integrand for TI estimators and the overlap matrix for FEP estimators.
Additionally, the accumulated samples should be collected from equilibrated simulations,
and *alchemlyb* has tools for plotting the convergence of the free energy estimate as a function of simulation time [@yang2004free] to detect potentially un-equilibrated data.

*Alchemlyb* offers all these tools as a library for users to customize each stage of the analysis (Figure 1).
Additionally, *alchemlyb* provides an automated end-to-end workflow that reads in the raw input data and performs decorrelation, estimation, and quality plotting of the estimate.
This workflow allows for the estimation of quantities such as solvation free energy with minimal code.
Moreover, this facilitates more complex calculations, such as absolute binding free energy, which is the free energy difference between the solvation free energy of the ligand in water and the solvation free energy of the ligand in the protein's binding pocket.

![The building blocks of *alchemlyb*](Fig1.pdf)



# Acknowledgements

O.B. and D.D. designed the project. Z.W., D.D., contributed to the new features. Z.W., D.D., O.B. maintain the codebase. Z.W., M.R.S wrote the manuscript.

# References


Loading