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(): ...