> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revilico.bio/llms.txt
> Use this file to discover all available pages before exploring further.

# RevStrain

> Measuring the Conformational Energy Penalty Carried by a Docked, Crystal, or Modelled Pose

## Why Use This Engine?

RevStrain answers one question about a 3D structure: how much energy does this particular shape cost the molecule, compared to the best shape that molecule can adopt on its own? That number is the conformational strain, reported in kcal/mol. A docking program will happily return a pose that scores well because it fills the pocket, while the ligand has been twisted into a conformation it would never occupy in solution. RevStrain puts a number on that twist, so a pose can be rejected on energetics rather than on the docking score alone.

Use it to triage docked poses before committing to expensive follow-up, to check that a crystal or modelled conformation is energetically reasonable, and to compare analogs in a series where one scaffold pays a torsional penalty on binding and another does not.

<Frame>
  <img src="https://mintcdn.com/revilicoinc/IRxho5RindUWmw9-/images/revstrainworkflow.png?fit=max&auto=format&n=IRxho5RindUWmw9-&q=85&s=dab5dd22eb202088bf4efccffd6c2540" alt="RevStrain Workflow" width="3400" height="1880" data-path="images/revstrainworkflow.png" />
</Frame>

## Background

Strain is a difference between two energies of the same molecule:

$$
E_{\text{strain}} = E(\text{pose, restrained}) - E(\text{conformer}_{\text{min}})
$$

Both terms come from the same Hamiltonian, the same solvent, and the same optimizer, so the difference is a conformational energy and nothing else. The reference state is the lowest-energy member of a conformer ensemble that RevStrain generates for the molecule.

The pose is not simply used as submitted. A docked or crystal geometry carries small local artifacts, a bond length inherited from a docking force field or a hydrogen dropped into a clash, and scoring those artifacts at a quantum level reports them as strain. Relaxing the pose freely removes the artifacts but also destroys the conformation being measured. RevStrain relaxes the pose under a harmonic restraint to its own starting coordinates:

$$
E_{\text{restraint}} = \sum_i \frac{1}{2} k \left| \mathbf{r}_i - \mathbf{r}_i^0 \right|^2
$$

The restraint is soft enough that a bad bond length or a clashing hydrogen relaxes out, and stiff enough that a torsion will not rotate. The torsions are the strain being measured, so they have to stay where they were submitted. Whatever restraint energy is left at the end is reported separately, and it never enters the energies the strain is computed from.

Strain here is conformational strain. It is not ring strain measured against some hypothetical unstrained reference compound.

## The Reference Ensemble

RevStrain builds its own conformer ensemble for each pose, then takes the minimum as the reference. Two generators are available.

| Generator | How it works | Cost |
| - | - | - |
| ETKDG | RDKit distance geometry, guessing geometries from the molecular graph, screened with the MMFF94s force field. The default. | Fast |
| iMTD | CREST metadynamics, physically pushing the molecule around an energy surface and collecting what it finds. Reaches shapes distance geometry never proposes. | One simulation per pose |

The ETKDG path embeds a batch of starting geometries, minimizes them with the MMFF94s force field, discards the high-energy outliers, then removes near-duplicate shapes. The survivors, up to a budget, go through the same multi-stage pipeline the pose does, and the lowest-energy one becomes the reference.

CREST supplies geometries only. Its own energies are discarded, since they come from whichever method drove the search rather than from the pipeline the strain comparison uses.

## Level of Theory

Geometry converges cheaply, while energy needs to be accurate. RevStrain exploits that split. Optimization runs at a low level, where the method is called hundreds of times, and the expensive method is evaluated once on the final coordinates. The result is written as a single string:

```text theme={null}
g-xTB/CPCM-X(water)//GFN2-xTB/ALPB(water)
```

Read it as "energy from the method on the left, on geometry from the method on the right". That default is what the **Level of theory** badge on the submission form shows, and it is recorded on every result.

| Method | Role |
| - | - |
| GFN-FF | Force field. Fast pre-optimization. |
| GFN0-xTB | The fastest option here and the least accurate. Best kept to a pre-optimization stage. |
| GFN1-xTB | An older and cheaper relative of GFN2. |
| GFN2-xTB | The default optimization method. |
| g-xTB | Accurate energies. Single-point only, since it has no gradient to drive an optimization. |

The solvation model is derived from the task rather than selected. Optimizations use ALPB, which has gradients. Single-points use CPCM-X, a post-SCF free energy correction with no gradient.

One thing the report will point out: g-xTB carries no solvation model of its own, so its solvated energy is the gas-phase value plus a solvation term evaluated with GFN2-xTB on the same coordinates.

### Optimization Presets

The preset sets both the pipeline and how hard the conformer search works.

| Preset | Pipeline | Conformer search |
| - | - | - |
| Reckless | GFN-FF only, no final single-point. Triage for a large batch. | Narrowest |
| Rapid | g-xTB//GFN2-xTB. The default. | Standard |
| Careful | g-xTB//GFN2-xTB with a GFN-FF pre-optimization. | Wider |
| Meticulous | g-xTB//GFN2-xTB with two pre-optimization stages. Substantially slower. | Widest |
| Custom | Whatever stages you build in the editor. | Whatever you set |

