Daylight Software Version 4.93 Release Notes
============================ CONTENTS ============================
1. INTRODUCTION AND HIGHLIGHTS OF RELEASE 4.93
3. DETAILS OF CHANGES MADE IN RELEASE 4.93
5. BUGS FIXED FOR VERSION 4.93
========= 1. INTRODUCTION AND HIGHLIGHTS OF RELEASE 4.93 =========
DAYLIGHT CIS SOFTWARE, VERSION 4.93
This document describes changes and features specific to
version 4.93 of Daylight Chemical Information Systems
software. If there is a machine-specific file for your
machine in this directory (e.g. "readme-v493-sgi"),
please read it too.
Version 4.93 includes new Daycart features, new conversion
tools, new web services, Java and C++ wrappers for the toolkits,
toolkit fixes and enhancements.
Installation and configuration instructions can be found
in the file dayhtml/doc/install/index.html.
========================== 2. LICENSING ==========================
Usage and Evaluation Licenses
The usage license for the Daylight software is accessible at
This license is also included with the software. For any further
clarification, contact our business office at 949-831-9990.
====================== 3. DETAILS OF CHANGES =====================
Supported Platforms: Solaris, IRIX, Linux, Windows
Version 4.93 is supported on: SPARC Solaris 7 and
higher (32- and 64-bit), X84_64 Solaris 10, SGI MIPS/IRIX
6.5 and higher (32- and 64-bit), x86 Linux RHEL2.1,
RHEL3, and RHEL4. AMD64 Linux RHEL3, and RHEL4, x86 Windows
2000 Professional and higher.
Support for x86 and x86_64 Solaris is new. PowerPC-based
MacOS has been dropped from this release.
Release 4.93 does not include static libraries for
toolkit programmers. Because of the linking requirements
for incorporation of FLEXnet licensing features, only
shared object libraries are included.
See the Operating System specific readme for more details.
With this release, Daylight now offers a new product line
to facilitate the development of web applications. In
release 4.93, the following services are available for
installation under Apache tomcat-5.5:
canonicalizeSmiles (both molecules and reactions)
getProperties (traditional Daylight properties)
getDepiction (gif images from SMILES or TDT)
convertStructure (conversions to/from MDL and Daylight)
deriveScaffold (common substructure from a group of
deriveSDClusters (scaffold-directed clustering for
up to ~10,000 molecules)
Example SOAP clients and installation tests are provided.
Wrappers for Java and C++
With this release, Daylight now offers fully supported
wrappers for Java and C++. These wrappers cover all of the
functionality of the Smiles, Smarts, Reaction, Depiction,
and Fingerprint toolkits. See the release notes in the
separate wrapper distribution for details.
Daycart is supported on 9.0x (9i), 9.2x (9iR2),
10.1 (10g), and 10.2 (10gR2) under release 4.93.
Daycart now includes a general option handling mechanism.
The new table c$dcischem.options stores sets of option
name-value pairs which can be used. One can define default
options which get set for every new Daycart session and can
define alternate sets of options which can be invoked easily
as a group within a session. See the Daycart manual on
the ddpackage.fsetinfo() function for more details.
Significant improvements to the string-based lexical triage
algorithm have been performed. These result in improved
speed for contains() searches.
Daycart now takes advantage of multiple threads for the
contains() and matches() searches. The option 'thread_count'
controls the number of computational threads which are used
during searching. For searches which are CPU-bound
(long-running contains() and matches() queries) the performance
improvements are significant.
Daycart has a mechanism to return counts of results (both
actual and estimated counts) for ddblob-based index queries
more efficiently. This is especially helpful for queries which
return huge numbers of hits; this mechanism eliminates the
overhead of returning rowid number for every hit.
One can now get a count for ddblob index searches by calling
running a SQL query. After the query, the count is stored
in the count_value option and can be retrieved with:
ddpackage.finfo('count_value'). In the case of an estimated
count, Daycart checks approximately 1% of the rows and projects
a hit count. In the case of an actual count, Daycart performs
the full search to get the count. If the 'timeout_interrupt'
option is set, the full search will short-circuit after
the interrupt time and compute an estimate for the remaining
The base toolkits can now be used in multithreaded programs.
The Smiles, Smarts, Fingerprint, Reaction, Depict, and Progob
toolkits are all thread safe.
There are two main object models which one can use. First is
the global model, where all objects are visible to all threads.
In this case, there are several new functions (dt_mp_lock,
dt_mp_trylock(), and dt_mp_unlock()) which are used to coordinate
access to objects which are shared between threads.
The second model is the per-thread object model. In this case
objects are local to the thread in which they were created; no
sharing of objects is permitted. See the Toolkit Programmers
Guide for more information.
The toolkits include a new function dt_commonsubstruct(), which
will compute a path-based maximal substructure for a given set
of molecules or reactions.
There is a new agglomerative clustering program, sdcluster, which
clusters by maximizing the coverage of shared common substructures
across a set.
Conversion of MDL-formatted reaction transforms to SMIRKS
have been added. As with v4.92, conversions to Daylight TDT
and SQL loader formats maintain the original depiction
information. The conversion tools are available as command
line applications, as web services, and are embedded in
Daycart. A number of minor bug fixes and enhancements
have been added.
New ClogP Version
A new version of ClogP from Biobyte is included. The
Biobyte algorithm version is 5.1, and the database version
is #25. This version fixes several bugs in the computed
fragment code and adds new fragment values to the fragment
The smi2gif server application based on the HTTP Toolkit has
a new feature to highlight substructures if present. A new
option (highlight=some_smarts) will enable the highlighting
of one or all matches of the SMARTS against the input
molecule or reaction. All of the features of smi2gif are
also available from the web service (above).
The Daylight system now can make use of FLEXnet floating
licenses. FLEXnet license servers are supported on Solaris,
SGI IRIX, and Linux. Clients (i.e. floating Daylight
products) are supported on Windows, Solaris, SGI IRIX and
Linux. All Daylight toolkits, programs, and servers can
be licensed using floating licenses. Contact Daylight at
firstname.lastname@example.org for more information on availability
and pricing of floating licenses.
========================== 4. UPGRADING ===========================
The 4.93 release is a full distribution. It does not
depend on having a 4.91 release already installed and
can be installed in parallel with any previous releases.
The thor database format is identical between 4.7x, 4.8x
and 4.9x. No Thor database upgrade is require. One can
simply start using 4.9x thorserver, merlinserver and
applications against 4.7 and 4.8 database files.
An upgrade of Daycart from 4.92 to 4.93 only requires
replacing the 4.92 ddlib.so file with a new version.
An upgrade of Daycart from a version prior to 4.92
requires a full reinstallation. This entails dropping
all Daycart indexes, dropping the old Daycart packages,
installing the 4.93 Daycart packages, and recreating all
Daycart indexes. The documentation in
dayhtml/doc/sql/index.html describes this process in detail.
========================== 5. BUGS FIXED ==========================
> dt_smarts_opt() fixed for 64-bit libraries (#848).
> dt_alloc_vbind() allowed names which didn't follow the
documented naming criteria (#850).
> In cases where molfiles had stereo bonds set but are
not actually chiral the mol2smi program did not warn the user
that chirality is being ignored (#889).
> The program object toolkit would hang when one did not
user a delimiter for the communication (#952).
> Testlicense now gives diagnostics about non-printing
characters in a license (#954).
> dcgi_smi2jme would crash on Linux and SGI (#955).
> dt_atend(pathset...) returned TRUE in the wrong situation.
It is supposed to return TRUE only after dt_next() has returned
NULL_OB at least once (#956).
> jarpat crashed when the number of structures to be clustered
was less than the desired 'near' parameter (#957).
> For certain molecules with exocyclic double bonds to aromatic
rings, sd2smarts would erroneously assign single bonds within the
aromatic ring, eg. N=c1-ccncc-1 (#959).
> dt_dbo() did not return correct EZ-stereo for exo double bonds
to aromatic rings (#966).
> dt_dfnormdata() would not return the autogen tag for
a thor datatype (#967).
> Within Daycart, the euclid() operator was incorrectly
computing the value in the index search (#971).
> In Daycart, the extproc process would sometimes not die if
the client killed an index search (#973).
> For clogp, several classes of fragments with multiple tautomeric
forms were corrected; results are now consistant for both tautomeric
> Within Daycart, the tversky() index search incorrectly
screened certain classes of queries (alpha & beta parameters) (#984).
> Implemented requested option handling in Daycart (#988).
> For command line applications, the error messages on incorrect
options was misleading; added additional clarification for missing
option error messages (#990).
> The value of the output NN<> datatypes for the tanimoto
values was incorrect when the skip_input parameter was used (#993).