Project Description: Data analysis scripts and notebooks for interfacial polyelectrolyte molecular dynamics simulations using Gromacs.
Authors: Alec Glisman
Technologies Used: Python, Gromacs, Jupyter, Sphinx, Pytorch, Scikit-learn, RDKit
.github
: GitHub Actions workflows for continuous integration as well as issue and pull request templates..vscode
: Settings for the Visual Studio Code editor.analysis
: Data analysis scripts and notebooks.ddpm
: Scripts for training and evaluating denoising diffusion probabilistic models.docs
: Documentation source files for Python code in thesrc
directory.images
: Images used in the documentation.requirements
: Conda environment files for development and production.src
: Python source code and unit tests.
The recommended way to install this project is using conda.
The requirements
directory contains environment files for development and production.
To create a conda environment for development, run the following command from the root directory of the repository:
conda env create -f requirements/analysis.yml
The analysis environment includes the dependencies needed to run the analysis scripts and notebooks. The ml environment includes all the dependencies needed to run the denoising diffusion probabilistic model scripts.
Source code for the data analysis scripts and notebooks is located in the src
directory.
The analysis
directory contains the scripts and notebooks themselves that use the source code.
The ddpm
directory contains scripts for training and evaluating denoising diffusion probabilistic models.
The docs
directory contains the source files for the documentation.
The requirements
directory contains environment files for development and production.
The documentation is built using sphinx. For information on how to build the documentation, see the documentation README. Contributions to improve the documentation are welcome. Our current documentation focuses on the signature of each function and class and does not include any tutorials or examples.
When contributing to this repository, please first open an issue on GitHub to discuss the change you wish to make. We have provided issue templates for bug reports and feature requests. If you would like to contribute code, please follow the PEP8 style guide. We use flake8 to check for PEP8 compliance and black to format the code. Pre-commit is used to run these checks before each commit as well as to rebuild the documentation using sphinx. We also strongly recommend adding unit tests for any new code using pytest.
- Create a branch with a descriptive name for the feature or bug fix.
- Make your changes and commit them.
- Push your changes to the branch.
- Open a pull request on GitHub.
- The pull request will be reviewed and merged into the main branch if approved and all checks pass.
This project is licensed under the MIT License - see the LICENSE file for details.