{"id":21441723,"url":"https://github.com/dmis-lab/equicpi","last_synced_at":"2025-03-17T00:43:04.356Z","repository":{"id":259396443,"uuid":"861497636","full_name":"dmis-lab/EquiCPI","owner":"dmis-lab","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-02T02:17:57.000Z","size":86,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-23T10:35:32.855Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmis-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-23T02:38:22.000Z","updated_at":"2025-01-02T02:18:00.000Z","dependencies_parsed_at":"2025-01-23T10:29:34.954Z","dependency_job_id":"cd3bef2c-2768-475c-8b15-869a69936fab","html_url":"https://github.com/dmis-lab/EquiCPI","commit_stats":null,"previous_names":["dmis-lab/equicpi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmis-lab%2FEquiCPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmis-lab%2FEquiCPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmis-lab%2FEquiCPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmis-lab%2FEquiCPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmis-lab","download_url":"https://codeload.github.com/dmis-lab/EquiCPI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243955720,"owners_count":20374372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-23T01:41:16.292Z","updated_at":"2025-03-17T00:43:04.334Z","avatar_url":"https://github.com/dmis-lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EquiCPI\n\nA PyTorch implementation of:\n**EquiCPI: A equivariant neural network for compound protein interaction prediction**\n\nIn this project, we proposed a model to fully use SE(3) group (Euclidian group) by using multiple e3nn neural networks to predict the binding affinity free energy. These networks leverage the principles of equivariance and invariance to process 3D structures, ensuring that the extracted information remains consistent regardless of transformations such as rotations, translations, and reflections.\nHere we used the predicted 3D structure of compounds by adopting [Diffdock](https://github.com/gcorso/DiffDock) and the predicted 3D fold of protein sequence by using [ESMFold](https://github.com/facebookresearch/esm).\n\nTraditional sequence-based models for compound-protein interaction (CPI) prediction often  rely on molecular fingerprints, descriptors, or graph representations. These approaches tend to overlook  the significant information of three-dimensional (3D) structures. To address this limitation, we developed  a novel model, EquiCPI, based on Euclidean neural networks (e3nns), which leverage the SE(3)  (Euclidean group) group to predict binding affinity. The model leverages principles of equivariance and  invariance, enabling it to extract 3D information while maintaining consistency across transformations such as rotations, translations, and reflections. We utilized predicted 3D structures from sequence data of compounds from state-of-the-art DiffDock and 3D protein folds from ESMFold to train and validate the proposed model.\n\n![model_arch](https://github.com/user-attachments/assets/8ab233e5-d264-4bdf-b4a2-b3fa5a584c24)\n\nSet up the environment:\n\nIn our experiment we use, Python 3.9 with PyTorch 2.1.2 + CUDA 11.8.\n\n```bash\ngit clone https://github.com/dmis-lab/EquiCPI.git\nconda env create -f environment.yml\n```\n\n\n# 1 **Generate a .pt file containing a 3D graph of a protein from a .pdb input file.**\u003cbr /\u003e\n~~~\npython generate_graph_for_protein.py #output_ESM #file_protein_name.csv #processed_dir #name_of_file.pt\n~~~\n**Re_ranking the complexes with Vina_docking score**\u003cbr /\u003e\n~~~\npython ./vina_score/vina_function_rerank_regu.py #prediction_output_diffdock #dataset.csv(with compound.sdf, protein.pdb)\n~~~\n**Run generate data for turning compounds and proteins into 3D graphs.** \u003cbr /\u003e \n~~~\npython generate_pt_dataset.py #machine_learning_task #data_name #data_csv_file.csv\n~~~\n**Run training the model.** \u003cbr /\u003e \n~~~\nbash run_class.sh\n~~~\n\n**Datasets** \u003cbr /\u003e \nThe related Datasets are as follows: \u003cbr /\u003e \n[BindingDB curated from articles](https://www.bindingdb.org/rwd/bind/chemsearch/marvin/Download.jsp): https://www.bindingdb.org/rwd/bind/chemsearch/marvin/Download.jsp \u003cbr /\u003e \n[DUD-E Diverse](http://dude.docking.org/subsets/diverse): http://dude.docking.org/subsets/diverse \u003cbr /\u003e \n[BindingDB_class](https://github.com/IBM/InterpretableDTIP): https://github.com/IBM/InterpretableDTIP \u003cbr /\u003e \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmis-lab%2Fequicpi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmis-lab%2Fequicpi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmis-lab%2Fequicpi/lists"}