FAQ
Frequently asked questions about LatticeZero.
General
What is LatticeZero?
LatticeZero is a browser-based molecular docking and scoring platform powered by WebGPU. It runs entirely in your browser - no software installation, no cloud compute costs. Upload a receptor, score ligands, and get results in seconds.
How does browser-based docking work?
LatticeZero uses WebGPU, a modern web standard for GPU computing. When you run a scoring job, the computation happens on your local GPU through the browser's WebGPU API. Your data stays on your machine.
Which browsers are supported?
- Chrome 113+ (recommended)
- Edge 113+
- Firefox Nightly (experimental WebGPU support)
- Safari: WebGPU support is in development
Do I need a powerful GPU?
A discrete GPU (NVIDIA GTX 1060+ or AMD RX 580+) provides the best performance. Integrated GPUs (Intel Iris, Apple M1+) work but at reduced speed. See the IsoScore performance table for benchmarks.
Is my data sent to any server?
Scoring computation happens entirely in your browser. Your molecular structures and scoring results are processed locally on your GPU. The server handles account management, project metadata, and pre-compiled scoring grids - but never sees your ligand coordinates during scoring.
Scoring
What do the scores mean?
Scores are in arbitrary energy-like units (not kcal/mol). More negative scores indicate stronger predicted binding. The absolute values are less meaningful than the relative ranking - use scores to prioritize compounds, not to predict binding affinities.
Why are my scores different from other tools?
LatticeZero uses its own 14-term physics-based scoring function, which is different from AutoDock Vina, Glide, Gold, or other tools. Scores are not directly comparable across tools. However, the ranking of compounds should be broadly consistent for well-behaved systems.
What is the scoring function?
The scoring function is a weighted sum of 14 physics-based terms covering dispersion, electrostatics, hydrogen bonds, desolvation, strain, burial, and more. See the Physics Reference for details on each term.
How accurate is the scoring?
Accuracy depends on the target and scoring profile:
| Tier | AUC Range | Interpretation |
|---|---|---|
| Platinum | >= 0.90 | Excellent - reliable virtual screening |
| Gold | >= 0.80 | Good - suitable for most applications |
| Silver | >= 0.60 | Moderate - use with additional filters |
| Bronze | < 0.60 | Limited - consider optimization |
Using a target-class-specific profile typically improves AUC by 0.1-0.3 over the default.
Should I use IsoPose or IsoScore?
| Scenario | Recommendation |
|---|---|
| Pre-docked library from another tool | IsoScore - fast rescoring |
| Need 3D poses | IsoPose - full docking |
| Large library (>1K compounds) | IsoScore - handles thousands per second |
| Small focused set (<100 compounds) | IsoPose - thorough pose search |
| Both workflows | IsoScore for screening, IsoPose for top hits |
Target Preparation
What PDB format do you accept?
Standard PDB files from the RCSB or similar sources. The file should contain:
- Protein coordinates (ATOM records)
- Optionally: HETATM records for ligands, waters, ions
- Chain identifiers
mmCIF format is not currently supported - convert to PDB first.
Do I need to remove waters?
It depends. For most targets, removing waters is recommended during Target Prep. However, some binding sites have structurally important water molecules. Target Prep's validation step will flag potential issues.
Can I fetch PDB files by ID?
Yes. In Target Prep step 1, you can enter a 4-character PDB ID (e.g., "1AKE") and LatticeZero will fetch it from the RCSB Protein Data Bank.
What is the grid resolution?
The default grid resolution is 0.375 Angstroms. This balances accuracy and performance. Finer grids (0.25 A) improve accuracy slightly but increase computation time and memory usage.
Profiles & Optimization
What is a scoring profile?
A scoring profile defines the weights for each of the 14 scoring terms. Different targets respond to different weightings. See Scoring Profiles.
How do I choose the right profile?
- Check if a validated profile exists for your target class (kinase, protease, etc.)
- Use the highest-tier (Platinum > Gold > Silver) profile for that class
- If no class-specific profile exists, use the default and consider running the Optimizer
Can I create my own profiles?
Yes. You can:
- Manually - set weights for each term in the profile builder
- Automatically - use the Optimizer with known actives/decoys
- Duplicate & edit - start from an existing profile and adjust
What data do I need for the Optimizer?
- Minimum: 20 actives + 200 decoys with pre-docked 3D poses
- Recommended: 50+ actives + 1,500+ decoys
- Ideal: DEKOIS2-style matched decoy sets
Performance
How fast is IsoScore?
Throughput depends on your GPU:
| GPU | Speed |
|---|---|
| RTX 3090 | ~9,000 lig/sec |
| RTX 3070 | ~6,000 lig/sec |
| GTX 1060 | ~2,500 lig/sec |
| Intel Iris | ~800 lig/sec |
| Apple M1 | ~1,200 lig/sec |
How fast is IsoPose?
IsoPose speed depends on the accuracy preset:
| Preset | Speed |
|---|---|
| Fast | ~2 sec/lig |
| Balanced Fast | ~4 sec/lig |
| Balanced | ~8 sec/lig |
| High | ~20 sec/lig |
Speed is largely independent of GPU model because the bottleneck is the genetic algorithm iterations, not raw GPU compute. Features like early stopping and adaptive budget can reduce time further.
Why is scoring slow on my machine?
Common causes:
- No discrete GPU - integrated graphics are 3-10x slower
- WebGPU disabled - check
chrome://gpufor WebGPU status - Other GPU tasks - close GPU-intensive tabs, games, video editing
- Browser throttling - ensure the tab is in the foreground (background tabs may be throttled)
- Driver issues - update your GPU drivers to the latest version
Can I run LatticeZero on a remote server?
WebGPU requires a browser with GPU access. You can run Chrome on a GPU-equipped server via remote desktop or VNC, but headless GPU scoring is not currently supported through the web interface.
Account & Data
How do I export my results?
From any completed run, click Export and choose:
- CSV - for spreadsheet analysis
- JSON - for programmatic processing
- SDF - for molecular visualization tools
Can I share projects with collaborators?
Project sharing is not yet available. You can export and share results files (CSV, SDF) manually.
Is there an API?
Yes. See the API Reference for details on programmatic access to projects, runs, and profiles.
Why does pose0_centroid_distance show 70 Å? Are my poses outside the pocket?
No - this is expected! pose0_centroid_distance (now also called input_displacement) measures how far the ligand moved from its starting position to the docked pose. When you input SMILES or 2D structures, the initial 3D coordinates are generated near the origin [0,0,0], so this value reflects the distance from the origin to the binding pocket - typically 30–80 Å depending on where the pocket sits in PDB space.
To check if poses are correctly placed in the pocket, use:
pocket_distance- distance from pocket center to pose centroid (should be < 15 Å)in_pocket- boolean indicating whether the pose is within 1.5× pocket radius- Debug Poses button - visual overlay showing pocket center, pose positions, and distance lines
Troubleshooting
"WebGPU not available"
- Update your browser to Chrome 113+ or Edge 113+
- Go to
chrome://gpuand check "WebGPU" status - Enable "Hardware Acceleration" in browser settings
- Update GPU drivers
- If using a VM, ensure GPU passthrough is configured
Scoring grid won't compile
- Check that your PDB file is complete and well-formatted
- Reduce pocket radius if the pocket is very large (>20 A)
- Ensure sufficient GPU memory (at least 2 GB free)
- Try closing other tabs and applications
Results seem wrong
- Verify ligand poses are within the grid boundaries
- Check that you're using the correct scoring profile
- For pre-docked poses, ensure 3D coordinates are present (not 2D)
- Compare against the demo benchmarks to verify your system works
Page crashes during scoring
- You may be exceeding GPU memory. Try scoring in smaller batches.
- Update your browser and GPU drivers
- Check
chrome://gpufor error messages
IsoPose Advanced Features
What is auto-policy routing?
Auto-policy analyzes your binding pocket (volume, charge distribution, buriedness, metal presence) and selects the best GA search strategy. For example, kinase pockets use an aggressive policy with larger perturbations, while metalloenzyme pockets use a conservative policy with more restarts. It's enabled by default in Balanced and higher presets.
What is conformer ensemble docking?
Instead of docking one conformation of your ligand, IsoPose generates multiple diverse 3D conformers and docks each independently. The best pose across all conformers is returned. This is especially valuable for flexible ligands where the input geometry may not match the bound state. Enabled in Balanced and higher presets.
How does chemical state enumeration work?
Many drug molecules have groups that can be protonated or deprotonated at physiological pH (amines, carboxylic acids, phenols). IsoPose can generate multiple plausible protonation states and tautomers, dock each, and return the best result. This adds only 40-70% overhead compared to 3-6x for conformer ensemble.
What is adaptive budget escalation?
For server-side docking jobs, adaptive budget tries a quick "scout" search first (~0.3 seconds). If the result looks good, it stops there. If not, it escalates to standard and then deep search. This saves significant time when screening large libraries where many ligands are easy to dock.
Does IsoPose handle metalloenzymes?
Yes. IsoPose automatically detects metal ions (Zn, Mg, Ca, Fe, Cu, Co, Ni, Mn) in the receptor and enables metal coordination scoring. It also caps the conformer count to 2 for metal targets (tight pocket geometry). Ensure your receptor PDB file contains the metal as HETATM records.
What accuracy presets should I use?
- Fast - interactive exploration, quick checks
- Balanced Fast - everyday docking, good speed/quality trade-off
- Balanced - production docking, recommended default
- High - important pose predictions, lead optimization
- Exhaustive - critical applications, maximum thoroughness