Structure Checker

Structure checker is a tool for filtering drawing mistakes or special structural elements. Registering a compound in a company's database might limit the user in for example the introduction of non-natural isotopes, query bonds, species with charge etc. Structure checker runs a check on the molecule(s) features and lists them in a separate window, with the option to refresh when you make changes to your drawing. The Structure checker works with predefined checking elements and you can choose which ones should be considered when you run a check.

Structure checker's command line interface and API for batch usage requires a Structure Checker licence. This guide refers to the checker available free in MarvinSketch as an add-on.

abbreviated group alias aromaticity error atom map atom query property atom value attached data bond angle bond length chiral flag error coordination system error covalent counterion crossed double bond empty structure explicit hydrogen explicit lone pairs isotope metallocene missing atom map molecule charge multicenter multicomponent OCR error overlapping atoms overlapping bonds pseudo atom query atom query bond r-atom r-group attachment error r-group reference error racemate radical rare element reaction map error ring strain error solvent star atom stereo care box substructure 3 dimension unbalanced reaction valence error valence property wedge error wiggly double bond

Setting Structure Checker configuration

Before you start using the Structure Checker, consult the list of available checkers in the Preferences dialog (Edit -> Preferences -> Checkers tab).

pref_checkers

The default list contains checkers in alphabetical order. Click on the name of the checker to see additional options and select the needed options by clicking the tick box.

Two types of checkers are listed: error detecting and feature detecting checkers. Error checkers are looking for chemically wrong molecule parts (e.g. valence errors, overlapping atoms), while the feature checkers searches the selected molecule characteristics which in the specific structures are not considered as an error (e.g. query properties). The two types are distinguished by the additional 'error' tag and different icons.

Checking order

Some molecule properties might change after fixing an issue. You can define a checking sequence by moving up or down the list elements. The order of the checkers may be important in case you run a Fix all action.
To change the order of the checker items, select the checker from the list and click the up up or down down icon on the right side of the dialog.

Add and remove checker items

To discard items from the checking sequence, select the checker and click the remove button on the right. To revert this modification or add new elements to the list, click the add button on the right and select the checker needed.

Save and load checker lists

Different checking lists might be needed for different compound families. To make checking simpler, you can save your checking list to your computer and open it again if you are editing the same molecule type. Click the Save button save to save your settings and click the Load button open to open a saved list.

Usage

Start Structure Checker

You can open Structure Checker at any stage of your work. As you click the Check structure icon defaultcheck in the toolbar or in the Structure menu or left-click the Checker button in the statusbar, a window will appear next to the sketching window. The molecule regions are highlighted on the canvas with a light red color. If you click on any checker message, the effected area changes color to darker red. If you move the cursor over one of the affected atoms or bonds, the appropriate checker message is highlighted in the checker list.

Recheck the structure

After you have changed the structure (including accepting a fix), the checker will offer re-checking. Click on the recheck icon in the Checker window.

check

At any point you can allow the Structure checker to fix the issues one by one or every of them by a single click. Another option is to turn on automatic rechecking: click the Enable automatic checking in the bottom of the text.

Automatic structure checking

Turn on Automatic checking to follow every drawing step you make by a quick check. This option is switched on in the Structure menu or right-clicking the Checker button on the status bar which then becomes colored. In case of an error a red exclamation mark appears. Left-clicking on this icon opens the Structure Checker window, where all the warnings are listed.

While the molecules are scanned for checker issues, a yellow question mark appears on the status bar.

If the molecule is correct, a green check mark appears in the Checker icon on the status bar.

List of available checkers and fixers

abbreviated group alias aromaticity error atom map atom query property atom value attached data bond angle bond length chiral flag error coordination system error covalent counter ion crossed double bond empty structure explicit hydrogen explicit lone pairs isotope metallocene missing atom map molecule charge multicenter multicomponent OCR error overlapping atoms overlapping bonds pseudo atom query atom query bond r-atom r-group attachment error r-group reference error racemate radical rare element reaction map error ring strain error solvent star atom stereo care box substructure 3 dimension unbalanced reaction valence error valence property wedge error wiggly double bond

