https://github.com/cabb99/openawsem

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

https://github.com/cabb99/openawsem

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: ncbi.nlm.nih.gov
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.4%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

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

Basic Info
  • Host: GitHub
  • Owner: cabb99
  • License: mit
  • Language: Roff
  • Default Branch: master
  • Size: 105 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 3
  • Open Issues: 9
  • Releases: 0
Fork of npschafer/openawsem
Created about 3 years ago · Last pushed 12 months ago

https://github.com/cabb99/openawsem/blob/master/

# OpenAWSEM
## 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.

## Installation

### Conda

To install OpenAWSEM using Conda, execute the following command:

```bash
conda install -c conda-forge openawsem
```

### Git

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

```bash
#Clone the awsem repository
git clone https://github.com/npschafer/openawsem.git
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 .
```

## Requirements

### STRIDE
STRIDE is used for secondary structure prediction. 
Download and install STRIDE and add it to your PATH:
https://webclu.bio.wzw.tum.de/stride/
```bash
mkdir stride
cd stride
wget https://webclu.bio.wzw.tum.de/stride/stride.tar.gz
tar -xvzf stride.tar.gz
make
echo 'export PATH=$PATH:'`pwd` >> ~/.bashrc
```

Note: If the webpage above becomes unavailable, please use an alternative repository like https://github.com/MDAnalysis/stride/tree/master/src .

### PSIBLAST    
Install psiblast using the distribution from bioconda:

```bash
conda install -c conda-forge -c bioconda blast
```

Alternatively Download and install psiblast and add it to your PATH: 
ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/

```bash
wget https://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/$(curl -s "https://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/" | 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
```

### PDB_SEQRES
* Download pdb_seqres.txt and put it in the cloned openawsem repository location

```bash
wget https://files.wwpdb.org/pub/pdb/derived_data/pdb_seqres.txt
OPENAWSEM_LOCATION=$(python -c "import openawsem; print(openawsem.__location__)")
cp pdb_seqres.txt $OPENAWSEM_LOCATION/data
```

### Predict_Property

For secondary structure prediction from the fasta file OpenAWSEM can use "Predict_Property.sh -i {name}.fasta".
Install it from https://github.com/realbigws/Predict_Property.
After installation, add Predict_property.sh to $PATH so it can be executed
For example add 'export PATH = $PATH:/Users/weilu/Research/Build/Predict_Property/' inside the ~/.bash_profile file.

## Configuration
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:

```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
```

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

1. **Activate the OpenMM Environment:**
   Activate the required environment for running simulations.
   ```bash
   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.
   ```bash
   awsem_create 1r69 --frag
   ```
   Alternatively, if you have the `1r69.pdb` file:
   ```bash
   awsem_create 1r69.pdb --frag
   ```

3. **Modify the forces_setup.py**

   The `forces_setup.py` 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.
   ```python
      # 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:
   ```python
        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),
   ```
3. **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.
   
   ```bash
   awsem_run 1r69 --platform CPU --steps 1e5 --tempStart 800 --tempEnd 200 -f forces_setup.py
   ```

4. **Compute Energy and Q:**
   Analyze the simulation results and redirect the output to `info.dat`.
   ```bash
   awsem_analyze 1r69 > info.dat
   ```

5. **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:
   ```bash
   ./mm_run.py 1r69 --platform CPU --steps 1e5 --tempStart 800 --tempEnd 200 -f forces_setup.py
   ./mm_analyze.py 1r69 > energy.dat
   ```

## Notes
AWSEM is capable of modeling protein-DNA interactions when used together with open3SPN2, which can be found in a separate package at https://github.com/cabb99/open3spn2.

For small proteins, the LAMMPS version may be faster than OpenAWSEM, especially if a GPU is unavailable. Consider using http://awsem-md.org for such cases.

A quick check of the stability of a protein in AWSEM can be done using the frustratometer server http://frustratometer.qb.fcen.uba.ar/

## Acknowledgements
This project is also supported by the Center for Theoretical Biological Physics (NSF Grants PHY-2019745 and PHY-1522550), with additional support from the D.R. Bullard Welch Chair at Rice University (Grant No. C-0016 to PGW).  We thank AMD (Advanced Micro Devices, Inc.) for the donation of high-performance computing hardware and HPC resources.  Carlos Bueno was supported by the MolSSI Software Fellowship. The skeleton of this project is based on the [Computational Molecular Science Python Cookiecutter](https://github.com/molssi/cookiecutter-cms) version 1.11.


## 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 https://app.globus.org/file-manager?origin_id=b4cef8ce-7773-4016-8513-829f388f7986&origin_path=%2FopenAWSEM_data%2F

## Citation
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. https://doi.org/10.1371/journal.pcbi.1008308

Owner

  • Name: Carlos Bueno
  • Login: cabb99
  • Kind: user
  • Location: Houston, Texas
  • Company: Rice University

Research Assistant. Center for Theoretical Biophysics (CTBP)

GitHub Events

Total
  • Create event: 3
  • Commit comment event: 3
  • Issues event: 24
  • Watch event: 1
  • Issue comment event: 16
  • Push event: 24
  • Pull request review comment event: 8
  • Pull request review event: 11
  • Pull request event: 45
Last Year
  • Create event: 3
  • Commit comment event: 3
  • Issues event: 24
  • Watch event: 1
  • Issue comment event: 16
  • Push event: 24
  • Pull request review comment event: 8
  • Pull request review event: 11
  • Pull request event: 45

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 16
  • Total pull requests: 30
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 2 days
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.88
  • Average comments per pull request: 0.0
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 16
  • Pull requests: 30
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 2 days
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 0.88
  • Average comments per pull request: 0.0
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ftclark3 (16)
  • cabb99 (3)
  • MengyanWang (1)
Pull Request Authors
  • ftclark3 (31)
  • cabb99 (14)
  • stevenluo22 (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 17 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
pypi.org: openawsem

Calculates single residue frustration, and mutational frustration of proteins.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 17 Last month
Rankings
Dependent packages count: 9.7%
Average: 38.8%
Dependent repos count: 67.9%
Maintainers (1)
Last synced: 10 months ago