mesquite.align.lib
Class AlignScoreForTaxonGen

java.lang.Object
  extended by mesquite.lib.MenuOwner
      extended by mesquite.lib.EmployerEmployee
          extended by mesquite.lib.MesquiteModule
              extended by mesquite.lib.duties.NumberForTaxon
                  extended by mesquite.align.lib.AlignScoreForTaxonGen
All Implemented Interfaces:
Commandable, Doomable, NumberForItem, Explainable, FileDirtier, FunctionExplainable, HNode, Identifiable, Listable, Logger, MesquiteListener, Showable

public abstract class AlignScoreForTaxonGen
extends NumberForTaxon


Field Summary
protected  PairwiseAligner aligner
           
protected  int alphabetLength
           
protected  MesquiteInteger comparisonTaxon
           
protected  Taxa currentTaxa
           
protected  MatrixSourceCoord matrixSourceTask
           
protected  MCharactersDistribution observedStates
           
 
Fields inherited from class mesquite.lib.MesquiteModule
author, browserString, checkMethodsAtStartup, hiredAsDefaultInScripting, lastResult, lastResultString, logWindow, mesquiteDirectory, mesquiteDirectoryPath, mesquiteTrunk, moduleInfo, prefsDirectory, proj, textEdgeCompensationHeight, textEdgeCompensationWidth, totalFinalized, userDirectory
 
Fields inherited from class mesquite.lib.EmployerEmployee
employees, employer, startupBailOut, stringPos, suppressHireQueries, totalCreated, totalDisposed, useOtherChoices
 
Fields inherited from class mesquite.lib.MenuOwner
considerPriorities, doomed, MAXPRIORITY, menuCompositionTime, menuCompositionTime1, menuCompositionTime2, menuCompositionTime2a, menuCompositionTime2b, menuCompositionTime2c, menuCompositionTime3, menuCompositionTime4, menuCompositionTime5, menuCompositionTime6, menuCompositionTime7, menuCompositionTime8, menuCompositionTime9, menuTracing, module, parser
 
Fields inherited from interface mesquite.lib.MesquiteListener
ANNOTATION_ADDED, ANNOTATION_CHANGED, ANNOTATION_DELETED, ASSOCIATED_CHANGED, BRANCHES_REARRANGED, BRANCHLENGTHS_CHANGED, COMMAND_CANCELLED, DATA_CHANGED, ELEMENT_CHANGED, ITEMS_ADDED, NAMES_CHANGED, OBJECT_DESTROYED, PARTS_ADDED, PARTS_CHANGED, PARTS_DELETED, PARTS_MOVED, SELECTION_CHANGED, TAXA_SUBSTITUTED, TEXTFIELD_EDITED, UNKNOWN, VALUE_CHANGED
 
Fields inherited from interface mesquite.lib.HNode
MOUSEDOWN, MOUSEEXIT, MOUSEMOVE
 
Constructor Summary
AlignScoreForTaxonGen()
           
 
Method Summary
 void calculateNumber(Taxon taxon, MesquiteNumber result, MesquiteString resultString)
           
 java.lang.Object doCommand(java.lang.String commandName, java.lang.String arguments, CommandChecker checker)
          A request for the MesquiteModule to perform a command.
 void employeeParametersChanged(MesquiteModule employee, MesquiteModule source, Notification notification)
          Generated by an employee calling its parametersChanged method.
 void employeeQuit(MesquiteModule employee)
          Generated by an employee who quit.
protected abstract  void getAlignmentScore(DNAData data, MCategoricalDistribution observedStates, int it1, int it2, MesquiteNumber score)
           
 CompatibilityTest getCompatibilityTest()
          Returns CompatibilityTest so other modules know if this is compatible with some object.
 java.lang.String getExplanation()
          returns an explanation of what the module does.
 java.lang.String getParameters()
          returns current parameters, for logging etc..
