JChem History of Changes from version 1.0.4 to 6.3.4

    September 11th, 2014: JChem 6.3.4

    Marvin 6.3.4 is included

    No changes.

    August 4th, 2014: JChem 6.3.3

    Marvin 6.3.3 is included

    No changes.

    July 10th, 2014: JChem 6.3.2

    Marvin 6.3.2 is included

    No changes.

    June 10th, 2014: JChem 6.3.1

    Marvin 6.3.1 is included

    No changes.

    May 15th, 2014: JChem 6.3.0

    Marvin 6.3.0 is included

    New features and Improvements

    • JChem Base - DB functionalities

      • Drivers were refreshed for the following databases:

        • hsqldb 2.3.1 to 2.3.2

        • postgres 9.1.901 to 9.3.1101

        • db2 to

        • mssql (sqljdbc) 1.0 to 4.0

      • Command line tool 'jcman' can upgrade a single table.

    • Search Engine

      • Memory need of database searches was reduced.

      • Search exception is thrown from now on for

        • query properties on R-atoms and attachment points;

        • rb* query property in R-group definitions (it is supported only in the root of an R-group query).

      • Simpler display of group hits is used in jcsearch command line application.

    • Standardizer

      • New Standardizer action "Set Hydrogen Isotope Symbol" has been introduced that can set the atom symbol of hydrogen isotopes to D/T or 2H/3H.


    • JChem Cartridge

      • config-util list-dba-sqls threw exception before installation.
    • JChem Base - DB functionalities

      • Structures with superatom S-groups in mixtures or polymers could not be imported into Any table.
    • Search Engine

      • Hit filtering was not approriate in case of enumarable queries and order sensitive search.
    • R-group decomposition

      • R-group decomposition couldn't align some compounds (e.g., bridging definitions).
    • Standardizer

      • Several standardized molecules of "Clean 2D" with "Template based" option were not displayed properly in the Standardizer GUI.

      • "Strip Salts" action failed to produce correct output when multiple structures were specified in the input file.

      • When specifying input structures without coordinates (e.g. in a SMILES file), "Convert Double Bonds" action reported incorrectly: the user was informed about conversion of double bonds in molecules without double bonds.

      • The first letter of a typed word did not appear in the search box of the "Configure Actions" panel.


    • JChem Base

      • Deprecated fields in chemaxon.jchem.version.VersionInfo class: JCHEM_VERSION, JCHEM_MAJOR_VERSION, JCHEM_TABLE_VERSION, JCHEM_REVISION_NUMBER.
    • Removals from the public API

      • class removed

        • chemaxon.util.IntArray
      • methods removed

        • from chemaxon.sss.search.MolSearchOptions class: setMarkushArom(int), getMarkushArom()

        • from chemaxon.sss.search.MolSearch class: setStandardizer(chemaxon.reaction.Standardizer, boolean, boolean)

        • from chemaxon.jchem.db.Importer class: getDuplicateIDs(), getImportedIDs(), getFieldNames(), getFieldNames(InputStream, int)

        • from chemaxon.util.HitDisplayTool class: constructor HitDisplayTool(HitColoringAndAlignmentOptions, MolSearchOptions, chemaxon.reaction.Standardizer, Molecule)

        • from chemaxon.sss.search.JChemSearchOptions class: constructor JChemSearchOptions()

        • from chemaxon.sss.search.MolSearchOptions class: constructor MolSearchOptions()

        • from chemaxon.sss.search.SearchOptions class: constructor SearchOptions(), setSearchType(int)

        • from chemaxon.jchem.db.UpdateHandler class: setStandardizationEnabled(boolean)

        • from chemaxon.descriptors.DescriptorGenerator class: setStandardizer(chemaxon.reaction.Standardizer)

        • from chemaxon.sss.search.SearchHit class: constructor SearchHit(int[], int[][]), setSingleHit(int[]), setGroupHit(int[][])

        • from chemaxon.util.HitDisplayUtil class: color(Molecule, Molecule, int[], HitColoringAndAlignmentOptions)

      • static field removed

        • from chemaxon.sss.SearchConstants interface: MARKUSH_AROM_FINAL_CHECK, MARKUSH_AROM_NO_FINAL_CHECK, MARKUSH_AROM_OFF


    Full regeneration is needed in the case of specific tables to use JChem 6.3.0. Please, regenerate 'Any structures', 'Query structures', and 'Markush libraries' type JChem tables and indexes after upgrade. The new table version is 6300000.

    Known issue

    • Standardizer

      • Online help documentation link does not work on Linux OS.

    August 1st, 2014: JChem 6.2.4

    Marvin 6.2.4 is included

    No changes.

    May 9th, 2014: JChem 6.2.3

    Marvin 6.2.3 is included

    No changes.

    March 27th, 2014: JChem 6.2.2

    Marvin 6.2.2 is included


    • Search Engine

      • Structures with superatom S-groups in mixtures or polymers could not be imported into Any table.
    • R-group decomposition

      • Implicit hydrogen atoms were not identified as R-groups in some cases.

    February 14th, 2014: JChem 6.2.1

    Marvin 6.2.1 is included


    • Search Engine

      • Erroneous keto-enol tautomerization of the query structure caused hit loss during substructure search with tautomerSearch:y option in database.

      • Queries containing cyclic homologies could search endlessly on targets with spiro rings.

    January 30th, 2014: JChem 6.2.0

    Marvin 6.2.0 is included

    New features and Improvements

    • JChem Cartridge

      • Oracle 12c is supported from now on; install and upgrade issues with Oracle have been fixed.

      • Creation of public synonyms during installation is optional.

      • Specifying the JChem Cartridge server property "jcserver.maxmem" is no more mandatory; "jcserver.maxmem" can now be included in "ignore.properties.for." lists.

    • JChem Base - DB functionalities

      • Oracle JDBC driver upgraded to

      • DB2 driver was upgraded to db2jcc-

    • Search Engine

      • The use of nested defined R-group queries is also supported during R-group search.

      • In R-group query structures, the default value of occurrence condition has been changed from ">0" to "all".

      • Vague bond level values in SearchConstants were changed.

        • VAGUE_BOND_OFF: from 1 to 0

        • VAGUE_BOND_LEVEL1: from 0 to 1

    • Markush Search

      • Performance of Markush search has been substantially improved.

        • Memory requirements of Markush search (e.g., the size of structure cache) has become approximately 3 times smaller.

        • Search on Markush library tables has become 20-30 percent faster (independently of search options).

        • The default option for handling rings with ambiguous aromaticity in Markush structures has been changed from MATCH_AMBIG_IF_POSSIBLE to ALL_MATCH_AMBIG. In general, this change results in marginal differences in hit results, but makes the search significantly faster (3-5 times speed-up was measured).


    • JChem Cartridge

      • Config-util printed Java stack trace when used before JCC was installed.

      • Cost estimation didn't work when no search type was specified.

    • JChem Base - DB functionalities

      • StructureTableOptions.setMysqlTableType() threw IllegalArgumentException.

      • UpdateHandler.createTable() threw Exception on MS SQL Server if schema name was explicitly set in StructureTableOptions.

      • Regeneration or upgrade of Chemical Terms columns may have failed with database read error.

      • Corrupt Java annotations in IBM DB2 JDBC driver caused an irrelevant error message in Apache Tomcat logs.

      • Transaction was committed during UpdateHandler.execute() even when autoCommit was set to false.

    • Search Engine

      • Matching of homology groups in complex R-group queries having R-logic conditions was incorrect in particular cases.

      • rb* in R-group queries with R-logic and R-atoms with two attachment points did not work correctly.

      • s* property did not work correctly on ringSegment homology groups.

      • Search exception is thrown from now on for

        • R-group atoms with at least two connections and specific R-logic that allows optional occurrence;

        • homology groups in rings, except for ringsegment and atomic homologies;

        • a nested R-atom if it has restH condition and is connected to an attachment point;

        • undefined R-atoms connected to other R-atoms.

      • The hit could be missed in R-group search when the root contained homologies and R-logic was defined.

      • Complex R-group queries having R-atoms next to each other were not handled correctly during search.

      • Queries with ringsegment homology group and Any atoms did not find their hits in the case of database search.

      • Some properties of homology groups were not correctly handled in Query type tables.

      • Calling JChemSearch.setFilterIDList() with empty array switched off filtering.

      • Maximum result count option was not handled correctly in the case of similarity search in database using custom descriptor tables.

      • Certain recursive SMARTS expressions that have negative clauses and subexpressions containing "#1" were erroneuously matched to hydrogens (e.g. "[!$([#16])]").

      • In MCS search, "keep rings" option was not handled properly for fused rings in particular cases.

    • Standardizer

      • "Clean 2D" Standardizer action saves the coordinates of the template molecule in the configuration xml file.

      • "Strip Salts" Standardizer action recognizes and removes custom salts.

    • Screen

      • Screen3D Rank Mismatch type error is fixed.

      • Faulty ScreenMD command line example has been fixed.

    • Clustering

      • LibraryMCS filtering has been fixed.


    Known issues

    • Standardizer

      • "Mesomerize" Standardizer action included in the configuration may cause significant slow-down and generate duplicates in the output.


    Full table regeneration is needed to use JChem 6.2.0. Please, regenerate all JChem tables and indexes after upgrade. The new table version is 6200000.

    August 1st, 2014: JChem 6.1.9

    Marvin 6.1.9 is included

    No changes.

    April 7th, 2014: JChem 6.1.8

    Marvin 6.1.8 is included


    • JChem Base - DB functionalities

      • Structures with superatom S-groups in mixtures or polymers could not be imported into Any table.

    January 24th, 2014: JChem 6.1.7

    Marvin 6.1.7 is included


    • Search Engine

      • NullPointerException was thrown in case of tautomer duplicate search in a database.

    January 20th, 2014: JChem 6.1.6

    Marvin 6.1.6 is included


    • Search Engine

      • ClassCastingException was thrown in case of reaction duplicate search in a database.

    December 18th, 2013: JChem 6.1.5

    Marvin 6.1.5 is included

    No changes.

    November 27th, 2013: JChem 6.1.4

    Marvin 6.1.4 is included


    • Standardizer

      • "Clean 2D" Standardizer action did not save the coordinates of the template molecule in the configuration xml file.

      • "Strip Salts" Standardizer action did not recognize and remove custom salts.

      • "Neutralize" Standardizer action produced valence error for tetra-substituated, negatively charged boron compounds.

    October 31st, 2013: JChem 6.1.3

    Marvin 6.1.3 is included

    New features and Improvements

    • Screen Suite

      • Public API documentation for MCS based 3D molecular alignment (MMPAlignment) has been added. The 3D structural overlay based on MCS called by Alignment(AlignmentProperties.GAUSS_FAST_EXTENDED_ATOMTYPE_MCS) falls back to MMPAlignment.

    October 17th, 2013: JChem 6.1.2

    Marvin 6.1.2 is included

    New features and Improvements

    • JChem Base - DB functionalities

      • Tautomer fragment hash column type has been changed from BLOB to VARCHAR.
    • Standardizer

      • XML action tags have been changed to CamelCase.


    • JChem Cartridge

      • Potential database session leaks were fixed for the following cases:

        • use of auto-calculated Chemical Terms columns;

        • use of jc_react;

        • when errors occurred during initial search (structure cache load).

      • Upgrade program failed while rebuilding indexes.

    • JChem Base - DB functionalities

      • Transaction was committed during UpdateHandler.execute even if autoCommit was set to false.

      • UpdateHandler inserted wrong values in CLOB columns in Oracle databases when value had less than 12 characters.

    • Search Engine

      • Erroneous import from .skc files containing structures with contracted groups (e.g., -CN) caused missing hits.

      • JChemSearch was slow when query was new Molecule() or null and hit molecules were retrieved by calling getHitsAsMolecules() method.

      • E/Z configuration of perspectively drawn cyclohexene was identified incorrectly.

    • LibMCS

    • Reactor

      • Reactor installed with Windows Installer (32 bit) did not generate output under certain conditions.


    Full table regeneration is needed to use JChem 6.1.2, please regenerate all JChem tables and indexes after upgrade. The new table version is 6120000.

    October 8th, 2013: JChem 6.1.1

    Marvin 6.1.1 is included

    Non-public release


    Full table regeneration is needed to use JChem 6.1.1, please regenerate all JChem tables and indexes after upgrade. The new table version is 6110000.

    September 11th, 2013: JChem 6.1.0

    Marvin 6.1.0 is included

    New features and Improvements

    • JChem Cartridge

      • Index parameter ("nfp") has been introduced to ignore and to log errors from index data generation during the existence of a JChem index (CREATE INDEX, ALTER INDEX, INSERT, UPDATE).

      • New jc_fuse function has been added to fuse molecules.

    • JChem Base - DB functionalities

      • Bundled Derby has been upgraded to version

      • New column, cd_taut_frag_hash, has been added to the database.

    • Search Engine

      • Performance of tautomer, full-fragment search in database was increased. Speedup is proportional to the number of tautomer enumerates of the query and in certain cases can mean a 1000x speed-up.
    • Standardizer

      • New editor of Standardizer action "Strip Salt" has been introduced.

      • Set Standardizer configuration can be copied to the clipboard as action string from Standardizer GUI and Standardizer Editor.

      • New options of Standardizer actions "Map" and "Map Reaction" have been introduced. Mapping style can be selected and changing bonds can be marked.

      • The default abbreviated group order has changed in case of action "Create group". Abbreviations of amino acids are listed in front of the other abbreviated groups.

    • JKlustor

      • New Clustering API for single level and hierarchical clustering.
    • Library MCS

      • Library MCS uses the newly developed MCS module. 'Keep rings' option is also improved.
    • Screen Suite

      • Screen and Descriptor API: documentation is improved. Example codes are provided.

      • Screen3D: The overlay result file name contains the query, target base name, method name, and a timestamp.


    • JChem Cartridge

      • Windows service didn't start with Java 7 after successful installation.

      • Exclusion for abbreviated group checking didn't work.

      • JC_TANIMOTO threw NPE in index scan mode when executed with NULL as query structure.

    • JChem Base - DB functionalities

      • JChem Manager and chemaxon.jchem.db.Importer failed to import date formats into PostgreSQL tables.

      • JChem Manager may have become unresponsive on import cancellation.

      • Exporter with setSelectStatement option threw Unexpected Error.

    • Search Engine

      • The working memory consumption of JChem search was unreasonably large, especially for large structure tables.

      • RgSearch threw ArrayIndexOutOfBoundsException in case of R-logic, RestH, homology.

      • RgSearch threw ArrayIndexOutOfBoundsException when R-group definition or root contained link node.

      • ArrayIndexOutOfBoundsException could have occurred when whole reactions were used as query structures during tautomer search in reaction tables.

      • ArrayIndexOutOfBoundsException could have occurred in superstructure search when hit coloring was applied with targets containing homology groups in R-group definitions.

      • Complex rgroup queries with homologies could fail to hit target.

      • Duplicate filtering could fail in case of structures with stereo information expressed with explicit hydrogen atoms in symmetric bridged systems.

      • searchOptions.setTimeoutLimitMilliseconds(-1) was not handled correctly when the query had to be enumerated.

      • Maximum result count option was not handled correctly in case of similarity search in database using custom descriptor tables.

    • Standardizer

      • Improvement in report generation: reporting of performed actions was incorrect in case of various actions.
    • Installation/deployment

      • Mac OS X installer images were not digitally signed and GateKeeper in newer OS X versions (10.7.5+) reported our installers as damaged and refused to install them.



    Full table regeneration is needed to use JChem 6.1, please regenerate all JChem tables and indexes after upgrade. The new table version is 6100000.

    December 20th, 2013: JChem 6.0.6

    Marvin 6.0.6 is included


    • Installation/deployment

      • Mac OS X installer images were not digitally signed and GateKeeper in newer OS X versions (10.7.5+) reported our installers as damaged and refused to install them.

    August 28th, 2013: JChem 6.0.5

    Marvin 6.0.5 is included


    • JChem Cartridge

      • Tautomer duplicate search - when executed in non-index-scan mode - ignored stereo information in tautomeric regions.
    • Search Engine

      • Vague bond levels were not handled correctly - resulting missing hits - during superstructure search in database.

    August 2nd, 2013: JChem 6.0.4

    Marvin 6.0.4 is included


    • JChem Base - DB functionalities

      • Exporter with setSelectStatement option threw Unexpected Error.
    • Search Engine

      • The working memory need of JChem database search was further reduced, meanwhile the speed of search was increased.

    July 23rd, 2013: JChem 6.0.3

    Marvin 6.0.3 is included


    • Search Engine

      • The working memory consumption of JChem search was unreasonably large, especially for large structure tables.

    June 25th, 2013: JChem 6.0.2

    Marvin 6.0.2 is included

    No changes.

    June 21st, 2013: JChem 6.0.1

    Marvin 6.0.1 is included

    New features and Improvements

    • JChem Cartridge

      • Faster rowid return in JChem Cartridge when handling large number of returned ids. It can reduce search time by about 25-30 percent in these cases.


    • Search Engine

      • Handling of filter queries, filter ID lists, and not lists was unreasonably slow.

      • MolSearchOptions.setChemTermsFilter(String) was ignored in search. Methods MolSearch.setFilter(String) and MolSearch.setFilterConfig(java.io.File) were removed. Use methods SearchOptions.setChemTermsFilter(String) and SearchOptions.setChemTermsFilterConfig(java.io.File) instead.

    • Standardizer

      • Standardizer reported the performed changes incorrectly for actions Remove Absolute Stereo, Remove Atom Values, Remove Attached Data, Remove solvents, Remove Stereo Care Box, Set Absolute Stereo and Unmap.
    • Licensing

      • Search threw LicenseException when database search was called from Sharepoint with "Sharepoint Search" license but without "JChem Base" or "MolSearch" license.

    May 17th, 2013: JChem 6.0.0

    Marvin 6.0.0 is included

    New features and Improvements

    • JChem Cartridge

      • New methods have been added to load, pin and drop cache directly from memory for an index.

      • Installer offers to recreate or empty the installation schema (depending on whether DBA privileges are available or not), in case the schema already exists and is not empty.

      • jcf.molconvert function makes it possible to set a new-line character for ending the string. The default behavior is no new-line character for smiles and smarts, and new-line character in case of other output formats.

      • Two-host installation has been simplified.

      • A command line tool has been provided for changing the JChem Cartridge server's network configuration.

    • JChem Base - DB functionalities

      • A new class, called CacheManager, is provided in the API to load / update cache w/o search and for other cache-related functions. API Documentation

        • isCacheLoaded and isCacheLoadStarted functions have been added to CacheManager.

        • New method has been added to CacheManager to directly drop cache from memory.

        • New functions have been added to CacheManager class to pin a cache into memory. The default pinning behavior can also be set.

    • Search Engine

      • From now on, tautomer full structure search in database considers tetrahedral and double bond stereochemistry in tautomer region as well.

      • Tautomer search option "tautomer search on with ignore stereo information in tautomer regions" is now available for full structure search in database, too.

      • Performance of tautomer, full structure search in database was increased. Speed-up is proportional to the number of tautomer enumerates of the query and in certain cases can mean a 1000x speed-up.

      • New Maximum Common Substructure (MCS) search engine has been released.

        • It features greatly improved algorithm, which usually gives better results in shorter time.

        • Multiple MCS search results are also supported now.

      • The command line MCS application uses the new MCS module, its options changed slightly.

      • Similarity search hit display and molecule alignment utilize the improvements of the new MCS algorithms.

      • Memory and database search uniformly handle empty structures in case of superstructure search. Empty target molecules are no longer retrieved as hits with non-empty query structure because they conventionally represent unknown compounds.

    • Markush Viewer

      • Preview of enumerates has been placed in the GUI.

      • Fragments tab of View panel has been reorganized.

    • JKlustor

      • Documentation was improved.
    • Screen Suite

      • Screen3D: MCS-based 3D alignment has been developed for MMP like molecule pairs.

      • Screen API: a self-describing, easy to integrate API was created with an example solution for graphical user interface.

      • Improved MCS algorithm is used in MCS type 3D alignments.

      • Documentation was improved.

    • Reactor

      • New option is introduced to mark the reaction center of the output reactions with "reacting center bond marks".
    • Standardizer

      • New Standardizer graphical user interface is introduced.

      • Adding custom abbreviated group definitions is available to be used in "Alias to Group" action. To provide custom abbreviated groups, users have to create a user.abbrevgroup file in the $HOME/chemaxon/ directory, and insert the selected abbreviation groups into it.

      • Custom/external Standardizer actions can be integrated into Standardizer via menu Preferences > Action Manager in Standardizer GUI.

      • Action "Map" and "Map Reaction" use the improved Automapper tool in case of reaction mapping.

      • New Standardizer actions:

        • Convert Pi-metal Bonds

        • Disconnect Metal Atoms

        • Replace Atoms

        • Strip Salts

    • Metabolizer

      New product for the enumeration of xenobiotic metabolites and for major metabolite prediction. Main features:

      • Metabolite enumeration engine with multi-core processor support.

      • Full Java API for integrators.

      • Graphical user interface for scientists with manual and automatic enumeration modes.

      • Command line tool for batch enumeration.

      • Built-in human phase I xenobiotic biotransformation library.

      • Custom metabolism with custom biotransformation libraries.

      • Likelihood prediction, MS mass calculation, production and accumulation indicator calculations.


    • JChem Cartridge

      • Upgrade may have failed with OutOfMemoryError during index data rebuild.
    • JChem Base - DB functionalities

      • JChemSearch failed with NullPointer exception when connection.autoCommit was set to false if the structure cache had not been registered yet. A runtime exception with a descriptive error message is thrown now instead.

      • Search in read-only HSQL databases failed with error.

      • Some molecules threw exception upon import into tables with "duplicate search uses tautomers" setting.

      • Markush structures containing double bonds in their R-group definitions could not be imported in "Any" type table.

      • "Table contains obsolete data" warning message was missing when the table should have been regenerated.

    • Search Engine

      • Structure with undefined R-atom having X-alias label was incorrectly recognized as Markush structure.

      • Chemical Terms filtering could not be used along with formula search in case of DB search with an empty query structure.

      • Search in tables with "duplicate search uses tautomers" setting could lose hit in case of duplicate search, if the molecule contained charge and charge ignore option was chosen.

    • Screen Suite

      • Screen3D: a bug related to the usage of option „conf” is fixed.
    • Standardizer

      • Mapping of reactions returned incorrect numbering.

      • Standardizer API got unresponsive when removing explicit hydrogens on some large molecules.


    • Search Engine

      • The following deprecated methods have been removed from MolSearchOptions and JChemSearchOptions classes: isPerfectSearchType(), isSubgraphSearch(), setSubgraphSearch(), isSuperstructureSearch(), setSuperstructureSearch(), isExactFragment(), setExactFragment(), isFullFragment(), setFullFragment(), isQHomologyHandling(), setQHomologyHandling().

      • SearchOptions.isTautomerDuplicateFiltering and SearchOptions.setTautomerDuplicateFiltering have been removed;

      • chemaxon.sss.search.MCES class has been deprecated, it is replaced by a new MCS search engine.

    • Standardizer

      • Deprecated Standardizer action: Convert Wedge Interpretation;

      • Deprecated Standardizer actionstrings: keepone, removal.


    Full table regeneration is needed to use JChem 6.0, please regenerate all JChem tables and indexes after upgrade. The new table version is 6000000.

    October 31st, 2013: JChem 5.12.6

    Marvin 5.12.6 is included

    No changes.

    June 21st, 2013: JChem 5.12.5

    Marvin 5.12.5 is included

    New features and Improvements

    • JChem Cartridge

      • Faster rowid return in JChem Cartridge when handling large number of returned ids. It can reduce search time by about 25-30 percent in these cases.


    • Search Engine

      • Handling of filter queries, filter ID lists, and not lists was unreasonably slow.

    May 6th, 2013: JChem 5.12.4

    Marvin 5.12.4 is included

    No changes.

    April 9th, 2013: JChem 5.12.3

    Marvin 5.12.3 is included


    • Installation/deployment

      • JChem Manager could not be started on Linux from command line.

    March 29th, 2013: JChem 5.12.2

    Marvin 5.12.2 is included


    • JChem Cartridge

      • select * from table(jcf.t_get_taskinfo()); didn't return before current searches finished.
    • JChem Base - DB functionalities

      • StackOverFlowError was generated during import into tables with 'duplicate search uses tautomers' setting or in duplicate tautomer search for some rare ring systems.

      • Some molecules threw exception upon import into tables with 'duplicate search uses tautomers' setting, and these molecules were not imported.

    March 20th, 2013: JChem 5.12.1

    Marvin 5.12.1 is included


    • JChem Cartridge

      • Index data on CLOB structure columns:

        • Creating JChem index on CLOB structure columns used significant amount of temporary tablespace that was not released when index building was completed.

        • Index data on regular CLOB structure columns took up unnecessary amount of disk space.

    • Search Engine

      • Setting 'Duplicate search uses tautomers' table option resulted in tautomer search regardless of search type intended by the user. This gave false search result and caused significant slowdown.

      • Searches failed with StackOverflowError when query structure contained bond query property.

      • Searching queries containing homology groups and D<n> or s<n> properties threw exception if the target contained explicit hydrogens.

    • JChem Base - DB functionalities

      • Importing into CLOB columns used significant amount of temporary tablespace on Oracle database.
    • JKlustor

      • JKlustor example command line was incorrect. The correct option is "-c" instead of "-clus".
    • LibMCS

      • "Save Graph" and "Open Graph" options did not work.
    • Screen

      • Molecular descriptor logD calculator gave different values compared to calculator plugin logD calculator. Both tools give the same numerical logD values now.

      • Some screen example scripts were erroneous.

    March 5th, 2013: JChem 5.12.0

    Marvin 5.12.0 is included

    New features and Improvements

    • Search Engine

      • In case of tautomer search tetrahedral and double bond stereochemistry are considered in tautomer region (duplicate search in all cases; full structure and full fragment search in memory).

      • New tautomer search option "tautomer search on with ignore stereo information in tautomer regions" is introduced (duplicate search in all cases; full structure and full fragment search in memory).

      • Timeout step limit in Molsearch is now disabled by default.

      • API changes:

        • GenericTautomerProtectsChirality function has been deprecated, as a more advanced method is available.

        • The following methods have been deprecated in MolSearchOptions and JChemSearchOptions classes: isPerfectSearchType(), isSubgraphSearch(), isSuperstructureSearch(), isFullFragment(), setSubgraphSearch().

    • JChem Base - DB functionalities

      • Oracle JDBC driver upgraded to JDBC API version 6 (from version 5). The Oracle database version of the driver remains

      • Following the deprecation of chemaxon.reaction.Standardizer, public methods with the old Standardizer parameter have their correspondent new versions with new Standardizer parameter.

      • API changes:

        • UpdateHandler.setStandardizationEnabled(boolean) has been deprecated.

        • StructureTableOptions.tautomerSwitchOffAllProtections has been deprecated.

      • Memory need of structure cache has been increased: ca. 160 MB/1 million drug-like molecules.

    • Standardizer

      • Performance improvement: Tautomerization action will not apply Clean2D if the output result has no 2D coordinates.
    • Reaction Library

      • Reaction Library has been expanded with about 60 new reactions


    • JChem Cartridge

      • Location of the Marvin Services descriptor file was limited to ${user.home}/.chemaxon when Marvin Services were used with auto-calculated Chemical Terms columns.

      • Upgrade failed with ORA-22324: altered type has compilation errors on Oracle 10g.

      • Insertion of second NULL structure into duplicate filtered index failed with ORA-20103: Structure is a duplicate.

    • Search Engine

      • JChemSearch filterQuery was not considered if filter rejected all targets.

      • Query structures with radical query properties could result invalid hits containing invalid valence.

      • Duplicate search and searches with exact query atom matching could result invalid hits in case of ionic target molecules.

      • Slowdown of search was experienced when the query had rings containing polymer groups and polymer end group matching search option was switched off.

      • JChem search caches could become outdated in case of long-term DB searches.

      • Search hit coloring did not work with Standardizer action "Neutralize".

    • Markush Search

      • There was a bottleneck in Markush search in JChem Cartridge caused by storing error information of unsearchable records. Now unsearchable structures are reported and flagged during import, but not during search.
    • JChem Base - DB functionalities

      • Standardization of tables, created with JChem Manager, could change in some cases from custom standardized to default standardized.

      • Creation of JChemSearch result table failed with "DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, QLERRMC=NULL" on DB2

      • IgnoreCTExceptions search option did not work in DB search.

    • Reactor

      • Reaction example testing reported false error when "Properties" tab was active before testing in Reactor application.
    • Standardizer

      • Configuration XML file containing action "Create Group" with default abbreviated groups was not read correctly.

      • When a configuration contained action "Create Group", Standardizer applied actions both "Contract group" and "Clean 2D".

      • Deprecation note of the StandardizerException API DOC has been fixed.

    • Installation/deployment

      • Invalid paths remained in the path system environment variable after uninstall.

      • Marvin and JChem installers do not delete the contents of the destination directory any more, only notify the user that some files/folders may be overwritten during the installation process.

    • Licensing

      • Markush Enumeration Plugin license was required when database search used query structures with features to be enumerated.


    Full table regeneration is needed to use JChem 5.12, please regenerate all JChem tables and indexes after upgrade. The new table version is 5120000.

    January 14th, 2013: JChem 5.11.5

    Marvin 5.11.5 is included

    New features and Improvements

    • JChem Base - DB functionalities

      • Inserting and updating CLOB fields via UpdateHandler failed with Tomcat 6.x and 7.x in some cases.


    • JChem Web Services

      • SVG export did not work and resulted in NoClassDefFoundError.

    November 19th, 2012: JChem 5.11.4

    Marvin 5.11.4 is included


    • JChem Cartridge

      • JC_MOLWEIGHT failed with ORA-00932 on polymers with undefined repetition count.

      • Cost estimation did not work; the cost estimation calibrator failed with NoClassDefFoundError or other error message.

    • JChem Base - DB functionalities

      • There was an SQL connection leak during table upgrade.
    • Search Engine

      • Using R-group query containing R-logic threw ArrayIndexOutOfBoundsException.

      • ArrayIndexOutOfBoundsException was thrown by RepeatingUnitEnumerator in case of SRU polymers with position variation bonds within the repeating unit.

    • Reactor

      • The enumeration process hung when reaction scheme was defined with an R-group and set its occurrence to zero.

      • Reactor did not remove invalid atom and bond flags from products.

      • If Reactor was cancelled during running in "Manual product selection" mode, broken MRV output file was generated (file closing tag was missing).

    • Standardizer

      • Configuration XML file containing action "Create Group" with default abbreviated groups was not read correctly.

      • Action "Map" did not consider reactions; reaction files were mapped as multicomponent files.

    October 20th, 2012: JChem 5.11.3

    Marvin 5.11.3 is included


    • Licensing

      • "Add Explicit Hydrogens" and "Remove Explicit Hydrogens" Standardizer actions did not work without Standardizer license.

      • NMR predictor required "Geometry Plugin Group" license.

    October 12th, 2012: JChem 5.11.2

    Marvin 5.11.2 is included


    • JChem Base - DB functionalities

      • JChem tables using custom standardization created with previous JChem version could not be regenerated.

      • JChem Manager GUI: custom standardization XML was written into database without XML header.

      • jcman command line tool: database table creation with custom standardizer did not convert file references to inline structure strings.

      • Valence property of metal query atoms were lost in some cases.

    • Search Engine

      • Duplicate search did not run correctly in "Any" and "Molecule" type tables in case of polymer structures.

      • Chemical terms filtering resulted missing hits in similarity search.

      • Rgroup search with queries having exclusively unused Rgroup definitions retrieved the same hit infinite times.

    • Standardizer

      • Action "neutralize" did not remove implicit hydrogen from neutralized nitrogen when it was part of an aromatic ring.

      • Action "neutralize" did not keep zwitterionic form of quaternary ammonium compounds.

    September 26th, 2012: JChem 5.11.1

    Marvin 5.11.1 is included

    No changes.

    September 20th, 2012: JChem 5.11.0

    Marvin 5.11.0 is included

    New features and Improvements

    • JChem Cartridge

      • jc_equals and jc_contains operators are deprecated in favor of jc_compare with search parameters t:d and t:s, respectively.
    • JChem Base - DB functionalities

      • Bundled derby JDBC driver upgraded to

      • Bundled HSQL JDBC driver upgraded to 2.2.9. Version 1.8 of HSQLDB is not supported hereafter.

      • VMN import improvements:

        • VMNs of type "display" are now read.

        • VMN abbreviated group list has been extended: carbon chains up to 50 members have been added.

        • AV (abnormal valence) property is now stored in atom property and not set as atom valence. The VMN valence representation will be revised in a later version.

        • Deuterium and tritium count property is handled properly in VMN (added as D and T ligands for non-homology atoms). D and T are transposed during the import in comparison to the VMN, as this represents the correct information in the majority of the MMS database.

        • Correcting incorrect atom types in VMNs: C0 is transformed to CHK; C1 is transformed to C; homology groups in ring are transformed to XX

        • Attachment bond type is set to parent R-atom bond type if different.

        • VMN import option is available for switching off corrections.

    • Search Engine

      • New methods - FormulaSearch.isValidQuery and FormulaSearch.isValidTarget - can be used to validate formulas before use.

      • Performance improvement - For non-markush table types the standardized structure is stored in cxsmarts format if possible.

      • Valence property is now handled correctly in Markush searches.

    • Metabolizer preview

      • Metabolizer preview is available in the JChem Package. ChemAxon's first biotransformation library allows the enumeration of possible human xenobiotic phase I metabolites of the given substrates, and predicts the likelihood of formation and accumulation to identify major metabolites.
    • Reaction Library

      • Reaction Library has been expanded with the following reactions:

        • Reduction of esters to alcohols with LiAlH4

        • 1,2,4-Oxadiazole formation

        • Oxazole formation from beta-ketoester and amine

        • Reaction of iso(thio)cyanate with nucleophile to (thio)urea or (thio)carbamate

        • Vilsmeier aldehyde synthesis

        • Gattermann-Koch synthesis of aldehyde

        • Hydroformylation of alkenes to aldehydes

        • Reduction of esters to aldehydes with DIBAL-H

        • Phthalazinone formation from phthtalaldehyde acid and hydrazine

        • Oxazole formation from propargyl alcohol and amide

        • Pyrazine formation from 1,2-dione and 1,2-diamine

        • Pyrimidine formation from 1,3-diketone and guanidine

        • Pyridazine formation from alpha-aminoketones

    • Standardizer

      • The options of "Remove Explicit Hydrogen" action have been expanded with new hydrogen types.
    • Structure Checker

      • Structure Checker is going to be moved to the MarvinBeans package. Until it is done, the new Structure Checker GUI is available in both JChem and MarvinBeans packages as Structure Checker JChem and Structure Checker , respectively.

      • Substructure Checker feature is accessible only in Structure Checker JChem until the complete relocation of Structure Checker.

    • Documentation

      • New user guide has been created about similarity search.

      • User documentation of LibMCS has been updated and supplemented.


    • JChem Cartridge

      • jc_tanimoto failed with ORA-06502: character to number conversion error with some NLS settings.

      • jc_formula_eqb function threw ORA-29902: error in executing ODCIIndexStart() routine.

      • Stale connections were throwing error after Oracle restart (oracle.connection.cache.ValidateConnection property incorrectly set during installation).

    • JChem Base - DB functionalities

      • Structures with position variation bonds could not be inserted in tables of type "Any".
    • Search Engine

      • Change of the semantics of halt on error false: General search errors (query, search option dependent and license errors) are not only logged but stop the search process and the corresponding exceptions are thrown. chemaxon.util.search.SearchException and ChemaxonException are deleted.

      • Position variation bonds in "Any" tables threw exception.

      • DB search on markush table did not throw license exception if there was no license.

      • Alignment could not be turned on/off at similarity search in hit display mode.

      • Ordered filter queries were not handled correctly in case of similarity search in DB.

      • Filter ID not lists were not handled correctly in case of similarity search in DB.

      • Result ordering by molecule IDs did not work correctly in case of similarity search in databases.

      • JChemSearch.getHitsAsMolecules(...) could have missed the hit in case of superstructure search, explicit hydrogens on the target and "Any" or "Molecule" tables.

      • Errors occurred during similarity search in DB if filter lists were used and the non-hits were required.

      • Similarity search in database with empty query structure crashed.

      • Search results were incorrect if empty and non-empty queries were searched consecutively in DB (using the same JChemSearch object).

      • Stereo information was not properly saved in database for certain molecules.

      • Empty structures were not hits in superstructure DB search.


    Full table regeneration is needed to use JChem 5.11, please regenerate all JChem tables and indexes after upgrade. The new table version is 5110000.

    October 31st, 2012: JChem 5.10.5

    Marvin 5.10.5 is included

    No changes.

    September 7th, 2012: JChem 5.10.4

    Marvin 5.10.4 is included

    No changes.

    August 13th, 2012: JChem 5.10.3

    Marvin 5.10.3 is included

    New features and Improvements

    • JChem Base - DB functionalities

      • Inserting and updating lob fields via UpdateHandler failed with Tomcat 6.x and 7.x in some cases.

    July 27th, 2012: JChem 5.10.2

    Marvin 5.10.2 is included


    • Licensing

      • Markush DB import no longer requires Structure Checker license.

    July 6th, 2012: JChem 5.10.1

    Marvin 5.10.1 is included


    • Search Engine

      • R-group decomposition: generated R-group coordinates were wrong for "keep coordinates" option in case of Hydrogens originating from implicit H.

      • Reaction search required reactor license in some cases.

      • R-logic was not working correctly in all cases for database search. (Some non-default occurrence and restH settings.)

      • Formula search related to empty structures could give wrong results.

    • Screen

      • Dimension and atom coordinates in ECFP feature lookup were not inherited from the input molecule.
    • Reactor

      • NullPointerException was thrown by Reactor in some cases when the reaction scheme contained abbreviated groups.
    • Licensing

      • Standardizer license required Isomers plugin group license as well to perform "tautomerize" action.

    June 8th, 2012: JChem 5.10.0

    Marvin 5.10.0 is included

    New features and Improvements

    • Installation/deployment

      • Customize isotope and element data: If isotopes.zip or elements.zip are present on the user's machine in the chemaxon folder in user home, Marvin prefers it instead of default one.
    • JChem Cartridge

      • Readmol and writemol functions have been added to read and write molecules from/in files.

      • Index parameter is provided to store errors in a database table.

      • Oracle log entries are available on server side (no need for DBA).

      • Molecule converting function and parameter types have been extended: conversion between VARCHAR2/BLOB/CLOB types is possible in all directions. See more in the documentation about jc_molconvert, jc_molconvertv, jc_molconvertb and jc_molconvertc functions.

      • Connections opened from JCC server maintain the CLIENT_INFO, MODULE and ACTION columns in the V$SESSION data dictionary view.

      • The use of service names and full connection strings are allowed instead of only service ids during installation/upgrade.

      • Size of cd_smiles column in the index tables has been increased to 4000 characters.

      • haltOnError parameter has been added for jc_evaluate.

      • Global option for configuring Marvin Services to be accessed in jc_evaluate.

    • JChem Base - DB functionalities

      • API changes:

        • Deprecated constructor ConnectionHandler(Connection) has been removed from the public API.

        • The first parameter of FingerprintHandler.save() function has been changed from ConnectionHandler to DatabaseProperties; old function has been deprecated.

    • Search Engine

      • API changes:

        • RgDecompResults returns the Decomposition objects in RgDecompResults.getDecompositions().

        • RGroupDecomposition.setQuery(Molecule, int) has been deprecated. setQuery(Molecule) and getSearchOptions().setUndefinedRAtom(int) can now be called separately in the same way as in case of MolSearch.

    • Reaction Library has been expanded with the following reactions:

      • Sonogashira coupling;

      • Negishi coupling;

      • Suzuki coupling;

      • Friedlander quinoline synthesis;

      • Fischer indole synthesis;

      • Huisgen 1,5-disubstituted triazole synthesis;

      • Huisgen 1,4 disubstituted triazole synthesis;

      • Synthesis of spirochromanone;

      • Heck coupling;

      • Buchwals-Hartwig cross coupling;

      • 2+3 imidazole synthesis;

      • Williamson ether synthesis.

    • Standardizer

      • New Standardizer action : Create group. User defined abbreviated groups can be specified. The create group standardization process consists of three steps: substructure match, grouping, and contracting group.
    • Web Services

      • New examples are included for Python 3.x (with suds 0.4).
    • Documentation

      • User documentation of Hit display/coloring has been prepared.


    • JChem Cartridge

      • Inserting large structures into duplicate filtering index failed with ORA-04091.

      • jc_delete failed with IllegalStateException when the table was not JChem-indexed.

      • Highlight superstructure & similarity search failed without informative error message when rowid parameter is wrong.

      • jc_compare failed with "ORA-29532: [...] Exhausted Resultset" was in case of some queries, when the index was created with haltOnError=nf parameter.

      • Session longops showed only the first half of the index creation when creating index on Markush table.

      • Creating index with haltOnError=nf failed with error on Markush tables in some cases.

      • Some structures may have remained unindexed with duplicateFiltering=y and haltOnError=nf index parameters.

      • Installer and upgrader command line user interface may have been garbled (due to excessive delay in JChem Server start-up).

      • Misleading error message was appeared in the case of jc_evaluate errors in domain index scan mode.

      • Search had the potential to hang due to connection problems in JChem server.

      • CREATE INDEX failed with ORA-06502 ... character string buffer too small (other SQLs failing with error messages might be affected).

      • jc_react(4) didn't abort on some errors.

      • Creating and rebuilding Markush tables with haltOnError=nf option failed when there was an error during molecular descriptor creation. The information in v$session_longops table shows more precise values during these operations.

    • JChem Base - general

      • ArrayIndexOutOfBoundsException was thrown when filter ID list was set and query could be enumerated or had tautomers (in case of tautomer search).
    • Search Engine

      • Hits in ambiguous aromatic rings with adjacent R-groups were not found by aromatic queries.

      • Hit display and coloring of R-group queries in Markush search did not work correctly.

      • jcunique command line utility didn't work if the user didn't have a database connection.

      • Query structure having R-groups did not match its enumerate as target during database substructure search.

      • Structures with double bond stereochemistry difference due to explicit/implicit hydrogen representation could not be found in duplicate search.

      • Markush reduction incorrectly removed R-group definitions.

      • Full structure search error involving explicit and implicit hydrogens with exact radical matching.


    Full table regeneration is needed to use JChem 5.10, please regenerate all JChem tables and indexes after upgrade. The new table version is 5100000.

    May 4th, 2012: JChem 5.9.4

    Marvin 5.9.4 is included


    • JChem Base - DB functionalities

      • Cache load on Oracle threw "ORA-01795: maximum number of expressions in a list is 1000".

    April 20th, 2012: JChem 5.9.3

    Marvin 5.9.3 is included

    No changes.

    April 6th, 2012: JChem 5.9.2

    Marvin 5.9.2 is included

    New features and improvements

    • JChem Cartridge

      • "onError:halt/null/inputStructure" option specifies the behaviour when an error occurs:

        • by default ("halt") the jc_standardize call is aborted with an error message;

        • when "null" is specified, the call returns "null";

        • if "inputStructure" is specified, the call returns the input structure.

    June 5th, 2012: JChem 5.9.5 (patch release from 5.9.1)


    • JChem Base - DB functionalities

      • Cache load on Oracle threw "ORA-01795: maximum number of expressions in a list is 1000".

    March 22nd, 2012: JChem 5.9.1

    Marvin 5.9.1 is included

    New features and improvements

    • JChem Base - DB functionalities

      • Unique smiles export: Explicit hydrogens are not removed from exotic (or erroneous) atoms with valence error thus keeping the hydrogen count information, e.g., pentavalent boron or sulphur compounds.

      • CXSMILES import/export handles every special atom available in the Periodic System dialog window of MarvinSketch.


    • JChem Cartridge

      • JC_COMPARE failed in functional mode on CLOB structure column with "Option without value".
    • JChem Base - DB functionalities

      • Possible database lock on cache registration table has been avoided.
    • Standardizer

      • Standardizer.getAppliedTaskIDs() returned task IDs not applied on the structure.
    • JKlustor

      • File close bug fixed: when multiple files were written (using option "-o wrmols:...") too many open files may have caused an exception.

    March 2nd, 2012: JChem 5.9.0

    Marvin 5.9.0 is included

    New features and Improvements

    • JChem Cartridge

      • Function is implemented to check compliance of molecule with index "structureType".

      • JChem Cartridge Owner can view the license information via table function.

      • Creating index and rebuilding index can also be tracked via the v$session_longops table.

      • Provide SQL interface to administratively kill (runaway) searches.

    • JChem Base - jcman

      • New connection window has been developed for JChem Manager.
    • JChem Base - DB functionalities

      • JTF format now stores the structure in the original format with base64 encoding instead of always using mol; ExportFileHandler has been renamed to JTFExporter as it now only deals with the JTF format.
    • Search Engine

      • Speed up molecule tables for several query features (charge, isotope, radical, tautomer, atom list, (R) and (rb) query properties).
    • Standardizer

      • Tautomer generation for large molecules has become notably faster than in 5.8.x and earlier versions.
    • Reaction Library has been expanded with the following reactions:

      • Acylation of nucleophiles with carboxylic acids

      • Hell-Volhard-Zelinsky bromination

      • Reduction of oxocompounds with NaBH4

      • Hydrolysis of carboxylic acid halides and anhydrides

      • Acylation of nucleophiles with carboxylic acid anhydrides

      • 2+2*1+1 Imidazole synthesis

      • Hydrolysis of amides

      • Knorr pyrrole synthesis

      • 3+2 Dihydroimidazole thione synthesis

      • Transesterification reaction

      • 2+3 Imidazole synthesis

      • Cross-Claisen condensation

      • 3+2 Pyrazole synthesis

      • Hinsberg thiophene synthesis

      • Reduction of esters

      • Hantzsch pyrrole synthesis

      • 3+2 Furan synthesis

      • Pinner reaction

      • Reduction of nitriles

      • Paal-Knorr thiophene synthesis

      • Paal-Knorr pyrrole synthesis

      • 3+2 Pyrazole synthesis

      • Pictet-Spengler isoquinoline synthesis

      • Benzimidazole synthesis

      • 2,3-Dihydro-1H-benzimidazole synthesis

      • Benzothiazole synthesis

      • Benzoxazole synthesis from aldehyde

      • Hantzsch thiazole synthesis

      • Tetrazole synthesis

      • Huisgen triazole synthesis

      • 1,2,4-Triazole synthesis

      • Guareschy-Thorpe pyridone synthesis

      • Hantzsch pyridine synthesis


    • JChem Cartridge

      • jc_matchcount was not working correctly in domain index scan.

      • Cost estimation was not generated for searches in other users' schema.

    • WS-AJAX example

      • Removed an erroneous security warning message in Ajax Example.
    • JChem Base - general

      • VMN format sometimes was recognized as cdxml.
    • JChem Base - DB functionalities

      • Searches on HSQLDB database threw DatabaseSearchException: "ERROR: Table "TEST_TABLE" could not fit into structure cache (out of memory)."

      • Update log purge blocked other searches for long time.

    • Search Engine

      • Using implicitHMatching ignore option, special hydrogens are still taken into account. Special hydrogens are: 0 or multiple bonds, isotope, radical, or charge information.

      • Inserting polymers with H endgroups into tautomer duplicate filtered tables threw exception.

      • R-group decomposition refused targets with position variation bonds.

    • Reactor

      • Achiral reaction product "remembered" the stereo information of the reactant.

      • Pressing "Apply" button in reaction editor did not save the modification of the reaction.

    • Standardizer

      • Stereo information was lost after tautomerize action.
    • Structure Checker

      • Structure checker still had problem after all errors were cleaned in "Manual" or "Fix" mode.

    Known issue

    • Structure Checker

      • R-group Reference Error Checker cannot find circular and selfreferring R-atoms and R-groups.


    No table regeneration is needed to use JChem 5.9.

    New table version of "Markush library" and "Query structures" type tables, and tables with "Duplicate search uses tautomers" option is 5080000, while in case of other table types table version is 5070000. All the new tables get CT version 5070000 and MD version 5080100.

    February 20th, 2012: JChem 5.8.3

    Marvin 5.8.3 is included


    • Search Engine

      • ArrayIndexOutOfBoundsException during tautomer search was fixed.

    February 9th, 2012: JChem 5.8.2

    Marvin 5.8.2 is included

    No changes.

    January 30th, 2012: JChem 5.8.1

    Marvin 5.8.1 is included


    • JChem Base - general

      • Wedge bonds might have been flipped incorrectly during hit alignment.
    • JChemBase - DB functionalities

      • Searching with polymers or on polymers could cause ArrayIndexOutOfBoundsException before version 5.8.

      • Peptides from peptide sequence import did not match itself during duplicate search.

    • Search Engine

      • Some queries threw OutOfMemoryException in case of tautomer search.
    • Reactor

      • Setting the ratio of unimolecular reactions in the Reactor (GUI) application did not work.


    Table regeneration is needed to use JChem 5.8.1; please, regenerate 'Markush libraries' type JChem tables and indexes after upgrade.

    The new table version is 5080100.

    January 11th, 2012: JChem 5.8.0

    Marvin 5.8 is included

    New features and Improvements

    • JChem Cartridge

      • Selectivity and cost estimations are available for JC_TANIMOTO.

      • New option to defer error handling for index rebuild.

      • Indexing of structures with formula as long as 4000 characters (from the previous 100 characters) in regular structure tables is allowed.

      • Oracle client is no more required for installation/upgrade.

      • haltOnError option for jc_evaluate_x to return NULL on error.

      • haltOnError option for the MOLCONVERT function.

    • Search Engine

      • Markush descriptors are loaded into structure cache, resulting in better screening performance.

      • Fingerprint is used for Markush structures in case of homology translation off.

      • Search option for using SSSR or CSSR in SMARTS matching has been added.

      • Explicit hydrogen is now allowed to be used in structural key molecules.

    • Markush Viewer

      • R-group tree is colored if the displayed Markush structure is a colored searching result.

      • The loaded file opens with expanded R-group tree on the first level.

      • The Nesting View highlights the appropriate tree node.

    • Reaction Library has been expanded with the following reactions:

      • Fischer esterification;

      • Synthesis of acid chlorides;

      • Synthesis of acid bromides

      • Reduction of carboxylic acids to primary alcohols;

      • Synthesis of carboxylic acid anhydrides;

      • Alpha halogenation of carboxylic acids;

      • Synthesis of cyclic anhydrides;

      • Acylation of nucleophiles with acid chlorides;

      • Schotten-Baumann reaction;

      • N-acylation of azides.

    • Documentation

      • Documentation of JChem search options has been revised.


    • JChem Cartridge

      • Privilege re-grant was required after upgrade or (more rarely) after index rebuild.

      • Upgrader ignored user's instruction: not to recalculate CT columns.

      • jc_insert with the userDefColMap option aborted with error when SELECT was specified as target.

      • Non-ASCII character output of jc_molconvert was incorrectly encoded. (In particular conversion to SVG resulted in partial garbage.)

      • Similarity search returned inconsistent results with multiple query structures.

      • Searches with filterQuery aborted with ORA-20102 when executed in functional/filter mode.

      • Updates to duplicate-filtering index with same structure in different format may have failed.

      • Search with 't:d requireCommit:n' sometimes failed with "unknown option name: requirecommit".

      • Errors during JC_EVALUATE were identified with incorrect messages.

      • Inserting duplicate into CLOB/BLOB column of regular structure tables threw ORA-29532 instead of ORA-20103.

      • Adding Molecular Descriptors failed with NPE on NULL structures.

      • jc_compare('t:d requireCommit:n') didn't return some hits when the value of the earlyResults search option (100 by default) was less than the size of the total result sets.

      • ALTER INDEX REBUILD on compressed tables failed with ORA-39726.

      • jc_evaluate_x returned SMILES with "\n" appended.

      • Dependency on the JCC server's locale of country/language settings of database sessions removed.

    • JChem Base - DB functionalities

      • Missing tableType properties were added to the JChemProperties table during database upgrade process.
    • JChemBase - general

      • Call of JChemSearch.setFilterIDNotList() was effective only when setFilterIDList() was also set.
    • Search Engine

      • SMARTS search returned possible false hits if the query structure contained an atom that could be part of an aromatic ring and was connected to an aromatic ring by a single bond.

      • Fixed query pseudo atom matching to undefined R atoms in target.

      • Fixed similarity result coloring in case of exchanged atom orders.

      • Queries containing R-group definitions could miss hits when an R-group member's attachment points did not have the last atom index.

    • Markush Viewer

      • Ctrl + o didn't open Markush Viewer file chooser unless the file menu was clicked previously.

      • Fixed a file open error in Markush Viewer (JChem x64).

      • Repeating units were not visible in all views in Markush Viewer.

    • Fingerprints

      • Reaction fingerprint generation threw AIOOBE if the reactant was empty molecule.
    • Standardizer

      • Neutralize action: Hydrogen was not removed from aromatic nitrogen during neutralization.


    Table regeneration is needed to use JChem 5.8; please, regenerate 'Markush libraries', tables with 'Duplicate search uses tautomers' option and 'Query structures' type JChem tables and indexes after upgrade.

    The new table version is 5080000.

    October 17th, 2012: JChem 5.7.3

    Marvin 5.7.3 is included


    • Search Engine

      • Chemical terms filtering resulted missing hits in similarity search.

    January 25th, 2012: JChem 5.7.2

    Marvin 5.7.2 is included


    December 19th, 2011: JChem 5.7.1

    Marvin 5.7.1 is included

    No changes.

    November 10th, 2011: JChem 5.7.0

    Marvin 5.7.0 is included

    New features and Improvements

    • Search Engine

      • Faster searching of structures with explicit hydrogens on aromatic rings in case of default vague bond level.
    • Markush Search

      • R-group decomposition handles queries with both defined and undefined R-groups.

      • Markush Viewer: new display options of molecule properties and size customization are implemented.

    • NMR Predictor

      • The NMR predictor application is able to predict 1H and 13C NMR spectra for standard organic molecules containing the most frequent atoms (H, C, N, O, F, Cl, Br, I, P, S).
    • Reactor

      • Generates property field according to user defined pattern.
    • License

      • MCES license has been added to Structure Search, JChem Base, JChem Cartridge and Instant JChem.


    • JChemBase-DB functionalities

      • Filter query setting was not considered during FULL structure search of a molecule database table which might resulted in faulty hit values or exceptions being thrown.
    • JChem Base - jcman

      • Default fingerprint parameters were not set correctly (they did not depend on table type) when table was created using jcman command line tool.
    • JChem Base - general

      • NULLPointerException during search in Markush tables containing structures without Markush features has been fixed.
    • JChem Cartridge

      • jc_standardizer didn't remove hydrogen atoms with "removeexplicitH".
    • Markush Search

      • The number of timeouting searches has been reduced for complex queries in case of Markush search.
    • Standardizer

      • Reaction Editor threw ArrayIndexOutOfBoundsException in some cases when Standardization tab was clicked.

      • "Ungroup" action did not clean the molecule.


    Full table regeneration is needed to use JChem 5.7, please regenerate all JChem tables and indexes after upgrade.

    The new table version is 5070000.

    December 13th, 2011: JChem

    Marvin is included

    New features and improvement


    October 25th, 2011: JChem

    Marvin is included


    October 17th, 2011: JChem

    Marvin is included


    • JChemBase-DB functionalities

      • Fingerprint screening took excessively long for very large tables.

    October 5th, 2011: JChem

    Marvin is included


    • JChemBase - general

      • A chemaxon.license.LicenseException was thrown in case of some queries when a search was performed on a database table.

    September 27th, 2011: JChem

    Marvin is included


    • JChem Cartridge - documentation

      • Link to JDK has been corrected in the installation documentation of JChem Cartridge.

    September 7th, 2011: JChem 5.6.

    Marvin 5.6 is included

    New features and Improvements

    • Search Engine

      • Jcunique: the new command-line tool of chemical structure duplicate filtering handles multiple input.

      • Broad and narrow homology translations can be enabled and disabled. Both broad and narrow translations are disabled by default.

      • Added haltOnError option to JChemSearchOptions to stop search at any error. (This corresponds to JChem behaviour prior to 5.6.) The new default has changed for Markush tables: not to stop at errors, but continue search with processing further records.

      • Updated FormulaSearch method signatures and apidoc.

      • RGroupDecomposition: improved handling of substituted aromatic N:

        1. Automatic R-atom addition adds ligand to aromatic N;

        2. In case of automatic R-atom addition undefined R-atom matching option default value becomes group-H-empty.

      • Improved logging in JChemSearch.

    • Markush Search

      • Explicit H in query now matches to implicit H in Markush target.

      • Added support for atomic query properties: s, s<n>, D<n>, u, rb, rb<n>, R<n>, X<n>, H<n>.

      • Markush Viewer: new desktop application and GUI component to visualize Markush structures in organized ways.

      • Equal translation of homology groups now works.

      • Homology groups can match on homology groups that are a superset if broad translation is allowed, they can match on subset homology group if narrow translation is allowed.

      • Sped up JCB and Cartridge search utilizing Markush screen.

      • Sped up database search and import combinatorial Markush structures.

    • JChem Base-DB functionalities

      • Robust exception and error handling for DB import methods.
    • JChem Cartrigde

      • Support ValidateConnection Oracle connection cache property ("oracle.connection.cache.ValidateConnection=true" in jcart.properties)

      • Support for deferred error handling.

    • Documentation

      • Administration guide of JChemManager was updated.

      • Updated Markush search user documentation with the latest features.


    • Search Engine

      • Similarity searches with many hits sometimes failed with StackOverflowError (during the phase of hit sorting).
    • Markush Search

      • NULL cd_markush field values do not halt search.

      • DB import / table regeneration failed due to Supergraph generation failure in case when attachment is present in scaffold.

      • Improved VMN import error handling and reporting.

    • JCmem Base-DB functionalities

      • Tautomerization / tautomer duplicate search threw ArrayIndexOutOfBoundsException in some cases.

      • "jcman d" did not accept connection parameters on the command line.

      • HSQLDB V2.0 and above threw SQLSyntaxErrorException: "type not found or user lacks privilege: NULL" when creating JChemProperties table.

    • JChem Base-jcman

      • New option for delete rows from a structure table in the jcman command line. Sample call: jcman d molecules -where "CD_ID > 2 AND CD_ID < 5"
    • JChem Cartridge

      • Upgrade of JChem Base structure tables failed with license errors.

      • Similarity search with NULL query structure failed with ORA-29532 in non-domain-index scan mode.

      • Searches in JCB tables failed with intermittent "The url cannot be null" error.

      • Some index parameters supported only for regular structure tables (AUTOCALCCT et al., DUPLICATEFILTERING, TDF, EXCLUSIVEDF) were not rejected for JCB tables.

      • Structure search on non-markush structures in Markush indexes may have resulted in incorrect outcome (including mistakenly reported errors).

    • Metabolizer

      • Resize cursor image now appears on splitpane dividers on mouseover.
    • Reactor

      • Resize cursor image now appears on splitpane dividers on mouseover.
    • Standardizer

      • Resize cursor image now appears on splitpane dividers on mouseover.

      • Standardizer (GUI) application saves the excluded group list of "Contract group", "Expand group", and "Ungroup" actions.

    • Web Services

      • Fix ConnectionWS and JChemSearchWS documentation.

      • MolConvertWS SOAP documentation fixed.

    • Installation/deployment

      • JChem installer under OS X and under Linux did not launch automatically the Marvin Beans installer.
    • Documentation

      • Description of database formula search method added to JChem Developer's guide.

      • Updated JChem developer guide example source codes and references.


    Full table regeneration is needed to use JChem 5.6, please regenerate all JChem tables and indexes after upgrade.

    The new table version is 5060000.

    July 8th, 2011: JChem

    Marvin is included

    New features

    • Reactor

      • Reactor GUI now allows copying property fields from reactants to products.
    • Search Engine

      • Improved HitDisplayTool atom and bond coloring. Hit and no hit set identifiers are available through HitDisplayTool.


    • JChem Cartridge

      • PL/SQL procedure for turning off statement caching in JSPs:

      • Staging schema is emptied at the end of an upgrade performed without DBA credentials.

    • Markush search

      • jcsearch now supports hit display options: coloring of hits(--hitColoring), alignment of hits(--align:r/p), markushDisplayMode(--markushDisplayMode:o/r/rhg), removeUnusedDef(--removeUnusedDef).


    • JChem Cartridge

      • Adding new operator (with new supporting functions) failed during upgrade.

      • Inserting with duplicate filtering failed with ORA-06531 for empty structures in some cases.

      • Search operators in composite queries sometimes failed with "ORA-20102: Invalid search option: error: unknown option name: earlyresults"

    • Documentation

      • Fixed broken links in FAQ, API and Web Services documentation.
    • Installation/deployment

      • SubstructureChecker did not work.
    • JChem Base-DB functionalities

      • Fixed ArrayIndexOutOfBoundsException bug when Similarity Search is run with maxResults and non-hits options.

      • Fixed search to return correct similarity values for queries with non-hit and limited result count options.

      • Incorrect similarity values were given back when filterIDList or filterIDNotList was set.

      • Duplicate search failed to find large molecule with many ring systems.

    • Markush Search

      • NullPointerException in Markush search for certain queries fixed.

      • R-group query on Markush search: HitDisplayTool threw exception.

    • Similarity

      • Similarity scores returned by HitDisplayTool were incorrect.


    Full table regeneration is needed to use JChem 5.5.1, please regenerate all JChem tables and indexes after upgrade.

    The new table version is 5050100.

    May 12th, 2011: JChem

    Marvin is included


    • Structure Checker

      • SubstructureChecker did not work.

    May 3th, 2011: JChem 5.5

    Marvin 5.5 is included

    New features and Improvements

    • JChem Base

      • Possibility to change the table options with jcman command line tool.

      • Improved logging of structure cache events.

      • New constructor in ConnectionHandler; clarification of API doc of setConnection() and connectToDatabase() methods; new usage examples of class.

      • JChem table option to switch off all tautomer protection for tautomer tables.

      • New search option in MolSearch: During tautomer duplicate search all protections can be switched off (considers all theoretically possible tautomers).

      • Search type option has been moved to the constructor of MolSearchOptions and JChemSearchOptions.

      • Improved SearchOptions, MolSearchOptions and JChemSearchOptions apidoc.

      • Deprecated methods have been removed from MolSearchOptions and JChemSearchOptions classes.

      • JCSearch: Implemented multiple queries when searching in a database table with --and, --or and/or -n options. >

    • JChem Cartridge

      • The operators jc_containsb, jc_equalsb, jc_matchcountb, jc_tanimotob and jc_dissimilarityb will be deprecated in favor of their overloaded counterparts: jc_contains, jc_equals, jc_matchcount, jc_tanimoto and jc_dissimilarity.

      • Search type option value deprecations: "t" for similarity search is deprecated in favor of "i"; "r" for superstructure search is deprecated in favor of "u".

      • Index parameter to turn off all "protects" during generic tautomer creation.

      • Formula search function jcf.formula_search.

      • Option for forcing JCC server to open new database connections.

    • Search Engine

      • Sophisticated formula search is available.

      • Syn-anti stereo information is supported in searching. Allene and axial stereo support is available in memory search.

      • R-group search significant speed-up.

      • Improved hit highlighting of similarity search results.

      • HitDisplayTool rotates reaction components separately.

      • Comprehensive stereo model is the default for non-duplicate and non-markush searches.

      • Retrieval of R atom indexes in R-group search hits.

      • Searching with R-group queries now supports R-group IDs above 32.

      • Improved implicit H matching documentation.

      • Extended stereo model documentation.

    • Markush Search

      • Handling of large Markush structures in DB, search and enumeration. These large Markush structures typically contain a scaffold with 1-attachment R-atoms and thousands of small R-group definitions.

      • Markush search speed-up in DB. About 7x speed-up measured.

      • Simple R-group queries are supported in Markush Search.

      • Hetero ring homology groups accept any atom type except noble gases and alkali metals provided that the structure is suitable. Hetero ring nature should be fulfilled even if the query contains only carbon and any/query atoms.

      • Rgroups with hydrogen definitions are not required for full match.

    • Web Services Server

      • Create batchEvaluate() method in ChemicalTermsWS.

      • Eliminate superfluous evaluate() methods with specified output types in ChemicalTermsWS.

    • Standardizer

      • "Tautomerize" action creates chemically more reasonable tautomer. The created tautomer is not the canonical tautomer.

      • "Tautomerize" Standardizer action ungroups all S-groups.

      • New Standardizer action: remove stereo search markers from double bonds.

    • Reactor

      • Reactor GUI improvements:

        • Unsuccessful reactions can be generated;

        • Synthesis code can be generated;

        • Manual drawing of input reactants;

        • Manual selection of preferred regioisomeric products;

        • Imporved launch speed of Reactor GUI.

      • Reactor allows copying property fields from reactants to output products/reactions.

    • Screen

      • Feature look up in ECFP is available.

      • ECFC: Frequency count of features are supported in ECFP/FCFP.


    • JChem Base

      • Fixed exception during export of NULL CLOB field

      • Data upgrade (jcman u) failed to do some structural changes

      • Evaluation of command line parameters caused error by the jcman script on Solaris.

      • JChemSearch.getScreenedCount() returned incorrect number

      • Database search incorrectly returned all structures from the table when structural key/keys was/were defined and the query structure was the/a structural key.

      • JChemSeach.setFilterIDList() did not accept null as parameter.

    • JChem Cartridge

      • Some database objects supporting JChem indexes were not created in the table space specified for CREATE INDEX

      • Index creation with duplicateFiltering=y hung sporadically

    • Search Engine

      • Retrieval of R atom indexes in R-group search hits.

      • Fixed database searching in reaction agents.

      • Fixed searching molecules with attached data without an explicit query operator.

      • HitDisplayTool alignment fixed and improved execution speed.

      • Fixed exception in hit coloring and alignment during tautomer search.

      • Fixed R-group query search R-logic interpretation. Improved execution speed of R-group query searches.

      • HitDisplayTool similarity search uses same default setting as jcsearch command line tool.

    • Markush Search

      • Fixed exception during hit alignment of Markush structures.

      • Fixed hit alignment of Markush structures.

      • Searching queries with R0 and R property works correctly both for multiple attachment and multiple occurrence Rgroups.

      • Query-side user defined homologies required markush license

    • Standardizer

      • Parity and wedge information were not recalculated when isotope data changed

      • Standardizer did not standardize agent components in reactions

      • Standardizer removed stereo information in some cases if the input molecule was in mrv format.

    • Reactor

      • Casing and scrolling issues fixed in Reactor GUI

      • Fixed a group duplication issue in Standardizer Editor occurred in Reaction Editor


    Full table regeneration is needed to use JChem 5.5, please regenerate all JChem tables and indexes after upgrade.

    The new table version is 5050000.

    April 8th, 2011: JChem

    Marvin is included


    • JChem Cartridge

      • Structure caches were dropped in JChem Cartridge when a subsequent search started on another table.

    February 16th, 2011: JChem

    Marvin is included


    • JChem Base

      • Cache pool dropped structure table cache when a subsequent search - using a different JChem property table - started.

    February 9th, 2011: JChem 5.4.1

    Marvin 5.4.1 is included

    New features and Improvements

    • JChem Base

      • HitDisplayTool highlight improvements for R-groups. (R-group atoms and bonds are now always correctly coloured in Markush targets.)

      • HitDisplayTool on Markush targets: Added option to remove non-hit definitions from hits returned by HitDisplayTool.

      • Markush structure reduction aligns only the scaffold, R-group definitions remain intact.

      • Insert function of the db_search JSP example has been changed regarding to the duplicate filtering option changes in JChem 5.4

    • JChem Cartridge

      • Support custom JChem Cartridge owner configurations


    • JChem Base

      • Search didn't work correctly in case of ambiguous aromatic queries and basic aromatization specified by xml configuration

      • Search threw exception when searching with wiggly bonds in exact stereo search.

      • Search option for markush display mode was not considered when coloring and alignment were disabled in HitDisplayTool

      • Search threw an exception when findAll() was used with implicitHMatching options set to ignore

      • R0 SMARTS searching threw exception in certain cases involving implicit H.

      • x (ring bond number) query property threw exception in SMARTS.

      • A new MySql based 'out of memory' issue was documented in the JChem FAQ.

      • Documentation part about bundled JDBC drivers added.

      • Changed deprecated Mysql TYPE keyword to ENGINE in DDL statements

    • Markush Search

      • DYE homology atom threw exception during DB import, searching and enumeration.
    • JChem Cartridge

      • Installer failed to give an appropriate error message on Windows for incompatible Java versions.
    • Reactor

      • "Process unambiguous reactions only" setting did not work properly in Reactor.
    • Standardizer

      • "Set absolute stereo" standardizer action did not work correctly.
    • Evaluator

      • matchCount() function threw exception in some cases when it was called multiple times in sequence with equal query and target


    The tautomer duplicate tables have to be regenerated. The current table version is: 5040100

    April 7th, 2011: JChem


    • JChem Cartridge

      • Structure caches were dropped in JChem Cartridge when a new search started.


    The database version does not change, current table version is: 504000

    Dec 15th, 2010: JChem

    Marvin is included

    New features and Improvements

    • JChem Base

      • Tautomer duplicate search has been improved in tautomer duplicate tables and indexes: standardization is called before generic tautomer calculation and generic tautomer generation improved in marvin.
    • Metabolizer

      • Metabolizer has been renamed to Metabolizer Preview until its biotransformation library becomes available
    • Structure Checker

      • The APIdoc of the Structure Checker classes has been improved

      • Developers guide for Structure Checker has been added


    • Standardizer

      • Standardizer now works with old license format


    The tautomer duplicate tables has to be regenerated. The current table version is: 5040005

    November 24th, 2010: JChem 5.4.0

    Marvin 5.4.0 is included

    New features and Improvements

    • JChem Base

      • Search engine

        • Hit visualization method for similarity search results using MCS (maximum common substructure) coloring and optional display of query and similarity score.

        • Enantiomer stereo search option.

        • Double bond stereo is considered if one endpoint is an aromatic ring atom.

        • SearchHit object is used inside the search classes to alleviate group hit and single hit handling.

      • Database functionalities

        • Similarity search is now multi-threaded

        • Fingerprint screening and ABAS are now running in parallel to return first results faster.

        • Non-tautomer duplicate search is implemented on tautomer duplicate tables. Changed tautomer search option to 3-way option accordingly.

        • Duplicate filtering has been changed from a import option to a table option. This option must be set during the table creation.

        • Cache refresh speedup for Oracle: Several ids are included in one change log record.

        • Tables with the same name in different databases are supported in the structure cache.

        • New constants in DatabaseConstants class can be used for database connection.

      • Markush add-on:

        • Homology properties in searching and enumeration.

        • Cyclyl homology group (any ring) added.

        • Any group homology atom (alternatively XX) in ring represents a ring segment.

        • Markush DARC(VMN) structures are now stored in database in original binary format (instead of using MRV conversion).

        • Marking (tagging) Markush structure by multiple queries. (New java class: chemaxon.sss.search.MarkushTagger). To be used later in random enumeration biased towards exemplified structures.

        • Any homology group (XX) enumeration and search speedup due to less definitins used (but with same meaning): cyclyl, carbontree, metal and halogen groups.

        • Cyclic homology groups cannot have substituting alkyl chain.

        • Heterocyclic homology groups definition changed: they must have at least one carbon atom as well.

        • Some homology groups were renamed.

        • New native attachment point representation is used.

        • To reduce combinatorial explosion, for repeating units now maximum 10 cases are considered. Furthermore, moieties (brackets with no crossing bond) and multipliers ( brackets with one crossing bond) are ignored. (Repetition = 1 is assumed and brackets are removed during enumeration.)

      • jcsearch command-line

        • Added filterQuery option to jcsearch.
      • JChem Manager application

        • New duplicate filter option added to table creation and table options pane.

        • --nodup option was moved from import options to table creation options.

        • Inappropriate standardizer actions are excluded from jcman GUI.

    • JChem Cartridge

      • Allow the use of SELECT SQL statements to specify Standardizer configuration for indexes.

      • Allow specification of a new Standardizer configuration during index rebuild.

      • Index parameter to create MD with default settings.

      • Allow to ignore JChem Server properties for specific server.sh/server.bat commands.

      • API changes: The "tautomer" jc_compare option is deprecated in favor of the new "tautomerSearch" option. The following deprecated jc_compare options have been removed: exactRadicalMatchingOption, exactIsotopeMatchingOption, exactChargeMatchingOption.

      • Support in JChem Cartridge for Oracle 9.2 ceases with JChem 5.4. (Support in JChem Base for Oracle 9.2 is continued.)

      • The function jc_insert, the procedures jc_update and jc_delete have been deprecated in favor of their counterparts in jchem_table_pkg.

      • install-interact.sh and install-interact.bat have been deprecated in favor of install.sh and install.bat; upgrade-evol.sh and upgrade-evol.bat have been deprecated in favor of upgrade.sh and upgrade.bat

    • R-Group decomposition

      • More consistent R-tables in case of symmetrical scaffolds. This is achieved by ordering of hits, group hits are preferred over H and empty in order of R atoms. The new search option --hitOrdering:g can be used to order hits by R-atom matches. These are processed in the order of R-group numbers: 1. heavy group, 2. H atom, 3. empty group

      • New output option using the new explicit attachment point representation.

      • Deprecated methods from RGroupDecomposition are removed.

    • Web Service Integration

      • JChem manager functions are implemented in the WS and Ajax example.

      • Retreiving a molecule's additional data from related tables in RelSearchWS.

      • Exporting data from related tables in RelSearchWS.

      • Basic markush functionalities are implemented in the WS and Ajax example.

      • MolSearch functions are implemented in the WS.

      • Exported column headers are the same as shown in the search results.

      • Binary output formats in MarkushWS are supported.

    • Metabolizer

      • Metabolizer has been removed from the installer temporarily until its biotransformation library becomes available.
    • Standardizer

      • Predefined Mesomer Transform Actions in Standardizer Editor.

      • Predefined Solvent Removal Actions for Standardizer Editor.

      • Standardizer Transform Action options have been simplified.

      • Introducing categories and category based filtering in Standardizer Editor.

    • Reactor

      • New virtual reaction library in the "chemaxon_reactions.zip" file containing systematically listed and designed synthetic reactions.

      • Synthesis Code Generation in Reactor GUI.

      • Reaction functional group list extension.

      • Recently used files in Reactor Wizard.

      • Reaction example tester improvements.

      • Reaction functional group list extension.

      • Basic prochiral reaction support

      • Disable testing of individual examples in reaction example tester

      • Automated synthesis code generation in Reactor command line application with --generate-id command line option

    • Structure Checker Editor

      • Structure Checker Wizard and Structure Checker Editor applications.
    • Screen

      • Extended connectivity fingerprint (ECFP/FCFP)

      • Shape similarity and ligand based 3D screening

    • JKlustor

      • Diverse subset selection.


    • JChem Base

      • Chemical Terms and Molecular Descriptors version numbers were separated in the JChem Properties table.

      • During searching with cyclic homology groups on spiro rings, the connecting atom was missing from the hit.

      • Moieties (repeating units without crossing bonds - used to express stoichiometry ratios) are now ignored in Markush search

      • Fixed DB search bug of basic aromatization with vague bond level 1 at certain queries.

      • Fixed SearchOptions.setSearchOptions(String) dependence on order of options.

      • x in SMARTS expression threw exception.

      • R0 in SMARTS threw exception when H was involved.

      • Ambiguous H atoms in SMARTS are now handled correctly.

      • MSSQL threw exception when removing a custom column in JChem Manager GUI.

      • Reaction fingerprint generator did not handle correctly reactions containing S-groups

      • The speed of reaction fingerprint generation was improved

    • Web Service Integration

      • Replaced Windows service installer for JChem Web Services
    • JChem Cartridge

      • jc_tanimoto > Z returned hits with similarity values equal to Z.

      • CREATE INDEX with duplicate filtering hanged (on finding duplicates)

    • Screen

      • Inconsistency in default parameters of ChemicalFingerprint

      • No error message when descriptor type is missing in screenmd

    • Standardizer

      • Standardizer input panel preview crashed in case of unimportable files

      • Number of hydrogens was not updated during neutralization (neutralize action)

    • Reactor

      • Reverse reaction option in the Reactor GUI did not swapped reactant/product input controls

      • Fixed an issue caused properties lost in certain cases at Reaction Editor

      • Reactor generated empty product instead of [H] or [H+]

    • JKlustor

      • Inconsistency in Sphere Exclusion

    API changes

    • JChem Base:

      • Change in API of UpdateHandler class: if updates in a structure table were in transaction, chemaxon.jchem.db.UpdateHandler.saveUpdateLogs() must be called before committing or rollbacking transaction

      • New public class for marking (tagging) Markush structure by multiple queries.

      • Deprecated methods:

        • public boolean isStructureCaching() in the chemaxon.jchem.db.JChemSearch

        • public void setDuplicateFiltering(boolean filtering) in the chemaxon.jchem.db.UpdateHandler

        • public void setDuplicateImportAllowed(boolean b) in chemaxon.jchem.db.Importer

      • New methods:

        • public void setDuplicateImportAllowed(int i) in the chemaxon.jchem.db.Importer

        • public void setDuplicateFiltering(int i) in the chemaxon.jchem.db.UpdateHandler

        • public void setDuplicateFilteringOption(java.lang.String tableName, boolean value) in the chemaxon.jchem.db.DatabaseProperties

        • public boolean isDuplicateFilteringOption(String tableName) in the chemaxon.jchem.db.DatabaseProperties

        • SearchOptions.setHitOrdering(int value) in the chemaxon.util.SearchOptions


    Full table regeneration is needed to use JChem 5.4, please regenerate all JChem tables and indexes after upgrade.

    The new table version is 5040004.

    Sept 3th, 2010: JChem 5.3.8

    Marvin 5.3.8 is included


    • JChem Cartridge

      • Updating a null structure failed with NPE

      • The error "Stream has already been closed" occurred intermittently after MDRegenerator has been used


    The database version does not change, current table version is: 5030300

    Aug 13th, 2010: JChem 5.3.7

    Marvin 5.3.7 is included

    New Features and improvements

    • JChem Web Services

      • New dialog to set file permissions for the selected user.
    • JChem Cartridge

      • Allow specifying alternative screening configuration for molecular descriptors


    • JChem Base

      • Atom with s* property and atomlist neighbour had false hits.

      • Markush reduction to hit without homology expansion threw NPE if the target had converted homologies.

    • JChem Cartridge

      • Indexing required too much undo tablespace


    The database version does not change, current table version is: 5030300

    July 15th, 2010: JChem 5.3.6

    Marvin 5.3.6 is included

    New Features and improvements

    • JChem Base

      • Search option charge:i sets implicitHMatching:i only in case of duplicate search type.

      • Regenerate Molecular Descriptor tables at upgrade

      • New read-only database type is supported in the JChem: Composite

    • JChem Cartridge

      • JChem Server accepts JChem Cartridge connections at one single port

      • Ability to specify a different account for use_password

      • Allow calling use_password (set_password) only to selected Oracle users

      • Optionally require each request to JChem Server to provide a password when database access involved

      • Application specific PL/SQL exceptions (with possibly concise messages) are raised for frequent types of user input errors instead of letting Oracle throw ORA-29532.


    • JChem Base

      • JChemSearch.getHitsAsMolecules(idtlist, options, dataFieldNames, dataFieldValues) returned wrong hitlist if an invalid cd_id was in the idlist.

      • chemaxon.jchem.db.UpdateHandler.recalculateMDTables() threw NullPointerException if progress writer was null.

      • Substructure search with C86 fullerene freezed

    • JChem Cartridge

      • Double backslashes in jcart.properties were incorrectly copied during upgrade

      • Searches with result sets limited by rownum < ... failed when not each indexed structure could be expressed in CxSMILES

      • Only indexes are automatically upgraded during upgrade which require index data recalculation

      • Absolute path to license directory with trailing slash was not recognized as absolute during upgrade

    • JChem Web Services

      • Fix batch conversion of MRV files to Image files in Web Services

      • Using one unified and compressed all.js file in the Ajax example.

      • Using Cache-Control in the response HTTP headers of the Web Services Server.

      • JChemSearchWS - Binary formats are allowed in the getHitsAndData, any case formats are allowed in the exportResult


    The database version does not change, current table version is: 5030300

    June 24th, 2010: JChem 5.3.5

    Marvin 5.3.5 is included


    The database version does not change, current table version is: 5030300

    June 07th, 2010: JChem 5.3.4

    Marvin 5.3.4 is included

    New Features and improvements

    • JChem Base API

      • New public methods in CacheRegistrationUtil: getCacheID() and isPermanent()


    • JChem Base

      • CacheRegistrationUtil.registerPermanentCache(String) did not set cache ID permanently
    • Standardizer

      • Search options setting in Standardizer transform did not work correctly
    • Reactor

      • Reactor threw ArrayIndexOutOfBoundsException in some cases if reaction contained R-groups


    The database version does not change, current table version is: 5030300

    May 10th, 2010: JChem 5.3.3

    Marvin 5.3.3 is included

    New Features and improvements

    • JChem Base

      • Dropped tables will be removed from the structure cache

      • Molecular Descriptor handling in JChem Manager GUI.

      • Defining custom standardization has been improved with the Standardizer GUI in JChem Manager.

      • Set the earliest possible table version to newly created tables.

    • Cartridge

      • Allow to configure port of RMI server objects (jchem.server.rmi.port)

      • Upgrade supports multiple JChem Cartridge instances sharing the same JChem package on the file system

      • Fingerprint index subtypes (idxSubType=fp) didn't handle NULLs

    • Documentation

      • JChem FAQ has been refactored


    • JChem Base

      • Exception was thrown in import on the tables which used structural keys.

      • Change default cache expiration time to unlimited (0)

      • Expired caches weren't really removed from cache pool

      • Searching Rgroups had screening errors.

      • Searching cyclic homology groups on structures containing hydrogen with two ring bonds threw ArrayIndexOutOfBoundsException

      • Alkyl could match explicit hydrogens attached to hetero atoms.

      • Repeating units containing letter in the subscript are now considered as polymers

      • Duplicate search of markush structures in database failed if the structures contained user-defined homology groups.

      • Acyclic carbon with single or aromatic query bond didn't match alkyl homology atom.

      • Brackets were not rotated with the molecule during polymer substructure hit highlighting.

      • Ambiguous aromaticity checking could cause stack overflow

      • Improved substructure search performance with some ambiguous aromatic queries

      • Searching with user defined homology group that had invalid context lead to stack overflow error.

      • Alkyl could match explicit hydrogens attached to hetero atoms.

    • Cartridge

      • Updating a null structure gave error

      • Two-host installation failed with error about missing structure.cache.id

      • Upgrade failed with PLS-00103 on Windows

      • Fingerprint index subtypes (idxSubType=fp) didn't handle NULLs

    • Standardizer

      • 'Remove Attached Data' action in Standardizer required Structure Checker license. It now only requires Standardizer license.
    • Screen

      • PharmacophoreFingerprint and related classes were moved to descriptors package


    Tables and indices with tautomer duplicate option need to be regenerated. Current table version is: 5030300

    April 14th, 2010: JChem 5.3.2

    Marvin 5.3.2 is included

    New Features and improvements

    • JChem Base

      • New method for handling log tables and search caches

      • s and s* query property handling implemented for query homology atoms.

      • New search option value for implicitHMatcing: "ignore". "Charge:ignore" search option now forces implicitHMatcing:ignore.

      • jcsearch accepts empty query string, it can be used to just filter molecules with chemical terms

      • Acyl pseudo atom is not handled as homology atom and can only be matched by itself to comply MMS behaviour

      • Developers guide documentation hierarchy has been changed.

    • JChem Cartridge

      • Login name of the JCC "super user" can be encrypted

      • jchem_core_pkg.use_password() accepts encrypted passwords

      • Provide more control over the number of cached connections to users

      • Better support for upgrading two-host installations

      • (CLOB, BLOB, VARCHAR2) binding added to JC_COMPARE

    • JChem Web Services

      • Display relational data in the Ajax example

      • Auto detection of other fields in RelAdminWS if at least one field is given

      • Chemically intelligent sorting for cd_formula

      • Sorting results by primary-key in RelSearchWS

      • Sorting in the Ajax example (in non-relational mode)

    • Reactor

      • Improved error handling, and logging options in command line Reactor application.
    • JKlustor

      • New matching modes in MCS and LibraryMCS
    • Standardizer

      • Improved logging in command line Standardizer application. Some changes in logging options.


    • JChem Base

      • Structure of 'update log tables' has been changed.

      • All tetrahedral stereo centers are protected in duplicate tautomer search.

      • NPE was thrown during searching some Markush DARC (VMN) files.

      • Duplicate and substructure search on markush structures with Superatom sgroups could crash.

      • Searching complex patent documents could have resulted search timeout because of user-defined homology groups.

      • Markush reduction to hit caused exception in some cases if the structure contained user-defined homology groups.

      • Field connections are not stored and reused any more in JChem Manager.

      • New derby related driver libraries are put to the JChem lib/jdbc folder. Old derby jar files have been removed.

      • cd_pre_calculated column creation threw exception in case of MS Acces and HSQLDB

      • Searching with fullerene freezed

    • JChem Cartridge

      • get_idx_stats() failed with ORA-29532 error

      • Users not owning JChem indices were unable to use JChem functions (FROM DUAL)

      • jc_compare with requireCommit:n t:d didn't find structure

      • Updating a row of a regular structure table having duplicate filtering enabled with the same structure as already existed in the row failed with duplicate structure exception

      • Cost estimations provided to Oracle Optimizer were highly inaccurate (since 5.3.0)

      • get_hit_count function failed if called before jc_compare operator was called

      • Similarity searches with parametrized metrics failed with certain locales/NLS settings

      • Certain custom settings were lost during upgrade

      • CLOB and BLOB user defined functions fail with ORA-00932

    • JChem Web Services

      • New exceptions in RelWS

      • SOAP message link fixes for method getConnection

      • Wrong config.xml was generated in the Web Servicews Windows installer.

    • Screen

      • Wrong sample code in GenerateMD class documentation
    • JKlustor

      • Unwanted bond type labels in LibraryMCS
    • Standardizer

      • Tautomerize did not clean hydrogens in 2D

      • sgroups:ungroup" action ungroups only expandable sgroups.


    Markush tables need to be regenerated. Furthermore, Markush DARC(VMN) files should be imported again (and if .mrv conversion was used in the process, they should be converted again) for new developments to take effect.

    A new column - its name is cache_id- will be generated for update log tables.

    Also a new table (cache registration table) is created for all JChem property tables (<property table name>_cr). Current table version is: 5030200

    February 23th, 2010: JChem 5.3.1

    Marvin 5.3.1 is included


    • JChem Base

      • Stabilization and speedup in HitDisplayTool / in hit alignment in case of Markush structures.
    • JChem Web Services

      • JAVA_HOME environment variable has been optional in the startup script for Linux.


    Tables and indices with tautomer duplicate option need to be regenerated. Current table version is: 5030100

    January 29th, 2010: JChem

    Marvin is included


    • JKlustor

      • LibraryMCS failed to start with the default input set.


    The database version does not change, current table version is: 5030002

    January 19th, 2010: JChem

    Marvin is included

    New features and Improvements

    • Reactor

      • Valence handling improvements in Reactor, and in Standardizer (transformation action)


    • JChem Web Services

      • RelSearchWS produced wrong search outputs when there were two parallel tables related to a structure table.


    The database version does not change, current table version is: 5030002

    January 15th, 2010: JChem 5.3

    Marvin 5.3 is included

    New features and Improvements

    • JChem Base

      • Pre-regeneration ability of JChem Tables

      • Search engine

        • Homology groups are now supported on the query side.

        • R-group decomposition integration: New method: JChemSearch.getHitsAsRgDecomp() to obtain ligands, R-group decomposition table, covering Markush structure.

        • Enhanced undefined R-atom feature:

          • Multiple atom indexes are returned and colored for group hits. (Added MolSearch.findFirstGroup(), findNextGroup(), findAllGroups(). )

          • Option to fine-tune R atom matching: possible combinations of group- , H- and empty matching. (Added SearchConstants.UNDEF_R_MATCHING_GROUP_H and SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY.)

          • Multiple attachment R-atoms are handled

          • R-atom matching limitations relieved.

          • Equality check of R-atoms with the same number.

          • New search options "RLigandEqualityCheck:y/n" and " bridgingRAllowed:n/y".

        • Vague bond level 1 is extended: 1-atom single and single/double bond ligands of an aromatic ring and single bonds between aromatic rings are considered as single/aromatic and single/double/aromatic.

        • Special data sgroups designated for duplicate searching : data sgroups with name starting with [DUP] are automatically considered in duplicate search.

        • Reduced atom-by-atom search (MolSearch) memory requirements.

        • New similarity metrics supported on cached fingerprint.

        • API: New constants in chemaxon.sss.SearchConstants for denoting special matches in hits: HIT_R (former R_NODE_PLACEHOLDER), HIT_MULTICENTER, HIT_UNMAPABLE, HIT_LP, HIT_R_EMPTY_MATCH.

        • Automatically use the right stereo model in all search types and table types.

        • Semantics of D<n> query property becomes the same as s<n>.

        • New search option: tautomer duplicate filter

        • New search option: ignore Chemical Terms errors during DB search for structures of invalid type (syntactical errors are still thrown).

      • R-group decomposition

        • R-group decomposition can now be used with JChem Base, JChem Cartridge and MolSearch licenses. Previous licenses (Fragmenter, JKlustor, JChem for Excel) continue to work.

        • R-group decomposition can generate a covering Markush structure (RgMolecule). (command line: rgdecomp -M, API: MarkushGenerator ).

        • RGroupDecomposition has a new API , most of the old API has been deprecated.

          • Now results are returned in a Decomposition object.

          • R-atoms are added automatically if query does not contain them. In this case these R-atoms can match the empty set by default.

          • Attachment option atom label with R-symbol (ATTACHMENT_RLABEL) is added.

        • Alignment is made optional in rgdecomp (default: true for 2D output): added parameter -k, --keep-coordinates.

        • R-group decomposition command-line aromatizes query and target by default (-s 'aromatize' is the default).

      • Jcsearch command-line

        • Similarity search exports similarity values.

        • Exception is thrown if no query specified.

        • New option to return database fields as SDF fields

      • JChem Manager application

        • Display proper sql data types in Add column dialog for different DBs.
      • Markush add-on:

        • Import of Markush DARC (VMN - format of the Merged Markush Service) files into the database.

        • More than two attachment points for R-groups are now supported (with a temporary representation).

        • More intelligent handling of user-defined homology group definitions and enumeration definitions. All groups can have context sensitive definitions. Enumeration for user defined groups can be different than the search definition. During enumeration any numbers of connections for the homology atom are possible.

        • Rgroup definitions with single atoms don't need to have explicit attachment points.

        • During hit retrieval/coloring: homology groups are expanded according to the hit if the appropriate Markush display mode is chosen. The former HitColoringAndAlignmentOptions field "enumerateMarkush" is replaced by the new field "markushDisplayMode".

        • Double bond stereo is ignored for double bonds coming from bond lists.

        • Markush code can use custom reagent ID if present

      • The bundled database drivers has been moved to a separate directory in the JChem lib. The name of the directory is "jdbc"

    • JChem Cartridge

      • Markush support in JChem Cartridge

      • Provide the ability to index columns containing fingerprints (as opposed to structures).

      • Generic support for metrics in default similarity search.

      • New option list for jc_dissimilarity() .

      • Error messages are more to the point.

      • Ability to have a usable index, even if not all structures could be indexed.

      • jchem_core_pkg.get_hit_count to support views and jcf.hitColorAlign support views as well

      • Ability to obtain runtime information on memory usage and outstanding index scan tasks

    • Web service Integration

      • Relational data handling in JChem web services

      • Ajax example: Spreadsheet sorting by columns.

      • JChem Web Services Windows installer provides possibility to create and run Web Services Server as windows service.

      • Implement Batch Standardization Web Service

      • Input Format Optional Parameter on MolConvertWS

      • Input Format Optional Parameter on StandardizerWS

      • Return cd_id from AddStructure Web Service Method

      • Split off JChemSearchWS functionality to ConnectionWS and DataManipulationWS

      • Added Javascript WS examples (relational data, imggen) and python examples (molconvert, reactor)

      • Simple PHP example for Web Services

    • Standardizer

      • Map action in Standardizer (it maps also molecules, not just reactions)

      • Search options can be set for transformation actions in Standardizer.

    • Reactor

      • Reactor pre-filters reactants in combinatorial mode. As a result, combinatorial mode reaction processing became much faster.

      • Ratio of the reactants can be set for Reactor.

      • Reactor supports a new output type: fused reaction output. Fused reaction output contains the reactants, and all generated products in one reaction structure.

      • Reactor generates synthesis code for reaction output

      • Superatom sgroup-related exception fixed

    • Metabolizer

      • New selection options are available to fine tune the selection of metabolites for export.
    • Fragmenter

      • Added parameter -p, --attachment-point <N|S|A> in Fragmenter, API: setAttachmentPointType(int attachmentPointType). Added new configuration to working examples: RingChain.xml. Moved fragmenter classes from chemaxon.reaction to chemaxon.fragmenter, deprecated public classes in chemaxon.reaction.
    • JKlustor

      • Sphere Exclusion and K-Means clustering methods implemented in command line clustering utility "bm"

      • local server mode implemented in command line clustering utility "bm"


    • JChem Base

      • Temporary memory allocation reduced during cache loading

      • Query properties spoiled stereo information when implicit H should have been involved in query to describe stereo information.

      • Exporter / SQLToFileHandler were inefficient when exporting by cd_id lists.

      • Substructure hit highlighting didn't work if a homology group was in the hit and rotation was chosen as well.

      • The default value of 'hitIncludesRNodes' in MolSearchOptions is set to "true". Jcsearch output now uses symbols instead of negative constants to denote R-atoms, empty matches.

      • setStereoModel(STEREO_MODEL_DEFAULT) - incorrectly - threw an IllegalArgumentException.

      • JChemSearchOptions.setMaxResultCount now throws IllegalArgumentException if maxResultCount parameter is a negative number. API doc has been improved as well.

      • jchem batch scripts were not installed properly and they ignored JCHEMHOME system variable.

    • JChem Cartridge

      • Incomplete cancellations of operations are now handled.

      • Decimal number predicates failed with Swedish, Hungarian etc. locales.

      • jc_tanimoto operator failed with ORA-29531 when executed in functional mode (select jc_tanimoto() from t).

    • JKlustor

      • Allocation problem in command line clustering utility "bm" fixed. (Exception was thrown above certain input size.)

    API changes

    • JChem Base:

      • The following deprecated methods were removed from jchem.db.JChemSearch:

        • public float getDissimilarityThreshold()

        • public int getAbsoluteStereo()

        • public int getDoubleBondStereoMatchingMode()

        • public String getFilter()

        • public String getFilterConfigFileName()

        • public String getFilterQuery()

        • public int getHCountMatching()

        • public int getMaxResultCount()

        • public long getMaxTime()

        • public int getOption(int option)

        • public int getSearchType()

        • public boolean getTautomerSearch()

        • public int getVagueBondLevel()

        • public boolean isExactQueryAtomMatching( )

        • public boolean isExactStereoMatching()

        • public boolean isStereoSearch()

        • public boolean isWaitingForResult()

        • public void run_NE()

        • public void setAbsoluteStereo(int absoluteStereo)

        • public void setDescriptorConfig(String descriptorConfig)

        • public void setDescriptorName(String descriptorName)

        • public void setDissimilarityMetric(String dissimilarityMetric)

        • public void setDissimilarityThreshold(float dissimilarityThreshold)

        • public void setDoubleBondStereoMatchingMode(int mode)

        • public void setExactQueryAtomMatching(boolean exactQueryAtomMatching)

        • public void setExactStereoMatching(boolean exactStereoMatching)

        • public void setFilter(String filterExpression)

        • public void setFilterConfigFileName(String fileName)

        • public void setFilterQuery(String filterQuery)

        • public void setHCountMatching(int HCountMatching)

        • public void setMatchCountBetween(int hitLimitLow, boolean isLowerLimitIncluded, int hitLimitHigh, boolean isHigherLimitIncluded)

        • public void setMatchCountInRelation(String relation, int hitLimit)

        • public void setMaxResultCount(int maxResultCount)

        • public void setMaxTime(long maxTime)

        • public void setOption(int option, int value)

        • public void setReturnsNonHits(boolean value)

        • public void setTautomerSearch(boolean value)

        • public void setSearchType(final int searchType)

        • public void setStereoSearch(boolean stereoSearch)

        • public void setVagueBondLevel(int level)

        • public void setWaitingForResult(boolean waitingForResult)

      • The following deprecated methods were removed from jchem.db.UpdateHandler:

        • public static void createStructureTable(ConnectionHandler conh, String tableName, int numberOfInts, int numberOfOnes, int numberOfEdges, String columnDefs)

        • public static void createStructureTable(ConnectionHandler conh, String tableName, int numberOfInts, int numberOfOnes, int numberOfEdges, String columnDefs, String standardizerConfig, boolean absoluteStereo)

        • public static void createStructureTable(ConnectionHandler conh, String tableName, int numberOfInts, int numberOfOnes, int numberOfEdges, String columnDefs, String standardizerConfig, boolean absoluteStereo, Map chemTermColsCfg, int tableType)

        • public static void regenerateTable(ConnectionHandler ch, String tableName, boolean changeStandardization, String standardizerConfig, Map chemTermColCfg, ProgressWriter pw)

        • public static void regenerateTable(ConnectionHandler ch, String tableName, boolean changeStandardization, String standardizerConfig, ProgressWriter pw)

        • public static void regenerateTable(ConnectionHandler ch, String tableName, ProgressWriter pw)

        • public UpdateHandler(Connection con, int mode, String tableName, String additionalColumns)

        • public void close_NE()

        • public void execute_NE()

        • public int execute_NE(boolean returnLastId)

        • public void init_CISSNE(ConnectionHandler conHandler, int mode, String tableName, String additionalColumns)

        • public void setValueForAdditionalColumn_ISINE(int index, String value, int sqlType)

      • New public method in jchem.fragmenter.Fragmenter: setAttachmentPointType(int attachmentPointType).

        Moved fragmenter classes from chemaxon.reaction to chemaxon.fragmenter, deprecated public classes in chemaxon.reaction.

      • Synthesizer classes are discontinued. (They were completely removed from JChem.)


    Full table regeneration is needed to use JChem 5.3, please regenerate all JChem tables and indexes after upgrade.

    The new table version is 5030002

    October 19th, 2009: JChem 5.2.6

    New features and Improvements

    • JChem Base

      • signed jchem jars are provided in seperate downloadable package (jchem-signed-lib-VERSION.zip).
    • JChem Cartridge

      • Support table/index truncation


    • JChem Base

      • --isotope:i option did not work for H isotopes in tautomer region, when running a tautomer duplicate search against a database table created with "Duplicate search uses tautomers" option on.

      • jcman t <row> has been fixed for PostgreSQL

    • JChem Cartridge

      • Multi-query duplicate search failed whith "limited" result set.


    The database version does not change, current table version is: 5020400

    Sept 24th. 2009,


    • JChem Base

      • Regeneration was invoked unnecessarily for some tables.

      • In tautomer duplicate tables/indexes: isotopic H was neglected near tautomer region.


    The database version does not change, current table version is: 5020400

    Sept 10th. 2009, 5.2.5

    Marvin 5.2.5 is included.

    New features and Improvements

    • JChem Base

      • jcsearch exports similarity values in case of similarity search and sdf, mrv output.

      • JChemSearch.getDissimilarityMetrics returns the newly available similarity metrics.

      • New search option, exactSpecialAtomMatching: enlisted special atoms lose their special meaning (e.g. X does not match Cl, only X)

      • Similarity search returns most similar hits if hit count is limited. The maxTime option is recommended instead of maxHits in the case of descriptor similarity search.


    • JChem Base

      • Similarity search returned different similarity values for the same query when Chemical Terms filter was used.

      • StructureSearch.restoreRearrangedHitIndexes threw AIOBE in case excluded atoms had been set.

      • If a phase shiftable polymer was searched by a non-polymer, AIOBE was thrown.

    • JChem Cartridge

      • JChem Cartridge Windows Service could not be started on 64-bit architecture
    • Web service integration

      • Fixed MolConvert WS exceptions to be interoperable with python

      • Enhance handling of export options in MolConvertWS

      • The default admin password ha been changed in axis2.xml


    The database version does not change, current table version is: 5020400

    Aug 14th. 2009, 5.2.4

    Marvin 5.2.4 is included.

    New features and Improvements

    • JChem Base

      • "Regenerate all but CT columns" option is implemented.

      • CT component in "add column" dialog is improved.

      • Handle structure name fields during import

      • Tautomer duplicate tables/indexes protect tetrahedral stereo centers in tautomer regions.

      • .NET integration with JNBridge is not supported any more in the JChem Base

    • Web service integration

      • New Windows MSI installer for JChem Web Services

      • WSDL API is improved in the developer's guide


    • JChem Base

      • DB Import intermittently hanged, if an error occurred during writing to the DB

      • X query did not return X pseudo atom in substructure search. (Only halogens.)

      • JChemSearchOptions.descriptorConfig had no effect with JChemSearch.

    • JChem Cartridge

      • Stand alone JChem Server aborted calls from RAC due to connection inconsistency
    • Standardizer

      • Neutralizing molecules containing explicit hydrogens produced wrong output on some cases


    Tables and indices with tautomer duplicate option need to be regenerated. Current table version is: 5020400

    Jul 28th. 2009,

    Marvin is included.


    • JChem Cartridge

      • jc_tanimoto returned no result for the predicate >= 0
    • Chemical terms

      • disjointMatchCount() Chemical Terms function returned wrong results for multiple input structures


    The database version does not change, current table version is: 5020100

    Jul 15th. 2009,

    Marvin is included.


    • JChem Cartridge

      • Stand alone JChem Server aborted calls from RAC due to connection inconsistency.
    • Metabolizer

      • Desktop application could not start because of missing resources.
    • Standardizer

      • Desktop application could not start because of missing resources.
    • Reactor

      • Desktop application could not start because of missing resources.


    The database version does not change, current table version is: 5020100

    Jul 03th. 2009, 5.2.3

    Marvin 5.2.3 is included.

    New features and Improvements

    • JChem Base

      • JChem manager GUI: Modified table pane and added custom column (with chemical terms expression) function
    • JChem Cartridge

      • Allowed to encrypt JChem "super user" password in jcart.propreties
    • Web service integration

      • Query information in the Url updates the settings on Query pane

      • Allowed Configuration of Data Manipulation Function in AJAX example

      • Extended the Ajax example to be able to work via https properly

    • Metabolizer

      • Improved selection handling

      • Reactions export


    • JChem Base

      • Search failed with AIOBE in case the database contained polymer and non-polymer structures as well.

      • Fixed bad pseudo atom handling

      • Fixed various errors during import and searching of molecules containing multicenter atoms

      • Edit and insert did not work with custom chemical terms fields in the JSP and AJAX example

    • JChem Cartridge

      • Screening-only structure search ('t:na') always returned zero

      • Statistics calibrator failed with SQLException

      • Java switch -d64 could not be specified for JChem Server on Solaris

      • Upgrade failed when statistics package was installed

    • Web service integration

      • JChemSearchWS returned Database Column types as textual descriptions instead of numeric types

      • HTML Special Characters are handled in MolConvert

      • Chemical Terms columns are returned as part of Structure Table Information

      • Not allow to insert or edit Chemical Terms fields in Ajax example

      • Hit coloring did not work in the Ajax example

    • Standardizer

      • Adding explicit hydrogens to molecule is faster


    The database version does not change, current table version is: 5020100

    May 26th. 2009, 5.2.2

    Marvin 5.2.2 is included.

    New features and Improvements

    • JChem Base

      • Faster substructure, full, full fragment, duplicate and superstructure search in database. (~30% speedup)

      • Enhanced stereo labels "and" and "or" are now interpretable without wedge for one stereo center groups.

      • Star atoms are interpreted as AH query atom if they are not polymer end-group.

      • Chemical Terms field regeneration option has been added in the JChem Manager GUI.

    • JChem Cartridge

      • Function (jcf.exec_c) to execute native programs

      • Operator (jc_tversky) and functions (jcf.tversky) for similarity calculations on chemical hashed fingerprints using the Tversky formula.

    • Web service integration

      • Single Molecule Data Manipulation Logic (Add/Edit/Delete) service.

      • Implemented molecule insert, edit and delete Web Service functionalities in the Ajax example.


    • JChem Base

      • Duplicate search on Markush structures threw AIOBE exception if the structure contained polymers.

      • Structure matching on heteroaryl homology group must have a hetero atom in the aromatic ring(system).

      • Comprehensive stereo model allowed non-stereo query to match on stereo target in case of exact stereo matching.

      • Fixed ArrayIndexOutOfBoundsException when performing tautomer duplicate search on a table created with "Duplicate search uses tautomers" option.

      • NullPointerException was thrown during search at monomers with two terminal oxigens if transformMonomer search option is set.

      • Table regeneration: Successful regeneration was reported even if there were problematic structures.

    • JChem Cartridge

      • Fixed potentially incorrect results from concurrent searches in non-index-scan mode.
    • Web service integration

      • AJAX GUI example: User Friendly timeout error messages.
    • Reactor

      • Reactants order in the reaction definition was not recognized correctly in some cases.

      • In some cases stereoselective reactions generated more products than it was expected.

    • LibMCS

      • NPE in LibMCS fixed.


    The database version does not change, current table version is: 5020100

    Apr 14th. 2009, 5.2.1

    Marvin 5.2.1 is included.

    New features and Improvements

    • JChem Base

      • Polymer search improvements:

        • Monomers (mon) now have either/unknown(eu) repeat pattern,

        • SSS: unspecified polymer endgroup (* atom) matches known endgroup,

        • SSS: all query polymers can match polymers in copolymers

        • SRU polymer (n) does not match graft and crosslink (xl) polymer types,

        • New search options to switch on/off phase shift, and for copolymer matching,

        • Attached data matching now handles data attached to brackets,

        • Anypolymer (any) matching implemented,

        • SRU polymer (n) without crossing bonds is handled as a monomer unit (mon),

        • Improved ladder type polymer matching.

      • Comprehensive stereo model is implemented for duplicate search (exact stereo option).

      • JSP example:

        • Advanced query pane: New text area for additional free-form search options.

        • Advanced query pane: New diastereomer option in the stereo radio group.

        • Markush tables: Separate Hit reduction page from enumeration.

        • Ajax example has been removed from examples of the JChem package. It is available in the ChemAxonWebServices package.

    • Standardizer

      • Added option to set "loose" aromatization method

      • New standardizer action: convert to enhanced stereo

    • Web service integration

      • JChemSearchWS returns similarity value if exists

      • AJAX GUI example: Opportunity to omit DB username and password from config.xml, display a login window where these parameters can be given.

      • AJAX GUI example: Generate a URL after a submitted search and return the same query results if this URL is copied to the address bar of the browser.

      • Chemical Terms Python Script example for JChem Web Services is available in the ChemAxonWebServices package.

      • Documentation hierarchy of ChemAxonWebServices has been changed, they are placed in the doc directory in the ChemAxonWebServices package. JChem and Marvin documentation are also copied there.

    • Metabolizer

      • Improved speed of metabolites generation.


    • JChem Base

      • JSP example: Markush enumeration methods threw exception when the count of total enumerated molecules was large.

      • JSP example: Random Markush enumeration did not return random structures, always the first enumerated was returned.

      • Markush search: fixed slow substructure search in case of user-defined homology groups and ambiguous aromaticity.

      • Markush search: fixed NPE related to superatom sgroup at position variation bond.

      • "Update logs to keep" option has been removed from the JChem Manager, update logs will not be deleted automatically any more.

      • Tautomer search threw LicenseException (Isomers Plugin Group)

      • Possible deadlock during structure table regeneration in the case of certain MS SQL Server configurations

      • Duplicate search in tautomer duplicate tables did not work correctly in case of certain heterocycles.

      • RGroup decomposition used incorrect undefined rgroup matching option since 5.2.0

    • JChem Cartridge

      • Indexing structures with the TDF=y parameter alone had no effect (Requires dropping and recreating indexes with TDF=y parameter)
    • Web service integration

      • Major refactoring in the Ajax client (gui.js, event.js)

      • User friendly error message when connection timeout is due or there is an error during export

    • Standardizer

      • Removal action in Standardizer (keep the largest/smallest fragment, remove the largest/smallest fragment) always identifies the number of atoms correctly

      • Standardizer correctly neutralizes aromatic nitrogen with negative charge

    • LibMCS

      • LibMCS bugs concerning property selection/handling around loading new files fixed


    Tables and indices with tautomer duplicate option need to be regenerated. The database version has been changed, current table version is: 5020100

    March 10th, 2009: 5.2

    Marvin 5.2 is included

    New features and Improvements

    • New .NET API is available for JChem. (From JChem 5.1.5)

    • New JChem installer for Linux with bundled Java. (From JChem 5.1.5)

    • JDBC drivers are included in JChem distribution.

    • New Web Service interface is available for JChem.

    • JChem Base:

      • Main search types are renamed: "Duplicate" is now used instead of "Perfect", "Full" instead of "Exact" and "Full fragment" instead of "Exact fragment".

      • Polymer search and storage.

      • Searching of attached data to atoms and bonds in MolSearch and JChemSearch.

      • New search feature: undefined R-atom can match more than one atom during substructure, full and full fragment search. If undefined R-atoms are present in the query, substitution is not allowed on other atoms.

      • Repeating units can be used in queries and registered and searched in Markush structures in the database.

      • Homology groups (aryl, alkyl, etc.) support for Markush structures registered in the database.

      • Improved chemical hashed fingerprint, resulting in more efficient substructure, full and full fragment searches. Similarity measure also improved.

      • Ajax client application for JChem Web Services

      • Improvements in aromatization of query structures containing query bonds.

      • Support for new import formats in JChem: Mol2 and InChi

      • New API method in ConnectionHandler for simpler database access

      • Table creation: "Duplicate filtering uses tautomers" option is renamed to "Duplicate search uses tautomers".

      • Synthesis browser has been removed from JChemManager.

      • MOL, SDF, RXN compression option has been "off" by default in JChem Manager

    • JChem Cartridge

      • The meaning of jc_compare option 't:f' has been changed to "FULL structure search".

      • Interactive command line installer

    • Web service Integration

      • Web Service Server

        Introduction of the new Web Service Server. ChemAxon Web services extend access to ChemAxon tools to any web-friendly language over the Internet or an internal network. This server supports Linux, Unix, and Windows environments.

        • JChemSearch Web Service Implementation: search your database through web services.

        • ChemTerms Web Service Implementation: run property calculations and predictions over the web.

        • MolConvert Web Service implementation: convert molecules to any format by using this service.

        • Standardizer Web Service Implementation: transform molecules to a uniform standard with this service.

      • Ajax client application

        The Ajax client application uses the SOAP interface of JChem Web Services. It provides a user friendly GUI with draggable, resizable windows. Main features:

        • Query pane with structure, chemical terms and general database field searches.

        • Scrollable spreadsheet view capable of handling millions of molecules.

        • Export search results.

        • Print preview page.


    • Chemical Terms

      • Chemical terms editor moved to Marvin
    • Standardizer

      • Standardizer can handle transformations involving attachment points

      • Multiprocessor support in Standardizer

    • Metabolizer

      • Introducing Metabolizer Application
    • Reactor

      • Multiprocessor support in Reactor

      • The "--ignore-error" option in Reactor command line application ignores all errors, not just import/export errors

      • API support for Reactor input mode (sequential, combinatorial) handling

      • Removed --fragmentation-id and --fragment-data-tag command line options from Reactor command line applications, and deprecated methods related to fragmentation-id and fragment-data-tag handling.

    API changes

    • JChem Base:

      • The following deprecated parts have been removed from JChemSearch API:



        public static final int QM_ALWAYS_SMARTS = 2;

        public String getFilterTable()

        public void setFilterTable(String filterTable)

        public boolean isDeleteFilterTableWhenReady()

        setDeleteFilterTableWhenReady(boolean deleteFilterTableWhenReady)

        public float getSimilarityThreshold()

        public void setSimilarityThreshold(float similarityThreshold)

        public int getQueryMode()

        public void setQueryMode(int queryMode)

        public float getSimilarity(int index)

        public boolean isExactChargeMatching( )

        public boolean isExactIsotopeMatching( )

        public void setExactIsotopeMatching(boolean exactIsotopeMatching)

        public void setExactChargeMatching(boolean exactChargeMatching)

        public void setExactRadicalMatching(boolean exactRadicalMatching)

        public boolean isExactRadicalMatching( )

        public void setConnection(Connection connection)

        From UpdateHandler API:

        public void setValuesForFixColumns(byte[] structure)

        public void setValuesForFixColumns(int id, byte[] structure)

        public void setValuesForFixColumns(int id, String structure) throws SQLException, MolFormatException, UpdateHandlerException

        public void setValuesForFixColumns(String structure) throws SQLException, MolFormatException, UpdateHandlerException

        public void setValuesForFixColumns_BNE(byte[] structure)

        public void setValuesForFixColumns_IBNE( int id, byte[] structure)

        public void setValuesForFixColumns_ISNE(int id, String structure)

        public void setValuesForFixColumns_SNE(String structure)

      • *_NE (no-exception) and similar methods are deprecated in

        • JChemSearch

        • UpdateHandler

        • ConnectionHandler


    Full table regeneration is needed to use JChem 5.2, please regenerate all of your database tables after upgrade.

    March 23th. 2009, 5.1.6

    Marvin 5.1.6 is included.


    • JChem Base

      • Inconsistent results in certain cases (experienced for, but not restricted to searches after delete or update) if number of structures / cd_id range exceeds about 20 million


    The database version does not change, current table version is: 50103

    February 14th. 2009, 5.1.5

    Marvin 5.1.5 is included.

    New features and improvements

    • New .NET API is available for JChem

    • New JChem installer for Linux with bundled Java.

    • JChem Base

      • Improved Developer Guide - Retrieving Results and added property table information to "JChem chemical database concepts"

      • API doc of setInputMolecule and setStructure in UpdateHandler has been improved

    • JChem Cartridge

      • Improved upgrade procedure: indices do not need to be dropped and recreated.


    • Batch files in JChem package did not accept command line parameters.

    • JChem Base

      • NullPointerException was thrown during upgrade from a version before 3.2 where UL tables had not been existing.

      • dom4j.jar in package was upgraded to latest stable version (1.6.1)

    • JChem Cartridge

      • NPE was thrown during INSERT after upgrade (with index rebuild)

      • Upgrade didn't work with SYS as SYSDBA

    API changes

    • JChem Base

      • UpdateHandler.setInputMolecule has been deprecated. An IllegalArgumentException will be thrown when UpdateHandler.setStructure was not called after setInputMolecule.


    The database version does not change, current table version is: 50103

    December 19th. 5.1.4

    Marvin 5.1.4 is included.

    New features and improvements

    • JChem Base

      • We disabled the non-cached mode in JChem. JChemSearch throws exception in non-cached mode.
    • JChem Cartridge

      • Improved upgrade procedure: indices do not need to be dropped and recreated.


    • JChem Cartridge

      • Default absolute stereo flag changed from "c" to "a" for cases where no jc_idxtype index is available (such as in case of FROM DUAL statements).

      • Index creation on JChem tables with RegenerateTable=true failed with error

    November 13th, 2008, 5.1.3_2

    Marvin 5.1.3_2 is included.


    • JChem Cartridge

      • jchem_table_pkg.jc_insert threw NullPointerException when null was specified for the jchemproperty table name.
    • Standardizer

      • Attribute values of Clean2D, ConvertDoubleBonds and RemoveFragment actions at Standardizer Configuration Editor GUI are now case insensitive.

    November 11th, 2008, 5.1.3_1

    Marvin 5.1.3_1 is included.

    November 7th, 2008, 5.1.3

    Marvin 5.1.3 is included

    New features and Improvements

    • JChem Base:

      • Tautomer search now considers explicit Hydrogens in the query.

      • Developers Guide was extended with molecular descriptor similarity search example.

    • JKlustor:

      • Enhanced histograms in LibraryMCS SAR table view.


    • JChem Base:

      • Empty query search in database was corrected for exact and superstructure searches.

      • EXACT and PERFECT search did not work for reaction tables

      • HashCode generation expands S-groups before calculation (this bugfix effects API behavior change)

      • Exact stereo search did not work for substructure and exact fragment search types if the query was not stereo-specific but the target was.

    • JChem Cartridge:

      • ALTER INDEX REBUILD didn't work with non-default jchemproperties tables

      • Speeded up import into JChem structure tables with jc_idxtype index by about 25%


    current table version is: 50103

    Hash code of reaction tables has changed, so reaction tables have to be regenerated.

    October 1st, 2008, 5.1.2

    Marvin 5.1.2 is included

    New features and Improvements

    • JChem Base:

      • Similarity search speedup (for the default chemical hashed fingerprints with Tanimoto formula).
    • Standardizer:

      • New option added to "sgroups" Standardizer action, which allows to exclude specified sgroup names from sgroup conversions (expand/ungroup/contract).


    • JChem Base

      • Reaction search + filter query threw ArrayIndexOutOfBoundsException
    • JChem Cartridge

      • Importing certain structures into Oracle databases using multi-byte character sets (such as AL32UTF8) failed with "ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column.

      • Non-index-owner was unable to search with JCC privileges granted through a role.

    • JKlustor

      • Bug in histogram calculation in the treetable view fixed and improved.

    API changes

    • JChem Base

      • New method implemented in MatchCountOptions: toString()

      • New methods implemented - Updater: performCurrentUpdate(ProgressWriter pw), TableInfo: getJChemVersion(ConnectionHandler ch, String tableName), ProgressWriter: reset(), getText(), setText(String text)


    current table version is: 50101

    The database version does not change, but if you have tautomer duplicate filtering tables and they contains structures with isotope H (deuterium, tritium) we recommend the regeneration.

    September 1st, 2008, 5.1.1

    Marvin 5.1.1 is included

    New features and Improvements

    • JChem Base:

      • RGroupDecomposition (rgdecomp) colors atoms by atom sets if output format is MRV. The former property-based coloring is used for SDF output.


    • Standardizer:

      • Standardizer threw NullPointerException in some cases when "clearstereo" was performed.

      • Bugfix in tautomerize Standardizer action

      • The "clearstereo:doublebond" action in Standardizer did not clear all double bond stereo data.

    July 10th, 2008: 5.1

    Marvin 5.1 is included

    New features and Improvements

    • JChem Base:

      • Position variation bonds can be used in queries.

      • Position variation can be used in Markush structures (target side).

      • New architecture for tautomer duplicate filter table/JChem index option: generic tautomers are used. This allows more correct and faster operation. Stereo features are ignored in the tautomer regions.

      • Tautomer search ignores stereo features in the tautomer regions (all relevant search types). Stereochemistry outside tautomer regions are checked by default.

      • Aromatization of query structures: rings containing atom lists, not lists and query atoms are aromatized if query expresses aromatic rings also.

      • Stereo search type options (stereo and exact stereo) are unified in one option which also provides a new stereo search type: diastereomer search.

      • New search option: check sp hybridization.

      • New search option: undefined R-atom matches other undefined R-atoms only (by default, it matches anything).

      • SMARTS "x" property supported in searching, meaning the number of ring bonds for the given query atom.

      • Superstructure search is now default for query tables in jcsearch.

      • Empty structure for SUPERSTRUCTURE search now matches everything.

      • Search uses explicit H-s on target in case of Markush structures.

      • A new Chemical Terms filter was added for db_search JSP example: Rule of 3.

      • JChem Developers Guide has a new chapter: JChem chemical database concepts.

    • JChem Cartridge:

      • Search option for including non-committed recently inserted/upgraded records for perfect search

      • Duplicate filtering for non-JChem tables including tautomer duplicate filtering

      • Alter index option for regular structure tables to recalculate the index data without having to drop the index.

      • New graphical installer including initial configuration, Windows service installation, upgrade support.

      • jc_evaluate allows CT expressions evaluating to Boolean.

      • Removing the mappingStyle option from jc_react. (This option has been deprecated since JChem 3.2.)

    • Chemical terms

      • The Chemical Terms Evaluator engine has been moved to Marvin (however, match and dissimilarity functions are still only available from JChem). Chemical Terms changes are therefore logged in Marvin changes.
    • Standardizer

      • Action string and XML tag changes in Standardizer configuration

      • Standardizer and Reactor Wizard GUI facelifting

      • Standardizer configuration editor facelifting and refactor. Stand-alone runmode. New engine, new icon sets, new action editor panels. Old version exists, but deprecated

      • Standardizer action for converting alias and label to abbreviated group

    June 20th, 2008: 5.0.5

    Marvin 5.0.5 is included

    New features and Improvements

    • JChem Base:

      • Hash Code is used for exact search whenever possible to speed up screening

      • A new public table type option has been created: mysqlTableType in StructureTableOptions for MySql. Created JChem table type is depending on it's value


        • MYSQL_DEFAULT_TABLE_TYPE - uses the default table type

        • MYSQL_FORCE_INNO_DB - create InnoDb table

        • MYSQL_FORCE_MYISAM - create MyIsam table.

        For the property table a new API method was created: createPropertyTable for mysql in DatabaseProperties, it has an additional parameter. The table type setting is possible with this parameter.

      • JChemSearchOptions, MatchCountOptions implements Serializable

    • JChem Cartridge:

      • jc_compare accepts VARCHAR2 queries for BLOB structure columns


    • JChem Base:

      • Search in database sometimes returned a few more hits than the limit set for maximum result count

      • Hit coloring fix: superatom S-groups are now colored if the S-group contains hit atoms

      • If an upper case character was in the table name, molecular descriptors didn't work in some cases

      • Occasional bug when regeneration Chemical Terms columns for Markush structures in fixed (appeared in Instant JChem)

    • JChem Cartridge:

      • Extending cost estimation to JChem structure tables and BLOB structure columns ()

      • jcf_evaluate(b)/jcf.evaluate always return 0

    May 24th, 2008: 5.0.4

    Marvin 5.0.4 is included

    New features and Improvements

    • JChem Base:

      • API documentation of sss.search.JChemSearchOptions has been improved.


    • JChem Base:

      • JChemSearchOptions.setMatchCountOptions() had no effect.

      • When adding new Chemical Terms columns to an existing query table, the results were calculated with normal standardization (opposed to query standardization)

      • The following settings were lost if set via JChemSearch.setSearchOptions(JChemSearchOptions): dissimilarityMetric; descriptorConfig; descriptorName; optimizeQueries

      • Some Markush structures with Superatom Sgroup were not found due to incorrect attachment point calculation.

      • Deprecated applet parameters were used in Legend.jsp in db_search JSP example.

    • JChem Cartridge:

      • Specifying null as jchemproperties table for jc_insert resulted in ORA-00903.

      • Fixed wrong jc_compare results due to incorrect evaluation order of search properties.

      • DELETE row and direct locator INSERT did not work with regular structure tables having CLOB structure column".

    • Standardizer:

      • Standardization of query structures with transform rule threw License exception.
    • Reactor:

      • Reactor returned incorrect results in some cases if a bond in the reaction scheme connected to a nitrogen was transformed from non-aromatic to aromatic.

    April 21st, 2008: 5.0.3

    Marvin 5.0.3 is included

    New features and Improvements

    • JChem Cartridge:

      • jc_insert(b) with duplicate filtering (and with halt on duplicates turned off) now returns the the cd_id of matching structures in the database as negative numbers
    • Chemical Terms:

      • Some Chemical Terms functions are renamed: enumerationCount() -> markushEnumerationCount(), enumeration() -> markushEnumerations(), randomEnumeration() -> randomMarkushEnumerations() (old names are still available)
    • Standardizer:

      • New command line option "--export-fields-to-smiles" added to Standardizer


    • JChem Base:

      • SearchOptions.get/setOption() could not handle similarity search type.

      • Improved reaction searching speed in case of reacting center query property.

    • JChem Cartridge:

      • "jc_matchcount always returned 1"

      • When finding duplicates, jc_insert always reported 1 as the cd_id of the matching structure found in the database.

      • jc_compare's tautomerSearch options always turned on tautomer searching, even if value 'n' was specified.

      • jc_compare's tautomerSearch option is now deprecated. Instead, "tautomer" should be used (in order to be consistent with jcsearch).

      • jc_insertb didn't accept table name value as string constant in PL/SQL

    • Chemical Terms:

      • Changed the default values of "min basic pka" and "max acidic pka" parameters from -1000 and 1000 to -10 and 20 in functions using pKaPlugin (pKa(), acidicpKa(), basicpKa(), acidicpKaLargeModel(), basicpKaLargeModel())
    • Reactor:

      • Reactor threw exception if there were unmapped reaction components in the reaction scheme without changing atoms.

    March 20., 2008:

    • Marvin is included

    • JChem Base:

      • Fix for incorrectly applied ringatom property in search.

    March 18., 2008: 5.0.2

    • Marvin 5.0.2 is included

    • Chemical Terms:

      • Initialization of Chemical Terms Evaluator is faster

      • hasValenceError() function has been added

    • Bugfixes:

      • JChem Base: Fix for "Hits may appear multiple times in hit list in case of enumerated PERFECT search"

      • JChem Base: Fix for "No valid license has been found. Product name: Markush Enumeration Plugin" (in case of searches containing query features)

      • JChem Cartridge: Fix for "JChem Server stops on user log-off when installed as a Windows Service"

      • JChem Cartridge: Fix for "Deadlock in DELETE FROM update log table"

      • JChem Cartridge: Fix for "Indexing without index parameters aborts with error message"

    February 18, 2008: 5.0.1

    • Marvin 5.0.1 is included

    • JChem Cartridge: support for automatic Chemical Terms calculation

    • Chemical Terms:

      • enumeration() returns all or a given number of enumerated structures

      • evaluate command line parameter -f has been changed: now -f, --format <format> specifies the output format if the result is molecule

    • Standardizer:

      • neutralize action does not neutralize mesomeric atoms in the form of A+A- (like nitro)

      • neutralize action also removes mapped and isotopic hydrogens if required

      • unmap action removes atom maps from molecules, too (not only from reactions)

    • LibraryMCS: the API is more concise and clear

    • JChemSearch: setStructureCaching() was removed from API, only cached mode is available from now.

    • Bugfixes:

      • Problems with new column "cd_sortable_formula" with certain databases (MySQL 4.1 and older, MS Access, Derby) fixed.

      • Missing Markush license problem (in case of some searches containing query features) fixed.

      • Regeneration speedup for "jcman u" and at JChemManager GUI startup

      • Exporter.setSelectStatement(): problem fixed when specifying additional data fields

      • JChem Cartridge: fixes in server.sh and server.bat

      • JChem Cartridge: fixing "haltOnBadFormat index parameter has no effect"

      • MCS: methods getResultQueryBonds() and getResultTargetBonds() always returned null

      • Chemical Terms: majorMs() function threw exception in JChem 5.0.0

      • Chemical Terms: Fixing "Boolean operator "!" (NOT) is not always recognized in Chemical Terms expressions"

      • LibrayMCS: ClusterEnumerator.next() failed when cluster count was zero

    January 9, 2008: 5.0

    • Marvin 5.0 included.

    • Tautomer searching of JChem Base and Cartridge does not require explicit tautomer plugin license key.

    • Standardizer groups "query" and "target" for JChem Base and Cartridge are deprecated, but still work. Instead, RemoveExplicitH actions are not performed on queries.

    • Support of coordination compound representation in JChem Base and Cartridge.

    • New table types:

      • Query structures

      • Markush libraries

    • Improved API support for hit coloring

      • JChemSearch.getHitsAsMolecules() to support coloring of database search hits

      • HitDisplayTool to support hit coloring of arbitrary Molecule objects

    • Structure searching in database and memory:

      • Progressive return of results in JChem Base and JChem Cartridge

      • New generic query atom types for structural search types: AH, QH, M, MH, X, XH, G1-G18. See the documentation for more details.

      • API: Unified search options of database and in-memory search See: API documentation.

      • API: Custom atom & bond comparators to modify search behaviour (for advanced usage)

      • Search with Chemical Terms filter can use stored sub-expressions from C.T. columns.

      • Substructure and exact structure searching in combinatorial Markush structures, Markush structure reduction to hit.

      • Performance enhancements of structure searching in database with queries containing atom lists, query bonds and higher vague bond options.

      • Only narrow ends of wedge bonds are considered in 2D representation of the molecules, following IUPAC recommendations. To convert your existing 2D molecules created with the both-end interpretation to the new convention, use the ConvertWedgeInterpretation Standardizer action.

      • Aromatization will not aromatize rings that contain query bonds, to allow specification of explicit non-aromatic bonds. Example: [#6]=,:1-[#6]=,:[#6]-[#6]=,:[#6]-[#6]=,:1 SMARTS query is now not changed by aromatization.

    • JSP example improvements

      • Checkbox for duplicate checking at insert and update dialog

      • Sophisticated search options(ignore stereo, charge, isotope, vague bond options, etc.)

      • Display options for search results

      • Enumeration controls for Markush tables

    • Table option to considers tautomers during duplicate filtering

    • JChemManager (jcman) GUI : table options dialog

    • New field in JChem Base tables "cd_sortable_formula" to allow sorting by formula

    • Simplified installation/configuration for JChem Cartridge

    • JChem Cartridge provides cost estimation for Oracle Optimizer

    • Hit coloring and alignment support in JChem Cartridge

    • Reactor:

      1. Improved abbreviated group support

      2. Output reactions can be mapped in "changing" (ChemAxon) style

      3. Improved reaction mapping checker and automapper algorithm

      4. Added command line parameter -A (--skip-reaction-mapping-check ): skip reaction mapping check (API: Reactor.setSkipReactionMappingCheck(boolean)).

      5. Minor changes in Reactor API

      6. Various bug fixes

    • Standardizer:

      1. New tasks: ClearIsotopes, Neutralize, WedgeClean, and ConvertWedgeInterpretation

    • Chemical Terms:

      1. Integration of user-developed calculations as plugin calculations made easier

      2. New functions and plugin calculations:

        • Molecular surface area calculations: waterAccessibleSurfaceArea / ASA, ASAPlus, ASANegative, ASAHydrophobic, ASAPolar

        • Match functions: disjointMatchCount

        • Other: resonantCharge, molBinFormat / molImage

    December 3, 2007: 3.2.12

    • Marvin 4.1.14 included.

    • LibraryMCS 0.6:

      • Speed and cluster quality improvements

      • Export bottom layer

      • Various bug fixes

    • Bugfixes:

      • JChem Base CLOB handling fix for Oracle

      • jsp database example: hit coloring fixed for exact fragment search

      • JChem Cartridge mark structures having fingerprints without ring info

      • Evaluation of Chemical Terms expressions containing '&&' and '||' logical operators failed in some cases

    September 19, 2007: 3.2.11

    • Marvin 4.1.13 included.

    • Synthesis table creation fixed for PostgreSQL

    • Standardizer:

      • "Tautomerize" and "Mesomerize" actions can handle molecules with SRU S-groups

      • "ConvertDoubleBonds" action cleans 0D input molecules in 2D

    August 17, 2007: 3.2.10

    • Marvin 4.1.12 included.

    • R-group search: support for s* (substitution as drawn) query property

    • Structure flipping fixed for hit alignment

    • JChemManager: Chemical Terms evaluation error alone doesn't result in the structure being discarded during import when "Halt on error" is turned off.

    • JChem Cartridge: Fixing "DELETE row and direct locator INSERT not working with regular structure tables having CLOB structure column"

    • JChem Cartridge: Fixing concurrency bug which occurs with jc_react when used with combinatorial reactant matching.

    July 23, 2007: 3.2.9

    • Marvin 4.1.11 included.

    • JChem Cartridge: fixing bugs in user defined operator.

    • JChemSearch/JSP example: JChemSearch does not round the molweights any more. Client application gets molweights with proper precision from elemental analyzer

    • Chemical Terms:

      • New functions: dominantTautomer(), dominantTautomers(), dominantTautomerCount()

    July 6, 2007: 3.2.8

    • Marvin 4.1.10 included.

    • Bugfix in Marvin API

    June 26, 2007: 3.2.7

    • Marvin 4.1.9 included.

    • JChem Cartridge: fixing problem "jc(f)_standardize doesn't work when options are specified in addition to 'config'".

    • JChemSearch.setOrder() fixed

    • Export of Chemical Terms columns fixed

    • R-group search fix (in case of matching implicit hydrogens)

    • Exception with bond topology query fixed

    • Deprecated classes (API): SerialMoleculeGenerator, MoleculeGenerator, MoleculeGeneratorConfig (these classes will be removed in JChem 3.3 release)

    • JSP db_search example: cut end of custom field values in default layout, if field value is longer than 30 chars.

    May 17, 2007: 3.2.6

    • Marvin 4.1.8 included.

    • UpdateHandler.setIgnoreChemicalTermsExceptions() to allow insert / update in spite of errors during the calculation of one or more Chemical Terms columns

    • Standardizer:

      1. "Set" action of AbsoluteStereo task clears the absolute stereo flag if the molecule doesn't contain chiral atom(s)

      2. New task: ConvertDoubleBonds (converts the representation of double bonds with unspecified CIS/TRANS stereo information to wiggly or crossed type)

    • Chemical Terms:

      • New function: totalCharge
    • Bugfixes:

      • UpdateHandler CLOB support fixed

      • JSP database example: coloring fixed for implicit hydrogens and R-group queries

      • JChem Cartridge: fixing bug "jchem_core_pkg.use_password may cause pending operations to abort with 'Connection closed' error message"

      • JChem Cartridge: fixing bug "jc_evaluate and jcf.t_evaluate cannot be used with CLOB queries"

    April 16, 2007: 3.2.5

    • Marvin 4.1.7 included.

    • Improved alignment for reactions in MolHandler.align(). Rotation is performed on a per-fragment basis.

    • JChem Cartridge: vagueBond search option added

    • JChem Cartridge: CLOB support (limited to "US-ASCII" encoding) added

    • JChem Cartridge: VARCHAR2 operators overloaded with CLOB/BLOB

    • JChem Cartridge: jcf package for overloaded functional equivalents created

    • Chemical Terms:

      • New functions: name, traditionalName, molBinFormat
    • Bugfixes:

      • JChemSearch: setDoubleBondStereoMatchingMode() did not work in multi-processing environments.

      • UpdateHandler: CLOB support fixed

      • CombinationEnumerator/Reactor/JChemCartridge: concurrency problem fixed in jc_react.

      • Standardizer: fixes in template based clean

    March 14, 2007: 3.2.4

    • Marvin 4.1.6 included.

    • LibraryMCS:

      • Keep rings option

      • Speed improvement

      • Enhanced clustering algorithm

      • Various bug fixes

    • JChem Cartridge: jchem_core_pkg.set_password function added

    • JSP examples

      • jsp1_x example has been moved to a new directory: db_search.

      • The simple JSP example accessible from local jchemsite.

    • Bugfixes:

      • Fix for rare problem during the import of multi-line SDF data fields

      • JSP database example: Hit alignment fix in case of different query and target dimensions

      • jcman command line import: cd_id field import fix

      • JChem Cartridge: Fix for password field behaviour in the administration GUI

      • JChem Cartridge: Fix for mapping style deprecation problem in jc_react

      • Reactor: pyridinium ions in the reagents became doubly protonated in the products bug fixed

      • Standardizer: bug in Tautomerize action fixed

    January 9, 2007: 3.2.3

    • Marvin 4.1.5 included.

    • Bugfixes:

      • Fingerprint generation: possible search problem for certain queries fixed, slight search performance improvement

      • R-group search: restH option fixed

      • ...MatchCountInRelation() performance enhancements (classes chemaxon.sss.Search, chemaxon.jchem.db.JChemSearch and jc_matchCount cartridge operation comparisons are affected)

      • Coloring fix in the JSP database example for superstructure mode

      • Fixed: pKa calculation through Chemical Terms was slow in JChem 3.2.2 version.

    December 8, 2006: 3.2.2

    • Marvin 4.1.4 included.

    • New search option: stereo model

    • jcsearch returns property(SDF tag) CD_ID when searched in database

    • LibMCS: Enhanced user interface

    • Bugfixes:

      • BCUT: missing multiple eigenvalues

      • Standardizer: bug in "remove all R-group definitions" action fixed

      • Fixes in JSP examples

    November 21, 2006: 3.2.1

    • Marvin 4.1.3 included.

    • JChem Cartridge: Reaction similarity search works with operators placed before the WHERE clause as well

    • JChem Cartridge: Tautomer search support added

    • Reactor:

      1. Removed command line parameter -V (--filter-valence-error) and Reactor.setFilterValenceError(boolean) method from API.

      2. Command line parameter -a (--mapping-style) works again, because automatic handling of mapping styles is slow in some cases. It will be removed in the near future. (API: deprecated Reactor.setMappingStyle(int)).

    • Bugfixes:

      • JChemSearch: default metric fixed for reaction similarity search

      • HitAlignmentAndColoring.java example fixed (alignment was missing)

      • JChem Cartridge: handle structure tables without explicit table type

    October 17, 2006: 3.2

    • Marvin 4.1.2 included.

    • .NET Support via JNBridge

    • JChem Base

      • Derby support added.

      • Installer for easier deployment

      • chemaxon.jchem.db.Importer does not write duplicate structure information to standard error by default, use setInfoStream() if needed.

      • Multi-processor support during import and regeneration.

      • Structural search:

        • Searching of mixture, formulation and component brackets

        • Reacting center bond query feature

        • Tautomer search option

        • Default aromatization type changed to general

        • No-structures return only no-structures in exact and superstructure search

        • Flexible search options: ignore charge, valence, isotope and radical, mixture brackets, vague bond matching

        • New class: chemaxon.sss.search.StandardizedMolSearch for doing standardization and search in the same step.

        • R-group search support for reactions

      • Utility class Updater to help the upgrade process in JChem-based applications.

      • MolHandler.align()expands S-groups for correct alignment.

      • Table types were introduced in JChem.

      • Reaction similarity search:

        • ReactionFingerprint descriptor (implemented as MolecularDescriptor)

        • API classes: ReactionFingerprint, RFParameters, RFGenerator

        • Reaction fingerprint metrics: ReactantTanimoto, ProductTanimoto, CoarseReactionTanimoto, MediumReactionTanimoto, StrictReactionTanimoto

      • UpdateHandler.setValuesForFixColumns[...] methods were deprecated. Use setStructure(String) or setStructure(byte[]) and setID()

    • JChem Cartridge:

      • Bug fixes:

        • Superstructure search fails on NULL structures

        • Operator jc_formula_eqb returns bogus results

      • New features:

        • jchem_core_pkg.get_idx_stats added to allow obtaining index statistics

        • DDL functions for handling JChem-tables added

        • config_jcart_users.sql added for access rights management of JChem Cartridge users.

        • jc_react4accepts SELECT statements for reactants (direct insert into product table)

        • more options for jc_react

    • R-group decomposition API extension: added findLigand(int ligandId, int[] hit, int[] ligandIds), getLigandIds(int rindex, int[] hit, int[] ligandIds), getLigandId(int rindex, int[] hit, int[] ligandIds).

    • Reactor:

      1. Graphical user interface for Reactor

      2. Reactor configuration XML files are no longer supported.

      3. Command line parameter -g (--single) is changed to -l (--single).

      4. Added command line parameter -M (--map-result): maps output reaction in specified style (API: Reactor.setOutputReactionMappingStyle(int)).

      5. Added command line parameter -V (--filter-valence-error): using this option products with valence error(s) can be filtered out (API: Reactor.setFilterValenceError(boolean)).

      6. Added command line parameter -T (--standardize-products): standardize products according to configuration (API: Reactor.setProductStandardizer(Standardizer)).

      7. Separate standardization of each reactant and product using standardizer task groups.

      8. Removed command line parameter -y (--standardization-type), because reactants and products can be standardized separately (API: removed Reactor.setStandardizationType(int)).

      9. Removed command line parameter -a (--mapping-style), because reaction mapping style is handled automatically (API: deprecated Reactor.setMappingStyle(int)).

    • Standardizer:

      1. Graphical user interface for Standardizer

      2. Graphical configuration builder utility for Standardizer configurations

      3. R-group definition removal method added to Removal

      4. New tasks: Tautomerize, Mesomerize, MapReaction, and UnmapReaction

      5. Added task groups: an option to select the tasks to be processed. Added command line parameter -u (--active-groups). API: setActiveGroups(String[] groups) and setActiveGroup(String group).

    • Chemical Terms:

      1. Molecules and functional groups can also be referred by names, not only by explicit SMARTS strings.

      2. Chemical Terms editor with syntax highlighting (in Reactor GUI).

      3. Several new plugin calculations: distance, angle, dihedral, stericHindrance, leconformer, conformers, hasValidConformer, canonicalTautomer, stereoisomers, tetrahedralStereoisomers, doubleBondStereoisomers, chiralCenter, sigmaOrbitalElectronegativity, piOrbitalElectronegativity, solventAccessibleSurfaceArea, vanDerWaalsSurfaceArea

      4. New function: molString

    • Fragmenter:

      1. Changed parameter -n (--no-data): atom label and/or fragment ID is not written depending on the setting ("L" and/or "I")

      2. FragmentStatistics: added parameter -m (--min-atom-count) to exclude small fragments from the statistics.

    • Added parameter -g (--ignore-error) to most of the command line tools. If this is specified, molecule import errors are ignored and processing is continued with the next molecule. Otherwise the program exits with error (as before).

    • Markush enumeration API (R-group, atom list, bond list, link node)

    July 20, 2006:

    • Bugfixes:

      • The bug "omitting last structure during RDFile import" fixed

      • PosgreSQL: OutOfMemoryException during cache loading fixed

    May 26, 2006: 3.1.7

    • Marvin 4.0.6 included.

    • JChem Cartridge: new table functions: jctf_evaluate and jctf_react4

    • JChem Cartridge: upgrade process refined (abort upgrade on error)

    • Importer option to collect the cd_id values for imported structures

    • Empty lines in SMILES files are now accepted as empty structures during JChem import

    • Bugfixes:

      • JChem Cartridge: fix bug "jc_evaluate fails with ORA-06502"

      • JChemSearch: EXACT search mode vs. setFilterQuery() bugfix

      • UpdateHandler will not detect the modified structure as duplicate during UPDATE operation

      • JSP database example: fix for Safari browser

    March 24, 2006: 3.1.6

    • Marvin 4.0.5 included.

    • JChemSearch.setStrucureCaching() has been deprecated. Only cached mode will be available in the future.

    • JChem Cartridge: jc_insert function supports SDF and RDF tags

    • JChem Cartridge: jc_react supports synthesis codes

    • Bugfixes:

      • Superstructure search reinitialization bug in database.

      • Reaction search: atom maps without pair are ignored in query.

      • JChem Cartridge: "option 't:e[^f]' is ignored and search type SSS is used"

      • JChem Cartridge: "calling use_password with corrected pw has no effect"

    January 23, 2006: 3.1.5

    • Marvin 4.0.4 included.

    • Standardizer task name changes:

      • AddExplicitH replaces the former Hydrogenize task.

      • RemoveExplicitH replaces the former Dehydrogenize and ImplH tasks.

      The old names are deprecated but kept for compatibility.

    • JChem Cartridge: Non-intrusive upgrade process to minimize impact on users' dependent objects.

    • Bugfixes:

      • Search: bug concerning generic bonds connected to R-groups fixed.

      • Structure cache: occasional NullPointerException and possibility of a deadlock fixed.

      • HSQLDB: improved cache loading (reduced memory footprint), uses BITAND in non-cached mode, HXSQL treated as HSQLDB

      • JChemSearch: bugfix for empty query

      • UpdateHandler: custom DB field names treated case-insensitive (fixes "SQL type not supported" problem for MS SQLServer)

      • JChem Cartridge:

        • Fixing bug "jcf_tanimoto returns incorrect results"

        • Bug fixes for the ASP example (including documentation)

    December 14, 2005: 3.1.4

    • JChemSearch: EXACT search mode uses hash code for screening if possible (speedup).

    • The upgrade of the JChem table structure (might be necessary when migrating from an older version) is also available from command-line by invoking

      jcman u

    • Bugfixes:

      • JChemSearch: structures specified inside the Chemical Terms expressions were not standardized.

      • JChemSearch: in some cases false hits with -1 cd_id were returned.

      • JChemSearch: exception for SIMILARITY search + empty query + Max. result count fixed.

      • UpdateHandler: fix for Oracle JDBC bug workaround of inserting big LOB values (caused import problem in some cases).

    November 11, 2005: 3.1.3

    • Marvin 4.0.3 included.

    November 4, 2005: 3.1.2

    • Marvin 4.0.2 included.

    • New search mode: EXACT_FRAGMENT

    • Support for queries with link nodes

    • JChemSearch.setFilterIDNotList() for excluding a subset of the table from the search.

    • JChem Cartridge:

      • jc_evaluation_x and jc_evaluationb_x added to enable generation of tautomers, resonants....

      • haltOnBadStructures option added to jc_insert (allow to discard badly formatted structures in order to insert all correct structures)

      • Added a few PL/SQL utility functions in the jchem_utils package.

    • Bugfixes:

      • JChem Cartridge:

        • Confusing error message "ORA-00942: table or view does not exist" during installation removed.

        • Workaround for the bug "dbms_lob.freetemporary does not free temporary BLOBs".

      • Search: fixed ArrayIndexOutOfBoundsException on hydrogens with query properties.

      • Search: Fixed isotope matching inconsistencies related to complex smarts expressions.

      • Exception for nameless SDF data fields fixed

    September 9, 2005: 3.1.1

    • Change in caching system: the cache logs are stored in separate tables for each structure table.

      The log tables are created automatically on the first start of the jcman GUI.

      The number of update logs to keep after cache update can also be changed from the jcman GUI in the Advanced tab of the Options dialog.

    • JChem Cartridge

      • Multiple query structures can be specified to a single search operator with implicit UNION operations between the result sets.

      • jc_compare_vb for VARCHAR2 targets and BLOB queries

    • Bugfixes:

      • UpdateHandler update operation fixes

      • Importer : file and DB field names are treated in case-insensitive way

      • Search: R-group search bug fixed for EXACT search mode

      • JChem Cartridge

        • Fixed bug: 'file format not recognized' error for functions and functional invocations

        • Fixed bug: standardizer config ignored for search functions and functional invocations

    August 31, 2005: 3.0.15

    • Bugfixes:

      • Search: Fixed exception with component level grouping query.

      • JChem Cartridge

        • Fixed bug: SELECT ... INTERSECT SELECT ... returns corrupt results

        • Fixed bug: options for jc_compare are evaluated all lower-cased.

        • Fixed bug: unfetched results "come back" to queries with no results.

      • Fixed bug concerning JChemSearch.setFilterIDList() with empty result set.

      • Minor cache improvements

    August 23, 2005: 3.1

    • Marvin 4.0.1 included.

    • JChem Base

      • HSQLDB support added.

      • Structural Keys for speeding up substructure search of a user-defined set of query structures.

      • JChemSearch

        • New Search features

          • Filtering by a set of specified cd_id values via setFilterIDList(int[]).

          • The default setting for setStructureCaching changed to true.

        • The SQL specified for setFilterQuery(String) can also be used for ordering the result with an "ORDER BY" clause.

      • Custom select statement can be sepecified for Exporter allowing the export of related data from other tables and the ordering of structures.

      • The compression of the cd_structure field can be disabled in the options menu of JChemManager.

      • All RDBMS-dependent options are hard coded for the supported databases, the correspondig menus have been removed from the GUI.

    • JSP example web application

      • Ability to search on previous hit lists.

      • Improved administration in setup.jsp.

      • Session ID prevents sessions interfering if accessed from the same computer.

    • Search: new query properties: substitution count (s<n>, s), ring bond count (rb<n>, rb), unsaturated atom (u); searching lone pairs

    • Standardizer:

      • stoichiometry expansion

      • template based clean

      • new Removal methods: "keepSmallest" and "removeLargest"

      • API: added methods

        • getAppliedTaskIDs()

        • getAppliedTaskIndexes()

    • Reactor: standardization can be specified directly in the -S, --standardize parameter.

    • New and improved reactions in the ChemAxon Reaction Library.

    • FragmentStatistics: added parameter -e, --default-activity to set activity for fragments with no activity value.

    • R-group decomposition added.

    • Bugfixes:

      • Search: searching for chiral atoms with symmetrical ligands

      • Search: Database storage of H2 molecules

      • Search: R-atoms match to themselves in EXACT search mode

      • Search: stereo double bond matches target double bond with implicit H ligand and various other double bond stereo fixes

      • PMapper: output reflects the original atom order (instead of the atom order in the standardized molecule)

      • PMapper: improved pharmacophore type perception based on calculator plugins

      • Reactor: requires double bond stereo matching for all reactant double bonds, marks unspecified double bond stereo on product side by wiggly bond ligand

      • JChem Cartridge: Fix for bug "All users use connections with the same identity in Tomcat even if Tomcat is not configured for 'superuser-mode'".

    July 29, 2005: 3.0.14

    • Marvin 3.5.9 included.

    • JChem accepts SDFiles with missing molfile section

    • Bugfixes:

      • JChem Cartridge: Fixed problem with jc_evaluate when applied to empty/null smiles.

      • JChem Cartridge: Fixed bug "Similarity search fails with 'instance creation' error when executed in non-index-scan mode"

      • JChem Cartridge: Fixed bug "jc_insert treats isotope as duplicate of element".

    June 28, 2005: 3.0.13

    • Marvin 3.5.8 included.

    • Bugfixes:

      • LibMCS -m flag ignored the minimum MCS size set, it works now

      • PERFECT search fix for certain cases

      • Search fix for explicit H-s near query bond

      • Search fix for inconsistent results of some bond topology queries

      • Cartridge: custom standardization table setting fixed for non-JChem cartridge tables

      • Cartridge: Fix bug "absoluteStereo index parameter has no effect on search"

      • Cartridge: Fix bug "chemical terms returning values of types other than java.lang.Double are not allowed"

      • Cartridge: Fix bug "setting fingerprint properties as index parameters has no effect"

      • Cartridge: Documentation bug (superstructure search)

    • New Features:

      • Cartridge: allow the absoluteStereo index parameter to be changed using ALTER INDEX

    May 30, 2005: 3.0.12

    • Marvin 3.5.7 included.

    • New Features

      • JChem Cartridge

        • empty and null string support

        • BLOB support

        • superstructure search (isin())

        • maxHitCount

        • Operator jc_standardize added

        • multi-threaded index creation

        • use_password() to avoid the need for a highly privileged user in Tomcat

        • support in the administration GUI for Tomcat security domains

    • Bugfixes:

      • Transaction related bug fixed for generateResultTable

      • Molecular weight always has the desired number of decimals in the table

      • UpdateHandler: exception handling fix in deleteRows()

      • Search bugfix: double bond stereo matching with isotopic H ligand fixed.

      • Search bugfix: matching of implicit H to isotopic H in case of EXACT searching fixed.

      • Unlabeled chiral center in enhanced stereo molecule is considered ABS.

    April 18, 2005: 3.0.11

    • Bugfixes:

      • Oracle 8 compatibility restored for JChem Base.

      • MolSearch.findAll() initialization bug when using the same MolSearch object repeatedly.

    March 30, 2005: 3.0.10

    • Marvin 3.5.5 included.

    • Bugfixes:

      • JChemSearch treats input strings as SMILES in the default query mode (QM_DEFAULT) if the search mode is SUPERSTRUCTURE.

      • Fixes for empty structures.

      • Fix for MS Access

      • Compare closes output streams properly.

      • Convenience scirpt/batch program optimize in examples/bin is fixed.

      • Ring count query property [R] in SSS mode of MCS fixed.

      • Fix of perfect search for certain molecules with multiple chiral centres.

      • JChem Cartridge: fixes bug resulting in "ORA-00942: table or view does not exist" errors for certain search operations accessing JChem tables with non-domain-index scan method.

      • JChem Cartridge: fix bug resulting in "ORA-01000: maximum open cursors exceeded" errors for certain operations on Oracle 10g.

      • JChem Cartridge: fixes for various documentation bugs.

    March 3, 2005: 3.0.9

    • Bugfixes:

      • Marvin Document (MRV) import bugfix.

      • Structures with undefined R-groups (R1, R2, etc. atoms) will import without error.

      • Cartridge : bugfix for structures that cannot be described in cxsmiles format.

      • MCS: strongly interconnected structures like cubane will not crash MCS.

      • Search: bugfixes related to bond topology query property at double bonds and excluded atoms.

    February 8, 2005: 3.0.8

    • Marvin 3.5.4 included.

    • New features:

      • in LibraryMCS

        • fast search option: up to 5 times faster than standard mode

        • low memory mode: bit slower than normal mode, though uses significantly less memory

        • new termination condition: minimal similarity measurement

        • more suitable default values

    • Bugfixes:

      • LibraryMCS: wrong license key name

      • Search: chiral centre next to superatom group in query

      • JChem Cartridge for Oracle: fixed out of memory error with Oracle 10g

    January 26, 2005: 3.0.7

    • Bugfixes:

      • JChem Cartridge: Could not be installed.

    January 25, 2005: 3.0.6

    • Marvin 3.5.3 included.

    • Bugfixes:

      • Speedup: Molecular Descriptor screening queries with Chemical Terms filter expressions are faster.

      • Minor GUI fix in SynthesisBrowser.

      • UpdateHandler fix: >4k molecules are properly inserted into Oracle LOB (BLOB, CLOB) cd_structure field in INSERT_WITH_ID mode.

      • Cartridge: the administrator password is stored with MD5 encoding for the configuration interface. Since this is an incompatible change, the file [user_home]\chemaxon\.cartridge (under Windows) or [user_home]/.chemaxon/.cartridge (under Linux) should be deleted to provide access again to the administration page.

      • ChemicalFingerprint generation does not require Standardizer license when used with the default configuration.

    • Improvements

      • JChem Cartridge: Improve search speed on Oracle 10g.
    • Changes in behavior

      • JChem Cartridge: Accept ANY ATOM in SMILES targets.

      • JChem Cartridge: jc_insert(<structure>, <target-table>, <jchemproperties>, 'true', 'false') discards duplicates. In previous versions, duplicates were inserted and a warning output in the session trace files.

    • Reaction library update.

    January 10, 2005: 3.0.5

    • Bugfixes:

      • JChem Cartridge: Fix result set -- REF CURSOR problem with Oracle 10g.

      • JChem Cartridge: Fix problem with jc_insert when the 'checkDuplicates' parameter is set to 'true'.

      • JSP example: displaying of data fields fixed.

      • Exception when changing the layout in Synthesis Browser fixed.

    December 23, 2004: 3.0.4

    • Bugfixes:

      • JChem Cartridge: Fix memory leak during domain index scanned searches

      • JChem Cartridge: Fix hang during domain index scanned searches

      • JChemSearch bugfix: slight chance of deadlock in multi-thread mode eliminated

      • JChemSearch: getResult() no longer throws exception if result table is used.

      • BLOB and CLOB type cd_structure can store bigger than 4K structure strings (Oracle bug workaround).

    December 15, 2004: 3.0.3

    • Search

      • LP (lone pair) support
    • Bugfixes:

      • JChemSearch bugfix for cases when matchCount includes 0 (only fixed in cached mode yet).

      • NullPointerException at the end of import fixed.

      • JChem Cartridge: jc(f)_molweight and jc(f)_formula no more fail when when used in "SELECT ... FROM dual" statements

      • JChem Cartridge: Fix "non statement parsed" error for DDL operations.

      • JChem Cartridge: "specifying the TABLESPACE index parameter without the STORAGE parameter has no effect" fixed.

      • JChem Cartridge: installation made more fool-proof.

    December 7, 2004: 3.0.2

    • Bugfixes:

      • Import problem with converted old Jchem tables fixed.

      • JSP example fix.

      • Reactor and Standardizer set the radical atom property according to the reaction equation.

      • Bug "Oracle EXP utility hangs in processing extended indexes" fixed.

    December 6, 2004: 3.0.1

    • Bugfixes:

      • Occasional exception in Importer fixed

      • jcman failed to run in command-line mode without a graphical environment

      • License management problem fixed.

    • New Features:

      • Default properties added in JChem Cartridge.

      • Functions equivalent to index operators added in JChem Cartridge.

    December 1, 2004: 3.0

    • Marvin 3.5.1 included.

    • JChem Base

      • The structure of JChem tables changed, 3 more columns were added:

        • cd_hash : hash code for speeding up duplicate filtering during import (registration). With this column there's no need for a composite index on the fingerprint columns, therefore the length of the fingerprint is no longer limited by the maximum length of composite fingerprints in the database.

        • cd_flags : for storing molecule-specific tags. Currently only indicates if the missing chiral flag should be overridden in imported structures. This means there's no need to change the chiral flag field in the original molecule string when the import option "Set chiral flag for MDL formats" is enabled.

        • cd_timestamp : the timestamp of the insertion of the structure.

          The old tables are transformed automatically into the new format on the first start of the jcman GUI.

      • JChemSearch

        • Multiple search threads for increased performance on multi-processor systems. Currently only for searches that use structure cache.

        • Timeout option to abort searches which the client stopped checking.

        • New search options:

          • Stereo search can be turned off

          • Double bond stereo matching mode

          • Exact charge matching

          • Exact isotope matching

          • Exact query atom matching

          • Exact radical matching

          • Exact stereo matching

          • Hydrogen count matching

          • Match count with boundaries

          • Match count in relation

      • Structure Cache improvements:

        • Incremental cache update: the cache won't be reloaded after every change to the table, only the changed rows are updated if possible.

        • Improved memory control:

          • maximum cache size may be specified with setMaxCacheSize

          • auto detection of available memory

          • minimum non-cached memory size may be specified with setMinNonCachedMemory. This amount will be reserved for other allocations.

          • least recently used tables are dropped from the cache if necessary.

        Note: StructureCache is no longer a public API, and direct use of the class is not recommended any more, since some incompatible changes had to be made for the new features.

      • Rxnfile import / export

      • Structure search speedup

      • Import speedup

      • JSP example web application

        • Chemical Terms expression can be specified for the query

        • Structure caching can be turned on / off using the configuration file.

          Please make sure you have set the appropriate cache setting after upgrading your JChem version..

          For more information see the JSP setup guide.

        • The status of the Structure Cache can be monitored from the "About" dialog

      • Evaluator

        • Added Language Reference.

        • Added Working Examples.

        • Added topology analyser plugin references (see the Short Reference).

      • Bugfixes

        • MySQL 4.x compatibility issue fixed

        • Compatibility issue fixed when upgrading early versions of JChem

        • JSP example : problem with deleted structures fixed

        • Other minor bugfixes

    • Search

      • New search mode: SUPERSTRUCTURE search.

      • Double bond stereo: adjoining wiggly bond means "cis or trans"

      • new jcsearch options: --stereoSearch, --exactStereoSearch, -t:c (count hits), --maxResults:

    • Standardizer

      • New actions: clear stereo and set/clear absolute stereo (chiral) flag
    • Synthesizer

      • New algorithm: ExhaustiveAlgorithm.
    • JChem Cartridge

      • New options to jc_compare.

      • jc_evaluate for calculation based on chemical terms.

      • Dramatically improved performance and stability.

    • Maximum Common Structures of a compound set

      • Small/medium sized compound sets, libraries (100-10000 structures) can be analyzed

      • finds all scaffolds (molecular backbones), hierarchically clusters structures around these scaffolds

      • fast: 100 structures/s

      • experimental viewer

    September 23, 2004: 2.3.4

    • Bugfixes:

      • JchemSearch FilterQuery option fixed for empty query structure and for MySQL without caching.

      • JSP: problem with exporting of hits solved.

    September 1, 2004: 2.3.3

    • Bugfixes:

      • Structure Cache synchronization bug fixed.

      • Search speedup when caching is off.

    August 23, 2004: 2.3.2

    • Bugfixes:

      • Connection timeout and API fixed in StructureCache.

      • Update non-JChem tables fixed in JChem Cartridge.

      • Insert, update, index columns in non-JChem tables containing reaction SMILES fixed in JChem Cartridge.

    • The speed of updating and deleting records from non-JChem tables with JChem Cartridge drastically improved.

    August 16, 2004: 2.3.1

    • Marvin 3.4.3. included.

    • Search

      • New class MCS for Maximum Common Subgraph and Maximum Common Edge Subgraph (MCES) search. The class provides an alternative algorithm to substructure search too (less comprehensive though faster than MolSearch).
    • Bugfixes:

      • JchemSearch FilterQuery option speedup.

      • NullPointerException fixed in DatabaseSearch.cacheStructures().

      • "List non-hits" (-n) option did not work in jcsearch in database mode.

    August 6, 2004: 2.3

    • Marvin 3.4.2. included.

    • JChem Base

      • JChemSearch

        • FilterQuery option

        • SMILES/SMARTS input mode option

        • Reduced memory footprint for structure caching.

        • Restructured for efficiency.

      • Chiral flag can be set for MDL formats on import, if missing.

      • Filtering of empty structures is optional for import.

      • BLOB and CLOB columns can also be used for the cd_structure field of structure tables.

        Use DatabaseTools.readBytes to retrieve a BLOB, CLOB or LONGVARBINARY fields in a unified way.

      • Improved popup window check in the JSP example.

      • Bugfixes

        • SynthesisBrowser saves connection data

        • JSP example fixed for descriptors without coloring

        • Database compatibility fixes for PostgreSQL

        • Molecular Descriptor bug on MySQL fixed.

        • Other minor bugfixes

    • JChem Cartridge

      • Overall stability on all platforms has been substantially improved.

      • Performance and stability of the jc_insert operator has been improved.

      • Performance of index creation on non-JChem tables have been substantially improved.

      • Automatic check of version conformance have been implemented between Java libraries installed in Oracle and those used for the JChem Streams WEB application.

      • Automatic check of JChem table versions have been implemented, means to upgrade to new table versions has been provided.

      • The following index parameters have been added (Extensible Index, jc_idxtype):

        • std_config, to specify standardizer configuration

        • RegenerateTable, to create index on a structure table generated by an earlier, incompatible version of JChem

      • The following operators have been added:

      • jc_compare

      • jc_tpsa

      • jc_react

      • jc_transform

      • jc_molconvert

      • jc_molconvertb

      • The following bugs have been fixed:

        • Cannot use a JChem Cartridge installation from a different schema.

        • If the destination table of jc_insert does not exist, the error message erroneously states that the table is not a JChem table.

        • Custom fingerprint attributes are not always used with jc_tanimoto.

    February 17, 2004: 2.2.1

    • Marvin 3.3.2. included.

    • JChem Cartridge

      • jc_matchcount operator added

      • bugfixes

    • Fragmenter

      • API improvement: a complete XML configuration can be set in the constructor.
    • JSP example application:

      • Popup window check fixed

      • Multi-line data fields displayed correctly

      • Other minor bug fixes

    • JChemSearch:

      • Fixed problem with filter table + empty query.

      • Fixed result table append mode.

    • Other bug fixes

    January 30, 2004: 2.2

    • JChem Base

      • Custom standardization can be specified for structure tables.

      • "Assume absolute stereo flag" option for structure tables.

      • Import-export support for Marvin Document file format.

      • Minor GUI improvements in JChemManager ( jcman ).

      • Speedup for import with duplicate filtering.

      • Improved hit coloring.

      • Duplicate IDs can be retrieved from Importer by using setStoreDuplicates(boolean) and getDuplicateIDs() .

      • Negated (not contains) searches supported by JChemSearch and available in the JSP example application.

      • Absolute stereo matching mode can be specified for JChem search with setAbsoluteStereo(int)

      • SMARTS import mode can be explicitly specified for MolHandler.

      • Bugfixes

        • Retrieving the ID of last inserted structure got much faster for MySQL

        • Proper error message from JChemSearch when specified table doesn't exist.

        • Structure table field cd_smiles can contain more than 254 character long SMILES for Microsoft Access.

        • Occasional error at table regeneration fixed.

        • Properly determining maximum allowed fingerprint length for all supported databases.

    • Oracle Cartridge

      • Improved speed and stability of JChem Cartridge

      • DML functionality (insert, update)

    • Search

      • MDL Enhanced stereo representation for relative stereoconfiguration (handling of ABS, OR and AND labels at chiral centers.)

      • New options (get & set methods):

        • ExactRadicalMatching, ExactIsotopeMatching, ExactChargeMatching, ExactQueryAtomMatching replace ExactAtomMatching

        • DoubleBondStereoMatching replaces StereoCareChecking.

        • Query/TargetAbsoluteStereo (ignore chiral flag)

      • addMatch methods: Enhanced performance if certain query and target atoms are assigned to each other before the search.

      • getMatchCount() and isMatchCountInRelation() methods for counting the number of occurrences of a query in a target molecule and for efficiently deciding conditions related to this.

      • In script jcsearch :

        • multiple queries from file

        • && (AND), || (OR) for multiple queries

        • negated (not contains) searches

        • database search mode

    • Screen

      • New molecular descriptors:

        • Topological Polar Surface Area

        • hydrogen bond donor/acceptor atom count

        • logP/logD values

        • molecular mass

        • heavy atom count

      • Plug-in system for user-defined molecular descriptors.

      • Molecular descriptor sets: user defined combination of arbitrary molecular descriptors; combined and component-wise dissimilarity calculations.

      • New pharmacophore definition using standard SMARTS notation.

      • API changes:

        • MDParameters and its derived classes for each molecular descriptor types (e.g. CFParameters, PFParameters, HBParameters) are publicly available.

        • New classes have been added: ScalarDescriptor, HAcc, HDon, LogD, LogP, TPSA, Heavy, Mass.

      • Bug fixes:

        • Scaled Tanimoto similarity formula corrected.

        • Generation of ChemicalFingeprint works with multithreading.

    • Chemical Term Evaluator

      • New expression syntax

      • Input contexts

      • New command line interface

    • Reactor

      • New options:

        • file storage of input molecules (--file-storage)

        • standardization type: pre, post, or pre-post (--standardization-type)

        • ignore reaction conditions (--no-condition)

        • return only some of the products (--extract)

        • remove duplicated product references (--remove-duplicate-refs)

      • New expression syntax in reaction definitions

    • Synthesizer

    • Fragmenter

      • New options:

        • maximum number of fragment sets (--set-count) (replaces old parameter --algorithm: the old "greedy" algorithm corresponds to set-count 1)

        • include extendable fragment sets (--extensive)

        • skip unfragmented molecules (--skip-unfragmented)

    August 14, 2003: 2.1

    • JChem Base

      • Marvin 3.2 included.

      • Import of non-structural SMILES data fields is supported. (Strings after the SMILES, separated by TAB.)

      • Search:

        • Enhanced performance of substructure search, especially in case of reactions.

        • Combinatorial explosion is avoided in many cases.

        • Several bugs are also fixed.

        • Query bond types "Single or Double", "Single or Aromatic" and "Double or Aromatic" are supported during substructure search.

      • JSP example

        • Substructure hit coloring

        • Hit alignment

        • Bugfixes

      • API changes:

        • The order of query and target atom type has changed in MolSearch.areMatchingBondTypes()

        • 2D and 3D molecule alignment with MolHandler.align()

      • Bugfixes:

        • Exception fixed when JChemSearch was run with search type "Perfect", and logging enabled.

        • Fixed bug when empty field list was specified for Exporter.

    • Oracle cartridge

    • Screen

      • user defined fuzzy smoothing using pharmacophore type specific smoothing vectors

      • better formula for asymmetric Tanimoto metric, performs significantly better

      • median hypothesis is now available

      • improved pharmacophore perception (mapping)

      • hitstatistics outputs hits in molecular structure file

      • generatemd is capable of producing statistics on descriptors generated

      • generatemd replaces generfp

    May 23, 2003: 2.0.1

    • JChem Base

      • Marvin 3.1.3 included.
    • Screen

      • enhanced fuzzy smoothing

      • explicit weights for pharmacophore point types and point distances, optimization of these weights

    May 7, 2003: 2.0

    • JChem Base

      • Marvin 3.1.1 included.

      • Structural fingerprints are changed for certain molecules, regeneration of structure tables suggested for optimal search results

      • R-group search

        • connections between R-groups allowed

        • speedup

      • RDfile import/export

      • Binary "AND" operator is used for Oracle (speedup)

      • JChemManager: Minor GUI improvements

      • JSP example

        • Multiple users (login page)

        • Multiple tables (table selection screen)

        • Supports Molecular Descriptor (e.g.: pharmacophore) similarity searches

          • Pharmacophore properties are displayed in hits via atom coloring
        • Remembers parameters set for last search

      • API changes:

        • ID of last inserted molecule is returned by all supported databases by UpdateHandler

          • Interbase users should export and recreate their tables due to changes in ID generation
        • Dissimilarity should be specified instead of similarity in JChemSearch

      • Bugfixes:

        • Duplicate filter did not work for some structures on import

        • R-group search: occasional Cis/Trans stereo problem fixed

        • Structure search bug concerning chirality fixed

        • Table creation with PostgreSQL fixed

        • DB2 export bug fixed

        • regeneration of tables from command line fixed

        • JSP example: problems with non-default property table fixed

        • R-logic bug fixed

      • Reaction search (search for reactions by reaction queries)

        • Search for transformation

        • Search for reaction component

        • Stereoselective reaction search (inversion/retention)

    • Chemical expressions

      • Chemical Terms (chemical expression language)

      • Evaluator (evaluating chemical terms)

    • Molecule Transformations

      • Standardization (mezomers, tautomers, counter ions, etc.)

      • Ionization (pH dependent ionized microspecies calculation)

    • Screen (virtual screening)

      • Configurable molecular descriptor generator

        • Topological fingerprint

        • Pharmacophore fingerprint

          • automatic pharmacophore point identification

          • fuzzy smoothing

          • Hypothesis generation

      • Virtual screening

        • Dissimilarity metrics

          • Euclidean, Tanimoto

          • numerous varieties (normalization, scaling, weighting, directing) that can be combined

        • Metric optimizer

          • tweaks metric parameters (scale factor, asymmetry factor, weights) to enrich hits

          • hit statistics to analyze and evaluate metric performance

    • SynthesisDesign.html (virtual synthesis suite)

      • Reaction modeling

      • Metabolism simulation

    • Trillian (drug design suite)

      • RECAP fragmentation
    • Configuration file editor

    November 21, 2002: 1.7.4

    • Fixed bug of missing implicit hydrogens in molecular formula.

    September 16, 2002: 1.7.3

    • Marvin 2.10.5 included.

    • Fixed bug of parity handling affecting duplicate filtering on import

    • Fixed bug of double bond stereo handling

    • Fixed bug of exact matching in case of queries containing generic atoms

    • Accelerated R-group search

    • R-groups can have primary and secondary attachment point on the same atom (bugfix)

    • New methods in MolSearch allow the exclusion of query and target atoms. setQuery(Molecule mol, int[] exclude) and setTarget(Molecule mol, int[] exclude)

    August 14, 2002: 1.7.2

    • Marvin 2.10.4 included.

    August 6, 2002: 1.7.1

    • Marvin 2.10.3 included.

    • MolSearch bug concerning chirality fixed.

    August 1, 2002: 1.7

    • Marvin 2.10.2 included.

    • R-group search

    • New query atom conditions:

      • aliphatic/aromatic

      • valence

      • connection count

      • hydrogen connection count

      • ring count

      • smallest ring size

    • New search options in MolSearch:

      • subgraphSearch

      • orderSensitiveSearch

      • exactAtomMatching

      • exactStereoMatching

    • Isotope sensitivity (earlier versions did not distinguish different isotopes).

    • Improved search performance in case of explicit hydrogens.

    • User's guide for search

    • JKlustor:

      • Two new parameters added to Compr.

      • Bug fixes including Compr overflow bug for very large datasets.

    • The ID of the last imported molecule is returned by using UpdateHandler.execute(boolean returnLastId).

      Note: This feature works only for Oracle yet.

    • Statistics after import/export in JchemManager.

    May 16, 2002: 1.6.2

    • Marvin 2.9.12 included.

    • PostgreSQL support added.

    • File-table field pairs can be specified also from command line on import.

    • Bugfixes for trigger creation/removal, HTMLTools.convertForJavaScript(), connection dialog, stereo checking in exact search, and more.

    • JKlustor improvements:

      • Public API for developers.

      • Table vs. file comparison in Compr.

      • The use of -w parameter changed: Only the weights of non-fingerprint columns should be specified relative to the weight of fingerprints.

      • Bugfixes in Ward and GenerFP.

    March 14, 2002: 1.6.1

    • Bug fixes, including import and export functions in the JSP example.

    March 12, 2002: 1.6

    • Marvin 2.9.11 included.

    • DB2 support added.

    • Enhanced multiuser support.

    • A new import/export text file format, the JTF added.

    • New classes added to JChem API providing import/export capabilities:

      • Importer

      • Exporter

      • ProgressWriter

    • From now Oracle uses triggers for incrementing the CD_ID column.

      JChem will detect older tables and creates the triggers. Do not run another copy of JChemManager when asked to proceed. Closing other JChem applications is also recommended.

    • Workaround for MM MySQL jdbc driver bug, reduced memory need in case of structure caching and exporting

    • Bug fix: Sometimes not the correct parity information was calculated when explicit H atoms were connected to chiral atoms. In that case of databases containing such atoms, the regeneration of the structure tables is advised.

    • Minor GUI improvements.

    • Using older JChem versions after installing this version in not recommended.

    December 22, 2001: 1.5.15

    • Marvin 2.9.8 included.

    • Bug fix for missing structures in SDF export.

    • Workaround for dialog sizing problem in KDE.

    November 28, 2001: 1.5.14

    • Marvin 2.9.6 included.

    November 26, 2001: 1.5.13

    • Fixing bug: missing structures at SDF export.

    November 19, 2001: 1.5.12

    • Marvin 2.9.5 included.

    • Method for checking if connection is alive: isConnectionAlive.

    • Workaround for occasional communication link failure with MySQL

    • Filtering rows and columns in SDfile export.

    October 15, 2001: 1.5.11

    • Marvin 2.9.2 included.

    • Fix: Windows style line separators in the export operation of JChemManager under Windows.

    • JKlustor:

      • Ward clustering includes Kelley type automatic cluster level selection.

    August 22, 2001: 1.5.10

    • Marvin 2.9 included.

    • Faster structure searching due to caching SMILES strings and fingerprints at the same time. See JChemSearch.structureCaching(boolean) .

    June 25, 2001: 1.5.9

    • Marvin 2.8.4 included.

    • JKlustor:

      • Ward clustering using the RNN approach

    June 12, 2001: 1.5.8

    • Marvin 2.8 included.

    • JKlustor:

      • Visualizing results. A new module, CreateView, composes an SDfile that contains both structures and calculation results. The generated SDfiles can be displayed by the MarvinView application.

      • Jarp: Optionally, nearest neighbor search can be run separately from clustering. (It helps to refine the setting of the clustering parameters, because the time consuming part of the process can be run before clustering.)

    May 27, 2001: 1.5.7

    • Marvin 2.7.12 included.

    • JKlustor:

      • Compr: A new module for comparing libraries based on diversity/dissimilarity.

      • Fix in Jarp: Odd number of fingerprint columns are also accepted.

      • Jarp: Optional clustering and diversity statistics.

    May 5, 2001: 1.5.6

    • Marvin 2.7.9 included.

    • Jarp:

      • Optionally, singletons may get negative cluster ids.
    • Methods are added to the UpdateHandlerclass for creating and dropping structure tables and for retrieving the names of structure tables.

    April 20, 2001: 1.5.5

    • Marvin 2.7.7 included.

    • Jarp:

      • common neighbors (-c option) are taken as a proportion of the number of elements in the shorter list. (Previously all elements in the two lists were used.) This results faster calculation and less singletons.

      • Optional centroid calculation.

      • Better command line syntax checking.

      • To save memory space, the descriptors are stored in float (4 bytes) instead of double (8 bytes) values.

    • Fixing a bug (since 1.5.2) that spoiled the default setting for the existence of the bitwise AND operator in the case of MSSQL Server, MS Access, and MySQL.

    April 8, 2001: 1.5.4

    • Improvements in Jarp: bugfixes, non-fingerprint descriptors.

    April 2, 2001: 1.5.3

    • Marvin 2.7.6 included.

    • Improvements in Jarp: bugfixes, faster comparison of neighbors.

    March 22, 2001: 1.5.2

    • Marvin 2.7.4 included.

    • New add-on module for clustering: JKlustor.

    • Improved compatibility with the Interbase Server product of Inprise (previously Borland).

    • Support of auto-incrementing the cd_id column by trigger.

    • Support of bitwise (binary) AND by built-in or user-defined functions in the database.

    • Information on integrating JChem with Apache and Tomcat.

    • Fix for exact searching of molecules containing pyrrole type N.

    January 20, 2001: 1.5.1

    Because of changes that affect fix columns in the database, regeneration of the structure tables is advised.

    • Marvin 2.6.6 (includes bugfixes in stereo information retrieval from 3D, handling NOT lists, cleaning, ...)

    • JChemSearch application for substructure searching in structure files from command line.

    • jcman can be applied as a command line application.

    • cd_smiles column stores H-s only for heteroatoms of aromatic systems.

    • Bugfix for chiral searching of 3D structures that have implicit H on chiral carbon.

    • Structures with query features may be entered into structure tables.

    • Hill order is applied at the calculation of the value of the cd_formula column.

    December 12, 2000: 1.5

    • Marvin 2.6.1 included.

    • New applications in the bin directory:

      • mview - displaying structure files.

      • molconvert - interconverting various file formats.

    • Stereo recognition at searching.

    • New property in JChemSearch: similarity.

    • Results can be ordered by

      • the calculated similarity in the case of similarity searching

      • the cd_id values in all cases

    • New import/export formats in JChemManager: Daylight Smiles and MDL Molfile

    • New fix columns: cd_formula and cd_molweight . If you would like to add these columns into an existing structure table, follow these steps:

      1. Export the old structure table into an SDfile.

      2. Drop the old structure table.

      3. Create a new structure table with the same columns defined.

      4. Import the SDfile.

      The examples will work only if you perform the above steps.

    • Workaround for ambiguities of Smiles notation: Explicit single bond ("-") in generated Smiles code when aromatic rings are attached by one single bond.

    • Regeneration menu option in JChemManager. The cd_smiles column needs to be regenerated in structure tables created with previous versions.

    June 23, 2000: 1.1.2

    • Fixes in the examples: workaround for a bug in IE's JavaScript interpreter at opening Insert or Modify windows.

    • Upgrade to Marvin 2.4.2.

    May 28, 2000: 1.1.1

    • Fixes in the JSP1.0 example: workarounds for JRun's JSP1.0 server.

    May 28, 2000: 1.1.0

    • New JavaBean: JChemSearch .

    • ActiveX and ASP compatibility.

    • New JSP 1.x and ASP examples.

    • Upgrade to Marvin 2.4

    • Default JCHEMHOME changed to c:\jchem in Windows

    March 22, 2000: 1.0.10

    • Upgrade to Marvin 2.3.2.

    • The JSP example also works with the Java Plugin.

    May 21, 2000: 1.1.0

    • Upgrade to Marvin 2.3.1.

    March 19, 2000: 1.0.9

    • Upgrade to Marvin 2.3.1.

    • Structure searching stored procedures for Oracle8 i .

    • Caching is extended to similarity search.

    • Fingerprint indexes are created in the Create option in JChemManager.

    • Marvin handling in JSP example is friendlier.

    • Bug fix in cache creation for searching.

    • Bug fix in aromatization.

    March 4, 2000: 1.0.8

    • Fixes for problems at inserting rows into structure tables in the case of some database engines, like Oracle and MS Access. (Faster import and fix for problems at concurrent structure insertions.)

    • Upgrade to Marvin 2.3.

    • Skipping erroneous structures during SDF import.

    • JSP example has been modified for JSP 1.0 compatibility. Caching fingerprints has been removed from the example.

    February 25, 2000: 1.0.7

    • Improvements in progress monitor for import/export (remaining time, molecule counter).

    February 21, 2000: 1.0.6

    • Fixing bug: Searching didn't give results when fingerprints were cached in JDK 1.1.x environment.

    February 10, 2000: 1.0.5

    • Import, Export and Delete dialog boxes pop up faster in JChemManager.

    February 8, 2000: 1.0.4

    • Fix for problem at viewing the Marvin applets from JChemManager's help

    • Fixing problem in recognizing MS Access.

    • Fixing bug at creating tables in the case of some JDBC drivers when the database doesn't support transactions.

    • Fixes in jcman, msketch, and generfp scripts for Sun compatibility.

    • Fixes in jcman.bat, msketch.bat, and generfp.bat for Windows95 compatibility.

    • Workaround for a Java bug that didn't allow starting JChemManager in some environments.

    • Java installation program.

    • Batch files and shell scripts for calling JChemManager (jcman), MarvinSketch (msketch) and GenerFP (generfp).

    • Link fixes in documentation.

    • Marvin Beans can be added to forms visually.

    • Help menu option in JChemManager.

    • Modified license file.

    • Fixing a bug that disabled the usage of any bond in substructure searching.

    • Bugfix in SDF export.

    • Bugfixes concerning exact and similarity searching

    • Bugfix in interpreting fingerprints.