A utility is a small, fast calculation, such as converting a molecule between formats or looking up a fluid property. Utilities differ from jobs in three ways:
- No wallet charge. Each call counts toward your plan's monthly utility allowance instead (Plans and limits). At the limit, submits return
403until the next month. - The answer comes back as data, not a zip file.
- No estimate and no hardware choice.
Call a utility
- Submit a utility process with a
utility_typeand itspayload. It returns aprocess_id(utl-…). - Poll Get utility status until it finishes (usually seconds).
- Read the answer from Get a utility result, then delete the process to clear it from your list.
The Python SDK does all three in one call:
from cognichem_client import CogniChem
client = CogniChem.from_env()
result = client.utils.run(
"convert",
{"input_data": "CCO", "input_format": "smiles", "output_format": "pdbblock"},
)
print(result.data)As with jobs, calls made with an API key must send an Idempotency-Key (the SDK adds one for you).
Utility types
convert Convert one molecule or biopolymer between text formats (RDKit).
| Field | Type | Description |
|---|---|---|
input_datarequired | string | Limits: |
input_formatrequired | string | One of: |
output_formatrequired | string | One of: |
generate_3d | boolean | Embed 3D coordinates before writing. Default: |
add_hydrogens | boolean | Add explicit hydrogens. Default: |
remove_hydrogens | boolean | Remove explicit hydrogens. Default: |
coolprop Single-state thermophysical property lookup (CoolProp HEOS or INCOMP; SI units). Give two state inputs, or a single T or P for saturation. For grids or curves submit the coolprop job.
| Field | Type | Description |
|---|---|---|
fluidrequired | string | CoolProp fluid name, e.g. Water. REFPROP is not supported. Limits: |
backend | string | Default: |
inputsrequired | object | State inputs in SI units (T in K, P in Pa, H in J/kg, S in J/kg/K, D in kg/m^3, Q quality 0-1). |
inputs.T | number | |
inputs.P | number | |
inputs.H | number | |
inputs.S | number | |
inputs.D | number | |
inputs.Q | number | |
properties[] | string[] | One of: |
druglikeness_filter Lipinski / Veber rules and structural alerts (PAINS, Brenk, NIH) for up to 50 molecules. For larger sets submit the druglikeness-filter job.
| Field | Type | Description |
|---|---|---|
input_datarequired | string | string[] | |
input_formatrequired | string | One of: |
apply_lipinski | boolean | Apply Lipinski rule of five. Default: |
apply_veber | boolean | Apply Veber rules. Default: |
alert_sets[] | string[] | Default: |
qed_min | number | Limits: |
sa_max | number | Limits: |
molecule_rmsd RMSD between two molecular structures after alignment (and optional atom reordering).
| Field | Type | Description |
|---|---|---|
input_data_1required | string | Limits: |
input_format_1required | string | One of: |
input_data_2required | string | Limits: |
input_format_2required | string | One of: |
rotation_method | string | Default: |
reorder_method | string | Default: |
add_hydrogens | boolean | Add explicit hydrogens. Default: |
remove_hydrogens | boolean | Remove explicit hydrogens. Default: |
molecule_standardize Standardize one molecule (largest fragment, uncharge, canonical tautomer, stereo cleanup).
| Field | Type | Description |
|---|---|---|
input_datarequired | string | Limits: |
input_formatrequired | string | One of: |
largest_fragment | boolean | Keep the largest fragment. Default: |
uncharge | boolean | Neutralize charges where possible. Default: |
canonical_tautomer | boolean | Pick the canonical tautomer. Default: |
cleanup_stereo | boolean | Clean up stereochemistry. Default: |
For larger inputs, several utilities have a job counterpart that runs in the background: Molecule Conversion (convert-batch), Molecule Standardizer (molecule-standardize), and Drug-likeness & Structural Alerts (druglikeness-filter).