toxTree.tree.rules.smarts
Class AbstractRuleSmartSubstructure<T>

java.lang.Object
  extended by java.util.Observable
      extended by toxTree.tree.AbstractRule
          extended by toxTree.tree.rules.smarts.AbstractRuleSmartSubstructure<T>
All Implemented Interfaces:
ambit2.smarts.query.ISmartsPatternFactory, java.io.Serializable, java.lang.Cloneable, IDecisionRule, IImplementationDetails, XMLSerializable, IRuleSMARTSubstructures
Direct Known Subclasses:
RuleSMARTSSubstructureAmbit, RuleSMARTSubstructureCDK

public abstract class AbstractRuleSmartSubstructure<T>
extends AbstractRule
implements IRuleSMARTSubstructures, ambit2.smarts.query.ISmartsPatternFactory

See Also:
Serialized Form

Field Summary
protected  boolean containsAllSubstructures
           
protected  ambit2.smarts.query.ISmartsPattern final_and_patch
           
protected  java.util.Hashtable<java.lang.String,ambit2.smarts.query.ISmartsPattern<T>> smartsPatterns
           
 
Fields inherited from class toxTree.tree.AbstractRule
changes, editable, ERR_STRUCTURENOTPREPROCESSED, examples, explanation, id, logger, MSG_NO, MSG_YES, no, residueIDHidden, title
 
Fields inherited from interface toxTree.core.XMLSerializable
xmltag_CATEGORIES, xmltag_CATEGORY, xmltag_CATEGORYTHRESHOLD, xmltag_CLASS, xmltag_EXPLANATION, xmltag_ID, xmltag_METHOD, xmltag_METHODPARAMETER, xmltag_METHODS, xmltag_NAME, xmltag_RULE, xmltag_RULEEXAMPLE, xmltag_RULES, xmltag_TREEROOT
 
Constructor Summary
AbstractRuleSmartSubstructure()
           
 
Method Summary
 void addSubstructure(java.lang.String smarts)
           
 void addSubstructure(java.lang.String title, java.lang.String smarts)
           
 void addSubstructure(java.lang.String title, java.lang.String smarts, boolean negate)
           
 void clearSubstructures()
           
 boolean containsAllSubstructures()
           
 void deleteSubstructure(java.lang.String title)
           
 boolean equals(java.lang.Object obj)
           
 java.lang.String getImplementationDetails()
           
protected abstract  T getObjectToVerify(org.openscience.cdk.interfaces.IAtomContainer mol)
           
 ambit2.base.interfaces.IProcessor<org.openscience.cdk.interfaces.IAtomContainer,org.openscience.cdk.renderer.selection.IChemObjectSelection> getSelector()
           
 java.util.Hashtable<java.lang.String,ambit2.smarts.query.ISmartsPattern<T>> getSmartsPatterns()
           
 java.lang.String getSubstructure(java.lang.String title)
           
 void initSingleSMARTS(java.util.Hashtable<java.lang.String,ambit2.smarts.query.ISmartsPattern<T>> table, java.lang.String id, java.lang.String smartPattern)
           
protected  boolean isAPossibleHit(org.openscience.cdk.interfaces.IAtomContainer mol, T processedObject)
          Returns true always.
 boolean isImplemented()
           
 void removeSingleSMARTS(java.util.Hashtable table, java.lang.String id)
           
 void setContainsAllSubstructures(boolean allSmarts)
           
 void setSmartsPatterns(java.util.Hashtable<java.lang.String,ambit2.smarts.query.ISmartsPattern<T>> smartsPatterns)
           
 void setSubstructure(java.lang.String title, java.lang.String smarts)
           
 void setSubstructure(java.lang.String title, java.lang.String smarts, boolean negate)
           
 boolean verifyRule(org.openscience.cdk.interfaces.IAtomContainer mol)
          This is the core of a IDecisionRule behaviour.
 boolean verifyRule(org.openscience.cdk.interfaces.IAtomContainer mol, org.openscience.cdk.interfaces.IAtomContainer selected)
           
 
Methods inherited from class toxTree.tree.AbstractRule
addPropertyChangeListener, clearFlags, clone, createRule, fromXML, getEditor, getExampleMolecule, getExamples, getExplanation, getID, getNum, getTitle, hideResiduesID, isEditable, isResidueIDHidden, log, log, log, makeMolecule, removePropertyChangeListener, setEditable, setExampleMolecule, setExamples, setExplanation, setID, setNum, setTitle, toShallowXML, toString, toXML
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ambit2.smarts.query.ISmartsPatternFactory
createSmartsPattern
 

Field Detail

smartsPatterns

protected java.util.Hashtable<java.lang.String,ambit2.smarts.query.ISmartsPattern<T>> smartsPatterns

containsAllSubstructures

protected boolean containsAllSubstructures

final_and_patch

protected ambit2.smarts.query.ISmartsPattern final_and_patch
Constructor Detail

AbstractRuleSmartSubstructure

public AbstractRuleSmartSubstructure()
Method Detail

addSubstructure

