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:
- Grid lookup — Each ligand atom's position is mapped to the pre-compiled scoring grid
- Term evaluation — All 14 scoring terms are computed simultaneously on the GPU
- Aggregation — Per-atom scores are summed to produce per-term and total scores
- 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
- Navigate to Workbench > IsoScore
- Select target — choose from your project's prepared targets
- Upload ligands — drag & drop your SDF file with pre-docked poses
- Select scoring profile (optional) — choose a target-class-specific profile
- 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:
- Prepare your target with Target Prep
- Dock a representative subset with an external tool (AutoDock Vina, Glide, etc.)
- Upload all pre-docked poses to IsoScore
- Rank by total score
- Select top 1-5% for further analysis
Consensus Rescoring
Combine IsoScore results with other scoring functions:
- Dock ligands with your preferred tool
- Score with IsoScore using the appropriate scoring profile
- Export CSV results
- Combine rankings in your analysis pipeline
Profile Comparison
Compare different scoring profiles on the same dataset:
- Score your library with the default profile
- Re-score with a target-class-specific profile (e.g., kinase, protease)
- 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