jigcell.compare.cellcycle
Class GenericPhenotypeObjective

java.lang.Object
  extended by javax.swing.TransferHandler
      extended by jigcell.compare.impl.Transferer
          extended by jigcell.compare.impl.DataSource
              extended by jigcell.compare.data.DataGenerator
                  extended by jigcell.compare.data.EditableDataGenerator
                      extended by jigcell.compare.data.ProgrammableDataGenerator
                          extended by jigcell.compare.objective.Objective
                              extended by jigcell.compare.cellcycle.GenericPhenotypeObjective
All Implemented Interfaces:
java.awt.datatransfer.Transferable, java.beans.PropertyChangeListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, IDataGenerator, IDataSource, IEditableDataGenerator, IProgrammableDataGenerator, IReadableDataSource, IWriteableDataSource, IObjective
Direct Known Subclasses:
BuddingYeastPhenotypeObjective

public class GenericPhenotypeObjective
extends Objective

Measures the difference between two generic phenotypes.

This code is licensed under the DARPA BioCOMP Open Source License. See LICENSE for more details.

Author:
Nicholas Allen
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class jigcell.compare.data.EditableDataGenerator
EditableDataGenerator.EditableDataGeneratorDelegate
 
Nested classes/interfaces inherited from interface jigcell.compare.IDataSource
IDataSource.Option
 
Field Summary
protected static java.lang.String NAME_OBJECTIVE
          Display name of this objective function
 
Fields inherited from class jigcell.compare.objective.Objective
ERROR, OPTION_DATA, OPTION_FUNCTION
 
Fields inherited from class jigcell.compare.data.ProgrammableDataGenerator
allowDescriptionQuery, callStack, listenerList
 
Fields inherited from class jigcell.compare.data.DataGenerator
COMPARATOR_NAME, DESCRIPTION_READ, SEPARATOR_ESCAPE, SPECIAL_CHARS
 
Fields inherited from class jigcell.compare.impl.DataSource
OPTIONS_LOCK, SEPARATOR_PAIR, SEPARATOR_PART, SEPARATORS
 
Fields inherited from class jigcell.compare.impl.Transferer
CSV_FOOTER, CSV_LINEPOSTPEND, CSV_LINEPREPEND, CSV_LINESEPARATOR, HTML_FOOTER, HTML_HEADPOSTPEND, HTML_HEADPREPEND, HTML_HEADSEPARATOR, HTML_LINEPOSTPEND, HTML_LINEPREPEND, HTML_LINESEPARATOR
 
Fields inherited from class javax.swing.TransferHandler
COPY, COPY_OR_MOVE, MOVE, NONE
 
Fields inherited from interface jigcell.compare.objective.IObjective
OPTION_OBJECTIVE, PROPERTY_OBJECTIVE_EDIT, RESOURCE_OBJECTIVES
 
Fields inherited from interface jigcell.compare.IProgrammableDataGenerator
METHOD_GENERATE, OPTION_COMPARE, OPTION_INPUTTYPECHECKER, OPTION_OUTPUTTYPECHECKER
 
Fields inherited from interface jigcell.compare.IDataGenerator
ATTRIBUTE_COMMENT, ATTRIBUTE_GUID, PROPERTY_GENERATOR_EDIT, RESOURCE_GENERATORS
 
Fields inherited from interface jigcell.compare.IReadableDataSource
OPTION_READDESCRIPTION, OPTION_READICON
 
Fields inherited from interface jigcell.compare.IDataSource
OPTION_NAME
 
Fields inherited from interface jigcell.compare.IWriteableDataSource
OPTION_WRITEDESCRIPTION, OPTION_WRITEICON
 
Constructor Summary
GenericPhenotypeObjective()
          Creates a new objective function that can evaluate a phenotype.
 
Method Summary
protected static boolean checkPhenotype(IDataElement element, long index, IDataElement.Type type, boolean optional, java.lang.String field)
          Validates that the data in a given element matches the phenotype pattern.
protected  IDataElement evaluate(IDataElement input)
          Computes the values of this generator.
protected  double evaluateInviable(IDataElement experiment, IDataElement transform)
          Computes the objective for an experiment that is inviable.
protected  double evaluateViable(IDataElement experiment, IDataElement transform)
          Computes the objective for an experiment that is viable.
static java.lang.Object getCustomizableInstances()
          Generates an instance.
 double getScaleCycleCount()
          Scale factor for cycle counts.
 double getScaleDivisionMass()
          Scale factor for division mass.
 double getScaleG1Length()
          Scale factor for time in G1.
 double getScaleSubcycleCount()
          Scale factor for subcycle counts.
 double getWeightArrestStage()
          Penalty weight for arrest stage.
 double getWeightArrestType()
          Penalty weight for arrest type.
 double getWeightCycleCount()
          Penalty weight for cycle count.
 double getWeightDivisionMass()
          Penalty weight for division mass.
 double getWeightG1Length()
          Penalty weight for time in G1.
 double getWeightSubcycleCount()
          Penalty weight for subcycle count.
 double getWeightViability()
          Penalty weight for viability.
 
Methods inherited from class jigcell.compare.objective.Objective
evaluate, getData, getFunction, getObjectiveForGenerator, setData, setFunction
 
Methods inherited from class jigcell.compare.data.ProgrammableDataGenerator
addEvaluationListener, clear, copy, createCustomizer, fireEvaluationError, fireEvaluationError, fireEvaluationStart, fireEvaluationStop, getAllowDescriptionQuery, getCallStack, getElement, getElement, getEvaluationLock, getInputTypeChecker, getInterface, getOutputTypeChecker, initializeSource, isCached, peekElement, peekInterface, propertyChange, removeEvaluationListener, setAllowDescriptionQuery, setInputTypeChecker, setInterfaceClass, setOutputTypeChecker, updateInterface
 
