Are there any chemistry spreadsheet-like software that:

  • Generates 2D structure for the entered compounds (based on name or SMILES)
  • Easy to search and create customized reports (such as similarity search)

that preferably runs on linux and is not too expensive?

I'm aware of ICM Chemist and JChem for Office (Windows), and I'm wondering if there are any other alternatives available.

  • 1
    $\begingroup$ Spreadsheets are for calculations (you can describe functional relationship between cells etc). What kind of calculation / spreadsheet functions do you want to use? $\endgroup$
    – Greg
    Jul 12, 2016 at 4:15

2 Answers 2


I can't comment on spreadsheet-like tools.

But I'm frequently using Open Babel, which is free (as in free speech and free beer).

If you're not so much into using command-line tools or using programmes via their bindings to programming languages, a GUI for Open Babel is available too, but I've never used it.

Generates 2D structure for the entered compounds (based on name or SMILES)

Names might be tough in general, but SMILES (Simplified Molecular Input Line Entry System) can be processed with Open Babel when the identifier is read from a file. Output to large number of chemical formats and image formats is possible.

obabel -ismi stuff.smi -omol -O stuff.mol

would convert a SMILES string to a mol file.

Converting a collection of SMILES to MOL and writing them to a SDF file is not a big thing:

#!/usr/bin/env python

import os
import pybel

# dictionary of SMILES taken from chemspider.com
insecticides = {
    'parathion' : 'CCOP(=S)(OCC)OC1=CC=C(C=C1)[N+](=O)[O-]',
    'disulfaton' : 'CCOP(=S)(OCC)SCCSCC', 
    'permethrin' : 'C1(C(C1C(=O)OCC2=CC(=CC=C2)OC3=CC=CC=C3)C=C(Cl)Cl)C',
    'furathiocarb' : 'CCCCOC(=O)N(C)SN(C)C(=O)OC1=CC=CC2=C1OC(C2)(C)C',
    'methomyl' : 'CC(=NOC(=O)NC)SC'

# write dict items to multi-component SDF file
outdir = '/home/klaus/workspace/chemistry/stackexchange/similarity/'
outname = 'insecticides.sdf'
outpath = os.path.join(outdir, outname)
outfmt = 'sdf'
datafile = pybel.Outputfile(outfmt, outpath, overwrite = True)

for name, smiles in insecticides.iteritems():
    mol = pybel.readstring('smi', smiles)
    mol.title = name



Easy to search and create customized reports (such as similarity search)

For the substructure search, I used the Drug-likeness NCI subset from ligand.info. The unpacked SDF file (445.2 MB) has 193,323 entries on 14,757,262 lines (wc -l).

From the SDF file, I first generated a binary fastsearch file using

obabel data.sdf -ofs -O data.fs

Searches are based on SMILES and SMARTS patterns.


I thought that 2-aminobenzothiazole might be an interesting fragment to search for and with a bit of fiddling, I wrote the suitable SMARTS pattern: c12ccccc1nc(N)s2

If in doubt about the correct representation, it is always a good idea to convert the pattern to an image file here: obabel -:"c12ccccc1nc(N)s2" -opng -O pattern.png.

The search was performed using:

obabel -ifs data.fs -s"c12ccccc1nc(N)s2" -osvg -O results.svg -xd -xc5 -xA -xC

and generated a SVG table with 233 entries.

  • $\begingroup$ Oooh, you've got my attention now. Can't wait to see the substructure analysis thing that you've got up your sleeve ;) $\endgroup$
    – tschoppi
    Apr 6, 2014 at 19:18
  • 1
    $\begingroup$ Thanks. I'm a fan of OpenBabel (and RDkit), but for this case I need to store (and easily-visualize) many types of chemical data, including structures. I'm kind of thinking to role out my own solution (RDKit + SQL database + web interface) but want to make sure I'm not reinventing the wheel. $\endgroup$
    – user31208
    Apr 6, 2014 at 21:02
  • $\begingroup$ You forgot a link. Check the SMARTS pattern where? $\endgroup$
    – LDC3
    Apr 8, 2014 at 13:19
  • $\begingroup$ @LDC3 No, I didn't ;) But I added the obabel command to generate a PNG from the pattern. $\endgroup$ Apr 8, 2014 at 14:09

I use ACD/Labs Chemsketch in Windows. There is a version that runs on Linux.

Linux users can download a compatible version of ACD/ChemSketch Freeware that can be run with Code Weavers' CrossOver Office.


  • 2
    $\begingroup$ Isn't Chemsketch mainly a drawing program rather than a spreadsheet/database program? $\endgroup$
    – user31208
    Apr 6, 2014 at 21:03
  • $\begingroup$ After looking at JChem and ICM Chemist, I agree ChemSketch does not provide the same functionality that the others do. I do know that it can create structures from SMILES and can name the structures. I'm not certain how well it translates to common names. It will use 2-methyl-2-propanol instead of t-butanol. $\endgroup$
    – LDC3
    Apr 6, 2014 at 21:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.