MCPcopy Create free account
hub / github.com/THUNLP-MT/MEAN / TMscore8_search

Function TMscore8_search

evaluation/TMscore.cpp:4277–4429  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4275}
4276
4277double TMscore8_search(double **r1, double **r2, double **xtm, double **ytm,
4278 double **xt, int Lali, double t0[3], double u0[3][3], int simplify_step,
4279 int score_sum_method, double *Rcomm, double local_d0_search, double Lnorm,
4280 double score_d8, double d0)
4281{
4282 int i, m;
4283 double score_max, score, rmsd;
4284 const int kmax=Lali;
4285 int k_ali[kmax], ka, k;
4286 double t[3];
4287 double u[3][3];
4288 double d;
4289
4290
4291 //iterative parameters
4292 int n_it=20; //maximum number of iterations
4293 int n_init_max=6; //maximum number of different fragment length
4294 int L_ini[n_init_max]; //fragment lengths, Lali, Lali/2, Lali/4 ... 4
4295 int L_ini_min=4;
4296 if(Lali<L_ini_min) L_ini_min=Lali;
4297
4298 int n_init=0, i_init;
4299 for(i=0; i<n_init_max-1; i++)
4300 {
4301 n_init++;
4302 L_ini[i]=(int) (Lali/pow(2.0, (double) i));
4303 if(L_ini[i]<=L_ini_min)
4304 {
4305 L_ini[i]=L_ini_min;
4306 break;
4307 }
4308 }
4309 if(i==n_init_max-1)
4310 {
4311 n_init++;
4312 L_ini[i]=L_ini_min;
4313 }
4314
4315 score_max=-1;
4316 //find the maximum score starting from local structures superposition
4317 int i_ali[kmax], n_cut;
4318 int L_frag; //fragment length
4319 int iL_max; //maximum starting position for the fragment
4320
4321 for(i_init=0; i_init<n_init; i_init++)
4322 {
4323 L_frag=L_ini[i_init];
4324 iL_max=Lali-L_frag;
4325
4326 i=0;
4327 while(1)
4328 {
4329 //extract the fragment starting from position i
4330 ka=0;
4331 for(k=0; k<L_frag; k++)
4332 {
4333 int kk=k+i;
4334 r1[k][0]=xtm[kk][0];

Callers 1

TMscore_mainFunction · 0.85

Calls 3

KabschFunction · 0.85
do_rotationFunction · 0.85
score_fun8Function · 0.85

Tested by

no test coverage detected