Methods inherited from class jigcell.compare.data.EditableDataGenerator
getPredictedCompatibility, getPredictedCompatibility, isSet, setAttribute, setComment, setElement, setElement, setOption, setState, write
 
Methods inherited from class jigcell.compare.data.DataGenerator
clone, compareByName, copy, generateGUID, getAttribute, getComment, getCopiedFrom, getName, getPredictedContents, getTransferData, isCopy, isCopyRelated, read, setCopyName, setName, toString
 
Methods inherited from class jigcell.compare.impl.DataSource
addOption, addPropertyChangeListener, addPropertyChangeListener, configure, getOption, getOptions, getOptionType, getPropertyChangeListeners, getPropertyChangeListeners, getReadDescriptionOption, getReadIconOption, getState, getWriteDescriptionOption, getWriteIconOption, persistSource, removePropertyChangeListener, removePropertyChangeListener, setOptions, setOptionType, setReadDescriptionOption, setReadIconOption, setWriteDescriptionOption, setWriteIconOption, unpersistSource
 
Methods inherited from class jigcell.compare.impl.Transferer
addExtension, addFlavor, createCSVTable, createFormattedTable, createHTMLTable, getExceptionRecorder, getExpectedClasses, getExpectedClasses, getExpectedClasses, getFlavors, getFlavors, getPreferredExtensions, getPreferredExtensions, getTransferClass, getTransferDataFlavors, getTransferFlavor, isDataFlavorSupported, transfer
 
Methods inherited from class javax.swing.TransferHandler
canImport, createTransferable, exportAsDrag, exportDone, exportToClipboard, getCopyAction, getCutAction, getPasteAction, getSourceActions, getVisualRepresentation, importData
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jigcell.compare.objective.IObjective
clear
 
Methods inherited from interface jigcell.compare.IProgrammableDataGenerator
addEvaluationListener, getCallStack, getElement, getEvaluationLock, getInputTypeChecker, getInterface, getOutputTypeChecker, peekElement, removeEvaluationListener
 
Methods inherited from interface jigcell.compare.IEditableDataGenerator
setComment, setCopyName, setElement, setName
 
Methods inherited from interface jigcell.compare.IDataGenerator
copy, getAttribute, getComment, getCopiedFrom, getElement, isCached, isCopy, isCopyRelated, setAttribute
 
Methods inherited from interface jigcell.compare.IReadableDataSource
getPredictedContents, getReadDescriptionOption, getReadIconOption, read, setReadDescriptionOption, setReadIconOption
 
Methods inherited from interface jigcell.compare.IDataSource
addOption, clone, configure, getName, getOption, getState, setOption, setState
 
Methods inherited from interface java.awt.datatransfer.Transferable
getTransferData, getTransferDataFlavors, isDataFlavorSupported
 
Methods inherited from interface jigcell.compare.IWriteableDataSource
getPredictedCompatibility, getPredictedCompatibility, getWriteDescriptionOption, getWriteIconOption, setWriteDescriptionOption, setWriteIconOption, write
 

Field Detail

NAME_OBJECTIVE

protected static final java.lang.String NAME_OBJECTIVE
Display name of this objective function

See Also:
Constant Field Values
Constructor Detail

GenericPhenotypeObjective

public GenericPhenotypeObjective()
Creates a new objective function that can evaluate a phenotype.

Method Detail

getCustomizableInstances

public static java.lang.Object getCustomizableInstances()
Generates an instance.


checkPhenotype

protected static boolean checkPhenotype(IDataElement element,
                                        long index,
                                        IDataElement.Type type,
                                        boolean optional,
                                        java.lang.String field)
Validates that the data in a given element matches the phenotype pattern. Returns whether data is present.

Parameters:
element - Data element
index - Index into element
type - Type expected at index
optional - Whether an empty value is acceptable
field - Name of the field being matched

getScaleCycleCount

public double getScaleCycleCount()
Scale factor for cycle counts.


getScaleDivisionMass

public double getScaleDivisionMass()
Scale factor for division mass.


getScaleG1Length

public double getScaleG1Length()
Scale factor for time in G1.


getScaleSubcycleCount

public double getScaleSubcycleCount()
Scale factor for subcycle counts.


getWeightArrestStage

public double getWeightArrestStage()
Penalty weight for arrest stage.


getWeightArrestType

public double getWeightArrestType()
Penalty weight for arrest type.


getWeightCycleCount

public double getWeightCycleCount()
Penalty weight for cycle count.


getWeightDivisionMass

public double getWeightDivisionMass()
Penalty weight for division mass.


getWeightG1Length

public double getWeightG1Length()
Penalty weight for time in G1.


getWeightSubcycleCount

public double getWeightSubcycleCount()
Penalty weight for subcycle count.


getWeightViability

public double getWeightViability()
Penalty weight for viability.


evaluate

protected IDataElement evaluate(IDataElement input)
Computes the values of this generator.

Overrides:
evaluate in class Objective
Parameters:
input - List of the inputs provided to this generator

evaluateInviable

protected double evaluateInviable(IDataElement experiment,
                                  IDataElement transform)
Computes the objective for an experiment that is inviable.

Parameters:
experiment - Experimental data
transform - Transform result

evaluateViable

protected double evaluateViable(IDataElement experiment,
                                IDataElement transform)
Computes the objective for an experiment that is viable.

Parameters:
experiment - Experimental data
transform - Transform result