Skip to content

Commit

Permalink
Merge branch 'main' into docs/descriptions-and-errors
Browse files Browse the repository at this point in the history
  • Loading branch information
jmbuhr committed Aug 7, 2023
2 parents 1f6dfeb + a096a45 commit a4a8a46
Show file tree
Hide file tree
Showing 110 changed files with 255,054 additions and 8,442 deletions.
36 changes: 34 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: psf/black@stable
release:
name: release
Expand All @@ -23,7 +23,7 @@ jobs:
with:
release-type: python
package-name: kimmdy
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: tag stable versions
if: ${{ steps.release.outputs.release_created }}
run: |
Expand All @@ -34,3 +34,35 @@ jobs:
git push origin :stable || true
git tag -a stable -m "Last Stable Release"
git push origin stable
prlabel:
runs-on: ubuntu-latest
outputs:
status: ${{ steps.prcheck.conclusion }}
steps:
- name: Check pr lable
id: prcheck
uses: jesusvasquez333/verify-pr-label-action@v1.4.0
with:
github-token: '${{ secrets.GITHUB_TOKEN }}'
valid-labels: 'CI:run_test'
invalid-labels: ''
disable-reviews: true
test:
runs-on: ubuntu-latest
container: riedmiki/gromacs-plumed-python:2021
needs: prlabel
if: needs.prlabel.outputs.status == 'success'
steps:
- uses : actions/checkout@v3
- name: run tox
run: tox
- name: zip coverage report
if: ${{ !cancelled() }}
run: zip -r htmlcov.zip htmlcov || true
- uses: actions/upload-artifact@v3
if: ${{ !cancelled() }}
with:
name: coverage artifact
path: htmlcov.zip


4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,9 @@ pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
artifacts
htmlcov/
htmlcov*
.tox/
.nox/
.coverage
Expand Down Expand Up @@ -109,3 +111,5 @@ package-lock.json


/.quarto/

/.luarc.json
23 changes: 22 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# KIMMDY

[![CI](https://github.com/hits-mbm-dev/kimmdy/actions/workflows/ci.yml/badge.svg)](https://github.com/hits-mbm-dev/kimmdy/actions/workflows/ci.yml)

Reactive MD pipeline for GROMACS using Kinetic Monte Carlo / Molecular Dynamics (KIMMDY)

## Quick start
Expand All @@ -8,8 +10,16 @@ Reactive MD pipeline for GROMACS using Kinetic Monte Carlo / Molecular Dynamics
* `cd kimmdy`
* `python -m venv .venv`
* `source ./venv/bin/activate`
* `python -m pip install -e ./`
* Some rections need a GROMACS version patched with PLUMED, gromacs name should then contain `MODIFIED` or `plumed`

## Development setup

* `python -m pip install -r requirments.txt`
* Some rections need a GROMACS version patched with PLUMED
* code style: black
* docstrings: numpy
* [Conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) messages when possible for pretty release notes.


## First simulation

Expand All @@ -19,3 +29,14 @@ Reactive MD pipeline for GROMACS using Kinetic Monte Carlo / Molecular Dynamics
* check output: `kimmdy.log`, `test_out_00X/`


## Local testing

For developoment, we provide a docker image containing gromacs and multiple python versions to test against.
To run the test locally, you must:
- install docker
- install [act](https://github.com/nektos/act), easiest option is with github cli
- install github cli (`gh`)
- `gh extension install https://github.com/nektos/gh-act`
- run tests with `gh extension exec act -j test --artifact-server-path ./artifacts`
- customize which python versions to test in `tox.ini`
- html coverage report is exported into `artifacts`
File renamed without changes.
1 change: 1 addition & 0 deletions example/alanine/amber99sb-star-ildnp.ff
File renamed without changes.
16 changes: 11 additions & 5 deletions example/example_dryrun/kimmdy.yml → example/alanine/kimmdy.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
dryrun: true
# yaml-language-server: $schema=../../../../src/kimmdy/kimmdy-yaml-schema.json

dryrun: false
name: 'alanine_hat_000'
iterations: 100
name: 'hat_tf_000'
gromacs_alias: 'gmx'
ff: 'amber99sb-star-ildnp.ff' # optional, dir endinng with .ff by default
top: 'Ala_out.top'
Expand All @@ -10,12 +12,16 @@ mds:
equilibrium:
mdp: 'md.mdp'
relax:
mdp: 'md_slow.mdp'
mdp: 'md_parameter_growth.mdp'
changer:
coordinates:
md: 'relax'
md_parameter_growth: 'relax'
reactions:
hat_naive: {}
hat_naive:
frequency_factor: 100000000
h_cutoff: 3
polling_rate: 1

sequence:
- equilibrium
- mult: 2
Expand Down
14 changes: 7 additions & 7 deletions example/example_ala/md.mdp → example/alanine/md.mdp
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
title = OPLS Lysozyme NPT equilibration
; Run parameters
integrator = md ; leap-frog integrator
nsteps = 50000 ; 2 * 100000 = 1000 ps (0.2 ns)
nsteps = 5000 ; 0.002 * 5000 = 10ps
dt = 0.002 ; 2 fs
; Output control
nstenergy = 5000 ; save energies every 10.0 ps
nstlog = 5000 ; update log file every 10.0 ps
nstxout = 5000
nstvout = 5000
nstfout = 5000
nstxout-compressed = 5000 ; save compressed coordinates every 10.0 ps
nstenergy = 100 ; save energies every 200.0 fs
nstlog = 100 ; update log file every 200.0 fs
nstxout = 500
nstvout = 500
nstfout = 500
nstxout-compressed = 500 ; save compressed coordinates every 1.0 ps
compressed-x-grps = System ; save the whole system
; Bond parameters
continuation = yes ; Restarting after NPT
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
title = OPLS Lysozyme NPT equilibration
; Run parameters
integrator = md ; leap-frog integrator
nsteps = 5000 ; 2 * 100000 = 1000 ps (0.2 ns)
dt = 0.0002 ; 0.5 fs
nsteps = 5000 ; 0.002 * 5000 = 10ps
dt = 0.002 ; 2 fs
; Output control
nstenergy = 5000 ; save energies every 10.0 ps
nstlog = 5000 ; update log file every 10.0 ps
nstxout = 1
nstvout = 1
nstfout = 1
nstxout-compressed = 1 ; save compressed coordinates every 10.0 ps
nstenergy = 100 ; save energies every 200.0 fs
nstlog = 100 ; update log file every 200.0 fs
nstxout = 500
nstvout = 500
nstfout = 500
nstxout-compressed = 500 ; save compressed coordinates every 1.0 ps
compressed-x-grps = System ; save the whole system
; Bond parameters
continuation = yes ; Restarting after NPT
Expand Down Expand Up @@ -44,3 +44,9 @@ pbc = xyz ; 3-D PBC
DispCorr = EnerPres ; account for cut-off vdW scheme
; Velocity generation
gen_vel = no ; Velocity generation is off
; free-energy parameters
free-energy = yes
init-lambda = 0.0
delta-lambda = 0.0002 ; should be 1/nsteps
separate-dhdl-file = yes
nstdhdl = 100
File renamed without changes.
Loading

0 comments on commit a4a8a46

Please sign in to comment.