angepapa/AntiSite

Space

AntiSite — antibody paratope prediction

0

11 commits

1 linked in READMEs

updated Jul 31, 2026

See the code

README

AntiSite — antibody paratope prediction

Live demo of AntiSite: modality dropout for antibody paratope prediction, with or without structure, from a single model.

Both tabs run the same checkpoint (antisite_paragraph.pt). The only difference is whether a structure is supplied — modality dropout is what lets one set of weights serve both paths.

TabInputNotes
Sequence-onlyVH + VLFused head receives a zero 3D tensor
3DAntibody PDBParaSurf extracts 256-d surface features first

The example structures and sequences are drawn from the held-out Paragraph test set, so nothing shown here was seen during training of the demo checkpoint.

How this Space is put together

The Dockerfile clones AntiSite (pinned by ANTISITE_REF) and ParaSurf from GitHub rather than vendoring copies, so the demo and the published CLI cannot drift apart. It bakes in every weight — AntiSite checkpoints, ParaSurf, ProtT5 and ESM-2 — so nothing is downloaded at runtime and waking from sleep is fast. To move the demo to a new release, bump ANTISITE_REF.

Requires GPU hardware — the 3D tab runs a 3D CNN over 15k–30k surface points per antibody, which is impractical on CPU.

Gradio-SDK fallback (not currently used)

bootstrap.py, requirements.txt and packages.txt are a tested fallback for running this Space under sdk: gradio instead of sdk: docker, should the Docker SDK become unavailable. To switch, change the sdk and app_port lines above to sdk: gradio / sdk_version: 4.44.1 / python_version: "3.10" / app_file: app.py. app.py detects which mode it is in and needs no edit.

The fallback reproduces without an image build what the Dockerfile does at build time:

  • clones AntiSite and ParaSurf at first boot,
  • compiles ParaSurf's DMS surface program into a user-writable prefix. The binary shipped in the ParaSurf repo needs GLIBC 2.34 and has its data paths compiled in via -DDESTLIB, so building with our own LIBDIR is what makes it work without root. Verified to produce byte-identical surfaces to a root install.
  • restores the pdb2pqr executable bit and downloads the frozen ParaSurf weights.

OpenBabel there comes from openbabel-wheel rather than conda-forge. It is the same upstream 3.1.1, and was checked to yield byte-identical atom properties, SMARTS matches and partial charges, so ParaSurf's chemical features are unchanged.

docker

angepapa/AntiSite

Space

AntiSite — antibody paratope prediction

0

11 commits

1 linked in READMEs

updated Jul 31, 2026

See the code

README

AntiSite — antibody paratope prediction

Live demo of AntiSite: modality dropout for antibody paratope prediction, with or without structure, from a single model.

Both tabs run the same checkpoint (antisite_paragraph.pt). The only difference is whether a structure is supplied — modality dropout is what lets one set of weights serve both paths.

TabInputNotes
Sequence-onlyVH + VLFused head receives a zero 3D tensor
3DAntibody PDBParaSurf extracts 256-d surface features first

The example structures and sequences are drawn from the held-out Paragraph test set, so nothing shown here was seen during training of the demo checkpoint.

How this Space is put together

The Dockerfile clones AntiSite (pinned by ANTISITE_REF) and ParaSurf from GitHub rather than vendoring copies, so the demo and the published CLI cannot drift apart. It bakes in every weight — AntiSite checkpoints, ParaSurf, ProtT5 and ESM-2 — so nothing is downloaded at runtime and waking from sleep is fast. To move the demo to a new release, bump ANTISITE_REF.

Requires GPU hardware — the 3D tab runs a 3D CNN over 15k–30k surface points per antibody, which is impractical on CPU.

Gradio-SDK fallback (not currently used)

bootstrap.py, requirements.txt and packages.txt are a tested fallback for running this Space under sdk: gradio instead of sdk: docker, should the Docker SDK become unavailable. To switch, change the sdk and app_port lines above to sdk: gradio / sdk_version: 4.44.1 / python_version: "3.10" / app_file: app.py. app.py detects which mode it is in and needs no edit.

The fallback reproduces without an image build what the Dockerfile does at build time:

  • clones AntiSite and ParaSurf at first boot,
  • compiles ParaSurf's DMS surface program into a user-writable prefix. The binary shipped in the ParaSurf repo needs GLIBC 2.34 and has its data paths compiled in via -DDESTLIB, so building with our own LIBDIR is what makes it work without root. Verified to produce byte-identical surfaces to a root install.
  • restores the pdb2pqr executable bit and downloads the frozen ParaSurf weights.

OpenBabel there comes from openbabel-wheel rather than conda-forge. It is the same upstream 3.1.1, and was checked to yield byte-identical atom properties, SMARTS matches and partial charges, so ParaSurf's chemical features are unchanged.

docker