abstract  java.lang.String getScoreName()
           
 Snapshot getSnapshot(MesquiteFile file)
          Return Mesquite commands that will put the module (approximately) back into its current state.
 void initAligner()
           
 void initialize(Taxa taxa)
          Called to provoke any necessary initialization.
 boolean isSubstantive()
          returns whether this module does substantive calculations affecting analysis results, or only a graphical/UI/input-output module
 int[][] modifyAlignmentCosts(int[][] defaultSubs)
          Override if one wishes to modify the alignment costs away from the default.
 boolean queryReferenceTaxon()
           
 boolean requestPrimaryChoice()
          returns whether this module is requesting to appear as a primary choice
 boolean startJob(java.lang.String arguments, java.lang.Object condition, boolean hiredByName)
          startJob is called automatically when an employee is hired.
 
Methods inherited from class mesquite.lib.duties.NumberForTaxon
calculateNumber, calculateNumberInContext, getDutyClass, getDutyName, getNameOfValueCalculated, initialize, returnsMultipleValues
 
Methods inherited from class mesquite.lib.MesquiteModule
accumulateParameters, addNEXUSBlock, alert, alert, anySubstantivePrereleases, broadCastAssignedID, changed, classFieldChanged, clearLastResult, clearResultAndLastResult, compatibleWithSystem, containerOfModule, createSupportDirectory, deleteSupportDirectory, discreetAlert, discreetAlert, dispose, disposing, echoStringToFile, employeeOutputInvalid, employerWithWindow, endJob, fileAboutToBeWritten, fileDirtiedByCommand, fileElementAdded, fileReadIn, finalize, findNEXUSBlock, getAppletInfo, getAuthors, getAutoSaveMacros, getBrowserManualPath, getBrowserPanel, getBuildDate, getBuildVersion, getCitation, getCommandPagePath, getDateReleased, getDefaultModule, getDocsPath, getExpectedPath, getFunctionIconPath, getHireSubchoice, getHTMLExplanation, getID, getIfLastEmployee, getKeywords, getManualPath, getMesquiteVersion, getModuleInfo, getName, getNameAndParameters, getNameForMenuItem, getNexusBlockTest, getNexusCommands, getNexusCommandTest, getPackageImagesPath, getPackageIntroModule, getPackagePath, getParametersChangedNotifier, getPath, getPermanentIDString, getProject, getRootImageDirectoryPath, getRootPath, getShortClassName, getShortClassName, getSizedRootImageFilePath, getSubfunctions, getSubfunctionsVector, getURLString, getUserChooseable, getVersion, getVersionInt, getVersionOfFirstRelease, getVeryShortName, getXMLPrefsVersion, iQuit, iQuit, isCorrectRootTag, isPrerelease, listEmployeeParameters, listEmployees, loadPreferences, log, log, logln, logln, loglnNoEcho, logNoEcho, makeCommand, mesquiteStartup, nameIsInstanceOf, nameMatches, offHold, okToDispose, onHold, outputInvalid, pageModule, panelGoAway, parametersChanged, parametersChanged, parseFullXMLDocument, permanentIDExists, preparePreferencesForFile, preparePreferencesForXML, processPreferencesFromFile, processPreferencesFromXML, processSingleXMLPreference, projectEstablished, quittingConditions, readNexusBlock, readNexusCommand, readUnrecognizedCommand, registerSubfunction, removeNEXUSBlock, removePaging, reportProfiling, respondToPaging, returningPage, saveLastResult, saveLastResult, saveLastResult, saveLastResult, saveLastResultString, saveLastResultString, setAutoSaveMacros, setProject, setToLastEmployee, showCitation, showHTMLSnippet, showLogWindow, showLogWindow, showManual, showMe, showWebPage, showWebPage, sorry, startProfiling, storePreferences, superStartJob, supportDirectoryPath, toString, URLinPackageIntro, windowGoAway, writeNexusCommands, xmlPrefsVersionMustMatch
 
