Tools · Cheminformatics & Structure
Reaction Enumeration
On this page
Prices, workflows, and method papersOpen in the app
Run it from the API
Submit with Submit a job and the job_type below. Price it first with Estimate job reservation cost: submitting reserves that amount from your wallet, and the charge settles at the actual runtime.
Reaction Enumeration reaction-enumerate
- Job type
reaction-enumerate- Hardware
cpu(default)- Typical runtime
- 5 min on CPU
Payload
| Field | Type | Description |
|---|---|---|
reactants_1[]required | reactant_list | Limits: |
reactants_2[] | reactant_list | Limits: |
reactants_3[] | reactant_list | Limits: |
reactants_4[] | reactant_list | Limits: |
reaction_smarts | string | Limits: |
rxn_file | file_object | |
rxn_file.name | string | Limits: |
rxn_file.filename | string | Limits: |
rxn_file.content_b64 | string | Limits: |
rxn_file.path | string | Limits: |
rxn_file.$artifact | object | |
rxn_file.$artifact.idrequired | string | Limits: |
rxn_file.$artifact.portrequired | string | Limits: |
rxn_file.$artifact.records[] | string[] | |
input_formatrequired | string | One of: |
collapse_duplicates | boolean | Default: |
write_sdf | boolean | Default: |
File fields take {"name": "x.pdb", "content_b64": "…"} or a stored artifact, {"$artifact": {"id": "art-…", "port": "…"}}. Files are up to 25 MiB each.
Example
from cognichem_client import CogniChem
client = CogniChem.from_env() # reads COGNICHEM_API_KEY
payload = {
"reactants_1": ["CC(=O)O", "CCC(=O)O"],
"reactants_2": ["NCC", "CN"],
"reaction_smarts": "[C:1](=[O:2])O.[N:3]>>[C:1](=[O:2])[N:3]",
"input_format": "smiles",
"collapse_duplicates": True,
"write_sdf": False,
}
estimate = client.jobs.estimate(job_type="reaction-enumerate", payload=payload, resource="cpu")
print(f"Reserves ${estimate.cost:.2f}")
job = client.jobs.submit(
job_name="my-reaction-enumerate-run",
job_type="reaction-enumerate",
payload=payload,
resource="cpu",
)
status = client.jobs.wait(job.process_id)
if status.status == "completed":
client.jobs.result(job.process_id, save_path=".")curl -X POST "https://api.cognichem.com/api/v1/jobs/submit" \
-H "X-Api-Key: $COGNICHEM_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"job_name": "my-reaction-enumerate-run",
"job_type": "reaction-enumerate",
"payload": {
"reactants_1": [
"CC(=O)O",
"CCC(=O)O"
],
"reactants_2": [
"NCC",
"CN"
],
"reaction_smarts": "[C:1](=[O:2])O.[N:3]>>[C:1](=[O:2])[N:3]",
"input_format": "smiles",
"collapse_duplicates": true,
"write_sdf": false
},
"resource": "cpu"
}'{
"reactants_1": [
"CC(=O)O",
"CCC(=O)O"
],
"reactants_2": [
"NCC",
"CN"
],
"reaction_smarts": "[C:1](=[O:2])O.[N:3]>>[C:1](=[O:2])[N:3]",
"input_format": "smiles",
"collapse_duplicates": true,
"write_sdf": false
}Sample data from the job catalog; long values are shortened here. Each job_name must be unique among your jobs.
Workflow inputs
- Molecules (list)SMILES
- Molecules (list) · optionalSMILES
- Molecules (list) · optionalSMILES
- Molecules (list) · optionalSMILES
Workflow outputs
- ArchiveZIP
- MoleculesSMILES
- TableCSV