chemaxon.sss.search
Class MolSearch

java.lang.Object
  extended by chemaxon.sss.search.Search
      extended by chemaxon.sss.search.MolSearch
All Implemented Interfaces:
SearchConstants, StereoConstants
Direct Known Subclasses:
RGroupDecomposition, StandardizedMolSearch

public class MolSearch
extends Search

Atom-by-atom structure search.

Features:

For correct behaviour of the MolSearch class, both the query and target molecules has to be standardized prior to searching. See note on aromatic bonds Alternatively, you can use the StandardizedMolSearch class.

Example:

  import chemaxon.sss.search.MolSearch;
  import chemaxon.sss.search.SearchException;
  import chemaxon.util.MolHandler;
  import chemaxon.formats.MolInputStream;
  import chemaxon.formats.MolImporter;
  import chemaxon.struc.Molecule;

  import java.io.BufferedInputStream;
  import java.io.FileInputStream;
  import java.io.IOException;

  public class searchTest {

      public static void main(String[] args) {
          try {
              MolSearch s = new MolSearch();

              // use SMILES string as query
              MolHandler mh1 = new MolHandler("c1ccccc1Cl");

              // The query molecule must be aromatized if it uses the
              // alternating single/double bonds for the description of
              // aromaticity.
              mh1.aromatize();
              s.setQuery(mh1.getMolecule());

              // use Molfile molecule as target
              BufferedInputStream tis=null;
              tis = new BufferedInputStream(
                              new FileInputStream("target.mol"));
              MolInputStream tmis = new MolInputStream(tis);
              MolImporter tmolimp = new MolImporter(tmis);
              Molecule target = tmolimp.read();

              target.aromatize(true);
              s.setTarget(target);

              // search all matching substructures and print hits
              int[][] hits=null;

              hits = s.findAll();
              if(hits==null)
                  System.out.println("No hits");
              else  {
                  for(int i=0; i < hits.length; i++) {
                      System.out.print("Hit " + (i+1) + ":  ");
                      int[] hit = hits[i];
                      for(int j=0; j < hit.length; j++) {
                          System.out.print(hit[j]+" ");
                      }
                      System.out.println();
                  }
              }//end else
          } catch (IOException e) {
              e.printStackTrace();
              System.exit(1);
          } catch (SearchException e) {
              e.printStackTrace();
              System.exit(1);
          }//end catch
      }//end main
  }//end searchTest
 

Author:
Tamas Karpati, Ferenc Csizmadia, Gyorgy Pirok, Szilard Dorant, Szabolcs Csepregi

Field Summary
protected  boolean isQueryStandardizable
           
protected  boolean isTargetStandardizable
           
 
Fields inherited from class chemaxon.sss.search.Search
preMatchLength, preMatchQueryAtoms, preMatchTargetAtoms, searchOptions
 
Fields inherited from interface chemaxon.struc.StereoConstants
ATOMSTEREO_EITHER, ATOMSTEREO_MASK, ATOMSTEREO_NONE, ATOMSTEREO_SPECIFIC, CHIRALITY_MASK, CHIRALITY_R, CHIRALITY_S, CHIRALITYSUPPORT_ALL, CHIRALITYSUPPORT_NONE, CHIRALITYSUPPORT_SELECTED, CIS, CTUMASK, CTUNKNOWN, CTUNSPEC, DBS_ALL, DBS_MARKED, DBS_NONE, PARITY_EITHER, PARITY_EVEN, PARITY_MASK, PARITY_ODD, PARITY_UNSPEC, STGRP_ABS, STGRP_AND, STGRP_NONE, STGRP_OR, TRANS
 
