View on GitHub


An implementation of the AWSEM coarse-grained protein folding forcefield in OpenMM


An implementation of the AWSEM coarse-grained protein folding forcefield in OpenMM

OpenAWSEM is an implementation of the AWSEM (Associative memory, Water-mediated Structure, and Energy Model) coarse-grained protein forcefield designed for use with the OpenMM simulation toolkit.



To install OpenAWSEM using Conda, execute the following command:

conda install -c conda-forge openawsem


This installation mode is recommended for users that want to contribute to the code and Wolynes lab members.

#Clone the awsem repository
git clone
cd openawsem

# Create a new conda environment
conda create -n openawsem -c conda-forge --file requirements.txt
conda activate openawsem

# Install the package in editable mode
pip install -e .



STRIDE is used for secondary structure prediction. Download and install STRIDE and add it to your PATH:

tar -xvzf stride.tar.gz
cd stride
echo 'export PATH=$PATH:'`pwd` >> ~/.bashrc


Install psiblast using the distribution from bioconda:

conda install -c conda-forge -c bioconda blast

Alternatively Download and install psiblast and add it to your PATH:

wget$(curl -s "" | grep -o 'ncbi-blast-[0-9.]*+-x64-linux.tar.gz'| head -n 1)
tar -xvzf ncbi-*.tar.gz
cd ncbi*/bin
echo 'export PATH=$PATH:'`pwd` >> ~/.bashrc


OPENAWSEM_LOCATION=$(python -c "import openawsem; print(openawsem.__location__)")
cp pdb_seqres.txt $OPENAWSEM_LOCATION/data


OpenAWSEM allows users to configure data storage paths. To do this:

Create a .awsem directory in your home folder. Inside .awsem, create a configuration file named config.ini to specify data paths. The default paths point to the local data directory inside the OpenAWSEM module. Example config.ini:

[Data Paths]
blast = /home/USER/data/database/cullpdb_pc80_res3.0_R1.0_d160504_chains29712
gro = /home/USER/data/Gros
pdb = /home/USER/data/PDBs
index = /home/USER/data/Indices
pdbfail = /home/USER/data/notExistPDBsList
pdbseqres = /home/USER/data/pdb_seqres.txt
topology = /home/USER/topology


Simulation of the amino terminal domain of Phage 434 repressor (1r69)

  1. Activate the OpenMM Environment: Activate the required environment for running simulations.
    source activate openmm
  2. Set Up the Simulation Folder: Create a simulation folder using the awsem_create command. The awsem_create command will automatically download the corresponding pdb.
    awsem_create 1r69 --frag

    Alternatively, if you have the 1r69.pdb file:

    awsem_create 1r69.pdb --frag
  3. Modify the

    The script determines which force (energy) terms are included in the simulation. To activate the fragment memory term uncomment the fragment memory term and comment the single memory term.

       # templateTerms.fragment_memory_term(oa, frag_file_list_file="./frags.mem", npy_frag_table="./frags.npy", UseSavedFragTable=True),
         templateTerms.fragment_memory_term(oa, frag_file_list_file="./single_frags.mem", npy_frag_table="./single_frags.npy", UseSavedFragTable=False),

    It should look like this:

         templateTerms.fragment_memory_term(oa, frag_file_list_file="./frags.mem", npy_frag_table="./frags.npy", UseSavedFragTable=False),
       #  templateTerms.fragment_memory_term(oa, frag_file_list_file="./single_frags.mem", npy_frag_table="./single_frags.npy", UseSavedFragTable=False),
  4. Run the Simulation: Execute the simulation using the awsem_run command, specifying the platform, number of steps, and start and end temperatures for the annealing simulation. As an example we are running 1e5 steps, but it is common to run from 5 to 30 million steps in a single run.

    awsem_run 1r69 --platform CPU --steps 1e5 --tempStart 800 --tempEnd 200 -f
  5. Compute Energy and Q: Analyze the simulation results and redirect the output to info.dat.
    awsem_analyze 1r69 > info.dat
  6. Run Local Scripts (Optional): The scripts are copied to the project folder and can be modified as needed. To run the local scripts, use the following commands:
    ./ 1r69 --platform CPU --steps 1e5 --tempStart 800 --tempEnd 200 -f
    ./ 1r69 > energy.dat


AWSEM is capable of modeling protein-DNA interactions when used together with open3SPN2, which can be found in a separate package at

For small proteins, the LAMMPS version may be faster than OpenAWSEM, especially if a GPU is unavailable. Consider using for such cases.

A quick check of the stability of a protein in AWSEM can be done using the frustratometer server

Data availability

Data related to the paper “OpenAWSEM with Open3SPN2: A fast, flexible, and accessible framework for large-scale coarse-grained biomolecular simulations” is available at


Please cite the following paper when using OpenAWSEM: Lu, W., Bueno, C., Schafer, N. P., Moller, J., Jin, S., Chen, X., … & Wolynes, P. G. (2021). OpenAWSEM with Open3SPN2: A fast, flexible, and accessible framework for large-scale coarse-grained biomolecular simulations. PLoS computational biology, 17(2), e1008308.