Thursday, April 30, 2015

ThumbFish Release 1.0 is out

Check out the new release on ThumbFish Project Page or GitHub repository.

A new version of ThumbFish is now available with some cool new features, bug fixes and component updates. I have added three new features viz Molecule Browser, Generate and QuickFix. I also updated the Indigo Chemistry Toolkit (the chemistry brain of ThumbFish) to the latest version and updated the Cairo graphics engine. Apart from the technical stuff, a new funnymols.sdf file has been added to the sample files. It contains molecules with funny names and interesting description and can be viewed using the Browse feature.

I am particularly proud of the “Molecule Browser” feature that works on multi-molecule files SDF, RDF, CML and SMI. It displays the molecule structure and related properties in a list and can handle files with large number of molecules (I tested with files having 10K+ records) by loading them in the background on a separate thread so a user can continue browsing while records are being loaded.


The other new features are Generate and QuickFix.
Generate can create a new molecule from SMILES or InChi string. The structure is rendered as user types the string and can be saved to file in a variety of formats.
QuickFix allows a user to apply some quick options such as fold/unfold hydrogens, Normalize, Aromatize etc to a structure. The modified structure can then be saved.


This new version contains an updated Indigo Toolkit. Previous versions of ThumbFish were using 1.11 which was released in mid-2013 so it was quite old. This new version uses the Indigo library built from latest code (April-2015) from Indigo’s GitHub repository so this will have a lot of bug fixes and improvements.

The graphics engine used by Indigo (Cairo) has also been updated to or I can say had to be updated due to a bug in the engine itself. The bug would crash the application if “render-hdc-offset” option is used in Indigo. This option allows us to draw at any point on a device and was required for the Browse feature to work because the Browse dialog needs to draw molecules at different places on the list. Cairo has been updated to version 1.14.2. The bug is here and the fix is here.

INCHIKEY is now enabled in both Copy menu and molecule properties in Preview window. In previous versions, INCHIKEY was disabled because it caused a crash but the problem was in the calling code. I was re-using the string returned by Indigo API which is not a good thing to do. So all good now with INCHIKEY.

Detailed warning messages has been DISABLED in this build because it is no longer a beta. Only WARNING, ERROR and CRITICAL messages will be logged to the log file. Please see the ThumbFish project page for log file location.

And finally I moved the project to Visual Studio 2013 Community Edition. Though I am not very impressed with this new version of VS because of broken Intellisense and unwanted (un-removable I say) plugins. I always prefer using the latest products so there it is. Hopefully MS will fix the problems in some future updates.

I haven’t checked-in the new static libraries for Indigo yet into GitHub. Sorry about that. I plan to do it soon along with other third-party include files.

I haven’t decided yet about the next version features but it will surely have the Search feature along with some improvements to the Browse feature. If you have any suggestions or comments or bugs then please do send them across to “abhimanyusirohi@gmail.com”. You can look at the product backlog.

See you soon with a new version…


Thursday, November 6, 2014

ThumbFish Beta (three)

​Glad to announce that ThumbFish Beta.3 is out. This new beta version comes with some new features and a lot of bug fixes. The new release in available on the product website.

Here is a list of some newly added features:
  1. Displaying Connection Table version on thumbnails for files with MOLFILE format such as mol, rxn, sdf and rdf.
  2. Displaying approx record count for multi-molecule files such as sdf, rdf, cml and smi (smi is now treated as multi-molecule file as it can contain multiple SMILES strings).
  3. A new property: Smallest Set of Smallest Rings (SSSR) is now available for structures.
  4. A new command "Extract Molecules" is now available in the Windows context-menu under ThumbFish. This new feature works only on multi-molecule files and can be used to extract molecules as separate files in a variety of formats. It also introduces a new kind of user interface named Statement User Interface.
  5. Chemical warnings for valence and ambigious hydrogen atoms are now displayed in the preview window. A new file ketcher.mol has been added to the sample files to see this feature in action. Note that the warning icon is only displayed when there are warnings available for selected structure.

The next beta will focus mainly on searching inside multi-molecule files. If you want to take a look at the Beta.4 features, here is the sprint on GitHub. Feel free to add any new features request or bugs to the list. 

Have a great day!!!

Sunday, November 2, 2014

Statement User Interface (SUI)

