Changes in Find-a-Drug software 1.23c

This document was last updated on 10 March 2004 11:00 (GMT).


FaDSetup.exe combines tray.exe and isetup.exe. The command line options previously only found in the Linux version are now available under Windows and may be very useful for bulk installations. A number of bugs have been resolved mainly relating to tray.exe and the bitmap for the tray icon has been replaced. We plan to improve this icon prior to general release.

The new version of THINK under Windows 98/ME can be used as the screen-saver as well as either in Background or in a Window. When the screen-saver starts, THINK is started (if necessary) and the window made full screen and visible. If the users moves the mouse or uses the keyboard, THINK reverts to its default state (hidden or small window). The old mode of screen-saver only (using think.scr) continues to be available.

The member information is now duplicated in the registry so that in event of re-installation the old member details continue to be used. The Update button must be pressed on re-installation.

A new project category "Commercial" has been added. This will be used for queries for which there is a commercial partner at the outset. In other projects, the partner (if any) is academic although in some cases there will be commercial partners later.

If THINK is installed on a PC which does not have an Internet connection (with the expectation that jobs will be exported from another PC and imported on this PC), then the Offline option can be used in the advanced dialog. This corresponds to a Planned Connection setting of Offline which is used under Linux. A second new Planned Connection setting of None has been added which requires members to use Send and Recieve to download jobs and upload results (automatic download and upload is disabled).

Other changes include

THINK client

The Graphics have been improved to add a "depth-cueing" effect which results in the atoms and bonds which are nearest the observer being brighter than those further away.

When running in background no message windows are now displayed.

Some enhancements have been made to the scientific algorithms which mainly allow larger binding sites to be processed and details are outside the scope of this summary. In addition, the amount of memory used by THINK has been reduced and the speed has been increased by typically 10-20%.

All exceptions are now recorded in the *.tlg and no trace-back is displayed on the screen. (Previously this was only the case for floating point exceptions). The software automatically restarts under these circumstances.

Some security enhancements have been made and additional information is now included in the results files. Details of these changes will not be disclosed for obvious reasons.

Job queue server

The new server.exe includes the command line options previously only found in the Linux version of the server. The Linux version now includes export and import options and allows ranges of jobs to be specified. A number of smaller changes have been made including (a) checking the queue every minute in order to promptly assign jobs, upload and download jobs and (b) sending jobs on completion (providing the Planned Connection setting permits this). The job allocation has also been revised but this should be transparent to members.

When new jobs are downloaded, existing jobs are now automatically purged from the queue if they have not been started and already been returned by other members. (There is a configuration option to disable this behaviour).

Information about remote clients can be displayed in the server window using a right mouse click on the job. This includes the molecule file, the start time, number of jobs processed and client status (last error message).

Members using KDFold need to insert THINK_KDFOLD=YES in THINK.ENV as otherwise the *.tip and pcname.nnn files are not written. (These files were used by tray.exe but not FaDSetup.exe).

All exceptions are now recorded in server.log and no trace-back is displayed on the screen. No message windows are displayed when the queue window is invisible. Some small changes have been made to the output to server.log.

Incorrect edits to think.env no longer cause a problem because most of the information is taken directly from isetup.dat.

A number of more obscure bugs have been resolved including

Automatic Upgrade

This should proceed automatically. This is expected to take about 30 minutes. There is a delay to allow tray to stop. Unlike previous upgrades no dialog is displayed during the upgrade but information is recorded in loader.log

Currently outstanding on wish list

  1. Use of local copies of images in network installation. The use of local images is a pre-requisite for improved handling of network failures.

Resolved problems build 126

In Job Info window project can be Undefined
This will occur if the query was created prior to this feature being added to the development version (30-Sep-03).
Network upgrades are not working properly (Resolved in build 126)
This requires a fix to loader otherwise the new tray (FaDSetup) is not started on the remote clients. If after the upgrade completes you start it manually using
fadsetup -tray
or run loader, then everything should be back to normal.
Results files > 16K are not uploaded
We believe this was caused by a minor coding error.
Change to
The copy of downloaded changes a parameter which results in the software running slower than anticipated. A replacement will be included in 1.23c or can be downloaded manually (when THINK is NOT running) from

Resolved problems build 130

File > Purge is not described in the help text
The purge command removes queued jobs when other members have already returned that job. By default, this task is performed whenever jobs are downloaded. There is a configuration option to disable this feature.
Failed upgrades continue to fail
If the download fails before v123b.end is received an error is reported. However, the upgrade may partially proceed and if the new version of think is started, the remainder of the upgrade cannot complete ( is in use). This also applies to any attempt to upgrade to build 126 by deleting v123.end and pushing Receive in the Job Queue Server window.

