Page tree

Software Requirements

In order to run the applications in the JChem package Java Virtual Machine version 1.6 or later has to be installed.


JChemManager (jcman) has more requirements. See the Administration Guide for details.

Setting Environmental Variables

Some environmental variables should be set manually.

How to set environment variables ?


Under Windows these variables can be set from the Control Panel. For example in the case of Windows 7:
Start menu -> Control panel -> System -> Advanced system settings -> Environment variables
After changing the environment variables a new console (Command Prompt) should be opened so the changes can take effect.

To check the current setting of an environment variables, type "set" in the console. To print a specific variable type "echo %VARIABLE_NAME%".

Linux / UNIX:

The variables are usually set in a profile file for the used shell (e.g. ".bash_profile").

To check the current setting of an environment variables, type "set" in the console. To print a specific variable type "echo $VARIABLE_NAME".


Including the <JChem home>\bin directory of your JChem installation in the PATH variable allows you to start these programs from other directories of your system.


To allow database access for JChem applications, the appropriate JDBC driver should be included in the CLASSPATH environment variable (create this variable if not already present). JChem suite contains bundled JDBC drivers for the supported databases. If the bundled driver is not appropriate for your case, you can to override it with another JDBC driver. This is usually a .jar file, which is either distributed with the database, or can be downloaded from the vendor's site. Please note, that the actual file should be listed in the CLASSPATH before the bundled driver.

UNIX Shell Scripts and Windows Batch Files in JChem

Since running Java classes directly from command line might be difficult because of the long class names and the necessary setting of the classpath, JChem is supplied with batch files and shell scripts that simplify this task. These files can be found in the <JChem home>/bin directory.

comprComprDiversity/dissimilarity calculations for comparing compound libraries and individual compounds in a set.
crviewCreateViewComposing a new SDfile from an SDfile and a data table. It is useful for viewing the results of clustering.
cxcalcCalculatorPerforms chemical calculations by invoking calculator plugins.
evaluateChemical Term EvaluatorEvaluates chemical terms.
fragmentFragmenterCreates molecule fragments by applying predefined cleavage rules.
fragstatFragment StatisticsCreates fragment statistics from the output of Fragmenter.
generatemdGenerateMDGenerates molecular descriptor for molecular stuctures.
hitstatisticsHitStatisticsStatistics about the performance of parametrized dissimilarity metrics when used for screening.
jarpJarpClustering by a modified Jarvis-Patrick method.
jcmanJChemManagerAdministration of structure tables
jcsearchSearchSearching in structure files and in JChem tables from command line.
libmcsLibMCSMaximum Common Substructure based hierarchical clustering.
molconvertMolConverterInterconverting various file formats
msketchMarvinSketchDrawing molecules
mspaceMarvinSpaceHigh performance 3D visualization
mviewMarvinViewDisplaying structure files
nneibNNeibNearest neighbor search for creating input for Jarp.
optimizemetricsOptimizeMetricsOptimization of molecular descriptor dissimilarity metrics for enhancing screening selectivity.
pmapperPMapperPerceives pharmacophoric point types and maps them to atoms.
reactReactorSimulates chemical reactions.
screeningoptimizerScreeningOptimizerVirtual screening optimizer (combination of optimizemetrics and hitstatistics).
screenmdScreenMDPerforms virtual screening of large compound libraries using various molecular descriptors.
standardizeStandardizerBrings molecules to standardized form based on XML configuration.
wardWardClustering by Ward's hierarchic clustering method using the RNN approach.

Note for UNIX/Linux users

As some SMARTS input strings contain "$" characters, the command line escape character "\" might be needed. Otherwise the string within the following parentheses is evaluated.
e.g. msketch "CC[C$(CNC)]" is of false syntax.
use instead: msketch "CC[C\$(CNC)]" or msketch 'CC[C$(CNC)]'

Setting Options in the batch files and scripts

At the beginning of each startup file there are some editable variables with some explanation text.

The following two options are present in every script:

  • HEAP_LIMIT: specifies the maximum amount of memory that can be allocated by the application in megabytes. (This corresponds to the "-Xmx" JVM option.)
  • SERVER_MODE: if set to "true", the application startup and initial speed will be slower, but long calculations will perform better due to more extensive runtime optimization. (This corresponds to the "-server" JVM option.)

The shell scripts (under Linux-like command prompts) can also accept JVM options beginning with "-X" and the "-server" / "-client" options as an argument. Example:

    jcman -Xmx200m -server [additional arguments]

This overrides the default settings in the script.