Skip to main content
Docs

Search guides and API endpoints, for example “Idempotency-Key” or “submit job”.

    Tools · Cheminformatics & Structure

    RMSD Calculator

    Calculate the root-mean-square deviation (RMSD) of molecules
    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.

    RMSD Calculator molecule-rmsd-matrix

    Job type
    molecule-rmsd-matrix
    Hardware
    cpu (default)
    Typical runtime
    30 min on CPU

    Payload

    Payload fields
    FieldTypeDescription
    input_data[]requiredstring[]

    Limits: min items 1, max items 225

    input_formatrequiredstring

    One of: "fasta", "helm", "mol2block", "molblock", "mrvblock", "pdbblock", "scsrblock", "selfies", "sequence", "smarts", "smiles", "tplblock", "xyzblock", "inchi"

    rotation_methodstring

    Default: "kabsch"One of: "kabsch", "quaternion"

    reorder_methodstring

    Default: "inertia-hungarian"One of: "inertia-hungarian", "qml"

    add_hydrogensboolean

    Default: false

    remove_hydrogensboolean

    Default: false

    Example

    from cognichem_client import CogniChem
    
    client = CogniChem.from_env()  # reads COGNICHEM_API_KEY
    payload = {
        "input_data": ["CCO", "CCC"],
        "input_format": "smiles",
        "rotation_method": "kabsch",
        "reorder_method": "inertia-hungarian",
        "add_hydrogens": False,
        "remove_hydrogens": False,
    }
    
    estimate = client.jobs.estimate(job_type="molecule-rmsd-matrix", payload=payload, resource="cpu")
    print(f"Reserves ${estimate.cost:.2f}")
    
    job = client.jobs.submit(
        job_name="my-molecule-rmsd-matrix-run",
        job_type="molecule-rmsd-matrix",
        payload=payload,
        resource="cpu",
    )
    status = client.jobs.wait(job.process_id)
    if status.status == "completed":
        client.jobs.result(job.process_id, save_path=".")

    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, MOLBLOCK

    Workflow outputs

    • ArchiveZIP
    • TableCSV