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

Q

How to perform exact match in fastsearch index file using a "babel" command?

✍: FYIcenter.com

A

If you want to perform an exact match search using the fastsearch index file, you can use the following "babel" command syntax:

babel -i fs index_file output_section -s query_file 

In the above command:

  • "-i fs index_file" - Specifies a fastsearch index file in "fs" format as the intput.
  • "output_section" - Specifies the output in a given format.
  • "-s query_file" - Specifies the query molecule in a file in any format.

The following "babel" command session shows you an example of performing an exact match search using the fastsearch index file.

fyicenter$ babel molecules.sdf -o fs molecules-index.fs 
This will prepare an index of molecules.sdf and may take some time...
It contains 409 molecules
 It took 0 seconds
409 molecules converted
37 audit log messages 

fyicenter$ babel molecules.sdf molecule-101.sdf -f 101 -l 101 
1 molecule converted
20 audit log messages 

fyicenter$ date
Mon May 25 14:48:56 CST 2020

fyicenter$ babel -i fs molecules-index.fs -o smiles -s molecule-101.sdf 
1 candidates from fingerprint search phase
OC1C2(C(C3C(C4(C(=CC(=NOCCN5CCCCC5)CC4)CC3)C)CC2)CC1)C  499637
1 molecule converted
76 audit log messages 

fyicenter$ date
Mon May 25 14:49:23 CST 2020

Note that the exact match search took 23 seconds time. That's very slow for a total of 409 molecules. It's probably faster to convert all molecules to SMILES string and compare them.

 

Other Open Babel Commands

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

Using Fastsearch Fingerprint Index

⇑⇑ Open Babel Tutorials

2020-05-25, 214👍, 0💬