chemaxon.marvin.io.formats.smiles
Class SmartsAtomQuerifier

java.lang.Object
  extended by chemaxon.marvin.io.formats.smiles.SmartsAtomQuerifier
All Implemented Interfaces:
chemaxon.marvin.modules.smarts.SmartsAtomTreeParserTreeConstants

public class SmartsAtomQuerifier
extends java.lang.Object
implements chemaxon.marvin.modules.smarts.SmartsAtomTreeParserTreeConstants

Class for partial interpretation of smarts atoms. In MolAtom, queryString may contain a smarts query expression. This class parses the expression and decorates the MolAtom with those query properties and other features which can be put on the atom itself.

Since:
Marvin 3.4
Version:
4.0.2, 10/31/2005
Author:
Szabolcs Csepregi, Vencel Bors

Field Summary
 
Fields inherited from interface chemaxon.marvin.modules.smarts.SmartsAtomTreeParserTreeConstants
JJTANDEXPRESSION, JJTATOMSYMBOL, JJTCHIRAL, JJTEXPRESSIONLIST, JJTMAP, jjtNodeName, JJTNOT, JJTOREXPRESSION, JJTQUERY, JJTRECURSIVE, JJTVOID
 
Constructor Summary
SmartsAtomQuerifier()
          Creates a new SmartsAtomQuerifier object.
 
Method Summary
static boolean hasSMARTSProps(MolAtom atom)
          Tests whether it is a SMARTS query atom.
static boolean hasSMARTSPropsExcluding(MolAtom atom, java.lang.String exclude)
          Tests whether it is a SMARTS query atom.
 boolean isMarvinCompMode()
          Marvin compatibility mode.
 void setMarvinCompMode(boolean marvinCompMode)
          Marvin compatibility mode.
static void setQuerystr(MolAtom atom, java.lang.String s)
          Assigns the query properties string to this atom while setting all necessary atom and query properties.
static void setQuerystr(MolAtom atom, java.lang.String s, int options)
          Assigns the query properties string to this atom while setting all necessary atom and query properties.
static void setSMARTS(MolAtom atom, java.lang.String s)
          Sets SMARTS query string data.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SmartsAtomQuerifier

public SmartsAtomQuerifier()
Creates a new SmartsAtomQuerifier object.

Method Detail

isMarvinCompMode

public boolean isMarvinCompMode()
Marvin compatibility mode. If true(default), parsing corresponds marvin versions before 3.5: [!H!#6] is imported as heteroatom and [!H!#7!#8] as atom list. Otherwise, H means H count 1.

Returns:
the above marvin compatibility mode.

hasSMARTSPropsExcluding

public static final boolean hasSMARTSPropsExcluding(MolAtom atom,
                                                    java.lang.String exclude)
Tests whether it is a SMARTS query atom.

Parameters:
exclude - list of SMARTS properties to exclude
Returns:
true if it has SMARTS properties, false otherwise
Since:
Marvin 3.1.2

hasSMARTSProps

public static final boolean hasSMARTSProps(MolAtom atom)
Tests whether it is a SMARTS query atom.

Returns:
true if it has SMARTS properties, false otherwise

setSMARTS

public static void setSMARTS(MolAtom atom,
                             java.lang.String s)
                      throws java.lang.SecurityException
Sets SMARTS query string data.

Parameters:
s - the SMARTS string
Throws:
java.lang.SecurityException - the SmilesImport cannot be loaded, possibly because of a misconfigured firewall

setMarvinCompMode

public void setMarvinCompMode(boolean marvinCompMode)
Marvin compatibility mode. If true(default), parsing corresponds marvin versions before 3.5: [!H!#6] is imported as heteroatom and [!H!#7!#8] as atom list. Otherwise, H means H count 1.

Parameters:
marvinCompMode - marvin compatibility mode to set.

setQuerystr

public static void setQuerystr(MolAtom atom,
                               java.lang.String s,
                               int options)
Assigns the query properties string to this atom while setting all necessary atom and query properties. This is done through SmartsAtomQuerifier which parses the query string. For this reason this operation may be relatively costly. The remaining part of the query string (which could not be represented/assigned) is set to queryStr.

In daylight smarts H is only considered as H atom when the atom expression has the syntax [<mass>H<charge><map>] (mass, charge and map are optional). If options is SMARTS_H_MARVIN_COMP_MODE and "H" is not in the form [<mass>H<charge><map>] then it may be interpreted as Hydrogen atom, not total H count! It is neccesary for backward compatibility.

Parameters:
s - the query string
options - Possible values: SMARTS_H_MARVIN_COMP_MODE or SMARTS_H_DAYLIGHT_COMP_MODE. Instead of using this option, we recommend using unambiguous smarts queries: #1 for H atom and H1 for H count 1.
Since:
Marvin 3.5
See Also:
MolAtom.SMARTS_H_DAYLIGHT_COMP_MODE, MolAtom.SMARTS_H_MARVIN_COMP_MODE

setQuerystr

public static void setQuerystr(MolAtom atom,
                               java.lang.String s)
Assigns the query properties string to this atom while setting all necessary atom and query properties. This is done through SmartsAtomQuerifier which parses the query string. For this reason this operation may be relatively costly. The remaining part of the query string (which could not be represented/assigned) is set to queryStr.

Parameters:
s - the query string