Posts

Showing posts with the label protein design

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

Controlled Sampling in High-Dimensional Latent Spaces for Protein Design

A fundamental challenge in generative artificial intelligence involves sampling from carefully constructed high-dimensional latent spaces and utilizing these samples as inputs to decoder networks for generating novel entities. In the context of computational protein design, this process typically involves sampling regions within protein embedding spaces where specific biochemical properties are anticipated, such as enhanced binding affinity or improved developability characteristics in therapeutic antibodies. The sample-decode paradigm presents several significant technical challenges that must be addressed for effective protein generation. First, determining the optimal sampling distance from training datasets remains a critical consideration—sampling too close may limit diversity, while sampling too far may compromise biological relevance. Second, identifying which directions in the latent space merit more extensive exploration requires careful consideration of the underlying protein...