Abbreviated Group
  • Checker searches for abbreviated groups in the structure, contracted, expanded or both.
  • Fixer offers ungrouping abbreviated groups; expanding abbreviated groups; contracting abbreviated groups.

Example: ungroup a contracted and an expanded phenyl group.
Warning: ex_abbrev_ch
Fix: ex_abbrev_f
Notes: If attachment point is not connected to any atom, ungrouping removes attachment points of the abbreviated group and adds an implicit hydrogen.

Alias
  • Checker searches for aliases in the structure.
  • Fixer offers converting the alias to atom if the alias value corresponds to an element (e.g. Ar);
    converting the alias to abbreviated group if the alias values corresponds to a group in the abbreviated group list;
    removing alias (revealing the atom under the alias);
    or deleting the alias atom.

Example: convert a methoxy group defined as an alias to an abbreviated group.
Warning: ex_alias_ch
Fix: ex_alias_f
Note: The abbreviated group is linked correctly to the chain after the fix, i.e. bond through the oxygen atom.

Example: remove the NH2 alias from the carbon atom.
Warning: ex_alias2_ch
Fix: ex_alias2_f
Note: alias only covers the atom, and fixer removes this alias from the original atom.

Aromaticity Error
  • Checker searches for aromatic systems that can't be dearomatized or rearomatizing with the given method does not reproduce the initial molecule.
    Options: choice between basic, general or loose aromatization methods.
  • Fixer offers rearomatizing or dearomatizing the aromatic system.

Example: the 2-pyridone aromatized in general mode is corrected after a checking of aromatization in basic mode.
Warning: ex_arom_ch
Fix: ex_arom_f
Notes: In this case, both rearomatization and dearomatization fix yields the same structure.
Details on aromaticity detection.

Atom Map
  • Checker searches for atom maps.
  • Fixer offers removing atom maps.

Example: remove atom map from a partially mapped ethyl methylether molecule.
Warning: ex_atommap_ch
Fix: ex_atommap_f

Atom Query Property
  • Checker searches for atoms having query properties. Tick options for searching:
    • Hydrogen Count
    • Connection Count
    • Ring Bond Count
    • Ring Count
    • Implicit Hydrogen Count
    • Smallest Ring Size
    • Aromacity
    • Substitution Count
    • Unsaturation
    • Explicit Connection Count
    atom query properties.
  • Fixer offers removing the identified query properties.

Example: delete the atom query property.
Warning: example atom query property
Fix: fixed atom query property

Atom Value
  • Checker searches for atom values.
  • Fixer offers removing atom values or deleting the atom with value.

Example: delete the atom with value 'isotope'.
Warning: ex_atomvalue_ch
Fix: ex_atomvalue_f

Attached Data
  • Checker searches for attached data.
  • Fixer offers removing attached data or deleting the atom with attached data.

Example: removing attached data (reactant=12) from the oxygen atom.
Warning: ex_attached_ch
Fix: ex_attached_f

Bond Angle
  • Checker searches for bonds NOT matching the following rules:
    • Triple bond angle 180° (± 0.5 rad)
    check_angle1
    • Double bond angle 120° or 180° (± 0.5 rad)
    check_angle2
    • sp2 atom's bond angles 120°
    check_angle3
    • sp3 atom's bond angles 90°
      or 3 bond angles 120°, 4th bond of an angle of n times 15°;
      or a bond angle of 120° and two adjacent angles equal
    check_angle4
  • Fixer offers cleaning the structures by 2D cleaner.

Example: cleaning the molecule.
Warning: ex_bondangle_ch
Fix: ex_bondangle_f
Notes: The current version of bond angle checker examines chain bonds of 2D molecules. Envelope-shaped cyclic compounds are considered as error.

Bond Length
  • Checker searches for bond lengths different than the default setting.
  • Fixer offers cleaning the structures by 2D clean.

