athanor command reference

athanor convert, name, info, check, screen, batch and mcp. Input is a file, - for stdin, or a SMILES string. Exit status is 0 when done, 1 when the chemistry has errors or was refused, and 2 when the command failed.

athanor convert <input> (-o <file> | --to <format>) [--from <format>]
athanor name <input> [--from <format>]
athanor info <input> [--from <format>]
athanor check <input> [--from <format>]
athanor screen <smiles>
athanor batch <folder> --to <format> [--out <folder>]
athanor mcp
athanor --version

<input> is a file, - to read from standard input, or a SMILES string typed on the line. Without --from, a file's extension decides its format, and standard input is recognized by its content. The examples below are real output from version 0.1.0.

Formats

Format Word Reads Writes
SMILES smi ✓ ✓
MOL V3000 (an .sdf reads its first record) mol ✓ ✓
ChemDraw CDXML cdxml ✓ ✓
ChemDraw CDX cdx ✓
Marvin mrv ✓ ✓
CML cml ✓ ✓
XYZ xyz ✓ ✓
PDB pdb ✓
CIF cif ✓
Athanor athanor ✓ ✓

convert

Writes the structure in another format: to a file with -o, or to standard output with --to.

athanor convert aspirin.mol --to smi
CC(=O)OC1=CC=CC=C1C(=O)O
athanor convert scheme.cdxml -o scheme.mol
athanor convert - --to cdxml < drug.mol > drug.cdxml

name

The systematic IUPAC name, worked out from the structure.

athanor name "CC(=O)Oc1ccccc1C(=O)O"
2-acetyloxybenzoic acid

Exit status 1 when it will not name the structure, with the reason.

info

Formula, masses, elemental analysis, the isotope pattern and descriptors, as JSON.

athanor info "Cn1cnc2c1c(=O)n(C)c(=O)n2C"
{
  "descriptors": {
    "aromaticRings": 1,
    "fractionSp3": 0.375,
    "hba": 6,
    "hbd": 0,
    "heavyAtoms": 14,
    "rings": 2,
    "rotatable": 0,
    "stereocenters": 0,
    "tpsa": 56.22
  },
  "formula": {
    "hill": "C8H10N4O2",
    "empirical": "C4H5N2O",
    "exact_mass": 194.080375576,
    "weight": 194.194,
    "charge": 0
  }
}

(Shortened. The full output also has the Lipinski checks, the elemental analysis and the isotope peaks.)

check

Everything the app's Problems list would flag, as JSON, each with its fixes. An empty list means nothing is wrong.

athanor check "C(C)(C)(C)(C)C"
[
  {
    "severity": "error",
    "title": "C has 5 bonds",
    "message": "This C has 5 bonds. C takes 4. Remove a bond, or add a charge if you meant an ion.",
    "fixes": [
      "Delete one of the bonds, or lower a double bond to a single one.",
      "Add a formal charge, if this is meant to be an ion - an N with four bonds is an ammonium and needs its plus.",
      "Check the element: a typed label can turn an O into something that cannot take the bonds already on it."
    ],
    "atom": 0
  }
]

Exit status 1 when anything is an error, so a script can stop on a bad structure.

screen

The safety screen for a structure as a synthesis target: clear, notice or refuse.

athanor screen "Cn1cnc2c1c(=O)n(C)c(=O)n2C"
{
  "blocked": false,
  "decision": "clear",
  "message": ""
}

Exit status 1 when it is refused.

batch

Converts every file in a folder. See How to convert a folder of structures at once.

mcp

Runs as a local MCP server over standard input and output. See Run Athanor's MCP server on your own computer.

Exit status

Code Means
0 Done
1 The chemistry has errors (check), was refused (screen), could not be named (name), or a file in a batch failed
2 The command itself failed, for example a file that could not be read

Tip

A name that is not a file is read as SMILES. A mistyped file name therefore fails as SMILES, for example "position 2: unknown element" for nothing.mol. Check the path first.

Is this helpful?

Last updated Nov 12, 2026