/* This is an example HY-PHY Batch File. It reads in a PHYLIP amino-acid dataset data/stewart.aa and estimates maximum ln-likelihood based on the tree contained in the data file, using Equal Input (proportional) model for amino-acids. Sergei L. Kosakovsky Pond and Spencer V. Muse December 1999. */ VERBOSITY_LEVEL = -1; ACCEPT_BRANCH_LENGTHS = 1; /* 1. Read in the data and store the result in a DataSet variable.*/ DataSet aaSequences = ReadDataFile ("mtCDNAmamAA.nex"); /* 2. Filter the data, specifying that all of the data is to be used and that it is to be treated as amino-acids.*/ DataSetFilter filteredData = CreateFilter (aaSequences,1); /* 3. Collect observed frequencies from the filtered data. observedFreq will store the vector of amino-acid frequencies. */ HarvestFrequencies (observedFreqs, filteredData, 1, 1, 1); /* 3. 8 category Gamma correction. */ global alpha=0.37; alpha:>0.01; alpha:<100; category rateCat = (8,EQUAL,MEAN,GammaDist(_x_,alpha,alpha),CGammaDist(_x_,alpha,alpha),0,1e25,CGammaDist(_x_,alpha+1,alpha)); /* 4. Defines the rate matrix for the equal input model. */ ModelMatrixName = {20,20}; { ModelMatrixName[0][1]:=rateCat*t; ModelMatrixName[1][0]:=rateCat*t; global globalVariable_AD = rateCat*1; ModelMatrixName[0][2]:=globalVariable_AD*rateCat*t; ModelMatrixName[2][0]:=globalVariable_AD*rateCat*t; global globalVariable_AE = 1; ModelMatrixName[0][3]:=globalVariable_AE*rateCat*t; ModelMatrixName[3][0]:=globalVariable_AE*rateCat*t; global globalVariable_AF = 1; ModelMatrixName[0][4]:=globalVariable_AF*rateCat*t; ModelMatrixName[4][0]:=globalVariable_AF*rateCat*t; global globalVariable_AG = 1; ModelMatrixName[0][5]:=globalVariable_AG*rateCat*t; ModelMatrixName[5][0]:=globalVariable_AG*rateCat*t; global globalVariable_AH = 1; ModelMatrixName[0][6]:=globalVariable_AH*rateCat*t; ModelMatrixName[6][0]:=globalVariable_AH*rateCat*t; global globalVariable_AI = 1; ModelMatrixName[0][7]:=globalVariable_AI*rateCat*t; ModelMatrixName[7][0]:=globalVariable_AI*rateCat*t; global globalVariable_AK = 1; ModelMatrixName[0][8]:=globalVariable_AK*rateCat*t; ModelMatrixName[8][0]:=globalVariable_AK*rateCat*t; global globalVariable_AL = 1; ModelMatrixName[0][9]:=globalVariable_AL*rateCat*t; ModelMatrixName[9][0]:=globalVariable_AL*rateCat*t; global globalVariable_AM = 1; ModelMatrixName[0][10]:=globalVariable_AM*rateCat*t; ModelMatrixName[10][0]:=globalVariable_AM*rateCat*t; global globalVariable_AN = 1; ModelMatrixName[0][11]:=globalVariable_AN*rateCat*t; ModelMatrixName[11][0]:=globalVariable_AN*rateCat*t; global globalVariable_AP = 1; ModelMatrixName[0][12]:=globalVariable_AP*rateCat*t; ModelMatrixName[12][0]:=globalVariable_AP*rateCat*t; global globalVariable_AQ = 1; ModelMatrixName[0][13]:=globalVariable_AQ*rateCat*t; ModelMatrixName[13][0]:=globalVariable_AQ*rateCat*t; global globalVariable_AR = 1; ModelMatrixName[0][14]:=globalVariable_AR*rateCat*t; ModelMatrixName[14][0]:=globalVariable_AR*rateCat*t; global globalVariable_AS = 1; ModelMatrixName[0][15]:=globalVariable_AS*rateCat*t; ModelMatrixName[15][0]:=globalVariable_AS*rateCat*t; global globalVariable_AT = 1; ModelMatrixName[0][16]:=globalVariable_AT*rateCat*t; ModelMatrixName[16][0]:=globalVariable_AT*rateCat*t; global globalVariable_AV = 1; ModelMatrixName[0][17]:=globalVariable_AV*rateCat*t; ModelMatrixName[17][0]:=globalVariable_AV*rateCat*t; global globalVariable_AW = 1; ModelMatrixName[0][18]:=globalVariable_AW*rateCat*t; ModelMatrixName[18][0]:=globalVariable_AW*rateCat*t; global globalVariable_AY = 1; ModelMatrixName[0][19]:=globalVariable_AY*rateCat*t; ModelMatrixName[19][0]:=globalVariable_AY*rateCat*t; global globalVariable_CD = 1; ModelMatrixName[1][2]:=globalVariable_CD*rateCat*t; ModelMatrixName[2][1]:=globalVariable_CD*rateCat*t; global globalVariable_CE = 1; ModelMatrixName[1][3]:=globalVariable_CE*rateCat*t; ModelMatrixName[3][1]:=globalVariable_CE*rateCat*t; global globalVariable_CF = 1; ModelMatrixName[1][4]:=globalVariable_CF*rateCat*t; ModelMatrixName[4][1]:=globalVariable_CF*rateCat*t; global globalVariable_CG = 1; ModelMatrixName[1][5]:=globalVariable_CG*rateCat*t; ModelMatrixName[5][1]:=globalVariable_CG*rateCat*t; global globalVariable_CH = 1; ModelMatrixName[1][6]:=globalVariable_CH*rateCat*t; ModelMatrixName[6][1]:=globalVariable_CH*rateCat*t; global globalVariable_CI = 1; ModelMatrixName[1][7]:=globalVariable_CI*rateCat*t; ModelMatrixName[7][1]:=globalVariable_CI*rateCat*t; global globalVariable_CK = 1; ModelMatrixName[1][8]:=globalVariable_CK*rateCat*t; ModelMatrixName[8][1]:=globalVariable_CK*rateCat*t; global globalVariable_CL = 1; ModelMatrixName[1][9]:=globalVariable_CL*rateCat*t; ModelMatrixName[9][1]:=globalVariable_CL*rateCat*t; global globalVariable_CM = 1; ModelMatrixName[1][10]:=globalVariable_CM*rateCat*t; ModelMatrixName[10][1]:=globalVariable_CM*rateCat*t; global globalVariable_CN = 1; ModelMatrixName[1][11]:=globalVariable_CN*rateCat*t; ModelMatrixName[11][1]:=globalVariable_CN*rateCat*t; global globalVariable_CP = 1; ModelMatrixName[1][12]:=globalVariable_CP*rateCat*t; ModelMatrixName[12][1]:=globalVariable_CP*rateCat*t; global globalVariable_CQ = 1; ModelMatrixName[1][13]:=globalVariable_CQ*rateCat*t; ModelMatrixName[13][1]:=globalVariable_CQ*rateCat*t; global globalVariable_CR = 1; ModelMatrixName[1][14]:=globalVariable_CR*rateCat*t; ModelMatrixName[14][1]:=globalVariable_CR*rateCat*t; global globalVariable_CS = 1; ModelMatrixName[1][15]:=globalVariable_CS*rateCat*t; ModelMatrixName[15][1]:=globalVariable_CS*rateCat*t; global globalVariable_CT = 1; ModelMatrixName[1][16]:=globalVariable_CT*rateCat*t; ModelMatrixName[16][1]:=globalVariable_CT*rateCat*t; global globalVariable_CV = 1; ModelMatrixName[1][17]:=globalVariable_CV*rateCat*t; ModelMatrixName[17][1]:=globalVariable_CV*rateCat*t; global globalVariable_CW = 1; ModelMatrixName[1][18]:=globalVariable_CW*rateCat*t; ModelMatrixName[18][1]:=globalVariable_CW*rateCat*t; global globalVariable_CY = 1; ModelMatrixName[1][19]:=globalVariable_CY*rateCat*t; ModelMatrixName[19][1]:=globalVariable_CY*rateCat*t; global globalVariable_DE = 1; ModelMatrixName[2][3]:=globalVariable_DE*rateCat*t; ModelMatrixName[3][2]:=globalVariable_DE*rateCat*t; global globalVariable_DF = 1; ModelMatrixName[2][4]:=globalVariable_DF*rateCat*t; ModelMatrixName[4][2]:=globalVariable_DF*rateCat*t; global globalVariable_DG = 1; ModelMatrixName[2][5]:=globalVariable_DG*rateCat*t; ModelMatrixName[5][2]:=globalVariable_DG*rateCat*t; global globalVariable_DH = 1; ModelMatrixName[2][6]:=globalVariable_DH*rateCat*t; ModelMatrixName[6][2]:=globalVariable_DH*rateCat*t; global globalVariable_DI = 1; ModelMatrixName[2][7]:=globalVariable_DI*rateCat*t; ModelMatrixName[7][2]:=globalVariable_DI*rateCat*t; global globalVariable_DK = 1; ModelMatrixName[2][8]:=globalVariable_DK*rateCat*t; ModelMatrixName[8][2]:=globalVariable_DK*rateCat*t; global globalVariable_DL = 1; ModelMatrixName[2][9]:=globalVariable_DL*rateCat*t; ModelMatrixName[9][2]:=globalVariable_DL*rateCat*t; global globalVariable_DM = 1; ModelMatrixName[2][10]:=globalVariable_DM*rateCat*t; ModelMatrixName[10][2]:=globalVariable_DM*rateCat*t; global globalVariable_DN = 1; ModelMatrixName[2][11]:=globalVariable_DN*rateCat*t; ModelMatrixName[11][2]:=globalVariable_DN*rateCat*t; global globalVariable_DP = 1; ModelMatrixName[2][12]:=globalVariable_DP*rateCat*t; ModelMatrixName[12][2]:=globalVariable_DP*rateCat*t; global globalVariable_DQ = 1; ModelMatrixName[2][13]:=globalVariable_DQ*rateCat*t; ModelMatrixName[13][2]:=globalVariable_DQ*rateCat*t; global globalVariable_DR = 1; ModelMatrixName[2][14]:=globalVariable_DR*rateCat*t; ModelMatrixName[14][2]:=globalVariable_DR*rateCat*t; global globalVariable_DS = 1; ModelMatrixName[2][15]:=globalVariable_DS*rateCat*t; ModelMatrixName[15][2]:=globalVariable_DS*rateCat*t; global globalVariable_DT = 1; ModelMatrixName[2][16]:=globalVariable_DT*rateCat*t; ModelMatrixName[16][2]:=globalVariable_DT*rateCat*t; global globalVariable_DV = 1; ModelMatrixName[2][17]:=globalVariable_DV*rateCat*t; ModelMatrixName[17][2]:=globalVariable_DV*rateCat*t; global globalVariable_DW = 1; ModelMatrixName[2][18]:=globalVariable_DW*rateCat*t; ModelMatrixName[18][2]:=globalVariable_DW*rateCat*t; global globalVariable_DY = 1; ModelMatrixName[2][19]:=globalVariable_DY*rateCat*t; ModelMatrixName[19][2]:=globalVariable_DY*rateCat*t; global globalVariable_EF = 1; ModelMatrixName[3][4]:=globalVariable_EF*rateCat*t; ModelMatrixName[4][3]:=globalVariable_EF*rateCat*t; global globalVariable_EG = 1; ModelMatrixName[3][5]:=globalVariable_EG*rateCat*t; ModelMatrixName[5][3]:=globalVariable_EG*rateCat*t; global globalVariable_EH = 1; ModelMatrixName[3][6]:=globalVariable_EH*rateCat*t; ModelMatrixName[6][3]:=globalVariable_EH*rateCat*t; global globalVariable_EI = 1; ModelMatrixName[3][7]:=globalVariable_EI*rateCat*t; ModelMatrixName[7][3]:=globalVariable_EI*rateCat*t; global globalVariable_EK = 1; ModelMatrixName[3][8]:=globalVariable_EK*rateCat*t; ModelMatrixName[8][3]:=globalVariable_EK*rateCat*t; global globalVariable_EL = 1; ModelMatrixName[3][9]:=globalVariable_EL*rateCat*t; ModelMatrixName[9][3]:=globalVariable_EL*rateCat*t; global globalVariable_EM = 1; ModelMatrixName[3][10]:=globalVariable_EM*rateCat*t; ModelMatrixName[10][3]:=globalVariable_EM*rateCat*t; global globalVariable_EN = 1; ModelMatrixName[3][11]:=globalVariable_EN*rateCat*t; ModelMatrixName[11][3]:=globalVariable_EN*rateCat*t; global globalVariable_EP = 1; ModelMatrixName[3][12]:=globalVariable_EP*rateCat*t; ModelMatrixName[12][3]:=globalVariable_EP*rateCat*t; global globalVariable_EQ = 1; ModelMatrixName[3][13]:=globalVariable_EQ*rateCat*t; ModelMatrixName[13][3]:=globalVariable_EQ*rateCat*t; global globalVariable_ER = 1; ModelMatrixName[3][14]:=globalVariable_ER*rateCat*t; ModelMatrixName[14][3]:=globalVariable_ER*rateCat*t; global globalVariable_ES = 1; ModelMatrixName[3][15]:=globalVariable_ES*rateCat*t; ModelMatrixName[15][3]:=globalVariable_ES*rateCat*t; global globalVariable_ET = 1; ModelMatrixName[3][16]:=globalVariable_ET*rateCat*t; ModelMatrixName[16][3]:=globalVariable_ET*rateCat*t; global globalVariable_EV = 1; ModelMatrixName[3][17]:=globalVariable_EV*rateCat*t; ModelMatrixName[17][3]:=globalVariable_EV*rateCat*t; global globalVariable_EW = 1; ModelMatrixName[3][18]:=globalVariable_EW*rateCat*t; ModelMatrixName[18][3]:=globalVariable_EW*rateCat*t; global globalVariable_EY = 1; ModelMatrixName[3][19]:=globalVariable_EY*rateCat*t; ModelMatrixName[19][3]:=globalVariable_EY*rateCat*t; global globalVariable_FG = 1; ModelMatrixName[4][5]:=globalVariable_FG*rateCat*t; ModelMatrixName[5][4]:=globalVariable_FG*rateCat*t; global globalVariable_FH = 1; ModelMatrixName[4][6]:=globalVariable_FH*rateCat*t; ModelMatrixName[6][4]:=globalVariable_FH*rateCat*t; global globalVariable_FI = 1; ModelMatrixName[4][7]:=globalVariable_FI*rateCat*t; ModelMatrixName[7][4]:=globalVariable_FI*rateCat*t; global globalVariable_FK = 1; ModelMatrixName[4][8]:=globalVariable_FK*rateCat*t; ModelMatrixName[8][4]:=globalVariable_FK*rateCat*t; global globalVariable_FL = 1; ModelMatrixName[4][9]:=globalVariable_FL*rateCat*t; ModelMatrixName[9][4]:=globalVariable_FL*rateCat*t; global globalVariable_FM = 1; ModelMatrixName[4][10]:=globalVariable_FM*rateCat*t; ModelMatrixName[10][4]:=globalVariable_FM*rateCat*t; global globalVariable_FN = 1; ModelMatrixName[4][11]:=globalVariable_FN*rateCat*t; ModelMatrixName[11][4]:=globalVariable_FN*rateCat*t; global globalVariable_FP = 1; ModelMatrixName[4][12]:=globalVariable_FP*rateCat*t; ModelMatrixName[12][4]:=globalVariable_FP*rateCat*t; global globalVariable_FQ = 1; ModelMatrixName[4][13]:=globalVariable_FQ*rateCat*t; ModelMatrixName[13][4]:=globalVariable_FQ*rateCat*t; global globalVariable_FR = 1; ModelMatrixName[4][14]:=globalVariable_FR*rateCat*t; ModelMatrixName[14][4]:=globalVariable_FR*rateCat*t; global globalVariable_FS = 1; ModelMatrixName[4][15]:=globalVariable_FS*rateCat*t; ModelMatrixName[15][4]:=globalVariable_FS*rateCat*t; global globalVariable_FT = 1; ModelMatrixName[4][16]:=globalVariable_FT*rateCat*t; ModelMatrixName[16][4]:=globalVariable_FT*rateCat*t; global globalVariable_FV = 1; ModelMatrixName[4][17]:=globalVariable_FV*rateCat*t; ModelMatrixName[17][4]:=globalVariable_FV*rateCat*t; global globalVariable_FW = 1; ModelMatrixName[4][18]:=globalVariable_FW*rateCat*t; ModelMatrixName[18][4]:=globalVariable_FW*rateCat*t; global globalVariable_FY = 1; ModelMatrixName[4][19]:=globalVariable_FY*rateCat*t; ModelMatrixName[19][4]:=globalVariable_FY*rateCat*t; global globalVariable_GH = 1; ModelMatrixName[5][6]:=globalVariable_GH*rateCat*t; ModelMatrixName[6][5]:=globalVariable_GH*rateCat*t; global globalVariable_GI = 1; ModelMatrixName[5][7]:=globalVariable_GI*rateCat*t; ModelMatrixName[7][5]:=globalVariable_GI*rateCat*t; global globalVariable_GK = 1; ModelMatrixName[5][8]:=globalVariable_GK*rateCat*t; ModelMatrixName[8][5]:=globalVariable_GK*rateCat*t; global globalVariable_GL = 1; ModelMatrixName[5][9]:=globalVariable_GL*rateCat*t; ModelMatrixName[9][5]:=globalVariable_GL*rateCat*t; global globalVariable_GM = 1; ModelMatrixName[5][10]:=globalVariable_GM*rateCat*t; ModelMatrixName[10][5]:=globalVariable_GM*rateCat*t; global globalVariable_GN = 1; ModelMatrixName[5][11]:=globalVariable_GN*rateCat*t; ModelMatrixName[11][5]:=globalVariable_GN*rateCat*t; global globalVariable_GP = 1; ModelMatrixName[5][12]:=globalVariable_GP*rateCat*t; ModelMatrixName[12][5]:=globalVariable_GP*rateCat*t; global globalVariable_GQ = 1; ModelMatrixName[5][13]:=globalVariable_GQ*rateCat*t; ModelMatrixName[13][5]:=globalVariable_GQ*rateCat*t; global globalVariable_GR = 1; ModelMatrixName[5][14]:=globalVariable_GR*rateCat*t; ModelMatrixName[14][5]:=globalVariable_GR*rateCat*t; global globalVariable_GS = 1; ModelMatrixName[5][15]:=globalVariable_GS*rateCat*t; ModelMatrixName[15][5]:=globalVariable_GS*rateCat*t; global globalVariable_GT = 1; ModelMatrixName[5][16]:=globalVariable_GT*rateCat*t; ModelMatrixName[16][5]:=globalVariable_GT*rateCat*t; global globalVariable_GV = 1; ModelMatrixName[5][17]:=globalVariable_GV*rateCat*t; ModelMatrixName[17][5]:=globalVariable_GV*rateCat*t; global globalVariable_GW = 1; ModelMatrixName[5][18]:=globalVariable_GW*rateCat*t; ModelMatrixName[18][5]:=globalVariable_GW*rateCat*t; global globalVariable_GY = 1; ModelMatrixName[5][19]:=globalVariable_GY*rateCat*t; ModelMatrixName[19][5]:=globalVariable_GY*rateCat*t; global globalVariable_HI = 1; ModelMatrixName[6][7]:=globalVariable_HI*rateCat*t; ModelMatrixName[7][6]:=globalVariable_HI*rateCat*t; global globalVariable_HK = 1; ModelMatrixName[6][8]:=globalVariable_HK*rateCat*t; ModelMatrixName[8][6]:=globalVariable_HK*rateCat*t; global globalVariable_HL = 1; ModelMatrixName[6][9]:=globalVariable_HL*rateCat*t; ModelMatrixName[9][6]:=globalVariable_HL*rateCat*t; global globalVariable_HM = 1; ModelMatrixName[6][10]:=globalVariable_HM*rateCat*t; ModelMatrixName[10][6]:=globalVariable_HM*rateCat*t; global globalVariable_HN = 1; ModelMatrixName[6][11]:=globalVariable_HN*rateCat*t; ModelMatrixName[11][6]:=globalVariable_HN*rateCat*t; global globalVariable_HP = 1; ModelMatrixName[6][12]:=globalVariable_HP*rateCat*t; ModelMatrixName[12][6]:=globalVariable_HP*rateCat*t; global globalVariable_HQ = 1; ModelMatrixName[6][13]:=globalVariable_HQ*rateCat*t; ModelMatrixName[13][6]:=globalVariable_HQ*rateCat*t; global globalVariable_HR = 1; ModelMatrixName[6][14]:=globalVariable_HR*rateCat*t; ModelMatrixName[14][6]:=globalVariable_HR*rateCat*t; global globalVariable_HS = 1; ModelMatrixName[6][15]:=globalVariable_HS*rateCat*t; ModelMatrixName[15][6]:=globalVariable_HS*rateCat*t; global globalVariable_HT = 1; ModelMatrixName[6][16]:=globalVariable_HT*rateCat*t; ModelMatrixName[16][6]:=globalVariable_HT*rateCat*t; global globalVariable_HV = 1; ModelMatrixName[6][17]:=globalVariable_HV*rateCat*t; ModelMatrixName[17][6]:=globalVariable_HV*rateCat*t; global globalVariable_HW = 1; ModelMatrixName[6][18]:=globalVariable_HW*rateCat*t; ModelMatrixName[18][6]:=globalVariable_HW*rateCat*t; global globalVariable_HY = 1; ModelMatrixName[6][19]:=globalVariable_HY*rateCat*t; ModelMatrixName[19][6]:=globalVariable_HY*rateCat*t; global globalVariable_IK = 1; ModelMatrixName[7][8]:=globalVariable_IK*rateCat*t; ModelMatrixName[8][7]:=globalVariable_IK*rateCat*t; global globalVariable_IL = 1; ModelMatrixName[7][9]:=globalVariable_IL*rateCat*t; ModelMatrixName[9][7]:=globalVariable_IL*rateCat*t; global globalVariable_IM = 1; ModelMatrixName[7][10]:=globalVariable_IM*rateCat*t; ModelMatrixName[10][7]:=globalVariable_IM*rateCat*t; global globalVariable_IN = 1; ModelMatrixName[7][11]:=globalVariable_IN*rateCat*t; ModelMatrixName[11][7]:=globalVariable_IN*rateCat*t; global globalVariable_IP = 1; ModelMatrixName[7][12]:=globalVariable_IP*rateCat*t; ModelMatrixName[12][7]:=globalVariable_IP*rateCat*t; global globalVariable_IQ = 1; ModelMatrixName[7][13]:=globalVariable_IQ*rateCat*t; ModelMatrixName[13][7]:=globalVariable_IQ*rateCat*t; global globalVariable_IR = 1; ModelMatrixName[7][14]:=globalVariable_IR*rateCat*t; ModelMatrixName[14][7]:=globalVariable_IR*rateCat*t; global globalVariable_IS = 1; ModelMatrixName[7][15]:=globalVariable_IS*rateCat*t; ModelMatrixName[15][7]:=globalVariable_IS*rateCat*t; global globalVariable_IT = 1; ModelMatrixName[7][16]:=globalVariable_IT*rateCat*t; ModelMatrixName[16][7]:=globalVariable_IT*rateCat*t; global globalVariable_IV = 1; ModelMatrixName[7][17]:=globalVariable_IV*rateCat*t; ModelMatrixName[17][7]:=globalVariable_IV*rateCat*t; global globalVariable_IW = 1; ModelMatrixName[7][18]:=globalVariable_IW*rateCat*t; ModelMatrixName[18][7]:=globalVariable_IW*rateCat*t; global globalVariable_IY = 1; ModelMatrixName[7][19]:=globalVariable_IY*rateCat*t; ModelMatrixName[19][7]:=globalVariable_IY*rateCat*t; global globalVariable_KL = 1; ModelMatrixName[8][9]:=globalVariable_KL*rateCat*t; ModelMatrixName[9][8]:=globalVariable_KL*rateCat*t; global globalVariable_KM = 1; ModelMatrixName[8][10]:=globalVariable_KM*rateCat*t; ModelMatrixName[10][8]:=globalVariable_KM*rateCat*t; global globalVariable_KN = 1; ModelMatrixName[8][11]:=globalVariable_KN*rateCat*t; ModelMatrixName[11][8]:=globalVariable_KN*rateCat*t; global globalVariable_KP = 1; ModelMatrixName[8][12]:=globalVariable_KP*rateCat*t; ModelMatrixName[12][8]:=globalVariable_KP*rateCat*t; global globalVariable_KQ = 1; ModelMatrixName[8][13]:=globalVariable_KQ*rateCat*t; ModelMatrixName[13][8]:=globalVariable_KQ*rateCat*t; global globalVariable_KR = 1; ModelMatrixName[8][14]:=globalVariable_KR*rateCat*t; ModelMatrixName[14][8]:=globalVariable_KR*rateCat*t; global globalVariable_KS = 1; ModelMatrixName[8][15]:=globalVariable_KS*rateCat*t; ModelMatrixName[15][8]:=globalVariable_KS*rateCat*t; global globalVariable_KT = 1; ModelMatrixName[8][16]:=globalVariable_KT*rateCat*t; ModelMatrixName[16][8]:=globalVariable_KT*rateCat*t; global globalVariable_KV = 1; ModelMatrixName[8][17]:=globalVariable_KV*rateCat*t; ModelMatrixName[17][8]:=globalVariable_KV*rateCat*t; global globalVariable_KW = 1; ModelMatrixName[8][18]:=globalVariable_KW*rateCat*t; ModelMatrixName[18][8]:=globalVariable_KW*rateCat*t; global globalVariable_KY = 1; ModelMatrixName[8][19]:=globalVariable_KY*rateCat*t; ModelMatrixName[19][8]:=globalVariable_KY*rateCat*t; global globalVariable_LM = 1; ModelMatrixName[9][10]:=globalVariable_LM*rateCat*t; ModelMatrixName[10][9]:=globalVariable_LM*rateCat*t; global globalVariable_LN = 1; ModelMatrixName[9][11]:=globalVariable_LN*rateCat*t; ModelMatrixName[11][9]:=globalVariable_LN*rateCat*t; global globalVariable_LP = 1; ModelMatrixName[9][12]:=globalVariable_LP*rateCat*t; ModelMatrixName[12][9]:=globalVariable_LP*rateCat*t; global globalVariable_LQ = 1; ModelMatrixName[9][13]:=globalVariable_LQ*rateCat*t; ModelMatrixName[13][9]:=globalVariable_LQ*rateCat*t; global globalVariable_LR = 1; ModelMatrixName[9][14]:=globalVariable_LR*rateCat*t; ModelMatrixName[14][9]:=globalVariable_LR*rateCat*t; global globalVariable_LS = 1; ModelMatrixName[9][15]:=globalVariable_LS*rateCat*t; ModelMatrixName[15][9]:=globalVariable_LS*rateCat*t; global globalVariable_LT = 1; ModelMatrixName[9][16]:=globalVariable_LT*rateCat*t; ModelMatrixName[16][9]:=globalVariable_LT*rateCat*t; global globalVariable_LV = 1; ModelMatrixName[9][17]:=globalVariable_LV*rateCat*t; ModelMatrixName[17][9]:=globalVariable_LV*rateCat*t; global globalVariable_LW = 1; ModelMatrixName[9][18]:=globalVariable_LW*rateCat*t; ModelMatrixName[18][9]:=globalVariable_LW*rateCat*t; global globalVariable_LY = 1; ModelMatrixName[9][19]:=globalVariable_LY*rateCat*t; ModelMatrixName[19][9]:=globalVariable_LY*rateCat*t; global globalVariable_MN = 1; ModelMatrixName[10][11]:=globalVariable_MN*rateCat*t; ModelMatrixName[11][10]:=globalVariable_MN*rateCat*t; global globalVariable_MP = 1; ModelMatrixName[10][12]:=globalVariable_MP*rateCat*t; ModelMatrixName[12][10]:=globalVariable_MP*rateCat*t; global globalVariable_MQ = 1; ModelMatrixName[10][13]:=globalVariable_MQ*rateCat*t; ModelMatrixName[13][10]:=globalVariable_MQ*rateCat*t; global globalVariable_MR = 1; ModelMatrixName[10][14]:=globalVariable_MR*rateCat*t; ModelMatrixName[14][10]:=globalVariable_MR*rateCat*t; global globalVariable_MS = 1; ModelMatrixName[10][15]:=globalVariable_MS*rateCat*t; ModelMatrixName[15][10]:=globalVariable_MS*rateCat*t; global globalVariable_MT = 1; ModelMatrixName[10][16]:=globalVariable_MT*rateCat*t; ModelMatrixName[16][10]:=globalVariable_MT*rateCat*t; global globalVariable_MV = 1; ModelMatrixName[10][17]:=globalVariable_MV*rateCat*t; ModelMatrixName[17][10]:=globalVariable_MV*rateCat*t; global globalVariable_MW = 1; ModelMatrixName[10][18]:=globalVariable_MW*rateCat*t; ModelMatrixName[18][10]:=globalVariable_MW*rateCat*t; global globalVariable_MY = 1; ModelMatrixName[10][19]:=globalVariable_MY*rateCat*t; ModelMatrixName[19][10]:=globalVariable_MY*rateCat*t; global globalVariable_NP = 1; ModelMatrixName[11][12]:=globalVariable_NP*rateCat*t; ModelMatrixName[12][11]:=globalVariable_NP*rateCat*t; global globalVariable_NQ = 1; ModelMatrixName[11][13]:=globalVariable_NQ*rateCat*t; ModelMatrixName[13][11]:=globalVariable_NQ*rateCat*t; global globalVariable_NR = 1; ModelMatrixName[11][14]:=globalVariable_NR*rateCat*t; ModelMatrixName[14][11]:=globalVariable_NR*rateCat*t; global globalVariable_NS = 1; ModelMatrixName[11][15]:=globalVariable_NS*rateCat*t; ModelMatrixName[15][11]:=globalVariable_NS*rateCat*t; global globalVariable_NT = 1; ModelMatrixName[11][16]:=globalVariable_NT*rateCat*t; ModelMatrixName[16][11]:=globalVariable_NT*rateCat*t; global globalVariable_NV = 1; ModelMatrixName[11][17]:=globalVariable_NV*rateCat*t; ModelMatrixName[17][11]:=globalVariable_NV*rateCat*t; global globalVariable_NW = 1; ModelMatrixName[11][18]:=globalVariable_NW*rateCat*t; ModelMatrixName[18][11]:=globalVariable_NW*rateCat*t; global globalVariable_NY = 1; ModelMatrixName[11][19]:=globalVariable_NY*rateCat*t; ModelMatrixName[19][11]:=globalVariable_NY*rateCat*t; global globalVariable_PQ = 1; ModelMatrixName[12][13]:=globalVariable_PQ*rateCat*t; ModelMatrixName[13][12]:=globalVariable_PQ*rateCat*t; global globalVariable_PR = 1; ModelMatrixName[12][14]:=globalVariable_PR*rateCat*t; ModelMatrixName[14][12]:=globalVariable_PR*rateCat*t; global globalVariable_PS = 1; ModelMatrixName[12][15]:=globalVariable_PS*rateCat*t; ModelMatrixName[15][12]:=globalVariable_PS*rateCat*t; global globalVariable_PT = 1; ModelMatrixName[12][16]:=globalVariable_PT*rateCat*t; ModelMatrixName[16][12]:=globalVariable_PT*rateCat*t; global globalVariable_PV = 1; ModelMatrixName[12][17]:=globalVariable_PV*rateCat*t; ModelMatrixName[17][12]:=globalVariable_PV*rateCat*t; global globalVariable_PW = 1; ModelMatrixName[12][18]:=globalVariable_PW*rateCat*t; ModelMatrixName[18][12]:=globalVariable_PW*rateCat*t; global globalVariable_PY = 1; ModelMatrixName[12][19]:=globalVariable_PY*rateCat*t; ModelMatrixName[19][12]:=globalVariable_PY*rateCat*t; global globalVariable_QR = 1; ModelMatrixName[13][14]:=globalVariable_QR*rateCat*t; ModelMatrixName[14][13]:=globalVariable_QR*rateCat*t; global globalVariable_QS = 1; ModelMatrixName[13][15]:=globalVariable_QS*rateCat*t; ModelMatrixName[15][13]:=globalVariable_QS*rateCat*t; global globalVariable_QT = 1; ModelMatrixName[13][16]:=globalVariable_QT*rateCat*t; ModelMatrixName[16][13]:=globalVariable_QT*rateCat*t; global globalVariable_QV = 1; ModelMatrixName[13][17]:=globalVariable_QV*rateCat*t; ModelMatrixName[17][13]:=globalVariable_QV*rateCat*t; global globalVariable_QW = 1; ModelMatrixName[13][18]:=globalVariable_QW*rateCat*t; ModelMatrixName[18][13]:=globalVariable_QW*rateCat*t; global globalVariable_QY = 1; ModelMatrixName[13][19]:=globalVariable_QY*rateCat*t; ModelMatrixName[19][13]:=globalVariable_QY*rateCat*t; global globalVariable_RS = 1; ModelMatrixName[14][15]:=globalVariable_RS*rateCat*t; ModelMatrixName[15][14]:=globalVariable_RS*rateCat*t; global globalVariable_RT = 1; ModelMatrixName[14][16]:=globalVariable_RT*rateCat*t; ModelMatrixName[16][14]:=globalVariable_RT*rateCat*t; global globalVariable_RV = 1; ModelMatrixName[14][17]:=globalVariable_RV*rateCat*t; ModelMatrixName[17][14]:=globalVariable_RV*rateCat*t; global globalVariable_RW = 1; ModelMatrixName[14][18]:=globalVariable_RW*rateCat*t; ModelMatrixName[18][14]:=globalVariable_RW*rateCat*t; global globalVariable_RY = 1; ModelMatrixName[14][19]:=globalVariable_RY*rateCat*t; ModelMatrixName[19][14]:=globalVariable_RY*rateCat*t; global globalVariable_ST = 1; ModelMatrixName[15][16]:=globalVariable_ST*rateCat*t; ModelMatrixName[16][15]:=globalVariable_ST*rateCat*t; global globalVariable_SV = 1; ModelMatrixName[15][17]:=globalVariable_SV*rateCat*t; ModelMatrixName[17][15]:=globalVariable_SV*rateCat*t; global globalVariable_SW = 1; ModelMatrixName[15][18]:=globalVariable_SW*rateCat*t; ModelMatrixName[18][15]:=globalVariable_SW*rateCat*t; global globalVariable_SY = 1; ModelMatrixName[15][19]:=globalVariable_SY*rateCat*t; ModelMatrixName[19][15]:=globalVariable_SY*rateCat*t; global globalVariable_TV = 1; ModelMatrixName[16][17]:=globalVariable_TV*rateCat*t; ModelMatrixName[17][16]:=globalVariable_TV*rateCat*t; global globalVariable_TW = 1; ModelMatrixName[16][18]:=globalVariable_TW*rateCat*t; ModelMatrixName[18][16]:=globalVariable_TW*rateCat*t; global globalVariable_TY = 1; ModelMatrixName[16][19]:=globalVariable_TY*rateCat*t; ModelMatrixName[19][16]:=globalVariable_TY*rateCat*t; global globalVariable_VW = 1; ModelMatrixName[17][18]:=globalVariable_VW*rateCat*t; ModelMatrixName[18][17]:=globalVariable_VW*rateCat*t; global globalVariable_VY = 1; ModelMatrixName[17][19]:=globalVariable_VY*rateCat*t; ModelMatrixName[19][17]:=globalVariable_VY*rateCat*t; global globalVariable_WY = 1; ModelMatrixName[18][19]:=globalVariable_WY*rateCat*t; ModelMatrixName[19][18]:=globalVariable_WY*rateCat*t; }; Model EqualInputModel = (ModelMatrixName, observedFreqs); /*5. Define the tree variable, using the tree from the data */ Tree theTree = DATAFILE_TREE; /*6. Since all the likelihood function ingredients (data, tree, equilibrium frequencies) have been defined we are ready to construct the likelihood function. */ LikelihoodFunction theLnLik = (filteredData, theTree); /*7. Maximize the likelihood function, storing parameter values in the matrix paramValues */ Optimize (paramValues, theLnLik); /*8. Print the tree with optimal branch lengths to the console. */ t=1; fprintf (mtCDNAmamAA_EstAAMatG8_BL.out,CLEAR_FILE,ModelMatrixName,observedFreqs, theLnLik); GetInformation (catInfo, rateCat); catInfo = echoCatVar (catInfo);