Example: cleaning the molecule to adjust bond length.
Warning: ex_bondlength_ch
Fix: ex_bondlength_f
Notes: The current version of bond length checker examines chain bonds of 2D molecules.

Chiral Flag error
  • Checker searches for set chiral flags in case of non-chiral molecules and for absent chiral flags in case of chiral molecules.
  • Fixer offers removing or setting the chiral flag.

Example: adding chiral flag to a chiral compound not flagged.
Warning: ex_chiralflag_ch
Fix: ex_chiralflag_f

Coordination System error
  • Checker searches for errors in the use of coordinative bonds:
    • 2 multicenters connected with a bond
    • coordinated atom is connected to an atom of the same multicenter with a coordinative bond
    • multicenter merged with one of its atoms
  • Fixer offers deleting the wrong bond or the multicenter

Example: deleting a coordination bond between two multicenters.
Warning: ex_coord_ch
Fix: ex_coord_f

Covalent Counterion
  • Checker searches for covalently bound counter ions.
  • Fixer offers changing the structure to the ionic form.

Example: converting a covalent sodium alkoxide formula to the ionic form.
Warning: ex_covcounter_ch
Fix: ex_covcounter_f

Crossed double bond
  • Checker searches for crossed double bond types (molecules with unknown or unspecified configuration).
  • Fixer offers cleaning the structures by 2D cleans.

Example: changing a crossed double bond to a wiggly double bond.
Warning: ex_crossed_ch
Fix: ex_crossed_f
Notes: reverse action of wiggly double bond fixing.

Empty structure
  • Checker searches for empty structure fields (available in multiple structures files).

Explicit Hydrogen
  • Checker searches for explicit hydrogens. Tick options for searching:
    • lonely
    • isotopic
    • charged
    • radical
    • mapped
    • wedged
    explicit hydrogens.
  • Fixer offers removing explicit hydrogens and the ticked special atoms.

Example: removing explicit hydrogen and isotopic hydrogen atoms.
Warning: ex_explh_ch
Fix: ex_explh_f

Explicit Lone Pairs
  • Checker searches for explicitly drawn lone pairs (inserted as Special node from the Advanced tab of the Periodic Table).
  • Fixer offers removing the explicit lone pair.

Example: removing explicit lone pair.
Warning: ex_expllp_ch
Fix: ex_expllp_f

Isotope
  • Checker searches for isotopic atoms.
  • Fixer offers changing the isotopic atom to the most abundant natural isotope of that element.

Example: removing isotope information.
Warning: ex_isotope_ch
Fix: ex_isotope_f
Notes: deuterium and tritium are recognized as symbols D and T, respectively as well.

Metallocene
  • Checker searches for incorrect metallocene representations.
  • Fixer offers converting to a valid structure: aromatizing the rings, inserting coordination bonds, and fixing charge values.

Example: fixing ferrocene structures.
Warning: ex_metallocene_ch
Fix: ex_metallocene_f

Missing Atom Map
  • Checker searches for missing atom maps.
  • Fixer offers mapping all atoms in the sketch.

Example: mapping atoms in unmapped molecules.
Warning: ex_missingatommap_ch
Fix: ex_missingatommap_f

Molecule Charge
  • Checker searches molecules in which total charge is not zero.
  • Fixer offers removing the charge by adding or removing hydrogens.

Example: removing charge along with removing a proton.
Warning: ex_molcharge_ch
Fix: ex_molcharge_f
Notes: charge is not checked in reactions. Charged molecules where no hydrogens can be removed, are to be corrected manually.

Multicenter
  • Checker searches for multicenter drawing.
  • Fixer offers removing the multicenter from the molecule.

Example: removing multicenter.
Warning: ex_multicenter_ch
Fix: ex_multicenter_f

Multicomponent
  • Checker searches for multiple components in the drawing.
  • No fixer is available.

OCR error
  • Checker searches for structures imported incorrectly from optical character recognition procedure.
  • Fixer: no fixer is available for this checker.

Example: detecting OCR errors.
Warning: ex_ocr_ch

