Skip to content

Crystal Structure Prediction

Crystal Structure Prediction

Predict how an organic molecule packs into a crystal, starting from just its structure.

This tool predicts the crystal structures a small organic molecule is likely to form. A crystal structure is the regular, repeating arrangement the molecules settle into in the solid state. The same molecule can often pack in more than one way, and each distinct packing is called a polymorph.

You give it a single molecule, either as a SMILES string (a short text encoding of the molecule, for example c1ccccc1 for benzene) or as an uploaded geometry file. It runs a crystal structure prediction pipeline that generates and ranks candidate packings. If you already have an experimental crystal for the molecule, you can upload it and the tool will compare its predictions against it.

Provide exactly one of smiles or molecule_filename.

Use it early in development of any solid organic material, such as a drug substance, to understand which crystal forms a molecule might adopt before you commit to lab work. Knowing the possible polymorphs up front helps you anticipate which form is most stable and avoid surprises later. The optional experimental comparison is useful when you want to check how well the prediction reproduces a crystal you have already measured.

InputRequiredWhat it is
smilesone ofThe molecule as a SMILES string, for example CC(=O)Oc1ccccc1C(=O)O for aspirin. Provide this or molecule_filename, not both.
molecule_filenameone ofThe molecule as an uploaded geometry file instead of a SMILES string. Provide this or smiles, not both.
presetyesHow thorough the search is. test is a tiny run for checking the setup, quick (the default) is a fast lower accuracy pass, and full is the most thorough and slowest.
exp_cif_filenoAn experimental crystal structure to compare the predictions against, uploaded as a CIF file (the standard text format for crystal structures).
exp_is_lowest_polymorphnoSet to true if the experimental crystal you uploaded is known to be the most stable form. Defaults to false.

Submit your molecule from Azulene Studio, the Python SDK, or the CLI. New here? The Get started page walks through installing, logging in, and running a ready made example first.

Open Crystal Structure Prediction from the tools list, then on the Inputs and Parameters step enter a SMILES string (or upload a geometry file), choose a preset (quick is a good first run), then Review and Submit.

from opal import jobs
result = jobs.submit(
job_type="crystal_prediction",
input_data={
"smiles": "CC(=O)Oc1ccccc1C(=O)O",
"preset": "quick",
},
)

Pass the inputs as a JSON string.

Terminal window
opal jobs submit --job-type crystal_prediction \
--input-data '{"smiles": "CC(=O)Oc1ccccc1C(=O)O", "preset": "quick"}'

You get back a set of predicted crystal structures, ranked from most to least stable, written as CIF files you can download from the Files tab and open in a crystal structure viewer. Each one is a candidate polymorph, a distinct way the molecule was predicted to pack.

Alongside the structures, the result reports a relative stability for each predicted form, so you can see which packings are favored. When you provide an experimental crystal, the result also reports how closely the predictions match it, so you can judge how well the run reproduced the known form.

Provide exactly one of smiles or molecule_filename. Start with the quick preset to get a feel for the runtime on your molecule before moving to full, since a thorough search is considerably more expensive. The pipeline uses a CPU orchestrator that fans work out to GPUs, so runtime grows with the size and flexibility of the molecule and with how thorough the chosen preset is.