Package chemaxon.jep
Class Evaluator
- java.lang.Object
-
- chemaxon.jep.Evaluator
-
- All Implemented Interfaces:
Serializable
@PublicAPI public class Evaluator extends Object implements Serializable
Evaluates Chemical Terms expressions. Provides command line interface or createsChemJEP
objects according to configuration. See the documentation for details:API usage examples:
- Evaluate a Chemical Terms expression on molecules and write the results to output:
// create Evaluator Evaluator evaluator = new Evaluator(); // create ChemJEP, compile the Chemical Terms expression ChemJEP chemJEP = evaluator.compile("logP()", MolContext.class); // create context MolContext context = new MolContext(); MolImporter importer = new MolImporter("mols.smiles"); Molecule mol = null; while ((mol = importer.read()) != null) { // set the input molecule context.setMolecule(mol); // get the result by evaluating the expression // note: "logP()" expression returns a double, so // evaluate_double(ChemContext) method is used double result = chemJEP.evaluate_double(context); // write output System.out.println(result); } importer.close();
- Using a Chemical Terms expression for filtering molecules:
// create Evaluator Evaluator evaluator = new Evaluator(); // create ChemJEP, compile the Chemical Terms expression ChemJEP chemJEP = evaluator.compile( "mass()<=500 && logP()<=5 && donorCount()<=5 && acceptorCount()<=10", MolContext.class); // create context MolContext context = new MolContext(); MolExporter exporter = new MolExporter(System.out, "smiles"); MolImporter importer = new MolImporter("mols.smiles"); Molecule mol = null; while ((mol = importer.read()) != null) { // set the input molecule context.setMolecule(mol); // filter molecules that fulfill the previously set // Chemical Terms expression (only molecules that // fulfill the expression are written to output) if(chemJEP.evaluate_boolean(context)) { exporter.write(mol); } } importer.close(); exporter.close();
- Since:
- JChem 2.2, Marvin 5.1
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
CONFIG_DIR
Default directory for storing configuration files.static String
DEFAULT_TAG_NAME
Default SDFile tag to store the evaluation result.static String
EVALUATOR_DEFAULTS_FILE
Default Function/Plugin settings filename.static String
EVALUATOR_NAMED_MOLS_FILE
Default named molecule set filename.static String
EVALUATOR_SCRIPT_FILE
Initial script filename.
-
Constructor Summary
Constructors Constructor Description Evaluator()
Default constructor.Evaluator(chemaxon.jep.Standardizer standardizer)
Constructor.Evaluator(File file)
Constructor.Evaluator(File file, chemaxon.jep.Standardizer standardizer)
Constructor.Evaluator(File file, chemaxon.jep.Standardizer standardizer, MolImporter importer, String script)
Deprecated.Evaluator(String configString)
Constructor.Evaluator(String configString, chemaxon.jep.Standardizer standardizer)
Constructor.Evaluator(String configString, chemaxon.jep.Standardizer standardizer, MolImporter importer, String script)
Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ChemJEP
compile(String expression)
Compiles the expression, createsChemJEP
object.ChemJEP
compile(String expression, Class contextClass)
Compiles the expression, createsChemJEP
object.ChemJEP
compile(String expression, Class contextClass, chemaxon.nfunk.jep.SymbolTable stab)
Compiles the expression, createsChemJEP
object.Hashtable<String,String>
getFunctionalGroupDisplayMolTable()
Returns a hashtable containing |functional group name| -> |displayable molecule representation|.Hashtable<String,chemaxon.jep.CTFunctionData>
getFunctionData()
Returns information about Chemical Terms functions wrapped in chemaxon.jep.CTFunctionData objects.Hashtable<String,chemaxon.jep.CTFunctionData>
getFunctionData(boolean addServices)
Returns information about Chemical Terms functions wrapped in chemaxon.jep.CTFunctionData objects.Hashtable
getFunctionParameterData()
Deprecated.String[]
getPluginIDs()
Deprecated.String
getServicesConfigurationPath()
Returns the custom services configuration path.chemaxon.nfunk.jep.SymbolTable
getSymbolTable()
Returns the symbol table of predefined constants (molecules, molecule sets and other constants defined in the built-in and the user-defined jep.script).static void
main(String[] args)
The command line version entry point.void
runScript(String script)
Runs a script, variables will be added to the base variable table and can be referenced by chemical expressions.void
setFingerprintGenerator(FingerprintGenerator fg)
Sets the fingerprint generator object (needed for query strings).void
setLicenseEnvironment(String env)
For internal usage only.void
setServicesConfigurationPath(String servicesConfigurationPath)
Sets the custom services configuration path.void
setVerbose(boolean verbose)
Sets verbose mode.static String
toString(Object o)
Deprecated.For internal use only.static String
toString(Object o, int precision)
Deprecated.For internal use only.static String
toString(Object o, DecimalFormat df)
Deprecated.For internal use only.
-
-
-
Field Detail
-
EVALUATOR_DEFAULTS_FILE
public static final String EVALUATOR_DEFAULTS_FILE
Default Function/Plugin settings filename.- See Also:
- Constant Field Values
-
EVALUATOR_NAMED_MOLS_FILE
public static final String EVALUATOR_NAMED_MOLS_FILE
Default named molecule set filename.- See Also:
- Constant Field Values
-
CONFIG_DIR
public static final String CONFIG_DIR
Default directory for storing configuration files.- See Also:
- Constant Field Values
-
EVALUATOR_SCRIPT_FILE
public static final String EVALUATOR_SCRIPT_FILE
Initial script filename.- See Also:
- Constant Field Values
-
DEFAULT_TAG_NAME
public static final String DEFAULT_TAG_NAME
Default SDFile tag to store the evaluation result.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Evaluator
public Evaluator() throws chemaxon.nfunk.jep.ParseException
Default constructor.- Throws:
chemaxon.nfunk.jep.ParseException
-
Evaluator
public Evaluator(chemaxon.jep.Standardizer standardizer) throws chemaxon.nfunk.jep.ParseException
Constructor. Loads default configuration with standardizer, loads default named molecule sets and runs default initial scripts.- Parameters:
standardizer
- is the standardizer object- Throws:
chemaxon.nfunk.jep.ParseException
- on error- Since:
- JChem 3.1.4
-
Evaluator
public Evaluator(File file) throws chemaxon.nfunk.jep.ParseException
Constructor. Loads default configuration and configuration from specified file, loads default named molecule sets and runs default initial scripts.- Parameters:
file
- is the XML configuration file- Throws:
chemaxon.nfunk.jep.ParseException
- on error
-
Evaluator
public Evaluator(String configString) throws chemaxon.nfunk.jep.ParseException
Constructor. Loads default configuration and configuration from specified XML configuration string, loads default named molecule sets and runs default initial scripts.- Parameters:
configString
- is the XML configuration string- Throws:
chemaxon.nfunk.jep.ParseException
- on error- Since:
- JChem 5.0
-
Evaluator
public Evaluator(File file, chemaxon.jep.Standardizer standardizer) throws chemaxon.nfunk.jep.ParseException
Constructor. Loads default configuration and configuration from specified file with standardizer. Loads also default named molecule sets and runs default initial scripts.- Parameters:
file
- is the XML configuration filestandardizer
- is the standardizer object- Throws:
chemaxon.nfunk.jep.ParseException
- on error
-
Evaluator
@Deprecated public Evaluator(File file, chemaxon.jep.Standardizer standardizer, MolImporter importer, String script) throws chemaxon.nfunk.jep.ParseException
Deprecated.Constructor. Loads default configuration and configuration from specified file with standardizer. Loads also default named molecule sets and named molecule sets from the specified importer. Runs initial scripts.- Parameters:
file
- is the XML configuration filestandardizer
- is the standardizer objectimporter
- is theMolImporter
object used for loading named molecule sets (ifnull
, then default molecule sets are loaded)script
- is the initial script (Chemical Terms expression; ifnull
, then default initial scripts are run)- Throws:
chemaxon.nfunk.jep.ParseException
- on error- Since:
- JChem 5.0
-
Evaluator
public Evaluator(String configString, chemaxon.jep.Standardizer standardizer) throws chemaxon.nfunk.jep.ParseException
Constructor. Loads default configuration and configuration from specified XML configuration string with standardizer. Loads also default named molecule sets and runs default initial scripts.- Parameters:
configString
- is the XML configuration stringstandardizer
- is the standardizer object- Throws:
chemaxon.nfunk.jep.ParseException
- on error- Since:
- JChem 5.0
-
Evaluator
@Deprecated public Evaluator(String configString, chemaxon.jep.Standardizer standardizer, MolImporter importer, String script) throws chemaxon.nfunk.jep.ParseException
Deprecated.Constructor. Loads default configuration and configuration from specified XML configuration string with standardizer. Loads also default named molecule sets and named molecule sets from the specified importer. Runs initial scripts.- Parameters:
configString
- is the XML configuration stringstandardizer
- is the standardizer objectimporter
- is theMolImporter
object used for loading named molecule sets (ifnull
, then default molecule sets are loaded)script
- is the initial script (Chemical Terms expression; ifnull
, then default initial scripts are run)- Throws:
chemaxon.nfunk.jep.ParseException
- on error- Since:
- JChem 5.0
-
-
Method Detail
-
setLicenseEnvironment
public void setLicenseEnvironment(String env)
For internal usage only.- Parameters:
env
- the license environment
-
runScript
public void runScript(String script) throws chemaxon.nfunk.jep.ParseException
Runs a script, variables will be added to the base variable table and can be referenced by chemical expressions.- Parameters:
script
- is the script (Chemical Terms expression)- Throws:
chemaxon.nfunk.jep.ParseException
- on error- Since:
- JChem 3.2
-
getFunctionParameterData
@Deprecated public Hashtable getFunctionParameterData() throws chemaxon.nfunk.jep.ParseException
Deprecated.Returns user parameter data for each function. The table is built according to theUserParam
sections of the configuration XML. The keys are the function IDs, the values are the corresponding parameter record arrays:<function ID> -> UserParam[]
- Returns:
- the user parameter data for each function
- Throws:
chemaxon.nfunk.jep.ParseException
- on configuration error- Since:
- JChem 3.2
-
getPluginIDs
@Deprecated public String[] getPluginIDs() throws chemaxon.nfunk.jep.ParseException
Deprecated.Returns the plugin function IDs from thePlugins
section of the configuration XML.- Returns:
- the plugin function IDs
- Throws:
chemaxon.nfunk.jep.ParseException
- on configuration error- Since:
- JChem 3.2
-
getFunctionData
public Hashtable<String,chemaxon.jep.CTFunctionData> getFunctionData() throws chemaxon.nfunk.jep.ParseException
Returns information about Chemical Terms functions wrapped in chemaxon.jep.CTFunctionData objects. The keys are the function IDs, the values are the corresponding chemaxon.jep.CTFunctionData objects.<function ID> -> CTFunctionData
For internal use only.- Returns:
- table containing CTFunctionData for each Chemical Terms function
- Throws:
chemaxon.nfunk.jep.ParseException
- on configuration error- Since:
- JChem 5.2
-
getFunctionData
public Hashtable<String,chemaxon.jep.CTFunctionData> getFunctionData(boolean addServices) throws chemaxon.nfunk.jep.ParseException
Returns information about Chemical Terms functions wrapped in chemaxon.jep.CTFunctionData objects. The keys are the function IDs, the values are the corresponding chemaxon.jep.CTFunctionData objects.<function ID> -> CTFunctionData
For internal use only.- Parameters:
addServices
- iftrue
then services data will be added as function data- Returns:
- table containing CTFunctionData for each Chemical Terms function
- Throws:
chemaxon.nfunk.jep.ParseException
- on configuration error- Since:
- JChem 5.6
-
getServicesConfigurationPath
public String getServicesConfigurationPath()
Returns the custom services configuration path.- Returns:
- the custom services configuration path or
null
if using marvin's default lookup - Since:
- 5.10
-
setServicesConfigurationPath
public void setServicesConfigurationPath(String servicesConfigurationPath)
Sets the custom services configuration path.- Parameters:
servicesConfigurationPath
- the new file path or URL. Setnull
to use marvin's default lookup- Since:
- 5.10
-
getSymbolTable
public chemaxon.nfunk.jep.SymbolTable getSymbolTable()
Returns the symbol table of predefined constants (molecules, molecule sets and other constants defined in the built-in and the user-defined jep.script).- Returns:
- the symbol table of predefined constants
- Since:
- JChem 3.2
-
getFunctionalGroupDisplayMolTable
public Hashtable<String,String> getFunctionalGroupDisplayMolTable()
Returns a hashtable containing |functional group name| -> |displayable molecule representation|.- Returns:
- the |functional group name| -> |displayable molecule representation| table
- Since:
- Marvin 5.4
-
setFingerprintGenerator
public void setFingerprintGenerator(FingerprintGenerator fg)
Sets the fingerprint generator object (needed for query strings).- Parameters:
fg
- is the fingerprint generator object
-
setVerbose
public void setVerbose(boolean verbose)
Sets verbose mode.- Parameters:
verbose
- is true if verbose mode
-
compile
public ChemJEP compile(String expression) throws chemaxon.nfunk.jep.ParseException
Compiles the expression, createsChemJEP
object. CallChemJEP.evaluate(ChemContext)
to evaluate the expression.- Parameters:
expression
- is the expression string- Returns:
- the created
ChemJEP
object - Throws:
chemaxon.nfunk.jep.ParseException
- on compile error
-
compile
public ChemJEP compile(String expression, Class contextClass) throws chemaxon.nfunk.jep.ParseException
Compiles the expression, createsChemJEP
object. CallChemJEP.evaluate(ChemContext)
to evaluate the expression.- Parameters:
expression
- is the expression stringcontextClass
- is the evaluation context class object- Returns:
- the created
ChemJEP
object - Throws:
chemaxon.nfunk.jep.ParseException
- on compile error
-
compile
public ChemJEP compile(String expression, Class contextClass, chemaxon.nfunk.jep.SymbolTable stab) throws chemaxon.nfunk.jep.ParseException
Compiles the expression, createsChemJEP
object. CallChemJEP.evaluate(ChemContext)
to evaluate the expression.- Parameters:
expression
- is the expression stringcontextClass
- is the evaluation context class objectstab
- is the vaiable table, null if the default varibale table should be used- Returns:
- the created
ChemJEP
object - Throws:
chemaxon.nfunk.jep.ParseException
- on compile error
-
toString
@Deprecated public static String toString(Object o)
Deprecated.For internal use only.Returns String representation of an object using default decimal format with2
fractional digits.- Parameters:
o
- is the object- Returns:
- the string representation of the object
-
toString
@Deprecated public static String toString(Object o, int precision)
Deprecated.For internal use only.Returns String representation of an object using default decimal format with given number of fractional digits.- Parameters:
o
- is the objectprecision
- is the number of fractional digits- Returns:
- the string representation of the object
-
toString
@Deprecated public static String toString(Object o, DecimalFormat df)
Deprecated.For internal use only.Returns String representation of an object.- Parameters:
o
- is the objectdf
- is the real-number formatter- Returns:
- the string representation of the object
-
-