Demos > SMILES

SMILES is an essential protocol for molecular description in chemistry, allowing for complex molecular structures to be defined in a single line of text. Originally described by Daylight Chemical Information Inc., the protocol has been strengthened by the OpenSMILES project. ChemDoodle includes industry leading SMILES functionality, paired with expert algorithms, such as aromaticity handling and 2D coordinate generation to best service any project. Please use this demo to evaluate. Please read the instructions below each input. The number of free calls to this function is limited. For unlimited SMILES functionality, please consider purchasing ChemDoodle 2D, or contact us for API licensing options.

  • Output
  • Input

    Options




    Examples

    1. O=C=O
    2. CCN(CC)CC
    3. c1ccccc1
    4. [OH3+]
    5. [2H]O[2H]
    6. F/C=C\F
    7. CC(=O)OCCC(/C)=C\C[C@H](C(C)=C)CCC=C
    8. N[C@@H](C)C(=O)O
    9. OC[C@@H](O1)[C@@H](O)[C@H](O)[C@@H](O)[C@H](O)1
    10. OC(Cl)=[C@AL1]=C(C)F
    11. [I-].[Na+].C=CCBr>>[Na+].[Br-].C=CCI
    12. COc(c1)cccc1C#N
    13. OCCc1c(C)[n+](cs1)Cc2cnc(C)nc2N
    14. N1CCN(CC1)C(C(F)=C2)=CC(=C2C4=O)N(C3CC3)C=C4C(=O)O

    Instructions

    Input the SMILES string you want to parse an depict in the text field above, and then press the Input SMILES button. The corresponding molecular structure will be rendered in the ChemDoodle Web Components viewer above. We provide some complex examples as well, just click on the example to load it. Several options are available to give you more control over output. Please give it a try and let us know if you encounter any issues.

    Please note, even if you type in a random string of characters that is clearly not a SMILES string, ChemDoodle will still assume it is a SMILES string and try to parse it. ChemDoodle 2D includes a widget for describing errors and warnings in input SMILES string.

    2D Coordinate Generation

    One of the main requirements for a SMILES parser is to generate coordinates for the input, as SMILES strings contain no coordinate information. ChemDoodle provides a best-in-class 2D coordinate generation algorithm (including expert stereochemistry diagram support), please see this demo for more information. ChemDoodle can also generate 3D coordinates, but this SMILES demo is limited to 2D output.

Options





Instructions

SMILES strings can be generated for drawn structures in the sketcher. You may draw an individual structure, multiple structures, or a single reaction. When you are done drawing, press the Output SMILES button, and the generated SMILES string will be displayed in the text area. Several options are available to give you more control over output. Please give it a try and let us know if you encounter any issues.

Canonical SMILES

Canonicalization is typically used for indexing and exact matching in databases. SMILES is not a canonical protocol, but Daylight Informatics did publish a vague and incomplete CANGEN algorithm for canonicalizing SMILES strings. Canonical SMILES algorithms today are unique to the developer and are not cross-compatible.

Canonicalization is an attempt to simulate graph theoretical functionality without making use of graph theoretical algorithms. One using a canonical SMILES string for a structure would be confident in matching another structure converted into a SMILES string if the two strings are identical. However, specifications and software implementations continuously change, invalidating previously generated canonical output. So the integrity of your dataset will eventually be dependent on using old and obsolete software. The correct way to handle molecule structure comparisons is through graph isomorphism implementations, perhaps after a fingerprint pruning. Canonical string comparisons are also only applicable to exact matching, and not substructure, superstructure, query or maximum common substructure.

Therefore, canonical SMILES is not a solution, and you need to use ChemDoodle's fignerprinting and isomorphism engine instead. If you just need an index system, then you should be using a protocol meant to be a chemical index, like IUPAC InChI, which ChemDoodle also fully supports.

Get your work done with our popular desktop software.