Package: elaspic2
ELASPIC2Predicting the effect of mutations on protein folding and protein-protein interaction.UsageWeb serverELASPIC2has been integrated into the original ELASPIC web server, available at:http://elaspic.kimlab.org.Python APIThe following notebooks can be used to explore the basic functionality ofELASPIC2.Notebook nameGoogle ColabDescription10_stability_demo.ipynbExample notebook showing how to use ELASPIC2 to predict the effect of mutations onprotein stability.10_affinity_demo.ipynbExample notebook showing how to use ELASPIC2 to predict the effect of mutations onprotein binding affinity.See other notebooks in thenotebooks/directory for more detailed information about how ELASPIC2 models are trained and validated.REST APIELASPIC2is 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.importjsonimporttimeimportrequestsELASPIC2_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 jobjob_request=requests.post(ELASPIC2_JOBS_API,json=mutation_info).json()whileTrue:# Wait for the job to finishtime.sleep(10)job_status=requests.get(job_request["web_url"]).json()ifjob_status["status"]in["error","success"]:break# Collect resultsjob_result=requests.get(job_status["web_url"]).json()# Delete job (optional)requests.delete(job_request["web_url"]).raise_for_status()# Show resultsprint(job_result)Command-line interface (CLI)Finally,ELASPIC2can be used through a command-line interface.python-melaspic2\--protein-structuretests/structures/1MFG.pdb\--protein-sequenceGSMEIRVRVEKDPELGFSISGGVGGRGNPFRPDDDGIFVTRVQPEGPASKLLQPGDKIIQANGYSFINIEHGQAVSLLKTFQNTVELIIVREVSS\--ligand-sequenceEYLGLDVPV\--mutationsG1A.G1CInstallationDockerDocker images that containELASPIC2and all dependencies are available at:https://gitlab.com/elaspic/elaspic2/container_registry.Conda-packConda-pack tarballs containingELASPIC2and all dependencies are available at:http://conda-envs.proteinsolver.org/elaspic2/.Simply download and extract the tarball into a desired directory and runconda-unpackto unpack.wgethttp://conda-envs.proteinsolver.org/elaspic2/elaspic2-latest.tar.gz
mkdir~/elaspic2
tar-xzfelaspic2-latest.tar.gz-C~/elaspic2source~/elaspic2/bin/activate
conda-unpackCondaELASPIC2can be installed usingconda. However, thetorch-geometricdependencies have to be installed separately.Replacecudatoolkit=10.1andcu101with the desired CUDA version.condacreate-nelaspic2-cpytorch-costrokach-forge-cconda-forge-cdefaultselaspic2"cudatoolkit=10.1"condaactivateelaspic2
pipinstall"torch-scatter==latest+cu101"-fhttps://pytorch-geometric.com/whl/torch-1.7.0.html
pipinstall"torch-sparse==latest+cu101"-fhttps://pytorch-geometric.com/whl/torch-1.7.0.html
pipinstall"torch-cluster==latest+cu101"-fhttps://pytorch-geometric.com/whl/torch-1.7.0.html
pipinstall"torch-spline-conv==latest+cu101"-fhttps://pytorch-geometric.com/whl/torch-1.7.0.html
pipinstall"torch-geometric==1.6.1"Python package index (PyPI)ELASPIC2can be installed usingpip. However, thetorchandtorch-geometricdependencies have to be installed from external channels.Replacecu101with the desired CUDA version.pipinstallelaspic2
pipinstall"torch==1.7.0+cu101"-fhttps://download.pytorch.org/whl/torch_stable.html
pipinstall"torchvision==0.8.1+cu101"-fhttps://download.pytorch.org/whl/torch_stable.html
pipinstall"torch-scatter==latest+cu101"-fhttps://pytorch-geometric.com/whl/torch-1.7.0.html
pipinstall"torch-sparse==latest+cu101"-fhttps://pytorch-geometric.com/whl/torch-1.7.0.html
pipinstall"torch-cluster==latest+cu101"-fhttps://pytorch-geometric.com/whl/torch-1.7.0.html
pipinstall"torch-spline-conv==latest+cu101"-fhttps://pytorch-geometric.com/whl/torch-1.7.0.html
pipinstall"torch-geometric==1.6.1"DataData used to train and validate theELASPIC2models are available athttp://elaspic2.data.proteinsolver.organdhttp://protein-folding-energy.data.proteinsolver.org.See theprotein-folding-energyrepository to see how these data were generated.AcknowledgementsReferencesAlexey Strokach, Tian Yu Lu, Philip M. Kim.ELASPIC2 (EL2): Combining contextualized language models and graph neural networks to predict effects of mutations.