Skip to content

Commit

Permalink
Add diffusion simulation with Molecular Dynamics (#2)
Browse files Browse the repository at this point in the history
* Add/update files in bin/ folder

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Add/update forcefield/ folder

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Rename FlowIR YAML file

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Add new experiments

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Update original FlowIR YAML

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Update container image registry to Quay.io

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Remove outdate instructions from conf/

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Add/update files in hooks/ folder

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Update dependencies

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Update conf/ folder

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Update notebook

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Update Markdown files

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Update WhiteSource branch

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Remove manifest YAML

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Update README.md

Signed-off-by: Rodrigo Neumann <[email protected]>
Signed-off-by: Vassilis Vassiliadis <[email protected]>

* docs: tidyup packages layout and documentation (#3)

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* feat: use strongly versioned images

It's best to use a specific version of an image rather than :latest.

Overtime :latest can drift and that can cause problems when your components expect a different
version of the containers than the one currently on your container registry

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* fix: replace \" with " in value of gasComposition

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* fix: JSON payload for api.experiment_push()

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* docs: fix typo

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* docs: undo change about manifest.yaml

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* docs: remove deprecated instructions for docker

Signed-off-by: Vassilis Vassiliadis <[email protected]>

* Update path to scripts

* Pin Python dependency versions

* Fix path to be linted by TravisCI

---------

Signed-off-by: Vassilis Vassiliadis <[email protected]>
Signed-off-by: Rodrigo Neumann <[email protected]>
Co-authored-by: Vassilis Vassiliadis <[email protected]>
Co-authored-by: Vassilis Vassiliadis <[email protected]>
  • Loading branch information
3 people authored Dec 11, 2024
1 parent 3d19176 commit 9348fe0
Show file tree
Hide file tree
Showing 59 changed files with 2,171 additions and 561 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ before_script:

script:
# Run Python linter
- flake8 --max-line-length=100 bin/
- flake8 --max-line-length=100 reference-scripts/

# Connect to quay.io
- docker login -u "$QUAY_USERNAME" -p "$QUAY_API_KEY" quay.io
Expand Down
4 changes: 2 additions & 2 deletions .whitesource
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"settingsInheritedFrom": "whitesource-config/whitesource-config@python3"
}
"settingsInheritedFrom": "whitesource-config/whitesource-config@master"
}
2 changes: 1 addition & 1 deletion MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

Following is the current list of maintainers on this project (in alphabetical order):

- Manuela Blanco ([manuela-blanco](https://github.com/manuela-blanco))
- Rodrigo Neumann ([neumannrf](https://github.com/neumannrf))
- Felipe Lopes de Oliveira ([lipelopesoliveira](https://github.com/lipelopesoliveira))
- Manuela Blanco Rodriguez ([manuela-blanco](https://github.com/manuela-blanco))
17 changes: 9 additions & 8 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ verify_ssl = true
python_version = "3.9"

[dev-packages]
raspa2 = "*"
raspa2 = "==2.0.4"

[packages]
gemmi = "*"
numpy = "*"
pandas = "*"
pyeqeq = "*"
pymser = "*"
requests = "*"
scipy = "*"
gemmi = "==0.6.3"
numpy = "==1.25.2"
pandas = "==2.1.0"
pyeqeq = "==0.0.10"
pymatgen = "==2023.9.10"
pymser = "==1.0.19"
requests = "==2.25.1"
scipy = "==1.11.2"
38 changes: 36 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,45 @@ Automated virtual experiment that simulates adsorption isotherms on nanoporous m

## Launching the virtual experiment

First you need to import the virtual experiment in your ST4SD registry [from the global ST4SD registry](https://st4sd.github.io/overview/using-the-virtual-experiments-registry-ui). You will then be able to start the parameterised package `nanopore-adsorption-experiment` in your private ST4SD registry (see [example notebook](nanopore-adsorption-experiment.ipynb) or [instructions to run experiment using docker](run-using-docker.md)).
### On a local machine

## Instructions

If you have a container runtime such as docker, podman, rancher desktop, etc available on your system you can execute the experiment by:

1. creating a python virtual environment, activating it, and installing the python module `st4sd-runtime-core[develop]>=2.2.0`
2. cloning this repository
3. launching the experiment
For example:

```bash
#!/usr/bin/env sh
: # Download virtual experiment
git clone https://github.com/st4sd/nanopore-adsorption-experiment.git
: # Setup ST4SD runtime-core
python3 -m venv --copies venv
. venv/bin/activate
python3 -m pip install "st4sd-runtime-core[develop]>=2.2.0"
: # Go inside the directory of this repository.
: # The next command executes the experiment in there
cd nanopore-adsorption-experiment
: # Run the experiment
elaunch.py --applicationDependencySource="nanopore-database=cif:copy" \
--manifest=manifest.yaml \
--input=docker_example/cif_files.dat \
workflow_definitions/adsorption.yaml
```

**Note**: Make sure you run the `git clone` command in a directory that your container runtime (e.g.`docker`, `podman`, etc) can mount later when you execute the experiment.
**Note**: Using a container runtime is intended for small scale experiments and/or debugging your experiments. Use the `kubernetes` example below to launch larger experiments.

### On Kubernetes

Follow our end to end [example notebook](nanopore-adsorption-experiment.ipynb) to launch our `nanopore-adsorption-experiment` experiment on your ST4SD Cloud instance.

## Using custom database of CIF files

You may download the CIF files of your choosing to a PVC inside your OpenShift cluster (below we use the name `nanopore-database-pvc`), mount it as a volume and ask the virtual experiment instance to use the contents of the PVC as the contents of the `nanopore-database` application-dependency. You will also need to remove the line related to `nanopore-database` from the `manifest.yaml` to enable the use of the PVC.
You may download the CIF files of your choosing to a PVC inside your OpenShift cluster (below we use the name `nanopore-database-pvc`), mount it as a volume and ask the virtual experiment instance to use the contents of the PVC as the contents of the `nanopore-database` application-dependency.

```Python
file_names = [""]
Expand Down
23 changes: 0 additions & 23 deletions bin/charge_equilibration.sh

This file was deleted.

135 changes: 0 additions & 135 deletions bin/create_supercell.py

This file was deleted.

32 changes: 0 additions & 32 deletions bin/create_supercell.sh

This file was deleted.

28 changes: 0 additions & 28 deletions bin/make_grid.sh

This file was deleted.

81 changes: 0 additions & 81 deletions bin/modules/calculate_properties.py

This file was deleted.

Loading

0 comments on commit 9348fe0

Please sign in to comment.