---
title: Outputs & Monitoring
description: REINVENT returns SMILES in results.csv inside the results zip, not the callback — and in a sampling run the score is negative log-likelihood, not quality.
---

REINVENT returns generated molecules as SMILES plus run metrics. Export the candidates you keep and feed them into downstream tools — ADMET-AI for property screening, DiffDock for a pose hypothesis, and [AiZynthFinder](/docs/aizynthfinder) to check synthetic feasibility before you commit to the next round.

> **Read the score before you rank on it**

> The platform's default run type is `sampling`, which samples the prior with **no scoring function**. The number carried in that mode is the **negative log-likelihood** of the SMILES under the prior — how typical the molecule is of the training set, not how active, drug-like, or makeable it is (lower NLL means more typical). Per-component scores exist only in `scoring`, `sampling_scoring` and `staged_learning` runs, and are then whatever you configured in [scoring functions](/docs/reinvent/scoring). Nothing in a result has been measured. See [how REINVENT results compare to the bench](/docs/reinvent/translatability).

The callback payload does not carry the molecules: `generated_molecules` is always null by design to keep the payload bounded, and the full list lives in `results.csv` inside the results zip at the returned S3 URI.

## Generated Molecules and Monitoring

REINVENT 4 produces molecules through its RNN or transformer-based generators during reinforcement learning optimization. Proper logging and export of generated molecules is essential for downstream analysis and experimental validation.

For output format specifications, see the [REINVENT 4 documentation](https://github.com/MolecularAI/REINVENT4).

## What to log

- Mean/median total score per step
- Validity, uniqueness, and novelty percentages
- Top-N SMILES with per-component scores
- Checkpoint paths for prior/agent after each epoch

## Exporting molecules

```python
import pandas as pd
from reinvent_scoring import CustomSumScorer

# assume `top_smiles` is a list of (smiles, score)
df = pd.DataFrame(top_smiles, columns=["smiles", "score"])
df.to_csv("/workspace/outputs/top.csv", index=False)
```

For SDF exports, generate 3D with RDKit first, then write via `SDWriter`.

## Checkpoints

- Save agent checkpoints periodically (e.g., every epoch) to
  `/workspace/outputs/checkpoints/epoch_X.ckpt`.
- Record the random seed and scoring config used for each checkpoint in
  `metadata.json`.
- Keep the best-performing checkpoint (highest mean score) separately tagged.

## Alerting on drift

- Watch for drops in validity or uniqueness; often caused by overly strict
  filters or high learning rates.
- If novelty falls, adjust diversity filters or reduce curriculum difficulty.

## Ticket checklist

- Config file, seed, and scoring parameters
- Paths to checkpoints and top.csv
- Plots or CSV excerpts of score/validity over time

## Output analysis for different design modes

REINVENT 4 supports multiple molecular design tasks, each producing distinct output characteristics:

| Design Mode | Primary Output | Key Metrics |
|-------------|----------------|-------------|
| De novo design | Novel molecular structures | Validity, uniqueness, novelty |
| Scaffold hopping | New scaffolds carrying the pharmacophore you scored for | Scaffold diversity, **predicted** activity from your own scoring model |
| R-group replacement | Varied substituents | Change in predicted properties |
| Linker design | Fragment connectors | Linker length; makeability is unmeasured, check it with [AiZynthFinder](/docs/aizynthfinder) |

## Integration with downstream tools

Generated molecules can be evaluated using complementary platform tools:

- **ADMET-AI**: predict pharmacokinetic properties of generated compounds
- **[DiffDock](/docs/diffdock)**: propose a binding pose. It returns no affinity, and neither does the platform's MM-GBSA
- **[AiZynthFinder](/docs/aizynthfinder)**: plan a retrosynthetic route for top candidates — the only makeability check available here
- **DeepSol**: predict aqueous solubility for formulation planning

## Canvas Visualization

When a REINVENT job completes, a result card appears on the canvas.

- **Visualization**: 2D molecule grid with score distribution and property histograms

### Tier 2 Metrics

- Molecules generated count
- Best score — in a `sampling` run this is the **lowest NLL**, not a normalized 0-1 quality score
- Diversity index
- Unique scaffold count

### Generator Types

| Type | Description | Use Case |
|------|------------|----------|
| reinvent | De novo from scratch | Novel chemical space exploration |
| libinvent | R-group decoration on scaffold | SAR around a known scaffold |
| linkinvent | Linker design between fragments | PROTAC and bifunctional molecule design |
| mol2mol | Molecule-to-molecule optimization | Improving a lead compound |
| pepinvent | Peptide design | Therapeutic peptide generation |

## Read next
