Checkmol is a command-line utility program which reads molecular structure files in different formats and analyzes the input molecule for the presence of various functional groups and structural elements. At present, approx. 200 different functional groups are recognized. Output can be either clear text (English or German), a bitstring or its ASCII representation, or a set of special 8-character codes. This output can be easily placed into a database table, permitting the creation of chemical databases with a functional group search option. It was written by Norbert Haider, Department of Pharmaceutical Chemistry (now: Department of Drug and Natural Product Synthesis), University of Vienna, Austria.

The full List of functional groups recognized by checkmol is here.

Matchmol complements the capabilities of checkmol. It compares two (or more) molecular structures and determines whether one of them is a substructure of the other one. This is done by a full atom-by-atom comparison of the input structures. Thus, matchmol can be used as a back-end program for structure/substructure search operations in chemical databases

The software is available both as source code and as a binary compiled for Linux (x86 architecture). It is entirely written in Pascal and it was compiled with Free Pascal 1.0.11 or Free Pascal 2.4.0 (starting from v0.4c). So to install we first need to get a Pascal compiler, this can be downloaded from Sourceforge, to install it you need the Xcode command line tools installed. Installation of these tools seems to vary depending on the version of Mac OSX and Xcode. Unfortunately the Pascal compiler is only available for Intel so you will need to install Lazarus first this is not for the faint-hearted. There is also a Homebrew formula.

Download the checkmol source code from here, the file checkmol.pas is a symbolic link to the latest source file, simply right-click to download the file to you chosen location.

To compile checkmol type the command below in a Terminal window. You will need to give the full path to checkmol or cd into the folder containing it.

This will give a file “checkmol.o” and a file “checkmol”

Now move the files to the desired position, I have all command line tools in /usr/local/bin

Then type

This is needed because checkmol and matchmol are the same executable, but the program behaves differently depending on the name it was invoked with. 

If you now type

Last updated 8 March 2025..

Related Posts