Fields inherited from interface chemaxon.sss.SearchConstants
ABS_STEREO_ALWAYS_ON, ABS_STEREO_CHIRAL_FLAG, ABS_STEREO_TABLE_OPTION, CHARGE_MATCHING_DEFAULT, CHARGE_MATCHING_EXACT, CHARGE_MATCHING_IGNORE, DEFAULT_DISSIMILARITY_THRESHOLD, DEFAULT_SIMILARITY_THRESHOLD, DISSIMILARITY, EXACT, EXACT_FRAGMENT, EXACT_FRAGMENT_OFF, EXACT_FRAGMENT_ON, HCOUNT_MATCHING_AUTO, HCOUNT_MATCHING_EQUAL, HCOUNT_MATCHING_GREATER_OR_EQUAL, IMPLICIT_H_MATCHING_DEFAULT, IMPLICIT_H_MATCHING_DISABLED, IMPLICIT_H_MATCHING_ENABLED, ISOTOPE_MATCHING_DEFAULT, ISOTOPE_MATCHING_EXACT, ISOTOPE_MATCHING_IGNORE, KEEP_QUERY_ORDER, MARKUSH_AROM_FINAL_CHECK, MARKUSH_AROM_NO_FINAL_CHECK, MARKUSH_AROM_OFF, MARKUSH_DISABLED, MARKUSH_ENABLED, MARKUSH_HIT_ORIGINAL, MARKUSH_HIT_SUPERGRAPH, MATCH_COUNT_BETWEEN, MATCH_COUNT_RELATION, MIX_SGROUP_MATCHING_OFF, MIX_SGROUP_MATCHING_ON, NO_ABAS, NO_SCREEN, OPTION_CHARGE_MATCHING, OPTION_EXACT_FRAGMENT, OPTION_ISOTOPE_MATCHING, OPTION_KEEP_QUERY_ORDER, OPTION_MARKUSH_AROM, OPTION_MARKUSH_ENABLED, OPTION_MARKUSH_HIT, OPTION_MIX_SGROUP_MATCHING, OPTION_RADICAL_MATCHING, OPTION_STEREO_MODEL, OPTION_TAUTOMER_SEARCH, OPTION_VAGUE_BOND, OPTION_VALENCE_MATCHING, PERFECT, R_NODE_PLACEHOLDER, RADICAL_MATCHING_DEFAULT, RADICAL_MATCHING_EXACT, RADICAL_MATCHING_IGNORE, REARRANGE_QUERY, REGULAR_SEARCH, SEARCH_MODE_NAMES, SEARCH_OPTIONS_LENGTH, SIMILARITY, STEREO_DIASTEREOMER, STEREO_EXACT, STEREO_IGNORE, STEREO_MODEL_COMPREHENSIVE, STEREO_MODEL_DEFAULT, STEREO_MODEL_GLOBAL, STEREO_MODEL_LOCAL, STEREO_SPECIFIC, SUBSTRUCTURE, SUPERSTRUCTURE, TAUTOMER_SEARCH_OFF, TAUTOMER_SEARCH_ON, UNDEF_R_MATCHING_ALL, UNDEF_R_MATCHING_UNDEF_R, VAGUE_BOND_DEFAULT, VAGUE_BOND_LEVEL1, VAGUE_BOND_LEVEL2, VAGUE_BOND_LEVEL3, VAGUE_BOND_LEVEL4, VAGUE_BOND_OFF, VALENCE_MATCHING_IGNORE, VALENCE_MATCHING_ON
 
Constructor Summary
MolSearch()
          Constructs a MolSearch object.
 
Method Summary
 void addComparator(MolComparator mc)
           
 void addMatch(int[] queryAtoms, int[] targetAtoms, int length)
          Specifies extra prerequisites of the structure search that queryAtoms[0] must match to targetAtoms[0] only AND queryAtoms[1] must match to targetAtoms[1], etc.
 void addMatch(int queryAtom, int targetAtom)
          Specifies an extra prerequisite of the structure search that queryAtom must match to targetAtom only.
static void checkFilter(java.lang.String filteringExpression)
          Checks the syntax of the filtering expression.
static void checkFilter(java.lang.String filteringExpression, java.io.File config)
          Checks the syntax of the filtering expression.
 void clearComparators()
           
 void clearMatch()
          Clears the extra prerequisites of the structure search specified using addMatch calls.
protected  boolean filter(int[] hit)
          Returns true if the hit is accepted by the filteringExpression.
 int[][] findAll()
          Looks for all matching patterns in the molecule.
 int[][] findAllOrder()
          Deprecated. Use setOrderSensitiveSearch(true) instead
 int[] findFirst()
          Looks for the first matching pattern in the target molecule.
 int[] findNext()
          Looks for the next matching pattern in the target molecule.
 int[][] get2DHit()
           
 java.lang.String getFilter()
          Returns the filtering expression.
 Molecule getMatchingQuery()
          Returns the most specific enumeration of the query which produced the hit vector of the last findNext(), findFirst() or findAll() result.
 Molecule getMatchingTarget()
          Returns the most specific enumeration of the target which produced the hit vector of the last findNext(), findFirst() or findAll() result.
 Molecule getMolecule()
          Deprecated. Use getTarget instead
 Molecule getQuery()
          Retrieves the query structure stored in the MolSearch object.
 Molecule getQueryStructure()
          Deprecated. Use getQuery instead
 Molecule getTarget()
          Retrieves the target molecule to search in.
