toxTree.qsar
Class LinearDiscriminantRule

java.lang.Object
  extended by java.util.Observable
      extended by toxTree.tree.AbstractRule
          extended by toxTree.qsar.LinearDiscriminantRule
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, IDecisionRule, IDescriptorBased, IImplementationDetails, XMLSerializable
Direct Known Subclasses:
RuleDACancerogenicityAromaticAmines, RuleDAMutagenicityABUnsaturatedAldehydes, RuleDAMutagenicityAromaticAmines

public abstract class LinearDiscriminantRule
extends AbstractRule
implements IImplementationDetails, IDescriptorBased

Uses LinearQSARModel and returns true if LinearQSARModel.predict(IAtomContainer) is >= getThreshold() and false otherwise.

Author:
nina
See Also:
Serialized Form

Field Summary
protected static java.util.Hashtable<java.lang.String,java.lang.String> dictionary
           
protected  LinearQSARModel model
           
protected  double threshold
           
 
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
LinearDiscriminantRule()
           
LinearDiscriminantRule(LinearQSARModel model, double threshold)
           
 
Method Summary
protected  boolean compare(double value, double threshold)
           
protected abstract  DRuleException createException(ambit2.base.exceptions.QSARModelException x)
           
 java.lang.String getImplementationDetails()
           
 LinearQSARModel getModel()
           
 ambit2.base.interfaces.IProcessor<org.openscience.cdk.interfaces.IAtomContainer,org.openscience.cdk.renderer.selection.IChemObjectSelection> getSelector()
           
 double getThreshold()
           
protected  java.lang.String hint()
           
 boolean isCalculated(java.lang.String name)
           
 boolean isImplemented()
           
 void setCalculated(org.openscience.cdk.qsar.IMolecularDescriptor descriptor, java.lang.String name, boolean calculated)
           
 void setModel(LinearQSARModel model)
           
 void setThreshold(double threshold)
           
 boolean verifyRule(org.openscience.cdk.interfaces.IAtomContainer mol)
          This is the core of a IDecisionRule behaviour.
 
Methods inherited from class toxTree.tree.AbstractRule
addPropertyChangeListener, clearFlags, clone, createRule, equals, 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
 

Field Detail

dictionary

protected static java.util.Hashtable<java.lang.String,java.lang.String> dictionary

model

protected LinearQSARModel model

threshold

protected double threshold
Constructor Detail

LinearDiscriminantRule

public LinearDiscriminantRule(LinearQSARModel model,
                              double threshold)

LinearDiscriminantRule

public LinearDiscriminantRule()
Method Detail

getThreshold

public double getThreshold()

setThreshold

public void setThreshold(double threshold)

getModel

public LinearQSARModel getModel()

setModel

public void setModel(LinearQSARModel model)

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

createException

protected abstract DRuleException createException(ambit2.base.exceptions.QSARModelException x)

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

compare

protected boolean compare(double value,
                          double threshold)

hint

protected java.lang.String hint()

getImplementationDetails

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

isCalculated

public boolean isCalculated(java.lang.String name)
Specified by:
isCalculated in interface IDescriptorBased

setCalculated

public void setCalculated(org.openscience.cdk.qsar.IMolecularDescriptor descriptor,
                          java.lang.String name,
                          boolean calculated)
Specified by:
setCalculated in interface IDescriptorBased

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


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