{"id":44626182,"url":"https://github.com/deeprank/ponder","last_synced_at":"2026-02-14T15:13:09.599Z","repository":{"id":88911071,"uuid":"138141846","full_name":"DeepRank/PoNDeR","owner":"DeepRank","description":"PointNet for Deep Rank: protein-protein interaction scoring using neural networks","archived":false,"fork":false,"pushed_at":"2020-05-27T10:59:31.000Z","size":392,"stargazers_count":9,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-23T13:40:48.964Z","etag":null,"topics":["deep-learning","pdb","point-cloud","pointnet","protein-protein-interaction","structural-bioinformatics"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DeepRank.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-06-21T08:27:26.000Z","updated_at":"2022-02-23T11:00:12.000Z","dependencies_parsed_at":"2023-06-13T02:45:15.020Z","dependency_job_id":null,"html_url":"https://github.com/DeepRank/PoNDeR","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DeepRank/PoNDeR","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeepRank%2FPoNDeR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeepRank%2FPoNDeR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeepRank%2FPoNDeR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeepRank%2FPoNDeR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DeepRank","download_url":"https://codeload.github.com/DeepRank/PoNDeR/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeepRank%2FPoNDeR/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29447774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T14:10:32.461Z","status":"ssl_error","status_checked_at":"2026-02-14T14:09:49.945Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["deep-learning","pdb","point-cloud","pointnet","protein-protein-interaction","structural-bioinformatics"],"created_at":"2026-02-14T15:13:08.884Z","updated_at":"2026-02-14T15:13:09.559Z","avatar_url":"https://github.com/DeepRank.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# General\n\nExperimental deep learning architecture for scoring protein-protein interactions.\n\nSee [PointNet paper](https://arxiv.org/abs/1612.00593) for original architecture description. This implementation contains two architectures, neither of which contain the transformer networks, so can be considered variants of the *vanilla* version of PointNet. The first differs merely in its dropout rate (50%), whereas the second is a novel architecture called *Siamese PointNet*, visible in the image below.\n\n![Siamese PointNet](/doc/SiamesePointNet_architecture.png)\n\nOther adaptations include cosine annealing learning rate decay, which has been implemented to improve accuracy and generalizability of the trained network (see [Stochastic Gradient Descent with Warm Restarts](https://arxiv.org/abs/1608.03983)), and a custom loss function introducing a bias in learning towards higher scoring decoys.\n\n![FavorHigh loss](/doc/FavorHighLoss.png)\n\n# Dependencies\n\n* Python 3.x\n* [H5Py](http://www.h5py.org/) for fast data retrieval\n* [PyTorch \u003c0.4](https://github.com/pytorch/pytorch) and its dependencies\n* Data conversion uses [DeepRank](https://github.com/DeepRank/deeprank) and its dependencies\n* [Seaborn](https://github.com/mwaskom/seaborn) for plotting\n\n# Usage\n\n*python train.py*\n\n```\n  --batch_size BATCH_SIZE   Input batch size (default = 256)\n  --num_points NUM_POINTS   Points per point cloud used (default = 1024)\n  --num_epoch NUM_EPOCH     Number of epochs to train for (default = 15)\n  --CUDA                    Train on GPU\n  --out_folder OUT_FOLDER   Model output folder\n  --model MODEL             Model input path\n  --data_path DATA_PATH     Path to HDF5 file\n  --lr LR                   Learning rate (default = 0.0001)\n  --optimizer OPTIMIZER     What optimizer to use. Options: Adam, SGD, SGD_cos\n  --avg_pool                Use average pooling for feature pooling (instead of default max pooling)\n  --dual                    Use Siamese PointNet architecture\n  --metric METRIC           Metric to be used. Options: irmsd, lrmsd, fnat, dockQ (default)\n  --dropout DROPOUT         Dropout rate in last layer. When 0 replaced by batchnorm (default = 0.5)\n  --root                    Apply square root on metric (for DockQ score balancing)\n  --patience PATIENCE       Number of epochs to observe overfitting before early stopping\n  --classification          Classification instead of regression\n```\n\nThe network takes the atoms taking part in an interaction as point cloud data. Data conversion can be performed using the *extract_pc.py* script.\n\nData is saved in HDF5 format containing 3 groups: train, test and \"holdout\" data. Datasets within these groups contain atom features with *float32* precision and attributes containing the iRMSD, lRMSD, FNAT, and DockQ scores.\n\n# Current state\n\n* Architecture \u0026 training scripts have been fully implemented\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeeprank%2Fponder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeeprank%2Fponder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeeprank%2Fponder/lists"}