https://github.com/cabb99/openawsem
An implementation of the AWSEM coarse-grained protein folding forcefield in OpenMM
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
- Repositories: 7
- Profile: https://github.com/cabb99
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.
- Homepage: https://openawsem.org/
- Documentation: https://openawsem.readthedocs.io/
- License: MIT
-
Latest release: 1.1.1
published over 2 years ago
Rankings
Dependent packages count: 9.7%
Average: 38.8%
Dependent repos count: 67.9%
Maintainers (1)
Last synced:
10 months ago