Posts

Showing posts from June, 2026

Adding Apple Silicon (MPS) Support to FlashABB

  FlashABB is a fast antibody structure prediction library from the Oxford Protein Informatics Group. (OXPIG) with a preprint here . It predicts paired VH/VL structures, scores, developability (FlashTAP), and produces structure-aware sequence embeddings (FlashABB-SSS) — all from a single "HEAVY|LIGHT" sequence string, with weights bundled in the repo. The library was written for CUDA. Getting it running on Apple Silicon required fixing five separate issues. I worked with Claude Code and got the following fixes:   --- Fix 1 — pip ≥ 26 editable install pip 26 dropped the legacy setup.py-only editable install fallback. A minimal pyproject.toml was all that was needed:   [build-system]   requires = ["setuptools>=64", "wheel"]   build-backend = "setuptools.build_meta"   ---   Fix 2 — Device auto-detection   Three places hardcoded device='cuda'. Replaced with a helper:   def _default_device():       if torch.cuda.is_available(): ...