While working on the "Extract Molecules" feature for ThumbFish Beta.3, I experimented with a new kind of dialog based user interface. I named it "Statement User Interface" because it displays a statement to the user that describes the current operation. The statement is displayed in a dialog responsible for carrying out the operation. Certain parts of the statement are modifiable i.e. can be changed by the user. These modifiable parts decide how the operation is carried out. The benefits of using statement UI are:
  • It eliminates the use of having separate preferences for operations. 
  • Eliminates the use of popping validation messages because the statement describes what the operation is going or not going to do. 
  • Provides a single place to fine tune and execute an operation. 
For e.g. the following statement can describe an import operation (highlighted part is configurable):

Import {N|ALL} records from {C:\Documents\Somefile.mdb}. Duplicate records will be SKIPPED. Execution will STOP|CONTINUE if an invalid record is found. Records will be imported as TEXT|HTML.

The following screenshot is taken from ThumbFish "Extract Molecules" command and shows how the statement UI is implemented. There are five configurable parts in the statement.
  • extract-count and extract-filename-format expands the dialog and displays controls for additional input (as shown in the dialog).
  • extract-format and overwrite-skip option display a menu with available options because the choices are limited.
  • output-folder option opens a "folder select" dialog allowing the user to select the output directory where the extracted files will be placed.


The above dialog clearly states what the extract operation is going to do and what will happen in case the files already exist. More options can be added to the dialog based on the operation. The default and user selected values for these options can be saved and loaded from storage so that the dialog remembers the last selected values. A default button can also be provided to automatically the values to their default value.

Thursday, June 5, 2014

Neptune.Beta.2 released

Hi there!!

Its time to roll out another beta for ThumbFish. Initially we decided that BETA.2 will only have a few installation related bug fixes but we identified and fixed the two critical issues before time (Yay!!) so this beta now supports Windows 8.1 and 32-bit Windows as well. I say Windows 8.1 because version 8 had a problem that made IStream::Stat method to fail and Microsoft fixed it in 8.1 update. The renderer problem on 32-bit Windows has also been fixed. It was a silly method syntax thing that creeped in.

Download the latest setup from ThumbFish project page.

Here is a list of changes that we made for BETA.2:
  • Windows 8.1 is now supported (both 32 and 64-bit). If you have Windows 8 then please upgrade (FREE) to version 8.1 to install and use ThumbFish.
  • FIXED the renderer problem on 32-bit version of Windows that was preventing thumbnails and previews to be drawn. 32-bit installer is now available for download.
  • Removed installer's unwanted dependency on .NET Framework. None of the components in ThumbFish requires .NET Framework to be installed.
  • Detailed log enabled for ThumbFish components to identify problems on user machines.
  • Atom-Coloring disabled for thumbnails to speed up image generation. Atom-Coloring is available in previews.
  • Online docs updated with latest information.  The installer automatically opens the Getting Started section in default browser after completing installation.
Note that detailed log is ENABLED in this beta which means a lot of messages will be written to the log file. The log file can become very large quickly so it is suggested that you delete or empty the log file periodically when it becomes too large. Detailed log will enable us to quickly and easily identify problems on user systems when a log file is provided. Detailed logging will be DISABLED in the final version.

Happy ThumbFishing!!!

Tuesday, May 27, 2014

ThumbFish Neptune.Beta.1 is out

Hi All,

I am excited to roll out the first pre-release version of ThumbFish. ThumbFish is a set of shell extension handlers for Windows (Vista and above) that provides thumbnails, preview, search and other useful features for chemical structure files such as mdl-mol, rxn, sdf, rdf, and smiles. ThumbFish is available for both 32-bit and 64-bit Windows platforms. For more information, check out the ThumbFish Project Page.



ThumbFish
Note that Beta.1 is only available for 64-bit version of Windows Vista and 7 operating systems. There were some renderer related issues in 32-bit version but the good news is that the issues have been fixed and Beta.2 will support both 32 and 64-bit platforms. Windows 8 is currently NOT supported because of API compatibility problems which we hope to resolve soon. Beta.2 will be out in the next few days.

ThumbFish is open source and available on GitHub here. It uses the 'C' API of open source Indigo Organic Chemistry Toolkit for all its chemical functionality. 

I am sure people will find ThumbFish useful in their day-to-day working with chemical structures. I will be actively working on it and adding more useful features in coming days.