"obgrep" - Search Molecules using SMARTS

Q

What Is "obgrep" command? How to use it to Search Molecules using SMARTS strings?

✍: FYIcenter.com

A

"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 "babel ... -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

 

"obminimize" - Optimize Geometry/Energy of Molecule

"obgen" - Generate Molecule 3D Structures

Other Open Babel Commands

⇑⇑ Open Babel Tutorials

2020-11-11, 175👍, 0💬