Scroll to navigation

obgrep(1) General Commands Manual (urm) obgrep(1)


obgrepan advanced molecular search program using SMARTS


obgrep [OPTIONS] 'SMARTS-pattern' filename


The obgrep tool can be used to search for molecules inside multi-molecule database files (e.g., SMILES, SDF, etc.) or across multiple files.


If only a filename is given, obgrep will attempt to guess the file type from the filename extension.

Print the number of matches
Full match, print matching-molecules only when the number of heavy atoms is also equal to the number of atoms in the SMARTS pattern
Specifies input and output format, see obabel(1) for available formats
Only print the name of the molecules
Print a molecule only if the pattern occurs # times inside the molecule
Invert the matching, print non-matching molecules


Note that in all examples, the SMARTS pattern is enclosed in single quotes '...' to ensure it is not changed by the shell.

Print all the molecules with a methylamine group:

obgrep 'CN' database.smi

Print all the molecules without a methylamine group:

obgrep -v 'CN' database.smi

Print the number of molecules without a methylamine group:

obgrep -v -c 'CN' database.smi

Print methylamine (if it exists in the file):

obgrep -f 'CN' database.smi

Print methylamine and/or methanol (if they exist):

obgrep -f 'C[N,O]' database.smi
Print all molecules with aromatic carbon in all SMILES files in the directory (i.e., *.smi)
obgrep 'c' *.smi


obabel(1), obfit(1), obrotate(1).

The web pages for Open Babel can be found at: <>

A guide for constructing SMARTS patterns can be found at: <>


The obgrep program was contributed by Fabien Fontaine

Open Babel is developed by a cast of many, including currrent maintainers Geoff Hutchison, Chris Morley, Michael Banck, and innumerable others who have contributed fixes and additions. For more contributors to Open Babel, see <>


Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
Some portions Copyright (C) 2001-2007 by Geoffrey R. Hutchison and other contributors.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

October 10, 2019 Open Babel 3.1