Documentation

Docs / Tools / IsoScore

IsoScore

IsoScore is LatticeZero's ultra-fast rescoring engine. It evaluates pre-docked ligand poses against a compiled scoring grid at speeds exceeding 4,000 ligands per second — all running locally in your browser via WebGPU.

Overview

Property Value
Speed ~4,000 ligands per second
Input Pre-docked poses (SDF with 3D coordinates)
Scoring 14-term physics-based function
Output Ranked scores with per-term decomposition
GPU requirement WebGPU-capable browser

How It Works

Unlike IsoDock, IsoScore does not perform pose search. It takes pre-docked poses as input and rapidly evaluates them against the target's scoring grid:

  1. Grid lookup — Each ligand atom's position is mapped to the pre-compiled scoring grid
  2. Term evaluation — All 14 scoring terms are computed simultaneously on the GPU
  3. Aggregation — Per-atom scores are summed to produce per-term and total scores
  4. Ranking — Ligands are ranked by total score

Because there's no pose search step, IsoScore is approximately 1,000x faster than IsoDock — making it ideal for scoring large compound libraries.

Using IsoScore

Prerequisites

  • A prepared target with compiled scoring grid (see Target Prep)
  • Ligand files in SDF format with 3D coordinates (pre-docked poses)

Important: IsoScore requires 3D coordinates. If your ligands only have 2D structures or SMILES, use IsoDock instead.

Running a Rescoring Job

  1. Navigate to Workbench > IsoScore
  2. Select target — choose from your project's prepared targets
  3. Upload ligands — drag & drop your SDF file with pre-docked poses
  4. Select scoring profile (optional) — choose a target-class-specific profile
  5. Click Run

Results stream in real-time as ligands are processed.

Understanding Results

Each scored ligand receives:

  • Total Score — weighted sum of all scoring terms
  • Per-term decomposition — individual contributions from each of the 14 physics terms
  • Rank — position relative to all scored ligands

Typical Workflows

Virtual Screening

Score a large compound library to identify potential hits:

  1. Prepare your target with Target Prep
  2. Dock a representative subset with an external tool (AutoDock Vina, Glide, etc.)
  3. Upload all pre-docked poses to IsoScore
  4. Rank by total score
  5. Select top 1-5% for further analysis

Consensus Rescoring

Combine IsoScore results with other scoring functions:

  1. Dock ligands with your preferred tool
  2. Score with IsoScore using the appropriate scoring profile
  3. Export CSV results
  4. Combine rankings in your analysis pipeline

Profile Comparison

Compare different scoring profiles on the same dataset:

  1. Score your library with the default profile
  2. Re-score with a target-class-specific profile (e.g., kinase, protease)
  3. Compare rankings to identify profile-sensitive compounds

Performance

IsoScore throughput depends on your GPU:

GPU Class Approximate Speed
Discrete GPU (RTX 3070+) 6,000 - 9,000 lig/sec
Discrete GPU (GTX 1060+) 2,000 - 5,000 lig/sec
Integrated GPU (Intel Iris) 500 - 1,500 lig/sec
Software renderer (SwiftShader) 300 - 500 lig/sec

Tip: Close other GPU-intensive applications and browser tabs for best performance.

Export Options

After scoring, export your results:

  • CSV — full results table with all scoring terms, suitable for spreadsheet or scripting analysis
  • SDF — annotated SDF file with scores in molecule properties
  • JSON — structured data for programmatic access

Comparison with IsoDock

Feature IsoScore IsoDock
Speed ~4,000 lig/sec ~3 sec/lig
Pose search No Yes (GA)
Input requirement 3D poses required 2D or 3D
Best for Large libraries Pose prediction
Typical library size 1K - 1M ligands 1 - 1K ligands

Troubleshooting

Low throughput (<1,000 lig/sec)

  • Check WebGPU is active (not CPU fallback)
  • Close other GPU-heavy tabs/apps
  • Try a smaller batch to verify GPU performance

All scores are zero or NaN

  • Verify your SDF file has 3D coordinates (not 2D)
  • Check that ligand poses are within the grid boundaries
  • Ensure the target grid compiled successfully

Results differ from external tools

  • LatticeZero uses its own physics-based scoring function — differences are expected
  • For best correlation, use a scoring profile tuned for your target class
  • See the Physics Reference to understand how each term is computed