protected  boolean hasFilter()
          Returns true if filter is set.
protected  boolean hasHitFilter()
          Returns true if filter is set and references the hit, not only the query/target structures.
 boolean isMatching()
          Checks if the query structure matches a substructure in the molecule.
 void removeComparator(MolComparator mc)
           
 void setFilter(java.lang.String filteringExpression)
          Sets the filtering expression.
 void setFilterConfig(java.io.File config)
          Sets additional evaluator configuration for filtering expression evaluation.
 void setFilterConfig(java.io.File config, Standardizer st)
          Deprecated. Please use setFilterConfig(File) and/or setStandardizer(chemaxon.reaction.Standardizer, boolean, boolean) instead.
 void setHitIncludesRNodes(boolean value)
          Deprecated. Since 5.0 Use MolSearchOptions.setHitIncludesRNodes(boolean) instead.
 void setMolecule(Molecule mol)
          Deprecated. Use setTarget instead
 void setQuery(Molecule mol)
          Specifies the query structure to search for.
 void setQuery(Molecule mol, int[] exclude)
          Specifies the query structure to search for.
 void setQueryStructure(Molecule mol)
          Deprecated. Use setQuery instead
 void setSearchOptions(MolSearchOptions options)
          Sets search parameters.
 void setStandardizer(Standardizer st, boolean bq, boolean bt)
          Sets standardizer object of this MolSearch class, to be used for the query and target molecules, Chemical Terms configuration and re-standardization of query tautomers at tautomer searching.
 void setTarget(Molecule mol)
          Specifies the target molecule to search in.
 void setTarget(Molecule mol, int[] exclude)
          Specifies the target molecule to search in.
 void stop()
          Tries to stop the running search as fast as possible.
 
Methods inherited from class chemaxon.sss.search.Search
areMatchingBondTypes, areMatchingBondTypes, getAtomStereo, getDoubleBondStereoMatchingMode, getHCountMatching, getMatchCount, getOption, getQueryAsString, getQueryToPrint, getSearchOptions, getSearchType, getTargetAsString, getTargetToPrint, isExactAtomMatching, isExactBondMatching, isExactChargeMatching, isExactIsotopeMatching, isExactQueryAtomMatching, isExactRadicalMatching, isExactStereoMatching, isMatchCountBetween, isMatchCountInRelation, isOrderSensitiveSearch, isPerfectSearchType, isQueryAbsoluteStereo, isSubgraphSearch, isTargetAbsoluteStereo, isTautomerSearch, isVerbose, setDoubleBondStereoMatchingMode, setExactAtomMatching, setExactBondMatching, setExactChargeMatching, setExactIsotopeMatching, setExactQueryAtomMatching, setExactRadicalMatching, setExactStereoMatching, setHCountMatching, setOption, setOptions, setOrderSensitiveSearch, setQueryAbsoluteStereo, setSearchOptions, setSearchType, setStereoCareChecking, setStereoSearch, setSubgraphSearch, setTargetAbsoluteStereo, setTautomerSearch, setVerbose
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

isQueryStandardizable

protected boolean isQueryStandardizable

isTargetStandardizable

protected boolean isTargetStandardizable
Constructor Detail

MolSearch

public MolSearch()
Constructs a MolSearch object.

Method Detail

setTarget

public void setTarget(Molecule mol)
Specifies the target molecule to search in.

Specified by:
setTarget in class Search
Parameters:
mol - the possibly standardized target molecule. See note on aromatic bonds

setTarget

public void setTarget(Molecule mol,
                      int[] exclude)
Specifies the target molecule to search in. Excluded atoms are not used during the search procedure. Atoms connected to excluded ones keep their stereo features.

Specified by:
setTarget in class Search
Parameters:
mol - the standardized target molecule. See note on aromatic bonds
exclude - index of target atoms to exclude from search

setMolecule

public void setMolecule(Molecule mol)
Deprecated. Use setTarget instead

Specifies the target molecule to search in.

Parameters:
mol - the standardized target molecule. See note on aromatic bonds

getTarget

public Molecule getTarget()
Retrieves the target molecule to search in.

Specified by:
getTarget in class Search
Returns:
the Molecule to search in

getMolecule

public Molecule getMolecule()
Deprecated. Use getTarget instead

