#NEXUS [written Sun May 04 15:57:35 PDT 2008 by Mesquite version 2.01+ (build j65) at Thrandina.local/10.0.1.8 (Wayne Maddison)] BEGIN TAXA; TITLE species; DIMENSIONS NTAX=7; TAXLABELS a b c d e f g ; BLOCKID WM114cc20a14926; END; BEGIN TAXA; TITLE speciesSupplemented; DIMENSIONS NTAX=14; TAXLABELS a b c d e f g h i j g2 h2 i2 j2 ; BLOCKID WM114cc20a14b27; END; BEGIN CHARACTERS; TITLE space; LINK TAXA = species; DIMENSIONS NCHAR=2; FORMAT DATATYPE = CONTINUOUS; MATRIX a 0.1889 0.0807 b 0.0052 -0.0073 c 0.0813 0.0744 d 4.02 3.821 e 4.03 3.942 f 4.153 4.047 g -0.0721 1.149 ; BLOCKID WM114cc20a1780; END; BEGIN CHARACTERS; TITLE space2; LINK TAXA = speciesSupplemented; DIMENSIONS NCHAR=2; FORMAT DATATYPE = CONTINUOUS; MATRIX a 0.1889 0.0807 b 0.0052 -0.0073 c 0.0813 0.0744 d 4.02 3.821 e 4.03 3.942 f 4.153 4.047 g -0.0721 1.149 h 0.0569 0.9767 i 0.1782 0.8074 j 0.0733 1.104 g2 -0.028 0.9647 h2 -0.0539 0.9679 i2 0.0479 1.086 j2 -0.0861 1.136 ; BLOCKID WM114cc20a1890; END; BEGIN NOTES; TEXT FILE TEXT = 'This file illustrates an alternative to PCA for visualizing multidimensional data among species, under development by W. Maddison & Eric Dryeson. It''s called "Evolutionary PCA" because it finds the axes that maximize evolutionary change, not static variance. It allows the change on the basal branch of clade B, for example, to be counted only once during the ordination.^n^nThe results are shown at left. Note that the two plots are nearly identical, because the blue clade''s influence is not dependent on the number of its species sampled.^n^nEPCA works by reconstructing ancestral states using squared-change parsimony, then performing a PCA on the vectors of change on each branch. It provides a visualization method that emphasizes a more evolutionary interpretation of change.'; END; BEGIN ASSUMPTIONS; TYPESET * UNTITLED (CHARACTERS = space) = Squared: 1 - 2; TYPESET * UNTITLED (CHARACTERS = space2) = Squared: 1 - 2; END; BEGIN MESQUITECHARMODELS; ProbModelSet * UNTITLED (CHARACTERS = space) = Brownian_default: 1 - 2; ProbModelSet * UNTITLED (CHARACTERS = space2) = Brownian_default: 1 - 2; END; Begin MESQUITE; MESQUITESCRIPTVERSION 2; TITLE AUTO; tell ProjectCoordinator; getEmployee #mesquite.minimal.ManageTaxa.ManageTaxa; tell It; setID 0 835465756695001242 WM114cc20a14926; setID 1 1991710532467474024 WM114cc20a14b27; endTell; getEmployee #mesquite.charMatrices.ManageCharacters.ManageCharacters; tell It; setID 0 4918009697969523908 WM114cc20a1780; checksum 0 2390669759 WM114cc20a1780; setID 1 3533841213786404322 WM114cc20a1890; checksum 1 977018013 WM114cc20a1890; endTell; getWindow; tell It; setResourcesState false true 100; setPopoutState 400; setExplanationSize 0; setAnnotationSize 0; setFontIncAnnot 0; setFontIncExp 0; setSize 412 329; setLocation 11 22; setFont SanSerif; setFontSize 10; endTell; getEmployee #mesquite.trees.BasicTreeWindowCoord.BasicTreeWindowCoord; tell It; makeTreeWindow #835465756695001242 #mesquite.trees.BasicTreeWindowMaker.BasicTreeWindowMaker; tell It; setTreeSource #mesquite.trees.DefaultTrees.DefaultTrees; setAssignedID 1603.967565686342.6573736635669045704; getTreeWindow; tell It; popAsTile false; popOut; setExplanationSize 20; setAnnotationSize 20; setFontIncAnnot 0; setFontIncExp 0; setSize 400 292; setLocation 434 452; setFont SanSerif; setFontSize 10; getToolPalette; tell It; endTell; getTreeDrawCoordinator #mesquite.trees.BasicTreeDrawCoordinator.BasicTreeDrawCoordinator; tell It; suppress; setTreeDrawer #mesquite.trees.DiagonalDrawTree.DiagonalDrawTree; tell It; setNodeLocs #mesquite.trees.NodeLocsStandard.NodeLocsStandard; tell It; stretchToggle off; branchLengthsToggle off; toggleScale on; toggleBroadScale off; toggleCenter off; toggleEven off; endTell; setEdgeWidth 12; orientUp; endTell; setBackground White; setBranchColor Black; showNodeNumbers off; showBranchColors on; labelBranchLengths off; centerBrLenLabels on; showBrLensUnspecified on; showBrLenLabelsOnTerminals on; setBrLenLabelColor 0 0 255; setNumBrLenDecimals 6; desuppress; getEmployee #mesquite.trees.BasicDrawTaxonNames.BasicDrawTaxonNames; tell It; setFont SanSerif; setFontSize 10; setColor Black; toggleColorPartition on; toggleShadePartition off; toggleNodeLabels on; toggleCenterNodeNames off; toggleShowNames on; namesAngle ?; endTell; endTell; setTreeNumber 1; setTree '(((1,4),((2,5),(3,6))),7);'; useSuggestedSize off; toggleSizeToFit on; toggleTextOnTree off; showWindow; newAssistant #mesquite.trees.TreeNotesMaker.TreeNotesMaker; tell It; getNote; tell It; setBounds 50 129 100 20; setOffsetX 50; setOffsetY 129; setNote second_clade_small; setOffsetX 50; setOffsetY 129; endTell; endTell; newAssistant #mesquite.ancstates.TraceCharacterHistory.TraceCharacterHistory; tell It; suspend ; setDisplayMode #mesquite.ancstates.ShadeStatesOnTree.ShadeStatesOnTree; tell It; toggleLabels off; toggleGray off; endTell; setHistorySource #mesquite.ancstates.RecAncestralStates.RecAncestralStates; tell It; getCharacterSource #mesquite.charMatrices.CharSrcCoordObed.CharSrcCoordObed; tell It; setCharacterSource #mesquite.charMatrices.StoredCharacters.StoredCharacters; tell It; setTaxa #835465756695001242; setDataSet #4918009697969523908; endTell; endTell; setMethod #mesquite.parsimony.ParsAncestralStates.ParsAncestralStates; tell It; setModelSource #mesquite.parsimony.CurrentParsModels.CurrentParsModels; toggleMPRsMode off; getEmployee #mesquite.parsimony.ParsimonySquared.ParsimonySquared; tell It; toggleWeight on; endTell; endTell; endTell; setCharacter 1; setMapping 1; toggleShowLegend off; toggleGray off; toggleWeights on; resume ; endTell; newWindowAssistant #mesquite.trees.DependentTreeWindow.DependentTreeWindow; tell It; getTreeDrawCoordinator #mesquite.trees.BasicTreeDrawCoordinator.BasicTreeDrawCoordinator; tell It; suppress; setTreeDrawer #mesquite.cont.PlotTree.PlotTree; tell It; setNodeLocs #mesquite.cont.NodeLocs2DPlot.NodeLocs2DPlot; tell It; hide; setAxis #mesquite.cont.MapContinuous.MapContinuous; tell It; getCharacterSource #mesquite.charMatrices.CharSrcCoordObed.CharSrcCoordObed; tell It; setCharacterSource #mesquite.rhetenor.CharFromOrdinations.CharFromOrdinations; tell It; getCharacterSource #mesquite.charMatrices.CharMatrixCoordIndep.CharMatrixCoordIndep; tell It; setCharacterSource #mesquite.charMatrices.StoredMatrices.StoredMatrices; tell It; setTaxa #835465756695001242; setDataSet #4918009697969523908; endTell; endTell; setOrdinator #mesquite.rhetenor.EvolutionaryPCA.EvolutionaryPCA; tell It; getEmployee #mesquite.trees.TreeOfContext.TreeOfContext; tell It; setContextID 1603.967565686342.6573736635669045704; endTell; endTell; setItem 0; endTell; endTell; setCharacter 2; setItem 0; getEmployee #mesquite.parsimony.ParsAncestralStates.ParsAncestralStates; tell It; setModelSource #mesquite.parsimony.CurrentParsModels.CurrentParsModels; tell It; setDefaultModel 13; endTell; toggleMPRsMode off; getEmployee #mesquite.parsimony.ParsimonySquared.ParsimonySquared; tell It; toggleWeight on; endTell; endTell; endTell; toggleShowLegend off; setInitialOffsetX -200; setInitialOffsetY -224; setCurrentX 1; setCurrentY 2; show; endTell; setSpotDiameter 16; toggleShowTerminals on; toggleShowInternals on; toggleShowTree on; endTell; setBackground White; setBranchColor Black; showNodeNumbers off; showBranchColors on; labelBranchLengths off; centerBrLenLabels on; showBrLensUnspecified on; showBrLenLabelsOnTerminals on; setBrLenLabelColor 0 0 255; setNumBrLenDecimals 6; desuppress; getEmployee #mesquite.trees.BasicDrawTaxonNames.BasicDrawTaxonNames; tell It; setFont SanSerif; setFontSize 10; setColor Black; toggleColorPartition on; toggleShadePartition off; toggleNodeLabels on; toggleCenterNodeNames off; toggleShowNames on; namesAngle ?; endTell; endTell; getWindow; tell It; popAsTile false; popOut; setExplanationSize 0; setAnnotationSize 0; setFontIncAnnot 0; setFontIncExp 0; setSize 400 332; setLocation 437 22; setFont SanSerif; setFontSize 10; getToolPalette; tell It; endTell; newAssistantD #mesquite.trees.TreeNotesMaker.TreeNotesMaker; tell It; getNote; tell It; setBounds 112 4 137 32; setFont SanSerif; setFontSize 14; setOffsetX 13; setOffsetY -100; setNote Evolutionary_PCA; setOffsetX 13; setOffsetY -100; endTell; endTell; newAssistant #mesquite.ancstates.TraceCharacterHistory.TraceCharacterHistory; tell It; suspend ; setDisplayMode #mesquite.ancstates.ShadeStatesOnTree.ShadeStatesOnTree; tell It; toggleLabels off; toggleGray off; endTell; setHistorySource #mesquite.ancstates.RecAncestralStates.RecAncestralStates; tell It; getCharacterSource #mesquite.charMatrices.CharSrcCoordObed.CharSrcCoordObed; tell It; setCharacterSource #mesquite.charMatrices.StoredCharacters.StoredCharacters; tell It; setTaxa #835465756695001242; setDataSet #4918009697969523908; endTell; endTell; setMethod #mesquite.parsimony.ParsAncestralStates.ParsAncestralStates; tell It; setModelSource #mesquite.parsimony.CurrentParsModels.CurrentParsModels; toggleMPRsMode off; getEmployee #mesquite.parsimony.ParsimonySquared.ParsimonySquared; tell It; toggleWeight on; endTell; endTell; endTell; setCharacter 1; setMapping 1; toggleShowLegend off; toggleGray off; toggleWeights on; resume ; endTell; endTell; showWindow; getEmployee #mesquite.ornamental.ColorTreeByPartition.ColorTreeByPartition; tell It; colorByPartition off; endTell; endTell; endTell; getEmployee #mesquite.trees.ColorBranches.ColorBranches; tell It; setColor Red; removeColor off; endTell; getEmployee #mesquite.ornamental.BranchNotes.BranchNotes; tell It; setAlwaysOn off; endTell; getEmployee #mesquite.ornamental.ColorTreeByPartition.ColorTreeByPartition; tell It; colorByPartition off; endTell; getEmployee #mesquite.trees.TreeInfoValues.TreeInfoValues; tell It; panelOpen false; endTell; endTell; makeTreeWindow #1991710532467474024 #mesquite.trees.BasicTreeWindowMaker.BasicTreeWindowMaker; tell It; setTreeSource #mesquite.trees.DefaultTrees.DefaultTrees; setAssignedID 1733.967565688167.6875230740143230555; getTreeWindow; tell It; popAsTile false; popOut; setExplanationSize 20; setAnnotationSize 20; setFontIncAnnot 0; setFontIncExp 0; setSize 400 292; setLocation 873 451; setFont SanSerif; setFontSize 10; getToolPalette; tell It; endTell; getTreeDrawCoordinator #mesquite.trees.BasicTreeDrawCoordinator.BasicTreeDrawCoordinator; tell It; suppress; setTreeDrawer #mesquite.trees.DiagonalDrawTree.DiagonalDrawTree; tell It; setNodeLocs #mesquite.trees.NodeLocsStandard.NodeLocsStandard; tell It; stretchToggle off; branchLengthsToggle off; toggleScale on; toggleBroadScale off; toggleCenter off; toggleEven off; endTell; setEdgeWidth 12; orientUp; endTell; setBackground Light_Gray; setBranchColor Black; showNodeNumbers off; showBranchColors on; labelBranchLengths off; centerBrLenLabels on; showBrLensUnspecified on; showBrLenLabelsOnTerminals on; setBrLenLabelColor 0 0 255; setNumBrLenDecimals 6; desuppress; getEmployee #mesquite.trees.BasicDrawTaxonNames.BasicDrawTaxonNames; tell It; setFont SanSerif; setFontSize 10; setColor Black; toggleColorPartition on; toggleShadePartition off; toggleNodeLabels on; toggleCenterNodeNames off; toggleShowNames on; namesAngle ?; endTell; endTell; setTreeNumber 1; setTree '(((1,4),((2,5),(3,6))),((7,8),(9,(10,(11,(12,(13,14)))))));'; useSuggestedSize off; toggleSizeToFit on; toggleTextOnTree off; showWindow; newAssistant #mesquite.trees.TreeNotesMaker.TreeNotesMaker; tell It; getNote; tell It; setBounds 50 142 100 20; setOffsetX 50; setOffsetY 142; setNote second_clade_large; setOffsetX 50; setOffsetY 142; endTell; endTell; newAssistant #mesquite.ancstates.TraceCharacterHistory.TraceCharacterHistory; tell It; suspend ; setDisplayMode #mesquite.ancstates.ShadeStatesOnTree.ShadeStatesOnTree; tell It; toggleLabels off; toggleGray off; endTell; setHistorySource #mesquite.ancstates.RecAncestralStates.RecAncestralStates; tell It; getCharacterSource #mesquite.charMatrices.CharSrcCoordObed.CharSrcCoordObed; tell It; setCharacterSource #mesquite.charMatrices.StoredCharacters.StoredCharacters; tell It; setTaxa #1991710532467474024; setDataSet #3533841213786404322; endTell; endTell; setMethod #mesquite.parsimony.ParsAncestralStates.ParsAncestralStates; tell It; setModelSource #mesquite.parsimony.CurrentParsModels.CurrentParsModels; toggleMPRsMode off; getEmployee #mesquite.parsimony.ParsimonySquared.ParsimonySquared; tell It; toggleWeight on; endTell; endTell; endTell; setCharacter 1; setMapping 1; toggleShowLegend off; toggleGray off; toggleWeights on; resume ; endTell; newWindowAssistant #mesquite.trees.DependentTreeWindow.DependentTreeWindow; tell It; getTreeDrawCoordinator #mesquite.trees.BasicTreeDrawCoordinator.BasicTreeDrawCoordinator; tell It; suppress; setTreeDrawer #mesquite.cont.PlotTree.PlotTree; tell It; setNodeLocs #mesquite.cont.NodeLocs2DPlot.NodeLocs2DPlot; tell It; hide; setAxis #mesquite.cont.MapContinuous.MapContinuous; tell It; getCharacterSource #mesquite.charMatrices.CharSrcCoordObed.CharSrcCoordObed; tell It; setCharacterSource #mesquite.rhetenor.CharFromOrdinations.CharFromOrdinations; tell It; getCharacterSource #mesquite.charMatrices.CharMatrixCoordIndep.CharMatrixCoordIndep; tell It; setCharacterSource #mesquite.charMatrices.StoredMatrices.StoredMatrices; tell It; setTaxa #1991710532467474024; setDataSet #3533841213786404322; endTell; endTell; setOrdinator #mesquite.rhetenor.EvolutionaryPCA.EvolutionaryPCA; tell It; getEmployee #mesquite.trees.TreeOfContext.TreeOfContext; tell It; setContextID 1733.967565688167.6875230740143230555; endTell; endTell; setItem 0; endTell; endTell; setCharacter 2; setItem 0; getEmployee #mesquite.parsimony.ParsAncestralStates.ParsAncestralStates; tell It; setModelSource #mesquite.parsimony.CurrentParsModels.CurrentParsModels; tell It; setDefaultModel 13; endTell; toggleMPRsMode off; getEmployee #mesquite.parsimony.ParsimonySquared.ParsimonySquared; tell It; toggleWeight on; endTell; endTell; endTell; toggleShowLegend off; setInitialOffsetX -200; setInitialOffsetY -220; setCurrentX 1; setCurrentY 2; show; endTell; setSpotDiameter 16; toggleShowTerminals on; toggleShowInternals on; toggleShowTree on; endTell; setBackground Light_Gray; setBranchColor Black; showNodeNumbers off; showBranchColors on; labelBranchLengths off; centerBrLenLabels on; showBrLensUnspecified on; showBrLenLabelsOnTerminals on; setBrLenLabelColor 0 0 255; setNumBrLenDecimals 6; desuppress; getEmployee #mesquite.trees.BasicDrawTaxonNames.BasicDrawTaxonNames; tell It; setFont SanSerif; setFontSize 10; setColor Black; toggleColorPartition on; toggleShadePartition off; toggleNodeLabels on; toggleCenterNodeNames off; toggleShowNames on; namesAngle ?; endTell; endTell; getWindow; tell It; popAsTile false; popOut; setExplanationSize 0; setAnnotationSize 0; setFontIncAnnot 0; setFontIncExp 0; setSize 400 332; setLocation 871 22; setFont SanSerif; setFontSize 10; getToolPalette; tell It; endTell; newAssistantD #mesquite.trees.TreeNotesMaker.TreeNotesMaker; tell It; getNote; tell It; setBounds 102 41 137 32; setFont SanSerif; setFontSize 14; setOffsetX -6; setOffsetY -112; setNote Evolutionary_PCA; setOffsetX -6; setOffsetY -112; endTell; endTell; newAssistant #mesquite.ancstates.TraceCharacterHistory.TraceCharacterHistory; tell It; suspend ; setDisplayMode #mesquite.ancstates.ShadeStatesOnTree.ShadeStatesOnTree; tell It; toggleLabels off; toggleGray off; endTell; setHistorySource #mesquite.ancstates.RecAncestralStates.RecAncestralStates; tell It; getCharacterSource #mesquite.charMatrices.CharSrcCoordObed.CharSrcCoordObed; tell It; setCharacterSource #mesquite.charMatrices.StoredCharacters.StoredCharacters; tell It; setTaxa #1991710532467474024; setDataSet #3533841213786404322; endTell; endTell; setMethod #mesquite.parsimony.ParsAncestralStates.ParsAncestralStates; tell It; setModelSource #mesquite.parsimony.CurrentParsModels.CurrentParsModels; toggleMPRsMode off; getEmployee #mesquite.parsimony.ParsimonySquared.ParsimonySquared; tell It; toggleWeight on; endTell; endTell; endTell; setCharacter 1; setMapping 1; toggleShowLegend off; toggleGray off; toggleWeights on; resume ; endTell; endTell; showWindow; getEmployee #mesquite.ornamental.ColorTreeByPartition.ColorTreeByPartition; tell It; colorByPartition off; endTell; endTell; endTell; getEmployee #mesquite.trees.ColorBranches.ColorBranches; tell It; setColor Red; removeColor off; endTell; getEmployee #mesquite.ornamental.BranchNotes.BranchNotes; tell It; setAlwaysOn off; endTell; getEmployee #mesquite.ornamental.ColorTreeByPartition.ColorTreeByPartition; tell It; colorByPartition off; endTell; getEmployee #mesquite.trees.TreeInfoValues.TreeInfoValues; tell It; panelOpen false; endTell; endTell; endTell; newAssistant #mesquite.ornamental.PictureWindowMaker.PictureWindowMaker; tell It; setPicture 'epca/Image2.gif'; getWindow; tell It; popAsTile false; popOut; setExplanationSize 0; setAnnotationSize 0; setFontIncAnnot 0; setFontIncExp 0; setSize 277 189; setLocation 69 454; setFont SanSerif; setFontSize 10; endTell; showWindow; endTell; newAssistant #mesquite.basic.ExamplesNavigator.ExamplesNavigator; tell It; setNextFileName '16-epcaLiveSim.nex'; setPrevFileName '14-epca.nex'; getWindow; tell It; setExplanationSize 0; setAnnotationSize 0; setFontIncAnnot 0; setFontIncExp 0; setSize 412 312; setLocation 11 22; setFont SanSerif; setFontSize 10; setActive; setExplanation 'This file illustrates an alternative to PCA for visualizing multidimensional data among species, under development by Wayne Maddison & Eric Dryeson. It''s called "Evolutionary PCA" because it finds the axes that maximize evolutionary change, not static variance. It allows the change on the basal branch of clade B, for example, to be counted only once during the ordination.^n^nThe results are shown at right. Note that the two plots are nearly identical, because the blue clade''s influence is not dependent on the number of its species sampled.^n^nEPCA works by reconstructing ancestral states using squared-change parsimony, then performing a PCA on the vectors of change on each branch. It provides a visualization method that emphasizes a more evolutionary interpretation of change.'; setTitle EPCA; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; endTell; showWindow; endTell; endTell; end;