Skip to content

Upgrade HOOMD-blue and OpenMM in Colab (#341) #4

Upgrade HOOMD-blue and OpenMM in Colab (#341)

Upgrade HOOMD-blue and OpenMM in Colab (#341) #4

Workflow file for this run

name: Docker CI
on:
push:
branches:
- main
- trunk-merge/**
paths-ignore:
- "README.md"
- "docs/*"
pull_request:
branches:
- main
paths-ignore:
- "README.md"
- "docs/*"
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and export
uses: docker/build-push-action@v3
with:
context: .
tags: pysages:latest
outputs: type=docker,dest=/tmp/pysages.tar
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: pysages
path: /tmp/pysages.tar
retention-days: 1
forward-flux-sampling:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
SCRIPT="cd PySAGES/examples/openmm &&"
SCRIPT="${SCRIPT} python3 forward_flux_sampling.py "
SCRIPT="${SCRIPT} --cv-start=80 --cv-distance=2 --window-number=2 --sampling-steps=50 --replicas=5"
docker load --input /tmp/pysages.tar
docker run -t pysages bash -c "${SCRIPT}"
abf-alanine-dipeptide-openmm:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -t pysages bash -c "cd PySAGES/examples/openmm/abf/ && python3 ./alanine-dipeptide_openmm.py"
spectral-abf-alanine-dipeptide-openmm:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
SCRIPT="cd PySAGES/examples/openmm/spectral_abf &&"
SCRIPT="${SCRIPT} python3 ./alanine-dipeptide.py --time-steps=25"
docker load --input /tmp/pysages.tar
docker run -t pysages bash -c "${SCRIPT}"
abf-tip3p-water-ase:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -t pysages bash -c "cd PySAGES/examples/ase/abf/ && python3 ./water.py"
metad-alanine-dipeptide-openmm:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -t pysages bash -c "cd PySAGES/examples/openmm/metad/ && python3 ./alanine-dipeptide.py --time-steps=25"
alanine-dipeptide-openmm-mpi:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
SCRIPT="cd PySAGES/examples/openmm/umbrella_integration &&"
SCRIPT="${SCRIPT} mpirun --allow-run-as-root --oversubscribe -n 6"
SCRIPT="${SCRIPT} python3 -m mpi4py.futures"
SCRIPT="${SCRIPT} integration.py --replicas=5 --time-steps=1000 --mpi"
docker load --input /tmp/pysages.tar
docker run --privileged -t pysages bash -c "${SCRIPT}"
cv-pucker-openmm-unbiased:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -t pysages bash -c "cd PySAGES/examples/openmm/cv_pucker && python3 ./unbiased.py && python3 ./check_pucker.py"
cv-ermsd-openmm-unbiased:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -t pysages bash -c "cd PySAGES/examples/openmm/cv_ermsd/ermsd && python3 ./unbiased.py && python3 ./check_ermsd.py"
cv-ermsd-cg-openmm-unbiased:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -t pysages bash -c "cd PySAGES/examples/openmm/cv_ermsd/ermsd_cg && python3 ./unbiased.py && python3 ./check_ermsd.py"
alanine-dipeptide-string:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
SCRIPT="cd PySAGES/examples/openmm/string &&"
SCRIPT="${SCRIPT} mpirun --allow-run-as-root --oversubscribe -n 6"
SCRIPT="${SCRIPT} python3 -m mpi4py.futures"
SCRIPT="${SCRIPT} integration.py --replicas=5 --string-steps=2 --time-steps=1000 --mpi"
docker load --input /tmp/pysages.tar
docker run --privileged -t pysages bash -c "${SCRIPT}"
openmm-nacl-metad-displacement:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
SCRIPT="cd PySAGES/examples/openmm/metad/nacl &&"
SCRIPT="${SCRIPT} python3 nacl-displacement.py --time-steps=500"
docker load --input /tmp/pysages.tar
docker run -v/tmp:/tmp -t pysages bash -c "${SCRIPT}"
metad-hoomd:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -v/tmp:/tmp -t pysages bash -c "cd PySAGES/examples/hoomd-blue/metad/ && python3 butane.py --use-grids=1 --time-steps=5000"
funn-butane-hoomd:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
SCRIPT="cd PySAGES/examples/hoomd-blue/funn/ &&"
SCRIPT="${SCRIPT} python3 butane.py --train-freq=1000 --time-steps=1001"
docker load --input /tmp/pysages.tar
docker run -v/tmp:/tmp -t pysages bash -c "${SCRIPT}"
cff-butane-hoomd:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
SCRIPT="cd PySAGES/examples/hoomd-blue/cff/ &&"
SCRIPT="${SCRIPT} python3 butane.py --train-freq=1000 --time-steps=1001"
docker load --input /tmp/pysages.tar
docker run -v/tmp:/tmp -t pysages bash -c "${SCRIPT}"
harmonic-bias-hoomd:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -v/tmp:/tmp -t pysages bash -c "cd PySAGES/examples/hoomd-blue/harmonic_bias/ && ./run.sh && mv hist.pdf /tmp/"
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: harmonic-hist.pdf
path: /tmp/hist.pdf
retention-days: 7
unbiased-hoomd:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -v/tmp:/tmp -t pysages bash -c "cd PySAGES/examples/hoomd-blue/unbiased/ && ./run.sh"
umbrella-integration-hoomd:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -v /tmp:/tmp -t pysages bash -c "cd PySAGES/examples/hoomd-blue/umbrella_integration && python3 ./gen_gsd.py && python3 integration.py --replicas=5 --time-steps=1000 && mkdir /tmp/plots && mv *.pdf /tmp/plots/"
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: umbrella-integration-plots
path: /tmp/plots
retention-days: 1
improved-string-hoomd:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
docker load --input /tmp/pysages.tar
docker run -v /tmp:/tmp -t pysages bash -c "cd PySAGES/examples/hoomd-blue/string && python3 ./gen_gsd.py && python3 spline_string.py --replicas=5 --time-steps=1000 --log-delay=0 --string-steps=2 && mkdir /tmp/plots && mv *.pdf /tmp/plots/"
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: spline-string-plots
path: /tmp/plots
retention-days: 1
umbrella-integration-hoomd-mpi:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: pysages
path: /tmp
- name: Load and run test
run: |
SCRIPT="cd PySAGES/examples/hoomd-blue/umbrella_integration &&"
SCRIPT="${SCRIPT} python3 ./gen_gsd.py &&"
SCRIPT="${SCRIPT} mpirun --allow-run-as-root --oversubscribe -n 2"
SCRIPT="${SCRIPT} python3 -m mpi4py.futures"
SCRIPT="${SCRIPT} integration.py --replicas=5 --time-steps=1000 --mpi &&"
SCRIPT="${SCRIPT} mkdir /tmp/plots && mv *.pdf /tmp/plots/"
docker load --input /tmp/pysages.tar
docker run -v /tmp:/tmp -t pysages bash -c "${SCRIPT}"
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: umbrella-integration-mpi-plots
path: /tmp/plots
retention-days: 1