Retrieves the target molecule to search in.

Returns:
the Molecule to search in

setQuery

public void setQuery(Molecule mol)
Specifies the query structure to search for.

Specified by:
setQuery in class Search
Parameters:
mol - the standardized query structure. See note on aromatic bonds

setQuery

public void setQuery(Molecule mol,
                     int[] exclude)
Specifies the query structure to search for. Excluded atoms are not used during the search procedure. Atoms connected to excluded ones keep their stereo features.

Specified by:
setQuery in class Search
Parameters:
mol - the standardized query structure. See note on aromatic bonds
exclude - index of atoms to exclude from search

getQuery

public Molecule getQuery()
Retrieves the query structure stored in the MolSearch object.

Specified by:
getQuery in class Search
Returns:
Molecule to search for

getQueryStructure

public Molecule getQueryStructure()
Deprecated. Use getQuery instead

Retrieves the query structure.

Returns:
Molecule to search for

setQueryStructure

public void setQueryStructure(Molecule mol)
Deprecated. Use setQuery instead

Specifies the query structure stored in the MolSearch object.

Parameters:
mol - the standardized query structure. See note on aromatic bonds

setStandardizer

public void setStandardizer(Standardizer st,
                            boolean bq,
                            boolean bt)
Sets standardizer object of this MolSearch class, to be used for the query and target molecules, Chemical Terms configuration and re-standardization of query tautomers at tautomer searching. Default is no standardization, but query standardization is always switched on at tautomer search.

Parameters:
st - Standardizer object. null means default aromatization. WARNING: Standardization that changes atom indexes are not supported!
bq - if true, standardization is done on query.
bt - if true, standardization is done on target.
Since:
JChem 3.2

setFilterConfig

public void setFilterConfig(java.io.File config,
                            Standardizer st)
                     throws chemaxon.sss.search.SearchException
Deprecated. Please use setFilterConfig(File) and/or setStandardizer(chemaxon.reaction.Standardizer, boolean, boolean) instead.

Sets additional evaluator configuration for filtering expression evaluation. If not set then the default configuration is used only.

Parameters:
config - the expression evaluator config XML
st - the expression evaluator config standardizer
Throws:
chemaxon.sss.search.SearchException
Since:
JChem 3.0

setFilterConfig

public void setFilterConfig(java.io.File config)
                     throws chemaxon.sss.search.SearchException
Sets additional evaluator configuration for filtering expression evaluation. If not set then the default configuration is used only.

Parameters:
config - the expression evaluator config XML
Throws:
chemaxon.sss.search.SearchException
Since:
JChem 3.2

setFilter

public void setFilter(java.lang.String filteringExpression)
               throws chemaxon.sss.search.SearchException
Sets the filtering expression. For details of the expression syntax, see the Chemical Terms Evaluator Guide and its short reference. Use specific functions from the search context to refer to the query and the target molecules, the search hit array and its elements.

Parameters:
filteringExpression - the filtering expression
Throws:
chemaxon.sss.search.SearchException
Since:
JChem 3.0

getFilter

public java.lang.String getFilter()
Returns the filtering expression.

Returns:
the filtering expression

setHitIncludesRNodes

public void setHitIncludesRNodes(boolean value)
Deprecated. Since 5.0 Use MolSearchOptions.setHitIncludesRNodes(boolean) instead.

Specifies the result format for R-group queries.

Parameters:
value - if set to false, the hits will contain only the matching atom indexes for non-R-group atoms in the root structure, in order (default). In this case the hit list contains less indexes, than the number of nodes in the root structure.
If set to true, the hit list will contain placeholders for the R-nodes with the value of SearchConstants.R_NODE_PLACEHOLDER, thus maintaining root indexes in the result.

setSearchOptions

public void setSearchOptions(MolSearchOptions options)
Sets search parameters.

Parameters:
options - search options. Will be copied, modification of the original object does not affect future searches unless this method is called again.
Since:
JChem 5.0
See Also:
Search.getSearchOptions()

getMatchingQuery

public Molecule getMatchingQuery()
Returns the most specific enumeration of the query which produced the hit vector of the last findNext(), findFirst() or findAll() result.

Overrides:
getMatchingQuery in class Search
Returns:
The enumerated query or null if the query is not initialized yet or no searching operations were performed. In case of superstructure search, it returns the query (larger) molecule.
Since:
JChem 3.1.2
See Also:
getMatchingTarget()

