{"id":13958583,"url":"https://github.com/FreyrS/dMaSIF","last_synced_at":"2025-07-21T00:31:16.542Z","repository":{"id":38682455,"uuid":"342589864","full_name":"FreyrS/dMaSIF","owner":"FreyrS","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-22T15:34:26.000Z","size":2997,"stargazers_count":195,"open_issues_count":21,"forks_count":45,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-28T02:34:50.120Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FreyrS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2021-02-26T13:50:15.000Z","updated_at":"2024-11-20T05:58:44.000Z","dependencies_parsed_at":"2024-11-28T02:32:23.902Z","dependency_job_id":"10a874c6-c21f-422f-aca4-94a0c8744489","html_url":"https://github.com/FreyrS/dMaSIF","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FreyrS/dMaSIF","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreyrS%2FdMaSIF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreyrS%2FdMaSIF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreyrS%2FdMaSIF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreyrS%2FdMaSIF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FreyrS","download_url":"https://codeload.github.com/FreyrS/dMaSIF/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreyrS%2FdMaSIF/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266221259,"owners_count":23894965,"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-08-08T13:01:45.398Z","updated_at":"2025-07-21T00:31:16.537Z","avatar_url":"https://github.com/FreyrS.png","language":"Jupyter Notebook","funding_links":[],"categories":["蛋白质结构"],"sub_categories":["网络服务_其他"],"readme":"## dMaSIF - Fast end-to-end learning on protein surfaces\n![Method overview](overview.PNG)\n\n## Abstract\n\nProteins’ biological functions are defined by the geometric\nand chemical structure of their 3D molecular surfaces.\nRecent works have shown that geometric deep learning can\nbe used on mesh-based representations of proteins to identify\npotential functional sites, such as binding targets for\npotential drugs. Unfortunately though, the use of meshes as\nthe underlying representation for protein structure has multiple\ndrawbacks including the need to pre-compute the input\nfeatures and mesh connectivities. This becomes a bottleneck\nfor many important tasks in protein science.\n\nIn this paper, we present a new framework for deep\nlearning on protein structures that addresses these limitations.\nAmong the key advantages of our method are the computation\nand sampling of the molecular surface on-the-fly\nfrom the underlying atomic point cloud and a novel efficient\ngeometric convolutional layer. As a result, we are able to\nprocess large collections of proteins in an end-to-end fashion,\ntaking as the sole input the raw 3D coordinates and\nchemical types of their atoms, eliminating the need for any\nhand-crafted pre-computed features.\n\nTo showcase the performance of our approach, we test it\non two tasks in the field of protein structural bioinformatics:\nthe identification of interaction sites and the prediction\nof protein-protein interactions. On both tasks, we achieve\nstate-of-the-art performance with much faster run times and\nfewer parameters than previous models. These results will\nconsiderably ease the deployment of deep learning methods\nin protein science and open the door for end-to-end differentiable\napproaches in protein modeling tasks such as function\nprediction and design.\n\n## Hardware requirements\n\nModels have been trained on either a single NVIDIA RTX 2080 Ti or a single Tesla V100 GPU. Time and memory benchmarks were performed on a single Tesla V100.\n\n## Software prerequisites \n\nScripts have been tested using the following two sets of core dependencies:\n\n| Dependency | First Option  | Second Option |\n| ------------- | ------------- | ------------- |\n| GCC | 7.5.0 | 8.4.0 |\n| CMAKE | 3.10.2 | 3.16.5 |\n| CUDA | 10.0.130 | 10.2.89  |\n| cuDNN | 7.6.4.38  | 7.6.5.32  |\n| Python | 3.6.9  | 3.7.7  |\n| PyTorch | 1.4.0  | 1.6.0  |\n| PyKeops | 1.4  | 1.4.1  |\n| PyTorch Geometric | 1.5.0  | 1.6.1  |\n\n\n## Code overview\n\n\nUsage:\n- In order to **train models**, run `main_training.py` with the appropriate flags. \nAvailable flags and their descriptions can be found in `Arguments.py`.\n\n- The command line options needed to reproduce the **benchmarks** can be found in `benchmark_scripts/`.\n\n- To make **inference** on the testing set using pretrained models, use `main_inference.py` with the flags that were used for training the models. \nNote that the `--experiment_name flag` should be modified to specify the training epoch to use.\n\nImplementation:\n- Our **surface generation** algorithm, **curvature** estimation method and **quasi-geodesic convolutions** are implemented in `geometry_processing.py`.\n\n- The **definition of the neural network** along with surface and input features can be found in `model.py`. The convolutional layers are implemented in `benchmark_models.py`.\n\n- The scripts used to **generate the figures** of the paper can be found in `data_analysis/`.\n\n\n## License\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc-nd/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003eThis work is licensed under a \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc-nd/4.0/\"\u003eCreative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License\u003c/a\u003e.\n\n## Reference\n\nSverrisson, F., Feydy, J., Correia, B. E., \u0026 Bronstein, M. M. (2020). Fast end-to-end learning on protein surfaces. [bioRxiv](https://www.biorxiv.org/content/10.1101/2020.12.28.424589v1).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFreyrS%2FdMaSIF","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFreyrS%2FdMaSIF","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFreyrS%2FdMaSIF/lists"}