Methods inherited from class mesquite.lib.EmployerEmployee
canHireMoreThanOnce, closeDownAllEmployees, decrementEmployeeBrowserRefreshSuppression, deferBranchPriority, employeeOfWhichEmployee, findCharacterDataEditor, findCharacterDataEditorRec, findElementManager, findEmployee, findEmployee, findEmployeeNeed, findEmployeeWithDuty, findEmployeeWithDuty, findEmployeeWithIDNumber, findEmployeeWithName, findEmployeeWithName, findEmployeeWithName, findEmployeeWithPermanentID, findEmployerWithDuty, findImmediateEmployeeWithDuty, findModelCurator, findModelCuratorRec, findModules, findModulesWithDuty, findNearestColleagueWithDuty, findNearestColleagueWithName, findNearestModuleWithDuty, findNextEmployeeWithDuty, fireEmployee, getClonableEmployeeCommand, getEmployeeNeeds, getEmployeeNeedsVector, getEmployeeReference, getEmployeeVector, getEmployer, getEmployerPath, getExplanationByWhichHired, getFileCoordinator, getHColor, getHDaughters, getHImage, getHiredAs, getHiringCommand, getHiringCondition, getHMother, getHShow, getImmediateEmployeesWithDuty, getNextEmployeeWithDuty, getNumberOfEmployees, getNumSupplements, getSearchableAsModule, getSupplementName, getTypeName, hireAllCompatibleEmployees, hireAllEmployees, hireAllOtherCompatibleEmployees, hireAllOtherEmployees, hireCompatibleEmployee, hireEmployee, hireEmployeeFromModuleInfo, hireNamedEmployee, hireNamedEmployee, hireNamedEmployee, hNodeAction, hSupplementTouched, incrementEmployeeBrowserRefreshSuppression, instantiateEmployee, instantiateModule, internalStartUp, isEmployerOf, isMacroAnchor, isPriorityFixed, listEmployees, listNeeds, makeEmployeeVector, moduleActiveWord, moveEmployeeToFront, numCompatibleModulesAvailable, numModulesAvailable, purposeOfEmployee, queryChooseModule, refreshBrowser, registerEmployeeNeed, registerEmployeeNeed, replaceCompatibleEmployee, replaceEmployee, replaceEmployeeWithNext, setHiringCommand, setPriorityFixed, setShowHiringPath, whatIsMyPurpose
 
Methods inherited from class mesquite.lib.MenuOwner
addAuxiliaryMenu, addCheckMenuItem, addCheckMenuItemToSubmenu, addItemToSubmenu, addItemToSubmenu, addLineToSubmenu, addMenuItem, addMenuItem, addMenuItem, addMenuLine, addModuleMenuItems, addSubmenu, addSubmenu, addSubmenu, addSubmenu, addSubmenu, checkMISVector, composeMenuBar, decrementMenuResetSuppression, defineMenus, deleteAllMenuItems, deleteMenuItem, destroyMenu, disposeMenuSpecifications, doom, findMenuAmongEmployers, getContainingMenuSpec, getMenu, getMenuItemSpecs, getMenuResetSuppression, getModuleWindow, getUseMenubar, incrementMenuResetSuppression, isDoomed, makeMenu, needsMenu, recomposeWindowsMenu, resetAllMenuBars, resetAllWindowsMenus, resetContainingMenuBar, setMenuResetSuppression, setMenuToUse, setModule, setModuleWindow, setUndoMenuItemEnabled, setUseMenubar, showPopUp, zeroMenuResetSuppression
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface mesquite.lib.duties.NumberForItem
accumulateParameters, getName, getNameAndParameters
 

Field Detail

matrixSourceTask

protected MatrixSourceCoord matrixSourceTask

currentTaxa

protected Taxa currentTaxa

observedStates

protected MCharactersDistribution observedStates

aligner

protected PairwiseAligner aligner

alphabetLength

protected int alphabetLength

comparisonTaxon

protected MesquiteInteger comparisonTaxon
Constructor Detail

AlignScoreForTaxonGen

public AlignScoreForTaxonGen()
Method Detail

startJob

