ChemSpotlight: Indexing Chemistry on your Mac
I recently released a new software project that grew out of a personal need. I have thousands of chemistry files on my computer and no good way to sift through them. The web may have sites like Chmoogle and great databases of chemical data out there.
It is easier to use Google to find something from one of a billion web sites than on your own disk.
I happen to use Mac OS X for my main computer, so I’ve been using it’s Spotlight system for searching desktop files. Honestly, it has benefits and drawbacks–but one big benefit is that it easily supports indexing new filetypes. I finally had a bit of free time to do some coding and whipped up ChemSpotlight which now indexes my chemistry files and adds some nice touches. For example, the Mac now shows molecular info:
It’s still very much an early-release product. I can do searches by chemical formula, which is nice, but I haven’t yet finished the pieces that allow me to sketch out a chemical structure for a search.
Comments? Suggestions? Please give it a spin.
11 Responses »
Mentioned Elsewhere
-
Trackback by chem-bla-ics — 1 year, 11 months ago.
Molecular indexing on the KDE and OS/X desktops…
Geoff Hutchinson should blogged about his OS/X ChemSpotLight, an indexing tool for chemistry documents. It’s like, but more advanced than, the kfile_chemical and Kat I have been working on (with others) for the KDE desktop (see earlier blog items)….
-
Trackback by frederik@wallner.nu — 1 year, 8 months ago.
SpotSmart - Substructure search on your Mac…
I have made a perl-script to enhance the excellent ChemSpotlight with substructure searching. The script in itself translates the output from mdfind into a valid smiles-file that could be searched using obgrep….
Comments
Subscribe to comments on this post via RSS or TrackBack
Joerg Kurt Wegner — 1 year, 11 months ago.
That’s just marvellous, do you know analog systems for Windows or Linux?
Joerg
Egon — 1 year, 11 months ago.
Joerg,
for the KDE desktop there is the combination of kfile_chemical and Kat. The first does extraction of meta data of chemical files (and integrates this into the desktop), while the second indexes this metadata.
Egon
Geoff — 1 year, 11 months ago.
Thanks for the compliment!
Egon Willighagen has been working with some others on a similar tool for KDE on Linux. Evidently, the kfile_chemical plugins function similarly to Spotlight — that is, they adds metadata to the file browser and this metadata is used for search via KAT desktop search. I expect something similar could also be coded using Windows Vista when that comes out.
As of yet, I don’t think kfilechemical is as comprehensive. ChemSpotlight is intended to add InChI and SMILES identifiers to all chemical files, allowing easy searching. Since the underlying Open Babel code is fast, it doesn’t take much time at all and the indexing occurs in the background. On the other hand, the kfilechemical tool currently uses some minimal parsers and doesn’t yet attempt to deduce bonding or compute SMILES or InChI strings.
I still expect we’ll swap features and ideas over time, since both systems are open.
Egon Willighagen — 1 year, 11 months ago.
Geoff,
you are right about ChemSpotlight being more comprehensive: kfile_chemical/Kat does not do things like InChI creation. See my comments at http://chem-bla-ics.blogspot.com/2006/05/molecular-indexing-on-kde-and-osx.html
Geoff — 1 year, 11 months ago.
It’s also worth mentioning that in some way, this is a personal response to questions of exponential data — how do you cope with exponential data? You begin to develop ways to index, search, and analyze large amounts of data. Some of that may be on the desktop or server (like ChemSpotlight) and some may involve developing small programs like ChemSpotlight that you can send out as “agents” to do your analysis remotely.
ncprius2 — 1 year, 9 months ago.
Dear Geoff,
In August 2006 I downloaded “ChemSpotlight 1.0.1″ with metapackage:
May 31 09:23:29 2006 ChemSpotlight.mpkg
Inside the mpkg are two packages:
(1.) The OpenBabel v 2.0.1 package:
May 18 21:58:05 2006 OpenBabel.pkg
(2.) The ChemSpotlight v1.0.1 package:
May 31 09:22:41 2006 ChemSpotlight.pkg
with posgtflight script: 66 Aug 6 15:34 postflight
Thank you for all the excelent work on ChemSpotlight as well as OpenBabel!
Below are a few suggestions, FWIW…
Since iBabel can use ChemSpotlight, maybe provide space at ibabel
SourceForge site so ChemSpotlight could be downloaded from Sourceforge?
http://sourceforge.net/project/showfiles.php?group_id=40728
So what we would have is ibabel is, among other things, a gui-tool that can perform open-babel tasks, and can also make use of ChemSpotlight.
In fact, ideally, instead of bundling an openbabel.pkg in the meta-package,
a simple script using curl or wget to get and install the newest openbabel
might be prefereed.
Three more detailed suggestions (A.) (B.) and (C.) are below.
(A.) I think the postflight script needs to be changed like so:
!/bin/sh
/usr/bin/mdimport -r /Library/ChemSpotlight.mdimporter
!/bin/sh
/usr/bin/mdimport -r /Library/SpotLight/ChemSpotlight.mdimporter
(May also need to ensure last line ends with a “NewLine”).
(B.) I would ask that the ChemSpotLight.pkg install into /Applications a “ChemSpotlight” folder containing the Readme.rtfd file along with the Extras and Samples folders. The postflight script could be added to Extras folder as reindex.command file.
(C.) Please make available for seperate download just the ChemSpotlight.pkg WITHOUT the OpenBabel (for those who already have OpenBabel).
I think folks are much more likely to pay attention and download an appropriate installer, rather than to rely on them remebering to choose “Custom” and uncheck OpenBabel.
Many end-users may not remember they have OpenBabel 2.0.2 or newer installed in /usr/local (such as the universal binary version 2.0.2). And they may not bother to view the excelent ReadMe telling themto choose “Custom” to uncheck OpenBabel. In such cases, the mpkg will overwrite the newer OpenBabel with it’s v2.0.1.
One way to prevent would be if the installer were smart enough to look in /Library/Receipts
for any of these 2:
” OpenBabel.pkg” (the receipt left by v2.0.2 pkg. NOTE: name starts with space ” “.)
“OpenBabel.pkg” (a receipt whose name does NOT start with a leading space ” “).
Anyone know the reason for the leading-space in the ” OpenBabel.pkg” name?
Also, it might make more sense for the OpenBabel.pkg to drop the man files in
/usr/local/share/man rather than /usr/local/man
Upon finding a receipt for a newer version, it should at least warn, right?
But I’m not sure that the installer can be relied upon to do this in all cases.
So, if installer cannot do dependency checks per above, there
may be a way for the installer of the mpkg to check if /usr/local/bin/babel exists.
And if it exists, see if the version is already newer than what is in .mpkg package.
/usr/local/bin/babel –version
No output file or format spec!
Open Babel 2.0.2 — Jun 5 2006 — 14:38:46
If newer, it would be nice to prevent overwriting of the newer openbabel with an older.
Geoff — 1 year, 9 months ago.
Thanks for your suggestions! As I commented in your separate e-mail message, I’m working on a new (v 1.1) release, and will try to fix some of these packaging/installation issues.
I’m glad to receive some positive feedback on this little project!
patrick fuller — 1 year, 7 months ago.
Perhaps it’s because I’m used to PCs, what ever the problem is I don’t know. All I know is that I’ve been failing to download Chemspotlight for days now. I download ChemSpotlight.zip, have a ChemSpotlight 1.1 folder icon appear, and next open it, then open the ChemSpotlight.mpkg and afew steps later I get the congradulatory message “You have successfully downloaded ChemSpotlight”
Yeah, and so?
Where?!? From my attempts to use the “sample files” it seems fairly obvious that where-ever ChemSpotlight has successfully downloaded itself, it’s not self-opening, and thus far I haven’t been able to find it either.
When I had Windows 98 I used to use PDB without any problem. Now that I’ve got a mac Intel, I’ve got the promise of being able to use more than a half dozen different types of chem banks, and the reality of nothing.
Sincerely frustrated;
Patrick Fuller
Geoff — 1 year, 7 months ago.
Patrick,
There’s no message that says “you have successfully downloaded” — perhaps you mean the message that comes up after installation which says “You have successfully installed ChemSpotlight.”
This tool works in the background. If you go to the File menu, then “File > Get Info” on a chemical file, there’s a section labeled “More Info” which should show bits like the snapshot above.
ChemSpotlight is not (yet) any sort of molecular viewer. It’s not a program, it’s a plugin to the Mac OS. It means you can click the little blue Spotlight menu in the top right corner and type in a chemical formula and have it find chemical files. It means that other programs can search molecular data.
If you want a free molecular viewer for Mac OS X, I highly suggest iMol, which is free and readily opens most formats like PDB, .mol2, .xyz, .mol…
Sorry if you misunderstood what ChemSpotlight does — any suggestion for how to change the webpage or documentation? At some point, it probably will have a viewer program too, but that wasn’t its original aim.