"babel -i fs ... -s query_file" - Substructure Search

Q

Why am I getting no results with "babel -i fs ... -s query_file" command? It should perform a substructure search in a fastsearch index file.

✍: FYIcenter.com

A

According to the "babel -H fs" help document, you can perform a substructure search in a fastsearch index file with the query molecule stored in a file in any format.

However, Open Babel 2.3.1 seems to have an issue to support this. Here is an example session:

fyicenter$ babel -V
Open Babel 2.3.1 -- Oct 13 2011 -- 15:14:47

fyicenter$ babel -i fs molecules-index.fs -o smiles result.smi -s 'c1ccccc1' 
210 candidates from fingerprint search phase
208 molecules converted
7241 audit log messages

fyicenter$ ls -l result.smi 
-rw-r--r--  1 fyicenter  staff  13889 May 25 14:18 result.smi

fyicenter$ babel -i fs molecules-index.fs -o smiles result.smi -s benzene.sdf 
210 candidates from fingerprint search phase
0 molecules converted
3836 audit log messages 

fyicenter$ ls -l result.smi 
-rw-r--r--  1 fyicenter  staff  0 May 25 14:17 result.smi

As you can see, if the query molecule, benzene ring, is specified in a SMILES string in the command line, "babel" found 210 candidates in the first step, and confirmed/converted 208 molecules as the substructure match result.

However, if the query molecule, benzene ring, is specified in in a SDF file, "babel" found 210 candidates in the first step, and failed to confirm/convert any molecules as the substructure match result.

This is a bug in Open Babel 2.3.1. There is no problem, if you are using Open Babel 2.4.1.

 

"babel -i fs ... -s query_file" - Exact Match Search

"babel -i fs ... -s SMILES" - Substructure Search with Index

Using Fastsearch Fingerprint Index

⇑⇑ Open Babel Tutorials

2020-05-25, 156👍, 0💬