Oxford Protein Informatics Group
or "OPIG" to friends
- Posts
- 983 from 11 Jan 2013 to 30 Oct 2026
- Posting
- weekly (70 in the last year)
- Kind
- magazine
- Feed
- https://www.blopig.com/blog/feed/
2026 63
- Stop using win rate: comparing model rankings across different benchmark tasks
- Atom14 and Atom37: how protein design models write down atoms
- Lessons in Bemistry: identifying the signature of a medicinal chemist
- Characterising nanobody developability to improve therapeutic design using the Therapeutic Nanobody Profiler
- OAS-nano: New Repertoire Database Just Dropped
- Le Tour De Farce v13.0
- The First OpenBind Blind Challenge
- AI can remove typing. It cannot remove thinking.
- Finally solving drug discovery with a Fly
- OPunting 2026
- One Year Down: Wisdom from a Former OPIG Newbie
- Is the race for AGI a scam? Are the tech bros con men or visionaries?
- Predicting ADME Properties with Machine Learning: 82% of the Performance From Two Descriptors
- Project Cybersyn: Bayesian Socialist Algocracy in 1970s Chile
- The cost of a better pose: balancing GNINA sampling and runtime
- Beyond the Vaccine: AI’s Expanding Role in LNP mediated Drug Delivery
- Claude now watermarks its text: here’s what is actually happening under the hood
- Oxford Agent Escapes Lab, Infiltrates EPFL, and Roams Swiss Alps
- Diffusion Models Can’t Give You a Likelihood… So How Do We Score Inverse-Folded Sequences?
- The IMGT just became a little FAIRer
- Work Hard, Play Hard: Balancing Sport and Studies at Oxford
- App-ready databases from Python with SQLModel and FastAPI
- Same science, different stories: writing papers vs writing grants
- OPIGlet’s First Conference: PEGS Boston 2026
- OPIG Retreat, 2026: Heatwave Edition
- SAbDab2: The structural antibody database in the age of machine learning
- Building an Agent – Practical Notes for Beginners
- Networks beyond proteins: a Lake Como summer school
- How Unusual Is Your Generated Molecule? Let The CCDC Tell You
- Peering Inside the Black Box: A Beginner’s Introduction to Mechanistic Interpretability
- A timeline of sampling methods of diffusion models
- Spin Lattices and Proteins – How state-based discretisations have enabled modern protein modelling
- Will TurboQuant save us from the RAM apocalypse?
- The Open Immune Window: Notes on Sweaty Workouts and Vanishing Immune Cells
- Revealing Nature’s Quantum Compass – Kickoff Day
- Three Resources I Keep Coming Back to for Learning Deep Learning
- What I wish I knew before applying and moving to Oxford from the US
- A Golden Age of Nanomedicine
- A first for PROTACs
- Curiosity might not kill the cat
- Speeding up python through profiling
- Pitfalls of AI-Generated Reviews: Case Study of a Frontiers in Microbiology Review on Anti-Influenza A bnAbs
- Analyzing AlphaFold 3’s Diffusion Trajectory
- No Pretraining, No Equivariant Architecture – Learning MLIPs without Explicit Equivariance
- Biologic Summit 2026
- Not-Proteins in Parliament: Part II
- SigmaDock: untwisting molecular docking with fragment-based SE(3) diffusion
- Fragment-to-Lead Successes in 2024 – 10th Anniversary Edition
- Misconduct, Bias or Benign? A Case of Missing Ångströms
- Why is Wikipedia so good?
- Potholes: an ancient problem demanding modern solutions
- Nice TCR processing libraries
- Building a “Second Brain” – A Functional Knowledge Stack with Obsidian
- New DPhil/PhD Programme in Pharmaceutical Science Joint with GSK!
- Creating scientific figures in Inkscape
- Advanced PyMOL Visualization for Weighted Structural Ensembles (Part 1): Ensemble Comparison
- Advanced PyMOL Visualization for Weighted Structural Ensembles (Part 2): Efficient Weighted SASA Surfaces
- Democratising the Dark Arts: Writing Triton Kernels with Claude
- What Molecular ML Can Learn from the Vision Community’s Representation Revolution
- Scientific Acceleration with Agentic Coding in 2026
- Can we make Boltz predict allosteric binding?
- Agentic AI
- Finding 250GB of Missing Storage On My Mac: A Warning For Large Dataset Users
2025 78
- The Experimentally Relevant Future of Molecular Dynamics: Lessons from the Annual Danish Workshop on Advanced Molecular Simulations
- Chemical Languages in Machine Learning
- Some thoughts on molecular similarity
- An Introduction to the Basics of Reinforcement Learning
- Dispatches from Lisbon
- Controlling the Diffusion Denoising Process: A Molecular Show
- Design your very own drug: An introduction to structure-based small molecule drug design
- Is the molecule in the computer?
- I Prompt, Therefore I Am: Is Artificial Intelligence the End of Human Thought?
- Nanobodies® galore in Utrecht
- Using Node-RED as a front-end to your software
- 3 Reasons Why You Should Play Chess Instead of Doing Your Work
- Fragment-to-Lead Successes in 2023
- Are you addicted to dopamine?
- Human Learning in the age of Machine Learning
- Bye Bye Lucy Vost! (Lucy Gone-st but not forgotten)
- Getting In the Flow – How to Flow (Match)
- Is attention all you need for protein folding?
- Extracting 3D Pharmacophore Points with RDKit
- Reflections on GRC CADD 2025: A Week of Insight, Innovation, and Baseball
- Exploring the Protein Data Bank programmatically
- Accelerating AlphaFold 3 for high-throughput structure prediction
- Handling OAS Scale Datasets Without The Drama
- Exploding Barbers (Paradoxes — Part I)
- A guide to fixing broken AMBER MD trajectory files and visualisations.
- Understand Large Codebases Faster Using GitIngest
- ISMB/ECCB conference feedback
- How reliable are affinity datasets in practice?
- Conference feedback: Protein Society Annual Symposium
- GPT-5 achieves state-of-the-art chemical intelligence
- Installing open source PyMOL with pip
- Taming the Trajectory Beast: A Simpler Way to Sample Your MD Simulations
- OPIG website and services will undergo routine maintenance on Monday 11 August 2025 at 10:00 UTC
- Antibody developability datasets
- Publishing 101
- A more robust way to split data for protein-ligand tasks?
- GUI Slop
- Can AI help us design better viruses?
- Le Tour de Farce v12.0
- PEGS Boston 2025
- Pose Prediction: Does Your Model Generalize? The Role of Data Similarity
- On the Joys of vim-like Browsing
- Attention Is All You Need – A Moral Case
- Eye of the World by Robert Jordan: A Concise Review
- ChatGPT can now use RDKit!
- Estimating uncertainty in MD observables using block averaging
- Memory Efficient Clustering of Large Protein Trajectory Ensembles
- Open Source Pharma: From Idealism to Pragmatic Solutions
- An insight into mega-conferences – attending ESCMID Global 2025
- Attending LMRL @ ICLR 2025
- Interested in Research Software Engineering? We’re hiring!
- Demystifying Git and Merge Conflicts
- Cheating at Spelling Bee using the command line
- Featurisation is Key: One Version Change that Halved DiffDock’s Performance
- Slurm and Snakemake: a match made in HPC heaven
- A Masterclass in Basic & Translational Immunology with Prof. Abul Abbas
- AI generated linkers™: a tutorial
- NVIDIA Reimagines CUDA for Python Developers
- Debugging code for science: Fantastic Bugs and Where to Find Them.
- GUI Science
- LOADING: an art and science collaborative project
- Holding out for a GPU
- The business of health: research and funding from academia to big pharma
- Therapeutic antibodies and their function
- AI in Academic Writing: Ethical Considerations and Best Practices
- Confidence in ML models
- The Sprawl: Slogs in Scribing and Software
- Combining Multiple Comparisons Similarity plots for statistical tests
- Geometric Deep Learning meets Forces & Equilibrium
- The Good (and limitations) of using a Local CoPilot with Ollama
- Narrowing the gap between machine learning scoring functions and free energy perturbation using augmented data
- Estimating the Generalisability of Machine Learning Models in Drug Discovery
- LLM Coding Tools – An Overview
- De novo protein padlocks
- Molecule Networks: data visualization using PyVis
- Baby’s First NeurIPS: A Survival Guide for Conference Newbies
- Diagnostics on the Cutting Edge, Software in the Stone Age: A Microbiology Story
- Making pretty, interactive graphs the simple way – Use Plotly.
2024 99
- A tougher molecular data split – spectral split
- Generating Haikus with Llama 3.2
- Visualising and validating differences between machine learning models on small benchmark datasets
- Making Pretty Pictures in PyMOL v2
- Controlling PyMol from afar
- Building CLI Applications with Typer
- Cross referencing across LaTeX documents in one project
- Using Jupyter on a remote slurm cluster
- Big Compute doesnt want you to know this! Maximising GPU Usage with CUDA MPS
- Cream, Compression, and Complexity: Notes from a Coffee-Induced Rabbit Hole
- Op uns
- Maybe we should train on our test set?
- The “AI-ntibody” Competition: benchmarking in silico antibody screening/design
- Making Peace with Molecular Entropy
- Navigating Hallucinations in Large Language Models: A Simple Guide
- Protein Property Prediction Using Graph Neural Networks
- Testing python (or any!) command line applications
- The XChem trove of protein–small-molecules structures not in the PDB
- Why the vegans will say “I told you so…”
- Aider and Cheap, Free, and Local LLMs
- MDAnalysis: Work with dynamics trajectories of proteins
- Our future health: A new UK health research programme
- Walk through a cell
- Out of the box RDKit-valid is an imperfect metric: a review of the KekulizeException and nitrogen protonation to correct this
- The Patterns that Escape Us
- Drug Discovery Tools, but they’re olympic sports…
- Do not forget to add your data folder to .gitignore
- Tanimoto similarity of ECFPs with RDKit: Common pitfalls
- I really hope my compounds get the green light
- Roche Continents 2024
- The wider applications of nanobodies
- Making your code pip installable
- Five-word stories about a world where AI dominates the world
- My CCDC Science Day Experience
- Happily hallucinating (for humans)
- Memory-mapped files for efficient data processing
- OPunting 2024
- Converting or renaming files, whilst still maintaining the directory structure
- Experience at the Computational Chemistry Gordon Research Conference
- Sort and Slice Tutorial – An alternative to extended connectivity fingerprints
- ggPlotting tips with OPIG data
- Conference Summary: AIRR Community Meeting VII – Learnings and Perspectives
- Incorporating conformer ensembles for better molecular representation learning
- Reproducible publishing
- Architectural highlights of AlphaFold3
- Le Tour de Farce v11.0
- The Tale of the Undead Logger
- Deliberately misfolding prions to find the golden thread.
- Easy Python job queues with RQ
- Conformational Diversity in Proteins, Revisited
- Conference summary: Generative AI in Life Science
- My take on the Collaborations Workshop (CW) 2024
- Interactive visualization of protein–ligand complexes with Py3Dmol
- Comparing pose and affinity prediction methods for follow-up designs from fragments
- Fine-tune generated molecular poses with a force field
- Organise Your ML Projects With Hydra
- Environmentally sustainable computing
- The War of the Roses: Tea Edition
- Paths that you need to know for compiling
- Pyrosetta for RFdiffusion
- Exploring multilingual programming
- Mounting a remote file system with SSHFS
- Quickly (and lazily) scale your data processing in Python
- Mapping derivative compounds to parent hits
- Conference Summary: MGMS Adaptive Immune Receptors Meeting 2024
- How to write a review paper as a first year PhD student
- How can FemTech help close the gender health gap?
- Inverse Vaccines
- Using JAX and Haiku to build a Graph Neural Network
- Useful metrics and their meanings
- Dockerized Colabfold for large-scale batch predictions
- Tracking the change in ML performance for popular small molecule benchmarks
- RSC Fragments 2024
- Under-rated or overlooked, these libraries might be helpful.
- Pitfalls of using Pearson’s correlation for comparing model performance
- Open Source PyMOL installation on Windows
- An Open-Source CUDA for AMD GPUs – ZLUDA
- Optimising for PR AUC vs ROC AUC – an intuitive understanding
- 3 approaches to linear-memory Transformers
- Fail fast
- Making your figures more accessible
- Plotext: The Matplotlib Lookalike That Breaks Free from X Servers
- In defence of chaos
- Working with PDB Structures in Pandas
- Navigating the world of GNN layers with PyTorch Geometric
- 250 Trips on the Oxford Tube: what I’ve learnt
- Optimising Transformer Training
- How to make ML your entire personality
- A Seq2Seq model for ETF forecasting
- Tip and Tricks to correct a Cuda Toolkit installation in Conda
- AlphaGeometry: are computers taking over math?
- The stuff MDAnalysis didn’t implement: CPU Parallel HOLE conductance analysis
- Taking Equivariance in deep learning for a spin?
- PhD as a mother
- OPIGmas, 2023
- On National AI strategies
- Antibody Engineering & Therapeutics 2023
- How to get more information from slurm?
- Finding and testing a reaction SMARTS pattern for any reaction
2023 87
- Online tools for drawing and visualizing molecules
- Handy LaTeX syntax I Googled over the years
- Some useful pandas functions
- The Antibody Dictionary
- Let your library design blosum
- How to replace bike ball bearings when your steering sounds crunchy
- VHH -vs- VNAR
- Where do we go from here?
- The workings of Fragmenstein’s RDKit neighbour-aware minimisation
- Converting pandas DataFrames into Publication-Ready Tables
- Demystifying the thermodynamics of ligand binding
- What the heck are TPUs?
- OPIG: A decade of Scientific Shenanigans. What’s changed?
- Deploying a Flask app part II: using an Apache reverse proxy
- Understanding GPU parallelization in deep learning
- Understanding positional encoding in Transformers
- Conference feedback: AI in Chemistry 2023
- Antibody Engineering & Therapeutics Europe 2024
- SSH, the boss-fight level: Jupyter notebooks from compute nodes
- Conference feedback — with a difference
- Deploying a Flask app part I: the gunicorn WSGI server
- Thera-SAbDab Updates (2023)
- Tips & tricks with PyMOL
- GitHub.dev: Just press “.”
- Out of Band Management
- The Surprising Shape of Normal Distributions in High Dimensions
- Current strategies to predict structures of multiple protein conformational states
- OPIG Retreat 2023
- LightningCLI, my new best friend
- A Simple Way to Quantify the Similarity Between Two Sets of Molecules
- AI Can’t Believe It’s Not Butter
- A simple criterion can conceal a multitude of chemical and structural sins
- The Notorious O.P.I.G go punting
- Placeholder compounds: distraction vs. accuracy
- ggPlotting tips with OPIG data
- The dangers of Conda-Pack and OpenMM
- Lucubration or Gaslighting?
- Cosmology via Structural Biology and Half-Lives of Teaspoons: Bizarre Papers from Around the Internet
- What can you do with the OPIG Immunoinformatics Suite? v3.0
- A match made in heaven: academic writing with latex and git
- “The Rise of ChatGPT 4.0: Is the Future of Work in Jeopardy?”
- PHinally PHunctionalising my PHigures with PHATE feat. Plotly Express.
- Le Tour de Farce 2023
- KAUST Computational Advances in Structural Biology
- 9th Joint Sheffield Conference on Cheminformatics
- Customising MCS mapping in RDKit
- Machine learning strategies to overcome limited data availability
- Exploring the Observed Antibody Space (OAS)
- Academic Reading? There’s an AI for that.
- Pairwise sequence identity and Tanimoto similarity in PDBbind
- Checking your PDB file for clashing atoms
- Streamlining Your Terminal Commands With Custom Bash Functions and Aliases
- Unclear documentation? ChatGPT can help!
- Cross-linking mass-spectrometry: a guide to conformational confusions.
- Coding a Progress Bar for your Google Slides Presentation
- Writing a BLOPIG Post With ChatGPT: A Personal Take on Using AI for Assisted Writing
- Train Your Own Protein Language Model In Just a Few Lines of Code
- The State of Computational Protein Design
- How ChatGPT changed my writing as an ESL speaker
- Useful small molecules blogs
- Be a computational chemist and you must be a jack of all trades
- Better histograms with Python
- BRICS Decomposition in 3D
- AI-pril Fools
- An Overview of Clustering Algorithms
- PLIP on PDBbind with Python
- Molecular conformation generation with a DL-based force field
- The ultimate modulefile for conda
- BRICS Decomposition and Synthetic Accessibility
- Experience at a Keystone Symposium
- Ligands of CASF-2016
- Can AlphaFold predict protein-protein interfaces?
- LaTeX Beamer Template with Logos
- Atom mapping with RXNMapper
- How to easily use pharmacophoric atom features to turn ECFPs into FCFPs
- Writing “vector trajectories” with cpptraj
- The Most ReLU-iable Activation Function?
- SnackGPT
- SUMO wrestling with developability
- Datamining Wikipedia and writing JS with ChatGTP just to swap the colours on university logos…
- Creating a Personal Website
- Some ponderings on generalisability
- Happy 10th Birthday, Blopig!
- Can ChatGPT write my abstract for me?
- SAbBox in 2023: ImmuneBuilder and more!
- The Boltzmann Distribution and Gender Stereotypes
- Three months in industry and returning to my PhD
2022 99
- Quality Stats
- The exotic zoo of antibodies
- Does ChatGPT know how to translate images?
- Two useful modules to help you find the best ML model for your task
- Festival of Biologics 2022 – November 2-4 Basel, Switzerland
- Bad chemistry in old protein-ligand binding complex data set?
- histo.fyi: A Useful New Database of Peptide:Major Histocompatibility Complex (pMHC) Structures
- Some Musings on AI in Art, Music and Protein Design
- Cleaning outliers in conductance timeseries from molecular dynamics
- A ChatGPT rap battle
- Modeling as a way of trying to be less surprised
- CodeQL analyses your code to find common errors
- How to turn a SMILES string into an extended-connectivity fingerprint using RDKit
- Unreasonably faster notes, with command-line fuzzy search
- Naga101: A Guide to Getting Started with (OPIG) Slurm Servers
- Coarse-grained models of antibody solutions
- Supercharge Your Literature Review With These Tools
- Thinking of going to a conference
- Am I better? Performance metrics unravelled
- Code your own molecule sketcher in 4 easy steps!
- How to build a Python dictionary of residues for each molecule in PyMOL
- Tales of an OPIG Jamboree
- Llamas and nanobodies
- Graphormer: Merging GNNs and Transformers for Cheminformatics
- Using Conda environments with Flask and Apache
- Running code that fails with style
- Universal graph pooling for GNNs
- Musings on Digital Nomaddery from Seoul
- 5th AI in Chemistry meeting
- Vaccines and vino
- An evolutionary lens for understanding cancer and its treatment
- How to make your own singularity container zero fuss!
- Identify Silly Molecules
- Automatic argument parsers for python
- Do you have cis peptide bonds in your simulation inputs?
- Words of Wisdom from final year PhD students
- Tidbits from YouGov Polls
- OPIG swag poll results
- Retrieving AlphaFold models from AlphaFoldDB
- Ten quick tips for proofreading your work
- Filtering molecules with long linkers
- Meeko: Docking straight from SMILES string
- ISMB 2022 – July 10-14 Madison, Wisconsin
- 5th Artificial Intelligence in Chemistry Symposium
- The evolution, evolvability and engineering of gene regulatory DNA
- The SARS-CoV-2 protein spike glycosylation not only shields but primes binding by providing structural stability too
- Cool ideas in Deep Learning and where to find more about them
- Monoclonal antibody PRNP100 therapy for Creutzfeldt–Jakob disease
- Le Tour de Farce v9.0
- Exploring topological fingerprints in RDKit
- Tackling horizontal and vertical limitations
- Oxford MRC DTP Symposium 2022
- Entering a Stable Relationship with your Neural Network
- AIRR Community Meeting VI May 17-19
- Visualise with Weight and Biases
- Sharing Data Responsibly: The FAIR Principles
- Viewing fragment elaborations in RDKit
- Antibodies as Drugs: Keystone Symposia
- Making better plots with matplotlib.pyplot in Python3
- Dealing with multiple compilers
- Benford’s law and OAS
- Congratulations to Prof. Charlotte Deane, MBE
- How to turn a SMILES string into a vector of molecular descriptors using RDKit
- GitHub actions can be useful
- CryoEM is now the dominant technique for solving antibody structures
- Why can a man not lift himself by pulling up on his bootstrap hypothesis test?
- Linux Horror stories vol II: Automatic drivers update
- Make your code do more, with less
- From code to molecules: The future of chemical synthesis
- Paper review: “EquiBind”
- Better Models Through Molecular Standardization
- Feeding a drove of hungry OPIGlets
- MM(PB/GB)SA – a quick start guide
- Einops: Powerful library for tensor operations in deep learning
- OPIG Retreat 2022
- Women in Computing: past, present and what we can do to improve the future.
- OpenMM Setup: Start Simulating Proteins in 5 Minutes
- How to prepare a molecule for RDKit
- How to Install Open Source PyMOL on Windows 10
- Making pwd redundant
- 3 Key Questions to Think About When Designing Proteins Computationally
- How to estimate the inestimable
- Post-processing for molecular docking: Assigning the correct bond order using RDKit.
- Non-linear Dependence? Mutual Information to the Rescue!
- Fragment Based Drug Discovery with Crystallographic Fragment Screening at XChem and Beyond
- Goatcrashing OPIG
- How to Blopig
- How to turn a SMILES string into a molecular graph for Pytorch Geometric
- NeurIPS 2021 Conference Feedback
- Python’s Data Classes
- A quantitative way to measure targeted protein degradation
- Tracking Changes in LaTeX
- What is a plantibody?
- Solving WORDLE with grep
- Simplify your life with SLURM and sync
- New Antibody Therapeutic INNs will no longer end in “-mab”!
- Stochastic chemical kinetics – things randomly bumping into each other
- OPIGmas 2021: Omicron Variant
- Antibody Engineering and Therapeutics Conference
2021 80
- Model validation in Crystallographic Fragment Screening
- snakeMAKE better workflows with your code
- Highlights from the European Antibody Congress 2021
- Targeted protein degradation phenotypic studies using HaloTag CRISPR/Cas9 endogenous target tagging and HaloPROTAC
- Packaging with Conda
- Five Nuggets of Wisdom for Chairing at a Conference
- New review on BCR/antibody repertoire analysis out in MAbs!
- A logical brain teaser to derail your afternoon
- Benchmarks in De Novo Drug Design
- An A-Z of Oxford
- Using normalized SuCOS scores.
- An idea by any other name would smell as sweet.
- Monty Python
- Getting the PDB structures of compounds in ChEMBL
- Issues with graph neural networks: the cracks are where the light shines through
- Command-Line Interfaces (CLIs), argparse.ArgumentParser and some of my tricks.
- Multiple Testing: What is it, why is it bad and how can we avoid it?
- Unraveling the role of entanglement in protein misfolding
- How to interact with small molecules in Jupyter Notebooks
- List comprehension: an elegant Python feature inspired by mathematical set theory
- Watch out when using PDBbind!
- Chained or Unchained: Markov, Nekrasov and Free Will
- Why all academics should be on TikTok
- Being Brief.
- Using Singularity on Windows with WSL2
- Lessons in Scientific Code Deployment
- New search features for the Structural Antibody Database (SAbDab)
- Antibodies for gut or bad
- Former OPIGlets – where are they now?
- 2021 likely to be a bumper year for therapeutic antibodies entering clinical trials; massive increase in new targets
- A Smattering of Olympic Trivia!
- A handful of lesser known python libraries
- Writing Papers in OPIG
- OPIGlets go flying
- ISMB 2021: epitope prediction tools
- Uniformly sampled 3D rotation matrices
- Making your python tool as easy to install as possible
- Linux Horror Stories and Protection Spells (Volume I)
- AlphaFold 2 is here: what’s behind the structure prediction miracle
- OPIGlets go Kayaking
- A to Z of Alternative Antibody Formats: Next-Generation Therapeutics
- One of my other hats – Covid-19 Response Director for UK research and innovation
- How fast can a protein fold?
- Out-of-distribution generalisation and scaffold splitting in molecular property prediction
- Automated intermolecular interaction detection using the ODDT Python Module
- The Smallest Allosteric System
- How do I do regression when my predictors have multicollinearity?
- Safety and sexism: the heroic stubbornness of Frances Oldham Kelsey
- Hosting multiple Flask apps using Apache/mod_wsgi
- Hidden Markov Models in Python: A simple Hidden Markov Model with Known Emission Matrix fitted with hmmlearn
- CAML: Courses in Applied Machine Learning
- Can few-shot language models perform bioinformatics tasks?
- Code that I am grateful for
- Do antibodies care about sex?
- Bioinformatics Hackathon Reflection
- 6 things I’ve learnt in my first year as a PhD student
- Singularity: a guide for the bewildered bioinformatician
- RNA-Seq for dummies
- Antibody Binding is Mediated by a Compact Vocabulary of Paratope-Epitope Interactions
- Is bigger better?
- C++ python bindings in 5 minutes
- Slippery slopes and slippery flats
- IWD 2021 and the Gender Pay Gap
- Better understanding of correlation
- ORDER!: Returning bond order information to your docked poses
- Commercialising your research: Where to start?
- Peer Review: reviewing as an early career researcher
- The Coronavirus Antibody Database: 10 months on, 10x the data!
- To Pickle, Or Not To Pickle? — Quickle!
- On The Logic of GOing with Weisfeiler-Lehman
- Ten Simple Rules For Solving Any Problem
- Plotly for interactive 3D plotting
- Ribosome occupancy profiles are conserved between structurally and evolutionarily related yeast domains
- Seaborn 101
- Calculating symmeterised small molecule RMSDs using graph automorphisms in python with GEMMI and NetworkX
- Tracking machine learning projects with Weights & Biases
- Miniproteins – small but mighty!
- Making Pretty Pictures with PyMOL
- Fragment-to-Lead Successes in 2019
- AIRR Community Meeting V – December 2020
2020 96
- OPIGmas 2020, Pandemic Edition
- An in vivo force sensor reveals varied mechanisms of co-translational force generation
- Prediction of Parkinson subtypes at COXIC 2020
- Curious About the Origins of Computerized Molecules? Free Webinar Dec 22…
- UMAP Visualization of SARS-CoV-2 Data in ChEMBL
- CASP14: what Google DeepMind’s AlphaFold 2 really achieved, and what it means for protein folding, biology and bioinformatics
- Drawing Wavy Lines That Match Your Data, or, An Introduction to Kernel Density Estimation
- BioDataScience101: a fantastic initiative to learn bioinformatics and data science
- Doing rigid receptor docking? Consider using multiple structures!
- PyMOL: colour by residue
- Enhance your presentation by using virtual webcams and scene transitions
- Graphical abstracts that spark joy on a gloomy day
- Using Python in PyMOL
- Building More Useful Bash Scripts
- Cryo-EM reaches atomic resolution in protein structure determination
- A new Graduate students (unexperienced) guide to academic literature.
- 3 Useful UNIX commands you might not know
- NeurIPS 2020: Chemistry / Biology papers
- Speaking about Sequence and Structure at a Summit
- Improving your Python code quality using git pre-commit hooks
- The 10 Commandments of OPIG (Lockdown edition)
- From Jupyter to Slides using RISE
- Smaller and Smaller Fragments
- The right tool for the job – The Joy of Excel
- Constrained docking for bump and hole methodology
- It’s been here all along: Analysis of the antibody DE loop
- Epitope mapping with structural data for SARS-CoV-2 RBD and 10 known binders
- What can you do with the OPIG Antibody Suite? v2.0
- Adding paired BCR data to OAS
- Antibody-protein binding and conformational changes
- PyMOL: colouring proteins by property
- Robust gene coexpression networks using signed distance correlation
- How to SCP files from a gated server to your personal computer
- Curing Dogs With Cancer: The Power of the Antibody
- Re-educating myself about the light chain
- C is for Cysteines (plus a fun quiz)
- Le Tour de Farce v8.0
- Understanding Conformational Entropy in Small Molecules
- Learning from Biased Datasets
- Prerecording Conference Talks and Posters using OBS Studio
- Pigs in the Parks: OPIG Social 28JUL2020
- Climate Change @ ISMB
- Citizen Science in Video Games
- Drug Promiscuity vs Selectivity
- Observed Antibody Space + miAIRR
- No labels, no problem! A quick introduction to Gaussian Mixture Models
- K-Means clustering made simple
- Real Space Correlation Coefficient
- ICML 2020: Chemistry / Biology papers
- Uploading/downloading small files across systems
- ProCare: cavity similarity searching and its applications to fragment-based drug design
- Journal Club: the Dynamics of Affinity Maturation
- Where do OPIGlets come from?
- EEGor on Proteins: A Brain-based Perspective on Crowd-sourced Protein Structure Prediction
- How COVID-19 affected my (undergrad) masters
- 10 reasons why LGBT Pride is still necessary
- Visualising macromolecules and grids in Jupyter Notebooks with nglview
- Storing variables in Jupyter Notebooks using %store magic
- Editors for remote development
- Pets can catch coronavirus too
- Electrostatic interactions govern extreme nascent protein ejection times from ribosomes and can delay ribosome recycling
- When antibodies go wrong: how antibodies can help viruses infect cells
- The Coronavirus Antibody Database (CoV-AbDab)
- More tales of 3D printing
- Science in the Time of COVID-19
- HERO proteins are here to save you (assuming you’re another protein or a fruit fly)
- Don’t drink bleach, don’t share canards!
- Non-specialist intro: Convalescent sera and some thoughts on its relevance to structural biology
- Understanding the synthesizability of molecules proposed by generative models
- DeLinker – Deep Generative Models for 3D Linker Design
- GEMMI: A Python Cookbook
- Identifying shared antibodies using deep learning
- Streamlining SSH for remote work
- TCRBuilder: Multi-state T-cell receptor structure prediction
- CCK-18 is Going Virtual
- Converting Miles to Kilometres – An inefficient but neat method
- Visualisation of very large high-dimensional data sets as minimum spanning trees
- Bayesian Optimization and Correlated Torsion Angles—in Small Molecules
- Lightning-fast Python code
- Coronavirus
- Considering Containers? – Go for Singularity
- Molecular dynamics analysis in MDAnalysis
- State of the art in AI for drug discovery: more wet-lab please
- Using SLURM a little bit more efficiently
- Conference feedback – MABRA workshop “Adaptive immune repertoires and beyond”
- Robust networks to study omics data
- Cooking Up a (Deep)STORM with a Little Cup of Super Resolution Microscopy
- Finding The Gene Responsible for Huntington’s Disease – The Story of Nancy Wexler.
- Effect of Debiasing Protein-Ligand binding data on Generalization
- The address of a gene
- Functional Programming in Python
- AutoDock 4 and AutoDock Vina
- Green politics, the left, and Brexit
- Parallelising antigen-specific B-cell isolation with LIBRA-seq
- B-Cell Bispecificity?!
- The evolution of contact prediction – a new paper
2019 75
- Xmas proteins
- Transforming Parliament – Training and deploying speech generation transformers for parliamentary speakers
- This Group is Tired of Comic Book Movies : An OPIGlet’s appeal to the DC and Marvel Corporations.
- Journal Club: Is our data biased, and should it be?
- IEEEGor Knows What You’re Thinking…
- Consistent plotting with ggplot
- How to be a Bayesian – ft. a completely ridiculous example
- de novo Small Molecule Design using Deep Learning
- COSTNET19 Conference
- You’re getting on my biscuits
- Common denominators between a PhD and an Oxford ball
- What are Hotspots in Structural Biology?
- Invisible Women – Exposing Data Bias in a World Designed by Men
- GitHub Link to Text Mining Tool
- SAbBox – the easy way to obtain our antibody tools
- Things I’ve Learned from Hosting Speaker Events
- Tsar Nicolas II and the curious case of the mismatched bases in his maternal mitochondrial DNA – was Tsar Nicolas II really killed in a cellar in 1917?
- A Gentle Introduction to the GPyOpt Module
- A few more reasons why UNIX is awesome
- Comparative analysis of the CDR loops of antigen receptors
- NeurIPS 2019: Chemistry/Biology papers
- OPIG Retreat, 2019
- A collection of prion factoids
- Le Tour de Farce v7.0 (or: How I learned to Stop Worrying and Love the Wheels)
- Prof. Charlotte Deane on the World Service
- Handling electron density in python for fun and profit
- Why you should care about startups as a researcher
- Chat bots and the Turing test
- Some more Python tips and tricks
- A new way of eating too much
- A Month in Basel – Summer 2019
- Bringing practical bioinformatics to high school classrooms
- When OPIGlets leave the office
- Three things to help you get started on Bayesian Optimisation
- OpenMM – easy to learn, highly flexible molecular dynamics in Python
- Learning dynamical information from static protein and sequencing data
- Combining Inset Plots with Facets using ggplot2
- Custom coffee mugs for OPIG
- Oh lord, they comin’ – a diversity of units
- Gene-Edited Crops
- Python Handout
- Two Tools for Systematically Compiling Ensembles of Protein Structures
- BOKEI: Bayesian Optimization Using Knowledge of Correlated Torsions and Expected Improvement for Conformer Generation
- How to Iterate in PyMOL
- Getting home: An ordeal of flight cancellations (& what they actually cost)
- Trying out some code from the Eighth Joint Sheffield Conference on Chemoinformatics: finding the most common functional groups present in the DSPL library
- Searching through large databases with bloom filter
- Which fragment first?
- On the Virtues of the Command Line
- Film review: Back to the lab
- Just Call Me EEGor
- Why you should care about type hints in Python
- Constrained Embedding with RDKit
- Modelling Conformational Flexibility of Kinases in Inactive States
- A Brief Introduction to ggpairs
- AIRR community meeting
- Oxford Maths Festival ‘19
- What is the hydrophobic-polar (HP) model?
- Alchemistry Free Energy Workshop 2019, Göttingen
- Dimensions: The Mathematics of Symmetry and Space
- Should scientists learn C++?
- Spring 2019 ACS National Meeting (Orlando)
- Quick Python tricks
- More Fun With 3D Printing
- Property based testing in Python with Hypothesis : how to break your own code before someone else does
- A gentle primer on quantum annealing
- A blog post about a blog
- Not-Proteins in Parliament
- Journal Club: Investigating Allostery with a lot of Crystals
- Some useful tools
- Kernel Methods are a Hot Topic in Network Feature Analysis
- Magnetotaxis: A Bacterial Superpower
- Making the most of your CPUs when using python
- Non-alcoholic fatty liver disease
- Graph-based Methods for Cheminformatics
2018 50
- Automated testing with doctest
- Because not all interesting biology is health-related!
- Turning MD Trajectories into Movies using PyMOL
- Vim and I
- Exciting new studies in OAS
- Finding the lowest energy conformation of given molecule!
- Check My Blob
- OPIG Putts Up
- What can you do with the OPIG Antibody Suite?
- docopt for dummies
- How to get seasick without leaving your desk
- Preparing a five minute conference talk: an honest account
- So, you are interested in compound selectivity and machine learning papers?
- OPunting 2018
- Mol2vec: Finding Chemical Meaning in 300 Dimensions
- Cinder: Crystallographic Tinder
- Rasmus Fonseca and GetContacts
- ISMB 2018: Collaborative Structural Biology using Machine Learning and Jupyter Notebook
- ISMB 2018 (Chicago): Summary of Interesting Talks/Posters
- Seeing the Mesoscale
- Covariate Shift in Virtual Screening
- Protein Engineering and Structure Determination
- Introduction to R Markdown
- Maps are useful. But first, you need to build, store and read a map.
- Le Tour de Farce v6.0
- Storing your stuff with clever filesystems: ZFS and tmpfs
- OPIG at the Oxford Maths Festival
- How to parse OAS data
- Prague Protein Spring 2018
- Neuronal Complexity: A Little Goes a Long Way…To Clean My Apartment
- The Ten Commandments of OPIG
- My experience with (semi-)automating organic synthesis in the lab
- The Curious Case Of A Human Chimera
- Measuring correlation
- OPIGTREAT
- New avenues in antibody engineering
- Helpful resources for people studying therapeutic antibodies
- I just wanted TensorFlow
- Biophysical Society 62nd Annual Meeting
- Working with Jupyter notebook on a remote server
- Dealing with indexes when processing co-evolution signals (or how to navigate through “sequence hell”)
- Interactive Illustration of Collaboration Networks with D3
- Fun with Proteins and 3D Printing!
- Teaching Network Science to High School Students
- Young Entrepreneurs Scheme (YES) Competition
- A short intro to machine precision and how to beat it
- The Seven Summits
- TCR Database
- ABodyBuilder and model quality
- Crystallographic programming: Super short tour of the cctbx
2017 47
- Paper review: “Inside the black box”
- Journal Club: Large-scale structure prediction by improved contact predictions and model quality assessment.
- Latexing with gvim
- Journal Club post: Interface between Ig-seq and antibody modelling
- Journal club: Human enterovirus 71 protein interaction network prompts antiviral drug repositioning
- Drawing Networks in LaTeX with tikz-network
- Comparing naive and immunised antibody repertoire
- Proteins evolve on the edge of supramolecular self-assembly
- Slowing the progress of prion diseases
- Journal Club: Statistical database analysis of the role of loop dynamics for protein-protein complex formation and allostery
- Typography in graphs.
- Using Random Forests in Python with Scikit-Learn
- Biological Space – a starting point in in-silico drug design and in experimentally exploring biological systems
- In MATLAB, it’s colormaps all the way down
- A Day in the Life of a DPhil Student… that also rows for Oxford.
- When Does Chemical Elaboration Induce a Ligand To Change Its Binding Mode?
- Antibody Developability: Experimental Screening Assays
- Le Tour de Farce v5.0
- Computational immunogenicity reduction
- Computationally designing antibodies using a known binding motif
- Using bare git repos
- Experimental Binding Modes of Small Molecules in Protein-Ligand Docking
- A brief history of usage of the word “decoy” in protein structure prediction
- Conformational diversity analysis reveals three functional mechanisms in proteins
- Interesting Antibody Papers
- Protein structure determination using metagenome sequence data
- Bitbucket and PyCharm – Tools to make a DPhil less problematic
- Colour page counter
- Faster FREAD with Pandas
- A very basic introduction to Random Forests using R
- Interesting Antibody Papers
- Biophysical Society 61st Annual Meeting – New Orleans, February 2017
- Using Antibody Next Generation Sequencing data to aid antibody engineering
- Multiomics data analysis
- Protein Structure Classification: Order in the Chaos
- Prions
- Parallel Computing: GNU Parallel
- Interesting Jupyter and IPython Notebooks
- Interesting Antibody Papers
- Using RDKit to load ligand SDFs into Pandas DataFrames
- R or Python for data vis?
- Confidence (scores) in STRING
- Interesting Antibody Papers
- CCP4 Study Weekend 2017: From Data to Structure
- Using PML Scripts to generate PyMOL images
- TM-score
- Network Representations of Allostery
2016 54
- Interesting Antibody Papers.
- Addressing the Role of Conformational Diversity in Protein Structure Prediction
- Transgenic Mosquitoes
- Interesting Antibody Papers
- The Emerging Disorder-Function Paradigm
- How to Calculate PLIFs Using RDKit and PLIP
- End of an era?
- Start2Fold: A database of protein folding and stability data
- A global genetic interaction network maps a wiring diagram of cellular function
- Viewing 3D molecules interactively in Jupyter iPython notebooks
- SMEs in Research
- Plotting and storing a 3D network in R
- Is contacts-based protein-protein affinity prediction the way forward?
- Physical-chemical property predictors as command line tools
- Counting Threads
- The Protein World
- A beginner’s guide to Rosetta
- What happens to the Human Immune Repertoire over time?
- Processing large files using python: part duex
- Processing large files using python
- Colour wisely…
- Seventh Joint Sheffield Conference on Cheminformatics Part 1 (#ShefChem16)
- Tracked changes in LaTeX
- Rational Design of Antibody Protease Inhibitors
- Quantifying dispersion under varying instrument precision
- Improving the precision of local community detection
- Conformational Variation of Protein Loops
- “Identifying Allosteric Hotspots with Dynamics”: Using molecular simulation to find critical sites for the functional motions in proteins
- Comp Chem Kitchen
- RDKit User Group Meeting 2016
- Advances in Conformer Generation: ETKDG and ETDG
- Structure prediction through sequence physical properties
- Visualising Biological Data, Pt. 2
- Convergent affinity maturation.
- Is “fragment-based” still the way forward in template-free protein structure prediction?
- Journal Club: “Discriminative Chemical Patterns: Automatic and Interactive Design”
- Do we need the constant regions of Antibodies and T-cell receptors in molecular simulations?
- Visualising Biological Data, Pt. 1
- Journal Club: Comments on Three X-ray Crystal Structure Papers
- Network Comparison
- Strachey Lecture – “Artificial Intelligence and the Future” by Dr. Demis Hassabis
- Community structure in multilayer networks
- Drawing Custom Unrooted Trees from Sequence Alignments
- Inserting functional proteins in an antibody
- Identifying basic building blocks/motifs of networks
- Novelty in Drug Discovery
- Designing antibodies targeting disordered epitopes
- New toys for OPIG
- Loop Model Selection
- Network Pharmacology
- Co-translational insertion and folding of membrane proteins
- Network Hubs
- Next generation sequencing of paired heavy and light chain sequences
- We can model everything, right…?
2015 41
- Isoform-resolved protein interaction networks and poker
- Molecular Diversity and Drug Discovery
- Racing along transcripts: Correlating ribosome profiling and protein structure.
- Journal Club: Mechanical force releases nascent chain-mediated ribosome arrest in vitro and in vivo
- A designed conformational shift to control protein binding specificity
- Short project: “Network Approach to Identifying the Mode of Action of Environmental Changes in Yeast”
- Journal Club: Accessing Protein Conformational Ensembles using RT X-ray Crystallography
- SABS short project presentation: Multilayer Networks
- ISMB wrap-up (it was coming, we insist…!)
- ERC starting grant mock interview
- Molecular Dynamics of Antibody CDRs
- Slow and steady improvements in the prediction of one-dimensional protein features
- Predicted protein contacts: is it the solution to (de novo) protein structure prediction?
- Modelling antibodies, from Sequence, to Structure…
- Le tour d’OPIG 2015
- Using B factors to assess flexibility
- Journal Club: Spontaneous transmembrane helix insertion thermodynamically mimics translocon-guided insertion
- Protein loops – why do we care?
- Antibody binding site re-design
- GO annotations: Warning – secondary IDs!
- Ways to compare networks
- Diseases exploiting the Power of Networks
- Journal Club: AbDesign. An algorithm for combinatorial backbone design guided by natural conformations and sequences
- 5 Thoughts For… Comparing Crystallographic Datasets
- From 300 superpositions/sec to 6,000,000 superpositions/sec. A Python to C story
- Ten Simple Rules for a Successful Cross-Disciplinary Collaboration
- Clustering Algorithms
- Investigating structural mechanisms with customised Natural Moves
- SAS-5 assists in building centrioles of nematode worms Caenorhabditis elegans
- Investigating GPCR kink variation
- Submitting your thesis!
- Journal Club: The Origin of CDR H3 Structural Diversity
- Hierachical Natural Move Monte Carlo using MOSAICS
- A new method to improve network topological similarity search: applied to fold recognition
- What does a farm look like? – Evaluating Community Detection Methods
- Graphical User Interface for MOSAICS as a PyMOL plugin — PymoSAICS
- A topology-based distance measure for network data
- Building accurate models of membrane protein structures
- Hypotheses and Perspectives onto de novo protein structure prediction
- Improving the accuracy of CDR-H3 structure prediction
- Predicting Antibody Affinities – Progress?
2014 45
- Looking for a null model of PPI ego-networks
- OOMMPPAA: A tool to aid directed synthesis by the combined analysis of activity and structural data
- How do we measure translation speed?
- How to (not) perform a Molecular Dynamics simulation study
- Research Talk: Ligand Fitting in X-ray Crystallography
- Augmented Modelling with Natural Move Monte Carlo Simulations
- Finding Communities in Networks: Link Clustering and the Affiliation Graph Model
- ECCB 2014 (Strasbourg)
- A program to aid primary protein structure determination -1962 style.
- The origins of exponential random graph models
- Modeling of Protein Interaction Networks
- PLOS Comp Bio’s front page!
- HHSearch
- Dssp
- Loopy LaTeX
- OPIG goes Punting!
- 3Dsig and ISMB 2014 (Boston)
- Antibody CDR-H3 Modelling with Prime
- Sampling Conformations of Antibodies using MOSAICS
- Computational Antibody Affinity Maturation
- Le Tour de Farce v2.0
- Antibody modeling via AMA II and RosettaAntibody
- Journal club (Bernhard Knapp): MMPBSA Binding Free Energy Calculations
- Natural Move Monte Carlo: Sampling Collective Motions in Proteins
- Protein Folding: Man vs Machine
- de novo Protein Structure Prediction software: an elegant “monkey with a typewriter”
- MAMMOTH: a case study in protein structure alignment
- Distance matrix clustering
- Freezing python code
- OPIG Algorithm Club Problem #1: The 3n+1 problem
- Introduction to the protein folding problem
- Quick Standalone BLAST Setup for Ubuntu Linux
- Journal Club: Statistical Quality Indicators for Electron Density Maps
- Structural Biology Module @ the DTC
- Journal Club: Native contacts in protein folding
- Journal Club: Random Coordinate Descent
- Kinetic Modelling of Co-translational Protein Folding (Journal Club)
- Expanding Anfinsen’s Principle (Journal Club)
- Activity cliffs
- Stepwise Assembly For Protein Loop Prediction
- CAPRI, pyDock and the state of protein-protein docking.
- Journal Club: A Novel Insight into Gene Ontology Semantic Similarity
- OPIC Christmas party 16th of January 2014
- Journal Club: Ligand placement based on prior structures: the guided ligand-replacement method
- Journal Club: Human Germline Antibody Gene Segments Encode Polyspecific Antibodies
2013 69
- Journal Club: Large-scale analysis of somatic hypermutations
- Journal Club: Quantification and functional analysis of modular protein evolution in a dense phylogenetic tree
- Efficient discovery of overlapping communities in massive networks
- How many bins?
- Annotate Antibody CDR and Framework Residues
- Journal club: Half a century of Ramachandran plots
- Journal club: NetMHCIIpan-3.0
- AH^AH – Alpha Helices Assessed by Humans.
- Wilcoxon-Mann-Whitney test and a small sample size
- CABS-flex
- A Colourblind Guide to Colourful Presentations…
- From Protein Interface Recognition to Protein Complex Prediction
- Life in Colour – Vim
- Conservation of codon optimality
- Protein Interaction Networks
- Antibody Modelling: CDR-H3 Structure Prediction
- Get PDB intermolecular protein contacts and interface residues
- Network Analysis
- [Publication] Arginine Methylation-Dependent Reader-Writer Interplay Governs Growth Control by E2F-1
- Remove all LaTeX generated files
- Progress report: Molecular Dynamics simulations of TCRpMHC
- Django for scientific applications
- What is a kink?
- 3035 – OPIG Beer & Cycling
- A very long introductory post about protein structure prediction
- ISMB/ECCB Conference 2013 (Berlin)
- Every Protein needs a Friend – Community Detection in Protein Interaction Networks
- [Database] SAbDab – the Structural Antibody Database
- Research Talk: High Resolution Antibody Modelling
- Citing R packages in your Thesis/Paper/Assignments
- [Publication] Cloud computing in Molecular Modelling – a topical perspective
- Making Protein-Protein Interfaces Look (decently) Good
- Building an Antibody Benchmark Set
- Evolutionary fold space preferences
- Antimicrobial Drug Discovery Conference (Madrid)
- [Publication] Effect of Single Amino Acid Substitution Observed in Cancer on Pim-1 Kinase Thermodynamic Stability and Structure
- Standardize a PDB
- And the Oscar goes to …
- Protein kinases, the PIM story
- Inside Memoir: MP-T aligns membrane proteins
- [Publication] Memoir: template-based structure prediction for membrane proteins
- Free food!
- Journalclub: Molecular Dynamics simulations of TCRpMHC
- Journal Club: Evolutionary conservation of codon optimality reveals hidden signatures of cotranslational folding
- Constrain a PDB to particular chains
- Making small molecules look good in PyMOL
- Viewing ligands in twilight electron density
- GPGPUs for bioinformatics
- PredyFlexy – Predicting Protein Flexibility
- Journal club: Simultaneous Femtosecond X-ray Spectroscopy and Diffraction of Photosystem II at Room Temperature
- Good looking proteins for your publication(s)
- A javascript function to validate FASTA sequences
- Journal Club: Can Linear Progamming (LP) be useful to us?
- Journal Club: Protein structure model refinement using fragment-guided MD
- aRrrrgh! or how to apply a fitted model to new data
- On being cool: arrows on an R plot
- Journal club: Improving the selectivity of antimicrobial peptides
- A free, sweet, valid HTML4 “Site Maintenance” page
- Recognizing pitfalls in Virtual Screening: A critical review
- How to install RDKit on Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04 / 14.10 (with InChI support)
- Journal Club: A mathematical framework for structure comparison
- How to make a custom latex bibliography style
- Conservation of kinks in membrane proteins
- Journal Club: The complexity of Binding
- How to make environment variables persist in your web app (Apache2)
- Journal club: Antibody-protein docking using asymmetric statistical potential
- Anatomy of a blog post
- Journal club: Principles for designing ideal protein structures
- Talk: Membrane Protein 3D Structure Prediction & Loop Modelling in X-ray Crystallography