Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 2 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,6 @@
# PhantomWalk
Polymer system initialization workflow that utilizes a random walk and dissipative particle dynamics as a soft push potential.
This repository has supporting data and examples for the PhantomWalk workflow that is implemented in flowerMD. PhantomWalk is a polymer system initialization workflow that utilizes a random walk and dissipative particle dynamics as a soft push potential.

## Environment

Build a software environment using the `environment.yml` file and the command ```conda env create -f environment.yml```

## Examples
1 - Run a dpd simulation and check the bond lengths and inter-particle distances.
2 - Run a dpd simulation with an energy stabilization cutoff. Write out simulation to trajectory file.
3 - Run a dpd simulation with option for angles and dihedrals. Write out to trajectory file. Start a Lennard-Jones WCA simulation with optional angles and dihedrals.
4 - Replace the random walk in the DPD workflow with mbuild self-avoiding random walk.
5 - Run DPD on a rigid body model used for anisotropic coarse-graining. Based on flowerMD classes.

## Installation

First, clone the PhantomWalk repository:

``` sh
git clone git@github.com:cmelab/PhantomWalk
cd PhantomWalk
```

Set up & activate the conda environment shipped with PhantomWalk:

``` sh
conda env create -f ./environment.yml
conda activate phantomwalk
```

Install PhantomWalk into the environment with `pip`:

``` sh
python -m pip install -e .
```

### Development Environment

If PhantomWalk is being installed for development purposes, the dev environment
should be used instead, which provides packages necessary for [testing](#tests).

``` sh
conda env create -f ./environment-dev.yml
conda activate
```

## Tests

Before running tests, ensure you have activated the [PhantomWalk dev environment](#development-environment).

PhantomWalk tests can be run by invoking `pytest` in the PhantomWalk repo:

``` sh
pytest
```

See the [pytest documentation](https://docs.pytest.org/en/latest/contents.html)
for more details on how `pytest` works and how to use it.
Build a software environment using the `environment-dev.yml' file and instructions in flowerMD[https://github.com/cmelab/flowerMD].
11 changes: 0 additions & 11 deletions codecov.yml

This file was deleted.

16 changes: 0 additions & 16 deletions environment-dev.yml

This file was deleted.

12 changes: 0 additions & 12 deletions environment.yml

This file was deleted.

41 changes: 41 additions & 0 deletions phantomwalk/conda-envs/environment-signac.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: phantomwalk-signac
channels:
- conda-forge
- defaults
dependencies:
# Basic Python dependencies
# - python>=3.12
- python>=3.11,<3.14
- pip
- jupyterlab

# Mathematics and scientific computing
- numpy>=2.0
- scipy>=1.16.0 # required to allow use of RigidTransform
- sympy

# Visualization
- matplotlib
- py3Dmol

# Chemistry
- rdkit
- periodictable
- openbabel>=3

# Molecular Dynamics toolkits
## HOOMD
- hoomd>=5.0,!=5.3.0
- gsd>=3.0,<5
- freud
- fresnel
- cmeutils>=1.3
- grits >=0.6.0

- signac=2.1.0

- pip:
- "flowermd @ git+https://github.com/cmelab/flowerMD.git" # experimental DPD functionality not yet in FlowerMD conda releases
- "gmso @ git+https://github.com/mosdef-hub/gmso.git"
- "mbuild @ git+https://github.com/mosdef-hub/mbuild.git@develop"
- "signac-flow @ git+https://github.com/glotzerlab/signac-flow.git@61fe01b"
37 changes: 37 additions & 0 deletions phantomwalk/conda-envs/environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: phantomwalk
channels:
- conda-forge
- defaults
dependencies:
# Basic Python dependencies
- python>=3.11,<3.14
- pip
- jupyterlab

# Mathematics and scientific computing
- numpy>=2.0
- scipy>=1.16.0 # required to allow use of RigidTransform
- sympy

# Visualization
- matplotlib
- py3Dmol

# Chemistry
- rdkit
- periodictable
- openbabel>=3

# Molecular Dynamics toolkits
## HOOMD
- hoomd>=5.0,!=5.3.0
- gsd>=3.0,<5
- freud
- fresnel
- cmeutils>=1.3
- grits >=0.6.0

- pip:
- "flowermd @ git+https://github.com/cmelab/flowerMD.git" # experimental DPD functionality not yet in FlowerMD conda releases
- "gmso @ git+https://github.com/mosdef-hub/gmso.git"
- "mbuild @ git+https://github.com/mosdef-hub/mbuild.git@develop"
Loading