getMatchingTarget

public Molecule getMatchingTarget()
Returns the most specific enumeration of the target which produced the hit vector of the last findNext(), findFirst() or findAll() result. (May only be relevant for superstructure search.)

Returns:
The enumerated target or null if the target is not initialized yet or no searching operations were performed. In case of superstructure search, it returns the target (smaller) molecule.
Since:
JChem 5.0
See Also:
getMatchingQuery()

addComparator

public void addComparator(MolComparator mc)

removeComparator

public void removeComparator(MolComparator mc)

clearComparators

public void clearComparators()

hasFilter

protected boolean hasFilter()
Returns true if filter is set.

Returns:
true if filter is set

hasHitFilter

protected boolean hasHitFilter()
Returns true if filter is set and references the hit, not only the query/target structures.

Returns:
true if filter references the hit

isMatching

public boolean isMatching()
                   throws chemaxon.sss.search.SearchException
Checks if the query structure matches a substructure in the molecule.

Specified by:
isMatching in class Search
Returns:
true if the query was found.
Throws:
chemaxon.sss.search.SearchException
See Also:
findFirst(), findNext(), findAll()

findFirst

public int[] findFirst()
                throws chemaxon.sss.search.SearchException
Looks for the first matching pattern in the target molecule. If the search object was previously used, this method re-initializes the search process, and starts returning the hits from the beginning.

Specified by:
findFirst in class Search
Returns:
an array containing the atom indexes of the target atoms that match the query atoms (in the order of the appropriate query atoms) or null if there are no hits.

Special atom indices:

  • In case of explicit query H atoms matching to implied H atoms in the target, a negative number is returned. The absolute value of this number equals with the atom index of the heavy atom bearing the implicit hydrogen, or Integer.MIN_VALUE in case of 0 heavy atom index.
  • The same method is used for explicit LP (lone pair) atoms in the query. The hit contains the negated number of the target heavy atom with the matching lone pair, or Integer.MIN_VALUE for 0 index.
  • Multicenter atoms (e.g. of multicenter coordinate bonds) are not returned, the match array always contains Integer.MIN_VALUE+2 for these atoms.
  • For R-group queries, only the scaffold atoms are included in the match array, except when hitIncludesRNodes parameter is set. See MolSearchOptions.setHitIncludesRNodes(boolean)
  • Excluded atoms (see setTarget(chemaxon.struc.Molecule,int[])) will not appear in the match array at all (their appropriate indices are left out).
  • When the query contains link nodes, the returned array may contain more indices than the query atoms. In this case the extra atom indices appear at the end and method getMatchingQuery() can be used to get the most specific matching form of the query.
  • All Superatom S-groups are treated as expanded during the search, so atom indices are returned accordingly.
Throws:
chemaxon.sss.search.SearchException
See Also:
findNext(), findAll(), isMatching(), getMatchingQuery()

findNext

public int[] findNext()
               throws chemaxon.sss.search.SearchException
Looks for the next matching pattern in the target molecule. If the search object was not used previously, it also initializes the search. (So findFirst() call is not necessary prior to a findNext() call.)

Specified by:
findNext in class Search
Returns:
an array containing the atom indexes of the target atoms that match the query atoms (in the order of the appropriate query atoms) or null if there are no more hits.

Special atom indices:

  • In case of explicit query H atoms matching to implied H atoms in the target, a negative number is returned. The absolute value of this number equals with the atom index of the heavy atom bearing the implicit hydrogen, or Integer.MIN_VALUE in case of 0 heavy atom index.
  • The same method is used for explicit LP (lone pair) atoms in the query. The hit contains the negated number of the target heavy atom with the matching lone pair, or Integer.MIN_VALUE for 0 index.
  • Multicenter atoms (e.g. of multicenter coordinate bonds) are not returned, the match array always contains Integer.MIN_VALUE+2 for these atoms.
  • For R-group queries, only the scaffold atoms are included in the match array, except when hitIncludesRNodes parameter is set. See MolSearchOptions.setHitIncludesRNodes(boolean)
  • Excluded atoms (see setTarget(chemaxon.struc.Molecule,int[])) will not appear in the match array at all (their appropriate indices are left out).
  • When the query contains link nodes, the returned array may contain more indices than the query atoms. In this case the extra atom indices appear at the end and method getMatchingQuery() can be used to get the most specific matching form of the query.
  • All Superatom S-groups are treated as expanded during the search, so atom indices are returned accordingly.