Workaround: Exit THINK and push Receive in the Job Queue Server window.
Disable/Enable in Control Panel
Disable creates disable.dat but Enable does not delete it and restart think.
Methodology can be disabled
This was an undocumented change of behaviour which didn't work quite correctly. You can now opt out of Methodology but this is ignored if there are no jobs available for the projects in which you have elected to participate.
Increased Intranet traffic
We believe we have fixed this.
Units Exhausted
After uploading around 40 jobs, server stopped with a message to server.log "Units Exhausted".
OpenGL toggle in FaDsetup was not effective
After pushing the Update button, think.env is now updated. However, the default display style is line which means that it appears not to work. The View menu can be used to change the display style.
Enable in FaDsetup didn't work
This now deletes disable.dat. Do NOT use Enable when an upgrade is in progress.

Resolved problems build 132

Shortcuts to isetup.exe and tray.exe are not updated
The Start menu includes a Find-a-Drug submenu with an item to start the Find-a-Drug Control Panel. This is not updated by the upgrade to 1.23b to point to FaDsetup.exe. Some members use a shortcut to tray.exe to start THINK on remote PCs which is deleted during the upgrade. isetup.exe and tray.exe now re-instated and start FaDsetup.
On multi-processor PCs, the number of THINK processes started is incorrect
There is no problem on single processor PCs when the Find-a-Drug control panel setting for the number of copies of THINK is 'Auto'. The problem on multi-processor PCs is complicated to explain (but easy to fix). There are problems in loader:
(a) it ignores the system variable NUMBER_OF_PROCESSORS for all settings in the Find-a-Drug control panel
(b) for settings other than 'Auto', an additional copy of THINK is started giving the message (357) More copies of THINK running than THINK_PROCESSES or NUMBER_OF_PROCESSORS. FaDsetup starts the correct number of processes.
Sleep wakes up after 15 minutes
Oops! The Sleep toggle in the system tray icon appears to work except that THINK is woken after 15 minutes - like Snooze!
Server writes any startup message to Output window
A dialog popup is now used for such messages.
After Sleep/Snooze THINK restarts with the saved visibility
This has been changed to restore previous behaviour - the current visibility setting is used.
Loader gives no feedback
If the THINK or SERVER windows are visible (saved settings), then loader will display a message during the upgrade and for any errors. The minimum time for the upgrade has been increased to 5 minutes.
Multiple THINK windows do not stack
This was also true of 1.21 but has now been changed.
THINK gives no explanation when waiting
When THINK is waiting for the next job in addition to write messages in the logfile, when the bouncing mortar board is displayed, a new status message "Waiting for next job" is provided.

Resolved problems build 136

GHz selector was not used in FaDsetup
This has now been removed.
The SNOOZE time could not be configured
This was also true in 1.21 but has now been resolved.
Job Queue Server did not cycle through project
Prior to build 136, the Job Queue Server did not change which project it downloaded jobs from except when restarted. When downloads failed we believe this was also responsible for automatic uploads not occurring!

Resolved problems build 138

Linux server could not cope with >1000 jobs
We are sorry but members with more than 1000 jobs under Linux will find that server crashes. We have uploaded a patch to Build 136 from Build 138. Members who are affected need to download v123b.upd and Then

mv server
chmod 755 server

This cannot be automatic because server build 136 will not run!

Resolved problems build 139

Linux fadsetup not executable
The file access permission on fadsetup are not set automatically. Members need to issue

chmod 755 fadsetup

Error 10091 from loader and fadsetup
Starting loader or fadsetup remotely by

does not work. In both cases error message 10091 is reported without any descriptive text. Revised versions of loader and fadsetup have been uploaded.

Jobs not uploading automatically
When the Planned Connection was set to 12 hours or other timed interval jobs were not being uploaded automatically and jobs were added rather than downloaded if possible.

No points under Linux
This required a fix in think. Jobs which are completed after downloading this version will have points (jobs completed but not sent will continue not to have points - sorry).
Jobs over 16K not uploaded under Linux
This appears to be a problem in 1.23b under Linux which was not present in 1.21. We are investigating this further.

Resolved problems build 144

On re-starting a Job the start time is changed
This also occurred in 1.21l.
Restarting a completed job
After an error writing the completion status to the queue, a job fails on restart because the results file already exists. This also occurred in 1.21l.
Purge can lose queue updates
If while the queue is purged a client updates the job information, this information can be lost if the queue is shuffled to omit a purged job. This has no ill-effects unless the job has just completed when the job will re-start and fail.
fadsetup shows queue state incorrectly
The fadsetup General dialog is intended to display the current (if any) visible/hidden state for THINK and the Job Queue Server (as does the tool menu). This was changed in 1.23b. However, prior to build 144 the Server state was not always correct.
Find-a-Drug text window
Prior to Build 144, an Output window would appear when using fadsetup or server in command line mode. This has been renamed Find-a-Drug text window and no longer fills the entire screen. In addition, @ characters are correctly displayed.
Tray icon Exit causes crash
It was possible to crash THINK or Server by picking exit from the Tray icon menu and moving the mouse to display the tool tip prior to THINK or Server stopping.

Resolved problems build 145