Overlapping Atoms
  • Checker searches for overlapping atoms: atoms closer than the pre-set percentage of the default atom radius.
  • Fixer offers setting or removing the chiral flag.

Example: adding chiral flag to a chiral compound.
Warning: ex_overlappingatoms_ch
Fix: ex_overlappingatoms_f

Overlapping Bonds
  • Checker searches for overlapping bonds: bonds crossing each other or bonds closer to each other than the set minimal value.
  • Fixer offers cleaning the molecule (2D).

Example: cleaning the molecule.
Warning: ex_overlappingbonds_ch
Fix: ex_overlappingbonds_f
Notes: bridged polycycles are cleaned as far as their structure allows it, and the overlapping bonds warning will remain.

Pseudo Atom
  • Checker searches for pseudo atoms in the molecule.
  • Fixer offers
    • converting to abbreviated group if the name is in the abbreviated group list (e.g. Et for ethyl);
    • converting to a carbon atom;
    • deleting atom.

Example: converting a pseudo atom to a carbon atom.
Warning: ex_pseudo_ch
Fix: ex_pseudo_f

Query Atom
  • Checker searches for query atoms.
  • No fixer for this feature.

Example: finding query atoms.
Warning: ex_queryatom_ch

Query Bond
  • Checker searches for query bonds.
  • No fixer for this feature.

Example: finding query bonds.
Warning: ex_querybond_ch

R-Atom
  • Checker searches for R-atoms. Tick options for searching:
    • all;
    • disconnected;
    • generic;
    • linker;
    • nested R-atoms.
  • No fixer for this feature.

Example: finding R-atoms.
Warning: ex_ratom_ch

R-group Attachment Error
  • Checker searches for missing attachment points among R-group elements.
  • Fixer offers adding R-group attachment points only in unambiguous cases.

Example: finding missing R-group attachment points.
Warning: ex_rgattach_ch
Fix: ex_rgattach_f

R-group Reference Error
  • Checker searches for missing or inconsistent R-group references.
  • No fixer for this feature.

Example: finding missing R-group references.
Warning: ex_rgref01_ch   or   ex_rgref02_ch

Racemate
  • Checker searches for chiral centers without set configuration.
  • No fixer for this feature.

Example: finding unmarked chiral centers.
Warning: example racemate checker

Radical
  • Checker searches for radical information on molecules.
  • Fixer offers removing the radical information.

Example: removing wrong radical from acetate.
Warning: ex_radical_ch
Fix: ex_radical_f

Rare element
  • Checker searches for rare elements in the structures. Atoms generally present in organic compounds are: H, Li, Na, K, Mg, Ca, B, C, N, O, F, Cl, Br, I, Al, P, S, Cr, Mn, Fe, Co, Ni, Cu, Zn. Any elements outside this selection are considered rare elements.
  • No fixer for this feature.

Example: filtering the praseodymium as a substitution for a propyl group.
Warning: ex_rareelement_ch

Reaction Map error
  • Checker searches for incomplete reaction map. A reaction with two or less atom maps (both on the reactant and the product side) is considered an incompletely mapped reaction.
  • Fixer offers mapping the reaction.

Example: mapping a partially mapped reaction.
Warning: ex_reactionmap_ch
Fix: ex_reactionmap_f

Ring strain error
  • Checker searches for trans double bonds in bridged rings.
  • Fixer offers transforming to cis configuration.

Example: cleaning the molecule.
Warning: ex_doublebondstereo_ch
Fix: ex_doublebondstereo_f
Solvent
  • Checker searches in the molecule file for fragments defined as solvent molecules if more than 1 fragment is present. The list is customizable and is found in a configuration file.
  • Fixer offers removing solvent fragments in case only one type of solvent is present.

Example: removing water molecules.
Warning: ex_solvent_ch
Fix: ex_solvent_f