Everything above Reckless ends in a g-xTB/CPCM-X single-point. That is the level strain is defined at. The higher presets buy a more thorough optimization and a wider conformer search rather than a better Hamiltonian.

## When the Pose Beats the Ensemble

If the restrained pose comes out lower in energy than every conformer found, the conformer search missed the pose's own basin. A negative strain is not a meaningful answer, so RevStrain relaxes the pose without the restraint, adds it to the ensemble, and recomputes the reference. The result is flagged. Treat that flag as a caveat about the number: the search was incomplete for that molecule, and a more thorough preset is worth running.

## Ensemble Populations

Each result reports the ensemble members' energies relative to the minimum, along with their Boltzmann weights at the requested temperature (300 K by default):

$$
p_i = \frac{e^{-\Delta E_i / k_B T}}{\sum_j e^{-\Delta E_j / k_B T}}
$$

A reference minimum that holds most of the population is a confident reference. One that shares the population with a dozen near-degenerate shapes means the strain value depends on which of them the search happened to find first.

## Running the Engine

### Inputs

Upload the pose you want measured. Strain is a property of a geometry, so the file has to carry 3D coordinates.

| Format | Structures per file | Notes |
| - | - | - |
| `.sdf` | One or more | The batch format. A malformed record is reported as a failed pose while the valid records still run. |
| `.mol`, `.xyz`, `.pdb` | One | Select several files to run one calculation per file. XYZ bond orders are inferred from the coordinates, so SDF or MOL is better when bond orders matter. |
| `.csv`, `.smi` | One or more | Accepted for compatibility. A SMILES string has no conformation, so the pose is generated here and scored against an ensemble built the same way. The result describes a conformer this engine generated rather than a pose you chose, so it says nothing about a real structure. Every such result is flagged. |

A single job takes up to 50 poses, up to 200 atoms per pose, from files up to 25 MB.

| Parameter | Default | Description |
| - | - | - |
| Poses | Required | Structure file or files, formats above |
| Optimization method | Rapid | Preset pipeline and conformer-search effort |
| Solvent | Water | Applies to every stage. Also `none` (gas phase), methanol, ethanol, acetonitrile, acetone, DMSO, chloroform, dichloromethane, THF, toluene, benzene, hexane, 1-octanol, diethyl ether |
| Restraint strength | 5.0 kcal/mol/Å² | Holds the submitted conformation while local artifacts relax. Raise it if the pose drifts |
| Conformer generator | ETKDG | ETKDG or iMTD, with the per-generator fields |
| Restrain hydrogens too | Off | Hydrogens are the worst-placed atoms in most poses, and freeing them costs no conformational information |
| Temperature | 300 K | Used for the reported ensemble populations |
| Force tolerance | 0.005 eV/Å | Convergence criterion for the restrained pose |
| Charge | From structure | Left empty, each structure's own charge is used. A value here applies to every pose. Set it for XYZ, which states no charge to read |
| Spin multiplicity | 1 | Dropped to the nearest possible value, with a warning, when the electron count makes it impossible |
| Runtime limit | No limit | Optional credit cap. The pipeline stops when it is reached |

Selecting **Custom** as the optimization method opens a stage editor where you build the pipeline directly, choosing each optimization stage's method and the final single-point.

### Outputs

The results table lists one row per pose, with the strain colored by band: below roughly 3 kcal/mol, 3 to 6 kcal/mol and above 6. Those thresholds are a medicinal chemistry convention rather than a measurement. Select a row to open its detailed results.

Each result contains the strain value, the two energies it came from in Hartree, restrained optimization diagnostics, and conformer search counts. It also records the conformers found, their energies relative to the minimum, and their Boltzmann weights. The per-pose report gives a plain-text account of the level of theory, every pipeline stage, the ensemble breakdown, and any warnings raised for that pose.

### Reading the Result

A large RMSD from the submitted coordinates means the restraint did not hold the conformation, and the reported strain is measuring something other than the pose you uploaded. Raise the restraint strength and run it again.

Run in a solvent unless you have a reason not to. A gas-phase conformer search over-rewards folded shapes with internal hydrogen bonds, which lowers the reference energy and inflates the strain.

Molecules carrying both a positive and a negative charge are flagged with a warning. Their conformer search runs without the usual cap on how many shapes reach the full pipeline, so the reference is drawn from a wider set. Even so, the strain for such a pose is less certain than for a neutral one. Treat the number as indicative rather than precise, and compare within the series rather than against an absolute threshold.

## Interactive Results Viewer

Two worked examples. Cyclohexane is submitted as a twist-boat. The reference ensemble finds the chair, and the pose pays 6.85 kcal/mol for not being in it, from an ensemble of one. Lidocaine is the flexible case, 4.02 kcal/mol against an ensemble of 69 conformers, where the populations show how much of the weight the reference actually holds.

Select a pose and switch the 3D view between the submitted pose, the restrained pose the energy is taken from, and the reference conformer. The detail panel shows the energies and restrained optimization diagnostics.

<iframe src="https://main.d3pyklf85pezb5.amplifyapp.com/strain/?data_url=/data/strain/demo.json" title="RevStrain interactive results viewer" width="100%" height="650px" style={{ border: "1px solid #e5e7eb", borderRadius: "12px" }} allow="clipboard-write" loading="lazy" />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.