Job Queue Server reports (10012) Header write failure
A fix to an obscure problem when THINK attempted to write to the queue while it was being purged was partly incorrect and had the consequence that downloading jobs after purge did not work.

Workaround: Turn purge off in the Find-a-Drug control panel.
Upgrade leaves think.exe
During an upgrade on especially busy PCs, THINK would not exit properly and remain in the task list but no window would be open nor CPU time used. We believe we have identified the problem and a workaround. The symptoms may still be observed in upgrades to Build 145 but should not occur subsequently.
Network read/write causing job to fail
When a network read/write error occurred, THINK would mark the job as failed and progress to the next job. This behaviour has been changed so that THINK will exit under these circumstances to be restarted later by FaDsetup which runs the tray icon. This can also affect upgrades. Missing files will continue to cause a job to fail.
Start/Re-start message in server.log was misleading
In some circumstances, the Starting job would be incorrectly replaced by Re-Starting job (and vice-versa). This has now been resolved which also means that the Start time in the Job Queue Server window is now set when a job is started and not subsequently changed if it is restarted.
THINK window status improvement
The status message on the THINK window would display "Waiting for next job" when there was no 3-D molecule to display in the current job. This has now been changed to "No molecule to show".

Resolved problems build 146

THINK output window
Certain errors including queue access failures, cause the full screen output window to appear and processing to pause.
In 1.21 it was possible to set THINK_PROCESSES as the number of copies of THINK to be run eg 2. This was not the case in 1.23b.
Upper case paths under Linux
Server would not run if the path included any uppercase letters.
server -receive n
Specifying the number of jobs being downloaded in command mode did not work in recent builds of 1.23b.
File corruption message
When the download of an upgrade failed, if server, think or fadsetup stopped they could not be restarted.
Removing multiple jobs
When several jobs are removed eg by purge from the middle of the queue, any client executing a more recently downloaded job fails to subsequently update the queue. Unless the client is stopped and restarted, the job is marked as a failure after completion.

Resolved problems build 147

Job Queue Server missing final job report
In recent builds (including 146), the final progress report is not sent to the Queue before the job is marked as complete.
Linux crash
On some PCs THINK would not run but crashed in custom. We believe this is now resolved.
fadsetup icon under ME/9x
The notify tray icon had a black background and the control panel display would fail with a message about the isetup icon. (The replacement icon may change again in the future).

Resolved problems build 149

Linux server command line mode
An incorrect fix to another problem, means that no error messages are output or download progress reported. This is also true of loader but not fadsetup.
Internet error during purge causes corruption
Failure to download the list of completed jobs during purge was not adequately coped with and resulted in the queue being locked against access by clients.

Resolved problems build 154

Linux server sometimes crashes in GETURL
This is a new problem in 1.23 which we are investigating. (It appears to be unrelated to a static link).
THINK did not exit screen saver mode properly
In some circumstances, although the window would close the screen saver continued to run according to task manager.
Timed connections affecting by timezone
The planned connection setting appears to depend on the timezone which should not be the case.
The tray icon popup does not close when some other window is clicked
There is now a Close menu item to do this (although it should close automatically).

Resolved problems build 156

Local override of THINK_PROCESSES
Prior to 1.23 it was possible to set THINK_PROCESSES as an environmental variable which took priority over the setting saved in think.env created by setting the Number of copies of THINK to a value other than Auto. This allows the number of copies started on nodes in a local network to differ from the number of processors. In 1.23c, an environment variable THINK_PROCESSORS can be used or think.env can be edited and computer_PROCESSORS=n can be inserted where computer is the node name for the computer and n is the number of copies for that node.

Revised in build 156.
The Job Queue Server sometimes adds the same job
Typically when the size of query.lis exceeds 1000 lines, the additional lines are ignored and this can result in the same job being added multiple times to the queue. This does not affect downloaded jobs.

Revised in build 156.
Job ranges in server command lines In 1.21 j1 was interpreted as j1* (where * is a wildcard character) and referred to jobs j10*.log, j11*.log etc as well as j1*.log. With build 156 j1 is interpreted as j1-* and ranges such as j16:j18 are processed as j16-* to j18-*. This avoids reference to a larger number of jobs than expected eg j10*.log, j11*.log etc.

Resolved problems build 157

server can give errors retrieving or adding to cache
The software retains a cache of molecules in the cache subfolder which avoids repeatedly downloading them and provides a source of jobs if it is not possible to download jobs. On occasions when a file is already present in the folder attempting to move the file gave an error.
Too few jobs downloaded
The number of jobs downloaded automatically was independent of the time interval to the next planned connection. This has now been increased so that a 7 day planned connection interval downloads up to 14 times as many jobs as a 12 hour planned connection setting. The 12 hour setting aims to queue the same number of jobs as copies of THINK on all computers used by that server.

Outstanding problems

fadsetup.scr can crash THINK
Under Windows XP when FaDsetup is configured as the screensaver, it often causes THINK to crash when it starts.