"obgrep" - Search Molecules using SMARTS

This section provides a quick introduction on the 'obgrep' command provided in Open Babel package to search molecules using SMARTS.

What Is "obgrep" command? - "obgrep" command is a command line tool provided in the Open Babel package that allows you to Search Molecules using SMARTS strings. "obgrep" command does the same job as the "obabel ... -s ..." with more options.

Here is the user manual of the "obgrep" command.

NAME
     obgrep -- an advanced molecular search program using SMARTS

SYNOPSIS
     obgrep [OPTIONS] 'SMARTS-pattern' filename

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

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

     -c    Print the number of matches

     -f    Full match, print matching-molecules only when the number of heavy 
            atoms is also equal to the number of atoms in the SMARTS pattern

     -i format
           Specifies input and output format, see babel(1) for available formats

     -n    Only print the name of the molecules

     -t #  Print a molecule only if the pattern occurs # times inside the molecule

     -v    Invert the matching, print non-matching molecules

EXAMPLES
     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

Table of Contents

 About This Book

 SMILES (Simplified Molecular-Input Line-Entry System)

 Open Babel: The Open Source Chemistry Toolbox

 Using Open Babel Command: "obabel"

 Generating SVG Pictures with Open Babel

 Substructure Search with Open Babel

 Similarity Search with Open Babel

 Fingerprint Index for Fastsearch with Open Babel

 Stereochemistry with Open Babel

Command Line Tools Provided by Open Babel

 List of Open Babel Command Line Tools

 "obchiral" - Print Chirality Information

 "obconformer" - Generate Best Conformer

 "obenergy" - Calculate Molecule Energy

 "obfit" - Superimpose Two Molecules

 "obgen" - Generate Molecule 3D Structures

"obgrep" - Search Molecules using SMARTS

 "obminimize" - Optimize Geometry/Energy of Molecule

 "obprobe" - Create Electrostatic Probe Grid

 "obrotamer" - Generate Random Rotational Isomers

 "obrotate" - Rotate Dihedral Angles with SMARTS

 RDKit: Open-Source Cheminformatics Software

 rdkit.Chem.rdchem - The Core Module

 rdkit.Chem.rdmolfiles - Molecular File Module

 rdkit.Chem.rdDepictor - Compute 2D Coordinates

 rdkit.Chem.Draw - Handle Molecule Images

 Molecule Substructure Search with RDKit

 rdkit.Chem.rdmolops - Molecule Operations

 Daylight Fingerprint Generator in RDKit

 Morgan Fingerprint Generator in RDKit

 RDKit Performance on Substructure Search

 Introduction to Molecular Fingerprints

 OCSR (Optical Chemical Structure Recognition)

 AlphaFold - Protein Structure Prediction

 Resources and Tools

 Cheminformatics Related Terminologies

 References

 Full Version in PDF/EPUB