Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

ECFP feature lookup demo

This is a usage example for chemaxon.descriptors.ECFPFeatureLookup API. This project is intended for the active users of ChemAxon ECFP implementation.

Input structure (pyrrole) Features (ECFP2)

Getting started

This project depends on ChemAxon proprietary jchem.jar available in JChem Suite platform independent (.zip) distribution. This distribution can be downloaded manually or retrieved from with proper credentials. Both approach are detailed.

Installing license

  • Make sure that ChemAxon licenses for the used functionalities are available and installed. For details see ChemAxon Installing Licenses documentation.

Manual download of JChem distribution

  • Make sure that you have the required registration to access ChemAxon product downloads and download JChem Suite - platform independent (.zip) distribution from
  • Unpack the downloaded file.
  • Locate file jchem/lib/jchem.jar in the unpacked directory.
  • Launch ./gradlew -Pcxn_jchem_jar=<PATH TO JCHEM JAR> installDist

Note that you can point to the location of jchem.jar in an existing JChem Suite installation.

Using ChemAxon Public Repository


After executing the installDist task a self contained distribution (including the compiled sources, dependencies, launch scripts) is built in directory build/install/ecfpf.

To get command line help launch

build/install/ecfpf/bin/ecfpf -h

To generate SMARTS illustration of ECFP features launch

cat build/install/ecfpf/data/caffeine.smiles | build/install/ecfpf/bin/ecfpf -idname > features-caffeine-ecfp4.smarts

To use a custom ECFP config XML use command line option -c <CONFIGFILE>

cat build/install/ecfpf/data/caffeine.smiles | build/install/ecfpf/bin/ecfpf -c build/install/ecfpf/data/ecfp-6.xml -idname > features-caffeine-ecfp6.smarts

Other property setting mechanisms

The above examples used command line property settings (-P<NAME>=<VALUE>). There are other ways to pass properties to a gradle build script, for details see

Known issues

The two configurations (manual download of JChem distribution/using ChemAxon Public Repository) are not equivalent. In the first case only the specified jchem.jar file and the built jar file are used in the classpath of the launcher scripts. In the second case all of the dependencies of jchem.jar are included in the classpath of the launcher scripts. On windows the resulting long command line causes problems.


This project is distributed under the Apache License 2.0. Some dependencies of this project are ChemAxon proprietary products which are not covered by this license. Please note that redistribution of ChemAxon proprietary products is not allowed.


Usage example for chemaxon.descriptors.ECFPFeatureLookup API




No releases published


No packages published