public boolean startJob(java.lang.String arguments,
                        java.lang.Object condition,
                        boolean hiredByName)
Description copied from class: MesquiteModule
startJob is called automatically when an employee is hired. The parameter scripting indicates if the hiring occurs in the context of automated scripting (e.g., on reading a Mesquite block of a NEXUS file). The module can limit user interface calls (e.g. dialog boxes) when scripting occurs.

The MesquiteModule should override this method, to add code to initialize things it needs, and to hire relevant necessary employees. startJob must return true if the module was successfully started; false otherwise. Thus, if the module needs a data matrix but the file has none, it returns false and the hiring process is undone.

Most modules will ignore the arguments and condition.

Specified by:
startJob in class MesquiteModule

getSnapshot

public Snapshot getSnapshot(MesquiteFile file)
Description copied from class: MesquiteModule
Return Mesquite commands that will put the module (approximately) back into its current state. Used so that on file save, a Mesquite block can be saved that will return the user more or less to previous state.

Overrides:
getSnapshot in class MesquiteModule

employeeQuit

public void employeeQuit(MesquiteModule employee)
Generated by an employee who quit. The MesquiteModule should act accordingly.

Overrides:
employeeQuit in class MesquiteModule

modifyAlignmentCosts

public int[][] modifyAlignmentCosts(int[][] defaultSubs)
Override if one wishes to modify the alignment costs away from the default.


initAligner

public void initAligner()

requestPrimaryChoice

public boolean requestPrimaryChoice()
returns whether this module is requesting to appear as a primary choice

Overrides:
requestPrimaryChoice in class MesquiteModule

initialize

public void initialize(Taxa taxa)
Called to provoke any necessary initialization. This helps prevent the module's intialization queries to the user from happening at inopportune times (e.g., while a long chart calculation is in mid-progress)

Specified by:
initialize in class NumberForTaxon

calculateNumber

public void calculateNumber(Taxon taxon,
                            MesquiteNumber result,
                            MesquiteString resultString)
Specified by:
calculateNumber in class NumberForTaxon

getAlignmentScore

protected abstract void getAlignmentScore(DNAData data,
                                          MCategoricalDistribution observedStates,
                                          int it1,
                                          int it2,
                                          MesquiteNumber score)

queryReferenceTaxon

public boolean queryReferenceTaxon()

doCommand

public java.lang.Object doCommand(java.lang.String commandName,
                                  java.lang.String arguments,
                                  CommandChecker checker)
Description copied from class: MesquiteModule
A request for the MesquiteModule to perform a command. It is passed two strings, the name of the command and the arguments. This should be overridden by any module that wants to respond to a command.

Specified by:
doCommand in interface Commandable
Overrides:
doCommand in class MesquiteModule

getCompatibilityTest

public CompatibilityTest getCompatibilityTest()
Returns CompatibilityTest so other modules know if this is compatible with some object.

Overrides:
getCompatibilityTest in class MesquiteModule

employeeParametersChanged

public void employeeParametersChanged(MesquiteModule employee,
                                      MesquiteModule source,
                                      Notification notification)
Description copied from class: MesquiteModule
Generated by an employee calling its parametersChanged method. The MesquiteModule should act accordingly, for instance, asking the employee to do a recalculation.

Overrides:
employeeParametersChanged in class MesquiteModule

getScoreName

public abstract java.lang.String getScoreName()

isSubstantive

public boolean isSubstantive()
Description copied from class: MesquiteModule
returns whether this module does substantive calculations affecting analysis results, or only a graphical/UI/input-output module

Overrides:
isSubstantive in class MesquiteModule

getParameters

public java.lang.String getParameters()
Description copied from class: MesquiteModule
returns current parameters, for logging etc..

Specified by:
getParameters in interface NumberForItem
Overrides:
getParameters in class MesquiteModule

getExplanation

public java.lang.String getExplanation()
returns an explanation of what the module does.

Specified by:
getExplanation in interface Explainable
Overrides:
getExplanation in class MesquiteModule