Skip to content

Commit

Permalink
Merge pull request #83 from orionarcher/paper
Browse files Browse the repository at this point in the history
Add JOSS paper draft.
  • Loading branch information
orionarcher committed Feb 14, 2023
2 parents 34d8549 + 9c6a57f commit d9ddba7
Show file tree
Hide file tree
Showing 4 changed files with 274 additions and 0 deletions.
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@v2
- 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
153 changes: 153 additions & 0 deletions joss_paper/paper.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
@article{Michaud-Agrawal:2014,
title = {MDAnalysis: A toolkit for the analysis of molecular dynamics simulations},
author = {Michaud‐Agrawal, Naveen and Denning, Elizabeth J. and Woolf, Thomas B. and Beckstein, Oliver},
year = 2011,
month = 04,
journal = {Journal of Computational Chemistry},
issn = {0192-8651},
pmid = {21500218},
pmcid = {PMC3144279},
pages = {2319 - 2327},
number = {10},
volume = {32},
doi = {10.1002/jcc.21787},
}

@InProceedings{Gowers:2016,
author = { Gowers, Richard and Linke, Max and Barnoud, Jonathan and Reddy,
Tyler and Melo, Manuel and Seyler, Sean and Domański, Jan and Dotson,
David and Buchoux, Sébastien and Kenney, Ian and Beckstein, Oliver },
title = { MDAnalysis: A Python Package for the Rapid Analysis of Molecular Dynamics Simulations },
url = {https://conference.scipy.org/proceedings/scipy2016/oliver\_beckstein.html},
pages = {98 - 105},
year = 2016,
doi = {10.25080/majora-629e541a-00e},
}

@online{plotly:2015,
author = {Plotly},
title = {Collaborative data science},
publisher = {Plotly Technologies Inc.},
address = {Montreal, QC},
year = 2015,
url = {https://plot.ly},
}

@article{scipy:2020,
author = {Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E. and
Haberland, Matt and Reddy, Tyler and Cournapeau, David and
Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and
Bright, Jonathan and {van der Walt}, St{\'e}fan J. and
Brett, Matthew and Wilson, Joshua and Millman, K. Jarrod and
Mayorov, Nikolay and Nelson, Andrew R. J. and Jones, Eric and
Kern, Robert and Larson, Eric and Carey, C J and
Polat, {\.I}lhan and Feng, Yu and Moore, Eric W. and
{VanderPlas}, Jake and Laxalde, Denis and Perktold, Josef and
Cimrman, Robert and Henriksen, Ian and Quintero, E. A. and
Harris, Charles R. and Archibald, Anne M. and
Ribeiro, Ant{\^o}nio H. and Pedregosa, Fabian and
{van Mulbregt}, Paul and {SciPy 1.0 Contributors}},
title = {{SciPy} 1.0: Fundamental Algorithms for Scientific
Computing in Python},
journal = {Nature Methods},
year = {2020},
volume = {17},
pages = {261--272},
adsurl = {https://rdcu.be/b08Wh},
doi = {10.1038/s41592-019-0686-2},
}

@article{matplotlib:2007,
Author = {Hunter, J. D.},
Title = {Matplotlib: A 2D graphics environment},
Journal = {Computing in Science \& Engineering},
Volume = {9},
Number = {3},
Pages = {90--95},
abstract = {Matplotlib is a 2D graphics package used for Python for
application development, interactive scripting, and publication-quality
image generation across user interfaces and operating systems.},
publisher = {IEEE COMPUTER SOC},
doi = {10.1109/MCSE.2007.55},
year = 2007,
}

@article{numpy:2020,
author = {Harris, Charles R. and Millman, K. Jarrod and van der Walt,
Stéfan J and Gommers, Ralf and Virtanen, Pauli and Cournapeau, David
and Wieser, Eric and Taylor, Julian and Berg, Sebastian and Smith,
Nathaniel J. and Kern, Robert and Picus, Matti and Hoyer, Stephan and van
Kerkwijk, Marten H. and Brett, Matthew and Haldane, Allan and Fernández
del Río, Jaime and Wiebe, Mark and Peterson, Pearu and Gérard-Marchant,
Pierre and Sheppard, Kevin and Reddy, Tyler and Weckesser, Warren
and Abbasi, Hameer and Gohlke, Christoph and Oliphant, Travis E.},
title = {Array programming with {NumPy}},
journal = {Nature},
year = {2020},
volume = {585},
number = {7825},
pages = {357--362},
pages = {357–362},
doi = {10.1038/s41586-020-2649-2},
}

@software{pandas:2020,
author = {DevTeam},
title = {pandas-dev/pandas: Pandas},
month = 02,
year = 2020,
publisher = {Zenodo},
version = {latest},
doi = {10.5281/zenodo.3509134},
url = {https://doi.org/10.5281/zenodo.3509134},
}

@article{Hou:2019,
title = {The influence of FEC on the solvation structure and reduction reaction of LiPF6/EC electrolytes and its implication for solid electrolyte interphase formation},
author = {Hou, Tingzheng and Yang, Guang and Rajput, Nav Nidhi and Self, Julian and Park, Sang-Won and Nanda, Jagjit and Persson, Kristin A.},
journal = {Nano Energy},
issn = {22112855},
url = {https://linkinghub.elsevier.com/retrieve/pii/S2211285519305877},
year = {2019},
pages = {103881},
volume = {64},
month = {10},
doi = {10.1016/j.nanoen.2019.103881},
}


@article{Dong-Joo:2022,
author = {Yoo, Dong-Joo and Liu, Qian and Cohen, Orion and Kim, Minkyu and Persson, Kristin A. and Zhang, Zhengcheng},
title = {Understanding the Role of SEI Layer in Low-Temperature Performance of Lithium-Ion Batteries},
journal = {ACS Applied Materials \& Interfaces},
volume = {14},
number = {9},
pages = {11910-11918},
year = {2022},
doi = {10.1021/acsami.1c23934},
}

@article{Self:2019,
year = {2019},
title = {Transport in Superconcentrated LiPF6 and LiBF4/Propylene Carbonate Electrolytes},
author = {Self, Julian and Fong, Kara D. and Persson, Kristin A.},
journal = {ACS Energy Letters},
issn = {2380-8195},
doi = {10.1021/acsenergylett.9b02118},
pages = {2843--2849},
number = {12},
volume = {4},
}


@article{Xie:2023,
year = {2023},
title = {{Spatially resolved structural order in low-temperature liquid electrolyte}},
author = {Xie, Yujun and Wang, Jingyang and Savitzky, Benjamin H. and Chen, Zheng and Wang, Yu and Betzler, Sophia and Bustillo, Karen and Persson, Kristin and Cui, Yi and Wang, Lin-Wang and Ophus, Colin and Ercius, Peter and Zheng, Haimei},
journal = {Science Advances},
doi = {10.1126/sciadv.adc9721},
pmid = {36638171},
pages = {eadc9721},
number = {2},
volume = {9}
}
98 changes: 98 additions & 0 deletions joss_paper/paper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
---
title: 'SolvationAnalysis: A Python toolkit for understanding liquid solvation structure in classical molecular dynamics simulations'
tags:
- python
- chemistry
- electrolytes
- molecular dynamics
- solvation structure
authors:
- name: Orion Archer Cohen
orcid: 0000-0003-3940-2456
affiliation: 1
- name: Hugo Macdermott-Opeskin
orcid: 0000-0002-7393-7457
affiliation: 2
- name: Lauren Lee
affiliation: 1
- name: Tingzheng Hou
orcid: 0000-0002-7163-2561
affiliation: 3
- name: Kara D. Fong
orcid: 0000-0002-0711-097X
affiliation: 1
- name: Ryan Kingsbury
orcid: 0000-0002-7168-3967
affiliation: 4
- name: Jingyang Wang
orcid: 0000-0003-3307-5132
affiliation: 1
- name: Kristin A. Persson
orcid: 0000-0003-2495-5509
affiliation: "5,6"
affiliations:
- name: Materials Science Division, Lawrence Berkeley National Laboratory, USA
index: 1
- name: Australian National University, Australia
index: 2
- name: Institute of Materials Research, Shenzhen International Graduate School, Tsinghua University, China
index: 3
- name: Energy Storage & Distributed Resources Division, Lawrence Berkeley National Laboratory, USA
index: 4
- name: Department of Materials Science, University of California, USA
index: 5
- name: Molecular Foundry, Lawrence Berkeley National Laboratory, USA
index: 6
date: 12 January 2023
bibliography: paper.bib
---

# Summary

The macroscopic behavior of matter is determined by the microscopic
arrangement of atoms, but this arrangement is often
difficult or impossible to observe experimentally. Instead, researchers use
simulation techniques like molecular dynamics to probe the microscopic
structure and dynamics of everything from proteins to battery electrolytes.
SolvationAnalysis extracts solvation information from completed
molecular dynamics simulations, letting researchers access key solvation
structure statistics with minimal effort and accelerating scientific research.

# Statement of need

Molecular dynamics studies of liquid solvation structures often replicate
established analyses on novel systems. In electrolyte systems, it is common
to calculate coordination numbers, radial distribution functions, solute
dissociation, and cluster speciation [@Hou:2019]. In principle, these analyses are highly
similar across a diversity of systems. In practice, many specialized bespoke
tools have sprung up to address the same underlying problem. Enter `SolvationAnalysis`,
an easy-to-use Python package with an interactive interface for
computing a wide variety of solvation properties. Building on `MDAnalysis` and
`pandas` [@Michaud-Agrawal:2014] [@Gowers:2016] [@pandas:2020], it efficiently
processes output from a wide variety of Molecular Dynamics simulation packages.

`SolvationAnalysis` was designed to free researchers from laboriously
implementing and validating common analyses. In addition to routine properties like
coordination numbers, solute-solvent pairing, and solute speciation,
SolvationAnalysis uses tools from the SciPy ecosystem [@numpy:2020] [@scipy:2020]
to implement analyses of network formation [@Xie:2023] and residence
times [@Self:2019], summarized in \autoref{fig:summary}. To make visualization fast,
the package includes a robust set of plotting tools built
on top of `Matplotlib` and `Plotly` [@matplotlib:2007] [@plotly:2015].
A full set of tutorials based on state-of-the-art battery electrolytes
[@Hou:2019] [@Dong-Joo:2022] are also included to familiarize new researchers
with solvation structure analysis. Together, these features allow for
rapid interactive or programmatic calculation of solvation properties.

# Figures

![A visual summary of SolvationAnalysis capabilities. \label{fig:summary}](summary_figure.jpg)

# Acknowledgements

Thank you to Oliver Beckstein, Richard Gowers, Irfan Alibay, and Lily Wang for
technical advice about MDAnalysis and Python development. Thank you to Google
Summer of Code, the NSF GRFP Fellowship, and the US Department of Energy for
funding.

# References
Binary file added joss_paper/summary_figure.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit d9ddba7

Please sign in to comment.