Throws:
chemaxon.sss.search.SearchException
See Also:
findFirst(), findAll(), isMatching(), getMatchingQuery()

findAll

public int[][] findAll()
                throws chemaxon.sss.search.SearchException
Looks for all matching patterns in the molecule.

Specified by:
findAll in class Search
Returns:
an array containing the matches as arrays or null if there are no hits. The match arrays contain the atom indexes of the target atoms that match the query atoms (in the order of the appropriate query atoms).

Special atom indices:

  • In case of explicit query H atoms matching to implied H atoms in the target, a negative number is returned. The absolute value of this number equals with the atom index of the heavy atom bearing the implicit hydrogen, or Integer.MIN_VALUE in case of 0 heavy atom index.
  • The same method is used for explicit LP (lone pair) atoms in the query. The hit contains the negated number of the target heavy atom with the matching lone pair, or Integer.MIN_VALUE for 0 index.
  • Multicenter atoms (e.g. of multicenter coordinate bonds) are not returned, the match array always contains Integer.MIN_VALUE+2 for these atoms.
  • For R-group queries, only the scaffold atoms are included in the match array, except when hitIncludesRNodes parameter is set. See MolSearchOptions.setHitIncludesRNodes(boolean)
  • Excluded atoms (see setTarget(chemaxon.struc.Molecule, int[])) will not appear in the match array at all (their appropriate indices are left out).
  • When the query contains link nodes, the returned array may contain more indices than the query atoms. The extra atom indices are contained at the end.
  • All Superatom S-groups are treated as expanded during the search, so atom indices are returned accordingly.
Throws:
chemaxon.sss.search.SearchException
See Also:
isMatching(), findFirst(), findNext()

findAllOrder

public int[][] findAllOrder()
                     throws chemaxon.sss.search.SearchException
Deprecated. Use setOrderSensitiveSearch(true) instead

Same as findAll(), but returns hits in every possible order.

Throws:
chemaxon.sss.search.SearchException

stop

public void stop()
Tries to stop the running search as fast as possible. (E.g. used in another thread.)

Specified by:
stop in class Search
Since:
JChem 3.0

addMatch

public void addMatch(int queryAtom,
                     int targetAtom)
Specifies an extra prerequisite of the structure search that queryAtom must match to targetAtom only. If this is impossible, the search methods will report no matching. The use of this method makes the search more effective than checking the hits afterwards.

Several addMatch() calls represent conditions connected by boolean operator AND.

The effect of all addMatch() calls can be canceled by clearMatch().

Overrides:
addMatch in class Search

addMatch

public void addMatch(int[] queryAtoms,
                     int[] targetAtoms,
                     int length)
Specifies extra prerequisites of the structure search that queryAtoms[0] must match to targetAtoms[0] only AND queryAtoms[1] must match to targetAtoms[1], etc. If this is impossible, the search methods will report no matching. The use of this method makes the search more effective than checking the hits afterwards.

Several addMatch() calls represent conditions connected by boolean operator AND.

The effect of all addMatch() calls can be canceled by clearMatch().

Overrides:
addMatch in class Search
Since:
JChem 2.2

clearMatch

public void clearMatch()
Clears the extra prerequisites of the structure search specified using addMatch calls.

Overrides:
clearMatch in class Search
Since:
JChem 2.2

filter

protected boolean filter(int[] hit)
                  throws chemaxon.sss.search.SearchException
Returns true if the hit is accepted by the filteringExpression. If the filteringExpression is not set or the hit is null then also returns true.

Parameters:
hit - is the search hit
Returns:
true if the hit is accepted
Throws:
chemaxon.sss.search.SearchException

checkFilter

public static void checkFilter(java.lang.String filteringExpression)
                        throws chemaxon.nfunk.jep.ParseException
Checks the syntax of the filtering expression. For internal use only.

Parameters:
filteringExpression - the expression to be checked
Throws:
chemaxon.nfunk.jep.ParseException - if the syntax is not sorrect
Since:
JChem 3.0

checkFilter

public static void checkFilter(java.lang.String filteringExpression,
                               java.io.File config)
                        throws chemaxon.nfunk.jep.ParseException
Checks the syntax of the filtering expression. For internal use only.

Parameters:
filteringExpression - the expression to be checked
config - the expression evaluator config XML
Throws:
chemaxon.nfunk.jep.ParseException - if the syntax is not sorrect
Since:
JChem 3.0

get2DHit

public int[][] get2DHit()