Skip to content

Negaverse

Negaverse is a Python toolkit for generating biologically informed negative datasets for protein–protein interaction models.

Core trick

Removes known interactions via BioGRID/IntAct/STRING, then ranks remaining pairs by network topology and rules, sending only uncertain ones to an LLM.

Tags

Description

Negaverse is a Python toolkit for generating biologically informed negative datasets for protein–protein interaction models. The same approach can later extend to protein–ligand, protein–RNA, and protein–DNA tasks. Most datasets create negatives by randomly pairing proteins. The problem is that some of these pairs may be real but undiscovered interactions, which introduces false labels and teaches models the wrong biology. Negaverse reduces that risk through a staged pipeline. It first removes known interactions using BioGRID, IntAct, and high-confidence STRING data. It then scores the remaining pairs using network topology and biological and biophysical rules. Only the most uncertain cases are sent to an LLM for literature-based reasoning. Each result includes confidence, difficulty, reasoning, and full provenance. To test the system, we hid 1,000 real interactions inside the candidate pool. Naive hard-negative mining selected roughly three out of four of them, while Negaverse’s default configuration selected almost none. Across HuRI and DRYAD, Negaverse reduced hidden false negatives by about 10× compared with random sampling. Every run also produces an interactive report explaining why each pair was selected. A D-SCRIPT model trained on Negaverse negatives already generalizes better to unseen proteins than one trained on random negatives. The result is more credible and more challenging training data for drug discovery, with fewer false negatives and less wasted experimental validation.
Geravant/negaverse★ 01 forksPythonApache-2.0Created Jul 8, 2026 · last push Jul 13, 2026

README excerpt

# negaverse

**negaverse builds better "these don't go together" examples for biology datasets — and shows its reasoning.**

Built for the Claude: Life Sciences Hackathon.

📺 **[3-min demo](https://youtu.be/4RHxGCo-5es)**  ·  🔬 **[interactive showcase](https://geravant.github.io/negaverse/showcase.html)** — rotate the 3D maps, hover any pair for the reasoning  ·  📊 **[full evaluation](docs/EVALUATION.md)** — evaluation at a glance, one page for the jury

---

## Does it actually work? (the one-number proof)

Interaction models learn from *positive* pairs (proteins that interact) and *negative* pairs (proteins that don't). Negatives are usually made by pairing proteins **at random** — but some of those "random non-pairs" really do interact. Every one you feed a model is a mislabeled example that teaches it the wrong biology.

We hid **1,000 real interactions** in the candidate pool and measured how many each method **wrongly labels "negative"** — the exact mistake that poisons training data:

| strategy | HuRI | DRYAD |
|---|---:|---:|
| naive hard-negative mining (the common default) | **74.6 %** | **64.3 %** |
| **negaverse default (`stacked`)** | **0.6 %** | **0.0 %** |

Naive mining lets through ~3 of every 4 hidden positives. **negaverse lets through almost none** — a **>10× cleaner** set than random sampling, across 2 datasets and 2 learners.
And it isn't just clean: **D-SCRIPT, an inductive model trained on negaverse negatives generalizes better to unseen proteins** tha

Team