ELASPIC2
Predicting the effect of mutations on protein folding and protein-protein interaction.
Usage
Web server
ELASPIC2 has been integrated into the original ELASPIC web server, available at: http://elaspic.kimlab.org.
Python API
The following notebooks can be used to explore the basic functionality of ELASPIC2.
See other notebooks in the notebooks/ directory for more detailed information about how ELASPIC2 models are trained and validated.
REST API
ELASPIC2 is accessible through a REST API, documented at: https://elaspic2-api.proteinsolver.org/docs.
The following code snippet shows how the REST API can be used from within Python.
import json
import time
import requests
ELASPIC2_JOBS_API = "https://elaspic2-api.proteinsolver.org/jobs/"
mutation_info = {
"protein_structure_url": "https://files.rcsb.org/download/1MFG.pdb",
"protein_sequence": (
"GSMEIRVRVEKDPELGFSISGGVGGRGNPFRPDDDGIFVTRVQPEGPASKLLQPGDKIIQANGYSFINI"
"EHGQAVSLLKTFQNTVELIIVREVSS"
),
"mutations": "G1A,G1C",
"ligand_sequence": "EYLGLDVPV",
}
# Submit a job
job_request = requests.post(ELASPIC2_JOBS_API, json=mutation_info).json()
while True:
# Wait for the job to finish
time.sleep(10)
job_status = requests.get(job_request["web_url"]).json()
if job_status["status"] in ["error", "success"]:
break
# Collect results
job_result = requests.get(job_status["web_url"]).json()
# Delete job (optional)
requests.delete(job_request["web_url"]).raise_for_status()
# Show results
print(job_result)
Command-line interface (CLI)
Finally, ELASPIC2 can be used through a command-line interface.
python -m elaspic2 \
--protein-structure tests/structures/1MFG.pdb \
--protein-sequence GSMEIRVRVEKDPELGFSISGGVGGRGNPFRPDDDGIFVTRVQPEGPASKLLQPGDKIIQANGYSFINIEHGQAVSLLKTFQNTVELIIVREVSS \
--ligand-sequence EYLGLDVPV \
--mutations G1A.G1C
Installation
Docker
Docker images that contain ELASPIC2 and all dependencies are available at: https://gitlab.com/elaspic/elaspic2/container_registry.
Conda-pack
Conda-pack tarballs containing ELASPIC2 and all dependencies are available at: http://conda-envs.proteinsolver.org/elaspic2/.
Simply download and extract the tarball into a desired directory and run conda-unpack to unpack.
wget http://conda-envs.proteinsolver.org/elaspic2/elaspic2-latest.tar.gz
mkdir ~/elaspic2
tar -xzf elaspic2-latest.tar.gz -C ~/elaspic2
source ~/elaspic2/bin/activate
conda-unpack
Conda
ELASPIC2 can be installed using conda. However, the torch-geometric dependencies have to be installed separately.
Replace cudatoolkit=10.1 and cu101 with the desired CUDA version.
conda create -n elaspic2 -c pytorch -c ostrokach-forge -c conda-forge -c defaults elaspic2 "cudatoolkit=10.1"
conda activate elaspic2
pip install "torch-scatter==latest+cu101" -f https://pytorch-geometric.com/whl/torch-1.7.0.html
pip install "torch-sparse==latest+cu101" -f https://pytorch-geometric.com/whl/torch-1.7.0.html
pip install "torch-cluster==latest+cu101" -f https://pytorch-geometric.com/whl/torch-1.7.0.html
pip install "torch-spline-conv==latest+cu101" -f https://pytorch-geometric.com/whl/torch-1.7.0.html
pip install "torch-geometric==1.6.1"
Python package index (PyPI)
ELASPIC2 can be installed using pip. However, the torch and torch-geometric dependencies have to be installed from external channels.
Replace cu101 with the desired CUDA version.
pip install elaspic2
pip install "torch==1.7.0+cu101" -f https://download.pytorch.org/whl/torch_stable.html
pip install "torchvision==0.8.1+cu101" -f https://download.pytorch.org/whl/torch_stable.html
pip install "torch-scatter==latest+cu101" -f https://pytorch-geometric.com/whl/torch-1.7.0.html
pip install "torch-sparse==latest+cu101" -f https://pytorch-geometric.com/whl/torch-1.7.0.html
pip install "torch-cluster==latest+cu101" -f https://pytorch-geometric.com/whl/torch-1.7.0.html
pip install "torch-spline-conv==latest+cu101" -f https://pytorch-geometric.com/whl/torch-1.7.0.html
pip install "torch-geometric==1.6.1"
Data
Data used to train and validate the ELASPIC2 models are available at http://elaspic2.data.proteinsolver.org and http://protein-folding-energy.data.proteinsolver.org.
See the protein-folding-energy repository to see how these data were generated.
Acknowledgements
References
- Alexey Strokach, Tian Yu Lu, Philip M. Kim. ELASPIC2 (EL2): Combining contextualized language models and graph neural networks to predict effects of mutations.
Metadata
Release files for elaspic2 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| elaspic2-0.1.7.tar.gz | 19.9 MB | Without provenance | Details for elaspic2-0.1.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| elaspic2-0.1.7-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for elaspic2-0.1.7-py2.py3-none-any.whl |
Total release size: 26.4 MB
Release files / elaspic2-0.1.7.tar.gz
| Download URL | elaspic2-0.1.7.tar.gz |
|---|---|
| Size | 19.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f061d8f2204c8377214a2fd5790d530c511af3f0622b55206b9424379dc54f25
|
|
BLAKE2b-256 checksum How to use checksums |
35be58f691e746396070877e0993dd5ed5295c79690a4dd27e96f6c50478885c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.6.0.post20201009 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.8.6
|
Release files / elaspic2-0.1.7-py2.py3-none-any.whl
| Download URL | elaspic2-0.1.7-py2.py3-none-any.whl |
|---|---|
| Size | 6.5 MB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
2e8b375f9f625596d6efb95cacdae216f33c7d6d8a65fb43da85a11e3f576d43
|
|
BLAKE2b-256 checksum How to use checksums |
09a71cb0fbecd8cbe6ff54a2a48e8f54004893e5f482b53f12d1072ab529731a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.6.0.post20201009 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.8.6
|
Security for elaspic2 0.1.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.