The default solvents are: water, methanol, ethanol, propan-1-ol propan-2-ol, butan-1-ol, formic acid, acetic acid, pentane, hexane, benzene, methylbenzene, ethoxyethane, trichloromathane, ethyl acetate, dichloromethane, propan-2-one, acetonitrile, N-methylacetamide, methanesulfonylmethane, oxolane, heptane, 2-mezhylpropan-2-ol, butan-2-one, cyclohexane, cycloheptane, 1,2-dichloroethane, 2-(propan-2-yloxy)propane, 1,2-dimethoxyethane, N,N-dimethylacetamide, pyridine, 1,2-dimethylbenzene, 2-methyoxy-2-methylpropane


Star Atom
  • Checker searches for star atoms (inserted as Special node from the Advanced tab of the Periodic Table).
  • Fixer offers removing the star atom.

Example: deleting the star atom.
Warning: ex_staratom_ch
Fix: ex_staratom_f

Stereo Care Box
  • Checker searches for stereo care boxes placed on query bonds.
  • Fixer offers removing care boxes from bonds.

Example: removing care boxes.
Warning: ex_stereocb_ch
Fix: ex_stereocb_f

Substructure
  • Checker searches for SMARTS defined substructures.
  • Substructure Checkers can be set individually.
  • When the substructure is specified as reaction SMARTS or SMIRKS, the checker works as fixer as well.

Example: Finding nitro groups as substructure.
Checker setting: SMARTS: O=N=O>>[O-][N+]=O
Warning: substructure_nitro
Fix: substructure_fixed
Note: This checker is available only in JChem. The checker can also be accessed from MarvinSketch if MarvinSketch is run from the JChem\bin folder (e.g, c:\Program Files\ChemAxon\Jchem\bin\msketch.bat).

Unbalanced Reaction Checker
  • Checker detects reaction scheme with differing total atom numbers or atom types on the two sides of the reaction arrow.
  • No fixer for this feature.

Example: Checking unbalanced reactions.
Warning: Unbalanced reaction
Approval: Balanced reaction

Three Dimension
  • Checker searches for 3rd dimension (Z) coordinates.
  • Fixer offers 2D cleaning, or setting the atomic z-coordinates to zero.

Example: cleaning the cyclohexane in 2D.
Warning: ex_3d_ch
Fix: ex_3d_f

Valence error
  • Checker searches for valence errors.
  • Fixer offers removing explicit hydrogens if applicable.

Example: setting the charge on a quaternary ammonium ion; removing a hydrogen from the secondary ammonium ion with no charge set.
Warning: ex_valence_ch
Fix: ex_valence_f
Notes: valence errors with no removable hydrogens have to be corrected manually.

Valence Property Checker
  • Checker searches for atoms with marked valence property.
  • Fixer offers removing the identified valence properties.

Example: delete the atom valence property.
Warning: example valence property check
Fix: fixed valence property

Wedge error
  • Checker searches for erratic wedge bonds.
  • Fixer offers removing all wedge bonds and replacing them with a single bond.

Example:
Warning: ex_wedge_ch
Fix: ex_wedge_f
Notes: some symmetric structures are not recognized by the checker.

Wiggly Double Bond
  • Checker searches for wiggly double bond (molecules with unknown or unspecified configuration).
  • Fixer offers changing to crossed double bond type.

Example: changing a wiggly double bond to a crossed double bond.
Warning: ex_wiggly_ch
Fix: ex_wiggly_f
Notes: reverse action of crossed double bond fixing.


abbreviated group alias aromaticity error atom map atom query property atom value attached data bond angle bond length chiral flag error coordination system error covalent counter ion crossed double bond empty structure explicit hydrogen explicit lone pairs isotope metallocene missing atom map molecule charge multicenter multicomponent OCR error overlapping atoms overlapping bonds pseudo atom query atom query bond racemate radical rare element reaction map error ring strain error solvent star atom substructure 3 dimension Valence Property Checker valence error wedge error wiggly double bond

Do you have a question? Would you like to learn more? Please browse among the related topics on our support forum or search the website. If you want to suggest modifications or improvements to our documentation email our support directly!