# Pretrained weights Local checkpoint files read by the released structure encoders of ProtCompass. Every file here is byte-identical to the upstream release, and loading it with the project's wrapper on CPU reproduces the weight hash (`weights_sha256`) recorded in the `meta.json` of the released embeddings. `SHA256SUMS` lists the full hashes; check them with `sha256sum -c SHA256SUMS` from this folder. | Folder | File | Size (bytes) | SHA-256 (first 16) | Used by | Source | Licence | |---|---|---:|---|---|---|---| | `proteinmpnn/` | `proteinmpnn_v48_020.pt` | 6,681,301 | `c9cb4a671d796041` | ProteinMPNN | github.com/dauparas/ProteinMPNN, `vanilla_model_weights/v_48_020.pt` (commit 8907e66) | MIT (`LICENSE`) | | `gearnet_pretrained/` | `mc_gearnet_edge.pth` | 80,700,937 | `6dc11e2db6eff3c9` | GearNet-pre | Zenodo 10.5281/zenodo.7593637 | CC BY 4.0 (`NOTICE.md`) | | `gcpnet_pretrained/` | `model_epoch_115_localpearson_0_616_..._globalkendall_0_676.ckpt` | 14,270,541 | `ff7b73be01fb57d5` | GCPNet-pre; GCPNet (random) reads only its hyper-parameters | github.com/BioinfoMachineLearning/GCPNet, `checkpoints/PSR/` (commit 172733b) | MIT (`LICENSE`) | | `pottsmpnn_pretrained/` | `pottsmpnn_20.pt` | 20,478,391 | `28b1620a71883142` | PottsMPNN-pre | github.com/KeatingLab/PottsMPNN, `proteinmpnn_compatible_model_weights/` (commit a6ccac3) | MIT (`LICENSE`) | | `pottsmpnn_soluble/` | `sol_pottsmpnn_20.pt` | 20,687,317 | `f203a69773df41a1` | PottsMPNN-sol | same repository, `soluble_model_weights/` | MIT (`LICENSE`) | | `pottsmpnn_ft/` | `potts_ft.pt` | 20,690,454 | `b672ff4ed1492560` | PottsMPNN-ft | same repository, `ft_model_weights/` | MIT (`LICENSE`) | The GCPNet file name is shortened in the table; the full name is in `SHA256SUMS`. The PottsMPNN repository holds two different files named `sol_pottsmpnn_20.pt`; the one used is the file in `soluble_model_weights/`. ## Where the code expects each file The released code reads these files from fixed paths under `protcompass/` in the code repository (): | File here | Path the code reads | |---|---| | `proteinmpnn/proteinmpnn_v48_020.pt` | `protcompass/checkpoints/proteinmpnn_v48_020.pt` | | `gearnet_pretrained/mc_gearnet_edge.pth` | `protcompass/checkpoints/gearnet/mc_gearnet_edge.pth` | | `gcpnet_pretrained/.ckpt` | `protcompass/external_repos/GCPNet/checkpoints/PSR/.ckpt` | | `pottsmpnn_pretrained/pottsmpnn_20.pt` | `protcompass/external_repos/PottsMPNN/proteinmpnn_compatible_model_weights/pottsmpnn_20.pt` | | `pottsmpnn_soluble/sol_pottsmpnn_20.pt` | `protcompass/external_repos/PottsMPNN/soluble_model_weights/sol_pottsmpnn_20.pt` | | `pottsmpnn_ft/potts_ft.pt` | `protcompass/external_repos/PottsMPNN/ft_model_weights/potts_ft.pt` | A clone of the GCPNet and PottsMPNN repositories at the listed commits already contains their files at those paths. Otherwise, link the downloaded files into place from the root of the code repository (`HF` is the local copy of this Hugging Face repository): ```bash HF= P=protcompass mkdir -p $P/checkpoints/gearnet $P/external_repos/GCPNet/checkpoints/PSR \ $P/external_repos/PottsMPNN/{proteinmpnn_compatible_model_weights,soluble_model_weights,ft_model_weights} ln -s "$HF/checkpoints/proteinmpnn/proteinmpnn_v48_020.pt" $P/checkpoints/proteinmpnn_v48_020.pt ln -s "$HF/checkpoints/gearnet_pretrained/mc_gearnet_edge.pth" $P/checkpoints/gearnet/mc_gearnet_edge.pth ln -s "$HF"/checkpoints/gcpnet_pretrained/*.ckpt $P/external_repos/GCPNet/checkpoints/PSR/ ln -s "$HF/checkpoints/pottsmpnn_pretrained/pottsmpnn_20.pt" $P/external_repos/PottsMPNN/proteinmpnn_compatible_model_weights/ ln -s "$HF/checkpoints/pottsmpnn_soluble/sol_pottsmpnn_20.pt" $P/external_repos/PottsMPNN/soluble_model_weights/ ln -s "$HF/checkpoints/pottsmpnn_ft/potts_ft.pt" $P/external_repos/PottsMPNN/ft_model_weights/ ``` ## Weights that are not in this folder | Encoder | Where the weights come from | |---|---| | ESM-1b, ESM2 (8M, 35M, 150M, 650M, 3B), ProtBert, ProtT5-XL, Ankh, ProstT5, SaProt | Hugging Face hub, by the id and revision in the `checkpoint` and `checkpoint_revision` fields of each `meta.json` (listed in the main README) | | FoldVision | Hugging Face hub, `AlexanderKroll/foldvision-encoder`, through the model's own `from_pretrained` | | ESM-IF1 | downloaded by `torch.hub.load("facebookresearch/esm:main", "esm_if1_gvp4_t16_142M_UR50")` from the ESM release (MIT) | | Foldseek 3Di | computed by the `mini3di` package, version 0.2.1 (BSD-3-Clause); no separate weights file | | ESM3 | `esm3-sm-open-v1` is distributed by EvolutionaryScale under the Cambrian Non-Commercial License Agreement, which does not allow redistribution. Accept the licence and download it from the gated Hugging Face repository `EvolutionaryScale/esm3-sm-open-v1`; the code expects it under `protcompass/esm3-sm-open-v1/` | | TFN-pre, IPA-pre | taken from the models' released repositories and not redistributed here; the code expects them at `protcompass/checkpoints/tfn_pretrained/best.pt` and `protcompass/checkpoints/ipa_pretrained/best.pt`, and the SHA-256 prefix of each file used is in the `checkpoint_sha256` field of its `meta.json` | | randomly initialised encoders (SchNet, TFN, DimeNet, MACE, GearNet, IPA, GVP, GCPNet, CDConv, PottsMPNN) | no weights file; the networks are built with the fixed seed 20260919, and the hash of the resulting weights is in each `meta.json` |