public void addSubstructure(java.lang.String title,
                            java.lang.String smarts,
                            boolean negate)
                     throws ambit2.smarts.query.SMARTSException
Throws:
ambit2.smarts.query.SMARTSException

addSubstructure

public void addSubstructure(java.lang.String title,
                            java.lang.String smarts)
                     throws ambit2.smarts.query.SMARTSException
Specified by:
addSubstructure in interface IRuleSMARTSubstructures
Throws:
ambit2.smarts.query.SMARTSException

addSubstructure

public void addSubstructure(java.lang.String smarts)
                     throws ambit2.smarts.query.SMARTSException
Specified by:
addSubstructure in interface IRuleSMARTSubstructures
Throws:
ambit2.smarts.query.SMARTSException

setSubstructure

public void setSubstructure(java.lang.String title,
                            java.lang.String smarts,
                            boolean negate)
                     throws ambit2.smarts.query.SMARTSException
Throws:
ambit2.smarts.query.SMARTSException

setSubstructure

public void setSubstructure(java.lang.String title,
                            java.lang.String smarts)
                     throws ambit2.smarts.query.SMARTSException
Specified by:
setSubstructure in interface IRuleSMARTSubstructures
Throws:
ambit2.smarts.query.SMARTSException

getSubstructure

public java.lang.String getSubstructure(java.lang.String title)
                                 throws ambit2.smarts.query.SMARTSException
Specified by:
getSubstructure in interface IRuleSMARTSubstructures
Returns:
smarts, corresponding to title
Throws:
ambit2.smarts.query.SMARTSException

clearSubstructures

public void clearSubstructures()
Specified by:
clearSubstructures in interface IRuleSMARTSubstructures

deleteSubstructure

public void deleteSubstructure(java.lang.String title)
Specified by:
deleteSubstructure in interface IRuleSMARTSubstructures

getObjectToVerify

protected abstract T getObjectToVerify(org.openscience.cdk.interfaces.IAtomContainer mol)

getSelector

public ambit2.base.interfaces.IProcessor<org.openscience.cdk.interfaces.IAtomContainer,org.openscience.cdk.renderer.selection.IChemObjectSelection> getSelector()
Specified by:
getSelector in interface IDecisionRule
Overrides:
getSelector in class AbstractRule

verifyRule

public boolean verifyRule(org.openscience.cdk.interfaces.IAtomContainer mol,
                          org.openscience.cdk.interfaces.IAtomContainer selected)
                   throws DecisionMethodException
Throws:
DecisionMethodException

verifyRule

public boolean verifyRule(org.openscience.cdk.interfaces.IAtomContainer mol)
                   throws DecisionMethodException
Description copied from interface: IDecisionRule
This is the core of a IDecisionRule behaviour. The method returns true if the answer of the rule is YES for the analyzed molecule org.openscience.cdk.interfaces.AtomContainer and FALSE if the answer of the rule is NO for the analyzed molecule org.openscience.cdk.interfaces.AtomContainer??

Specified by:
verifyRule in interface IDecisionRule
Parameters:
mol - org.openscience.cdk.interfaces.AtomContainer
Returns:
rule result, boolean
Throws:
DecisionMethodException

removeSingleSMARTS

public void removeSingleSMARTS(java.util.Hashtable table,
                               java.lang.String id)
                        throws ambit2.smarts.query.SMARTSException
Throws:
ambit2.smarts.query.SMARTSException

initSingleSMARTS

public void initSingleSMARTS(java.util.Hashtable<java.lang.String,ambit2.smarts.query.ISmartsPattern<T>> table,
                             java.lang.String id,
                             java.lang.String smartPattern)
                      throws ambit2.smarts.query.SMARTSException
Throws:
ambit2.smarts.query.SMARTSException

isImplemented

public boolean isImplemented()
Specified by:
isImplemented in interface IDecisionRule
Overrides:
isImplemented in class AbstractRule
Returns:
false if the rule is not implemented and true if it is

containsAllSubstructures

public boolean containsAllSubstructures()
Specified by:
containsAllSubstructures in interface IRuleSMARTSubstructures

setContainsAllSubstructures

public void setContainsAllSubstructures(boolean allSmarts)
Specified by:
setContainsAllSubstructures in interface IRuleSMARTSubstructures

getSmartsPatterns

public java.util.Hashtable<java.lang.String,ambit2.smarts.query.ISmartsPattern<T>> getSmartsPatterns()

setSmartsPatterns

public void setSmartsPatterns(java.util.Hashtable<java.lang.String,ambit2.smarts.query.ISmartsPattern<T>> smartsPatterns)

getImplementationDetails

public java.lang.String getImplementationDetails()
Specified by:
getImplementationDetails in interface IImplementationDetails

isAPossibleHit

protected boolean isAPossibleHit(org.openscience.cdk.interfaces.IAtomContainer mol,
                                 T processedObject)
                          throws DecisionMethodException
Returns true always. Override to apply simple prescreening for the rule;

Parameters:
mol -
Returns:
Throws:
DecisionMethodException

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class AbstractRule


Copyright © 2004-2012 Ideaconsult Ltd.. All Rights Reserved.