blob: 16160b9fd54ea5b34d4474784bf119a4721b6ed0 [file] [log] [blame]
#if 0
#include "mltaln.h"
#endif
#define DEFAULTGOP_J -1530
#define DEFAULTGEP_J -00
#define DEFAULTOFS_J -123 /* +10 -- -50 teido ka ? */
#define DEFAULTPAMN 200
void JTTmtx( double **rsr, double *freq, char locamino[26], char locgrp[26], int isTM )
{
int i, j;
double r[20][20];
char locamino0[] = "ARNDCQEGHILKMFPSTWYVBZX.-U";
char locgrp0[] =
{
0, 3, 2, 2, 5, 2, 2, 0, 3, 1, 1, 3, 1, 4, 0, 0, 0, 4, 4, 1, 2, 2,
6, 6, 6, 6,
};
double freq0[20] =
{
0.077,
0.051,
0.043,
0.052,
0.020,
0.041,
0.062,
0.074,
0.023,
0.052,
0.091,
0.059,
0.024,
0.040,
0.051,
0.069,
0.059,
0.014,
0.032,
0.066,
};
double freq0_TM[20] =
{
0.1051,
0.0157,
0.0185,
0.0089,
0.0219,
0.0141,
0.0097,
0.0758,
0.0168,
0.1188,
0.1635,
0.0112,
0.0333,
0.0777,
0.0260,
0.0568,
0.0523,
0.0223,
0.0324,
0.1195,
};
/* Lower triangular is JTT's Accepted point mutations */
r[ 1][ 0]= 247;
r[ 2][ 0]= 216; r[ 2][ 1]= 116;
r[ 3][ 0]= 386; r[ 3][ 1]= 48; r[ 3][ 2]= 1433;
r[ 4][ 0]= 106; r[ 4][ 1]= 125; r[ 4][ 2]= 32; r[ 4][ 3]= 13;
r[ 5][ 0]= 208; r[ 5][ 1]= 750; r[ 5][ 2]= 159; r[ 5][ 3]= 130;
r[ 5][ 4]= 9;
r[ 6][ 0]= 600; r[ 6][ 1]= 119; r[ 6][ 2]= 180; r[ 6][ 3]= 2914;
r[ 6][ 4]= 8; r[ 6][ 5]= 1027;
r[ 7][ 0]= 1183; r[ 7][ 1]= 614; r[ 7][ 2]= 291; r[ 7][ 3]= 577;
r[ 7][ 4]= 98; r[ 7][ 5]= 84; r[ 7][ 6]= 610;
r[ 8][ 0]= 46; r[ 8][ 1]= 446; r[ 8][ 2]= 466; r[ 8][ 3]= 144;
r[ 8][ 4]= 40; r[ 8][ 5]= 635; r[ 8][ 6]= 41; r[ 8][ 7]= 41;
r[ 9][ 0]= 173; r[ 9][ 1]= 76; r[ 9][ 2]= 130; r[ 9][ 3]= 37;
r[ 9][ 4]= 19; r[ 9][ 5]= 20; r[ 9][ 6]= 43; r[ 9][ 7]= 25;
r[ 9][ 8]= 26;
r[10][ 0]= 257; r[10][ 1]= 205; r[10][ 2]= 63; r[10][ 3]= 34;
r[10][ 4]= 36; r[10][ 5]= 314; r[10][ 6]= 65; r[10][ 7]= 56;
r[10][ 8]= 134; r[10][ 9]= 1324;
r[11][ 0]= 200; r[11][ 1]= 2348; r[11][ 2]= 758; r[11][ 3]= 102;
r[11][ 4]= 7; r[11][ 5]= 858; r[11][ 6]= 754; r[11][ 7]= 142;
r[11][ 8]= 85; r[11][ 9]= 75; r[11][10]= 94;
r[12][ 0]= 100; r[12][ 1]= 61; r[12][ 2]= 39; r[12][ 3]= 27;
r[12][ 4]= 23; r[12][ 5]= 52; r[12][ 6]= 30; r[12][ 7]= 27;
r[12][ 8]= 21; r[12][ 9]= 704; r[12][10]= 974; r[12][11]= 103;
r[13][ 0]= 51; r[13][ 1]= 16; r[13][ 2]= 15; r[13][ 3]= 8;
r[13][ 4]= 66; r[13][ 5]= 9; r[13][ 6]= 13; r[13][ 7]= 18;
r[13][ 8]= 50; r[13][ 9]= 196; r[13][10]= 1093; r[13][11]= 7;
r[13][12]= 49;
r[14][ 0]= 901; r[14][ 1]= 217; r[14][ 2]= 31; r[14][ 3]= 39;
r[14][ 4]= 15; r[14][ 5]= 395; r[14][ 6]= 71; r[14][ 7]= 93;
r[14][ 8]= 157; r[14][ 9]= 31; r[14][10]= 578; r[14][11]= 77;
r[14][12]= 23; r[14][13]= 36;
r[15][ 0]= 2413; r[15][ 1]= 413; r[15][ 2]= 1738; r[15][ 3]= 244;
r[15][ 4]= 353; r[15][ 5]= 182; r[15][ 6]= 156; r[15][ 7]= 1131;
r[15][ 8]= 138; r[15][ 9]= 172; r[15][10]= 436; r[15][11]= 228;
r[15][12]= 54; r[15][13]= 309; r[15][14]= 1138;
r[16][ 0]= 2440; r[16][ 1]= 230; r[16][ 2]= 693; r[16][ 3]= 151;
r[16][ 4]= 66; r[16][ 5]= 149; r[16][ 6]= 142; r[16][ 7]= 164;
r[16][ 8]= 76; r[16][ 9]= 930; r[16][10]= 172; r[16][11]= 398;
r[16][12]= 343; r[16][13]= 39; r[16][14]= 412; r[16][15]= 2258;
r[17][ 0]= 11; r[17][ 1]= 109; r[17][ 2]= 2; r[17][ 3]= 5;
r[17][ 4]= 38; r[17][ 5]= 12; r[17][ 6]= 12; r[17][ 7]= 69;
r[17][ 8]= 5; r[17][ 9]= 12; r[17][10]= 82; r[17][11]= 9;
r[17][12]= 8; r[17][13]= 37; r[17][14]= 6; r[17][15]= 36;
r[17][16]= 8;
r[18][ 0]= 41; r[18][ 1]= 46; r[18][ 2]= 114; r[18][ 3]= 89;
r[18][ 4]= 164; r[18][ 5]= 40; r[18][ 6]= 15; r[18][ 7]= 15;
r[18][ 8]= 514; r[18][ 9]= 61; r[18][10]= 84; r[18][11]= 20;
r[18][12]= 17; r[18][13]= 850; r[18][14]= 22; r[18][15]= 164;
r[18][16]= 45; r[18][17]= 41;
r[19][ 0]= 1766; r[19][ 1]= 69; r[19][ 2]= 55; r[19][ 3]= 127;
r[19][ 4]= 99; r[19][ 5]= 58; r[19][ 6]= 226; r[19][ 7]= 276;
r[19][ 8]= 22; r[19][ 9]= 3938; r[19][10]= 1261; r[19][11]= 58;
r[19][12]= 559; r[19][13]= 189; r[19][14]= 84; r[19][15]= 219;
r[19][16]= 526; r[19][17]= 27; r[19][18]= 42;
/* Upper triangular is JTT's Accepted point mutations for transmembrane */
r[ 0][ 1]= 21; r[ 0][ 2]= 2; r[ 0][ 3]= 7; r[ 0][ 4]= 13;
r[ 0][ 5]= 4; r[ 0][ 6]= 6; r[ 0][ 7]= 160; r[ 0][ 8]= 6;
r[ 0][ 9]= 44; r[ 0][10]= 43; r[ 0][11]= 5; r[ 0][12]= 10;
r[ 0][13]= 21; r[ 0][14]= 34; r[ 0][15]= 198; r[ 0][16]= 202;
r[ 0][17]= 0; r[ 0][18]= 1; r[ 0][19]= 292;
r[ 1][ 2]= 0; r[ 1][ 3]= 1; r[ 1][ 4]= 2; r[ 1][ 5]= 21;
r[ 1][ 6]= 3; r[ 1][ 7]= 22; r[ 1][ 8]= 21; r[ 1][ 9]= 4;
r[ 1][10]= 8; r[ 1][11]= 53; r[ 1][12]= 19; r[ 1][13]= 0;
r[ 1][14]= 1; r[ 1][15]= 5; r[ 1][16]= 5; r[ 1][17]= 28;
r[ 1][18]= 0; r[ 1][19]= 0;
r[ 2][ 3]= 14; r[ 2][ 4]= 1; r[ 2][ 5]= 7; r[ 2][ 6]= 0;
r[ 2][ 7]= 0; r[ 2][ 8]= 8; r[ 2][ 9]= 4; r[ 2][10]= 5;
r[ 2][11]= 11; r[ 2][12]= 3; r[ 2][13]= 1; r[ 2][14]= 2;
r[ 2][15]= 32; r[ 2][16]= 19; r[ 2][17]= 1; r[ 2][18]= 1;
r[ 2][19]= 2;
r[ 3][ 4]= 0; r[ 3][ 5]= 0; r[ 3][ 6]= 12; r[ 3][ 7]= 15;
r[ 3][ 8]= 4; r[ 3][ 9]= 1; r[ 3][10]= 0; r[ 3][11]= 2;
r[ 3][12]= 1; r[ 3][13]= 0; r[ 3][14]= 1; r[ 3][15]= 0;
r[ 3][16]= 6; r[ 3][17]= 0; r[ 3][18]= 1; r[ 3][19]= 4;
r[ 4][ 5]= 0; r[ 4][ 6]= 0; r[ 4][ 7]= 13; r[ 4][ 8]= 2;
r[ 4][ 9]= 4; r[ 4][10]= 11; r[ 4][11]= 0; r[ 4][12]= 1;
r[ 4][13]= 34; r[ 4][14]= 0; r[ 4][15]= 48; r[ 4][16]= 13;
r[ 4][17]= 8; r[ 4][18]= 23; r[ 4][19]= 47;
r[ 5][ 6]= 16; r[ 5][ 7]= 1; r[ 5][ 8]= 26; r[ 5][ 9]= 1;
r[ 5][10]= 16; r[ 5][11]= 6; r[ 5][12]= 3; r[ 5][13]= 0;
r[ 5][14]= 5; r[ 5][15]= 7; r[ 5][16]= 2; r[ 5][17]= 0;
r[ 5][18]= 0; r[ 5][19]= 0;
r[ 6][ 7]= 21; r[ 6][ 8]= 0; r[ 6][ 9]= 0; r[ 6][10]= 0;
r[ 6][11]= 0; r[ 6][12]= 0; r[ 6][13]= 0; r[ 6][14]= 0;
r[ 6][15]= 4; r[ 6][16]= 2; r[ 6][17]= 0; r[ 6][18]= 0;
r[ 6][19]= 7;
r[ 7][ 8]= 1; r[ 7][ 9]= 10; r[ 7][10]= 0; r[ 7][11]= 0;
r[ 7][12]= 3; r[ 7][13]= 4; r[ 7][14]= 7; r[ 7][15]= 64;
r[ 7][16]= 12; r[ 7][17]= 5; r[ 7][18]= 0; r[ 7][19]= 53;
r[ 8][ 9]= 3; r[ 8][10]= 2; r[ 8][11]= 0; r[ 8][12]= 1;
r[ 8][13]= 0; r[ 8][14]= 0; r[ 8][15]= 0; r[ 8][16]= 4;
r[ 8][17]= 0; r[ 8][18]= 29; r[ 8][19]= 2;
r[ 9][10]= 273; r[ 9][11]= 0; r[ 9][12]= 161; r[ 9][13]= 66;
r[ 9][14]= 4; r[ 9][15]= 22; r[ 9][16]= 150; r[ 9][17]= 1;
r[ 9][18]= 4; r[ 9][19]= 883;
r[10][11]= 1; r[10][12]= 153; r[10][13]= 251; r[10][14]= 37;
r[10][15]= 43; r[10][16]= 26; r[10][17]= 20; r[10][18]= 6;
r[10][19]= 255;
r[11][12]= 4; r[11][13]= 0; r[11][14]= 0; r[11][15]= 1;
r[11][16]= 2; r[11][17]= 0; r[11][18]= 5; r[11][19]= 1;
r[12][13]= 8; r[12][14]= 0; r[12][15]= 1; r[12][16]= 32;
r[12][17]= 1; r[12][18]= 5; r[12][19]= 89;
r[13][14]= 0; r[13][15]= 32; r[13][16]= 9; r[13][17]= 2;
r[13][18]= 54; r[13][19]= 37;
r[14][15]= 9; r[14][16]= 10; r[14][17]= 0; r[14][18]= 1;
r[14][19]= 1;
r[15][16]= 134; r[15][17]= 1; r[15][18]= 22; r[15][19]= 13;
r[16][17]= 1; r[16][18]= 3; r[16][19]= 48;
r[17][18]= 2; r[17][19]= 18;
r[18][19]= 2;
for (i = 0; i < 20; i++) r[i][i] = 0.0;
if( isTM )
{
for (i = 1; i < 20; i++) for (j = 0; j < i; j++)
{
r[j][i] /= 400.0 * freq0_TM[i] * freq0_TM[j];
r[i][j] = r[j][i];
}
for( i=0; i<20; i++ ) freq[i] = freq0_TM[i];
}
else
{
for (i = 1; i < 20; i++) for (j = 0; j < i; j++)
{
r[i][j] /= 400.0 * freq0[i] * freq0[j];
r[j][i] = r[i][j];
}
for( i=0; i<20; i++ ) freq[i] = freq0[i];
}
for( i=0; i<26; i++ ) locamino[i] = locamino0[i];
for( i=0; i<26; i++ ) locgrp[(int)locamino[i]] = locgrp0[i];
for( i=0; i<20; i++ ) for( j=0; j<20; j++ ) rsr[i][j] = r[i][j];
}