JPRED-2 Add sources of all binaries (except alscript) to Git
[jpred.git] / sources / multicoil / initialization_cuts.c
diff --git a/sources/multicoil/initialization_cuts.c b/sources/multicoil/initialization_cuts.c
new file mode 100644 (file)
index 0000000..e2a7ae2
--- /dev/null
@@ -0,0 +1,106 @@
+void compute_multivariate_num_differ_dim(int *number_differ_score_dim,
+           int number_differ_lib,
+           int differ_functnum, int *old_num_dim_differ,
+           int which_differentiator)
+{
+
+
+  
+    *number_differ_score_dim= number_differ_lib;
+
+    if (( *number_differ_score_dim > 1) || (differ_functnum==1)) 
+      *old_num_dim_differ= 7;
+    else    /** Used heuristic method to combine distance scores.  **/
+      *old_num_dim_differ= 1;
+
+    if (which_differentiator == 2) {
+      (*number_differ_score_dim) *= 2;
+      (*old_num_dim_differ) *=2;
+    }
+           /** Each dimension gets a pair of scores... the max and min. **/
+}
+
+
+
+
+from initialize()
+  differ_gauss_param[0] = ',';
+
+
+/*****************Round 2 of cuts. ****/
+void initialize(int *number_classes, int *number_multi_lib0, int window_length[MAX_TABLE_NUMBER],  double scale0s[MAX_TABLE_NUMBER], double scale0p[MAX_TABLE_NUMBER], FILE *fpin0, char *likelihoods00, char *pir_name0, char *print,   char gauss_param[2][MAXLINE], int *mode,double prior_freq_single[MAX_TABLE_NUMBER], double prior_freq_pair[MAX_TABLE_NUMBER],   int structural_pos[POSNUM+1])
+
+changed to
+
+void initialize( int *number_multi_lib0, int window_length[MAX_TABLE_NUMBER],  double scale0s[MAX_TABLE_NUMBER], double scale0p[MAX_TABLE_NUMBER], FILE *fpin0, char *likelihoods00, char *pir_name0, char *print,   char gauss_param[2][MAXLINE], int *mode)
+
+
+CUT
+  *number_classes=0; 
+    prior_freq_single[i]=0;
+    prior_freq_pair[i]=0;
+  for (i=0; i< POSNUM; i++)
+    structural_pos[i] = i;
+  structural_pos[POSNUM] = -1;
+
+
+cut
+/*** If number_multi_lib > 1 or there is only 1 functnum (singleton dist) **/
+/*** then each distance is a dimension.  Otherwise, the distances are     **/
+/*** combined heuristically in 1 library, so there is only one scoring dim **/
+
+
+void compute_multivariate_num_dim(int mode, int *number_score_dim,
+           int number_multi_lib[MAX_TABLE_NUMBER],
+           int multi_functnum[MAX_TABLE_NUMBER], int number_tables,
+           int new_num_dim_table[2], int old_num_dim_table[2])
+{
+  int the_table;
+
+  if (mode & MULTI_TRIMER_PAIRS) {  
+    *number_score_dim=0;
+    for (the_table=0; the_table< number_tables; the_table++)
+      (*number_score_dim) += number_multi_lib[the_table];
+
+    new_num_dim_table[0] = number_multi_lib[0];
+    new_num_dim_table[1] = number_multi_lib[1];
+    if ((number_multi_lib[0] > 1) || (multi_functnum[0]==1)) 
+      old_num_dim_table[0]= 7;
+    else 
+      old_num_dim_table[0]= 1;
+
+    if ((number_multi_lib[1] > 1) || (multi_functnum[1]==1)) 
+      old_num_dim_table[1]=7;
+    else
+      old_num_dim_table[1]=1;
+  }
+  else {       /** Only 1 score dimension for trimers, ignore lib */
+    (*number_score_dim) = number_multi_lib[0] + 1;  /* 1 for trimer singles */
+    
+    new_num_dim_table[0] = number_multi_lib[0];
+    new_num_dim_table[1] = 1;
+    old_num_dim_table[1]=1;
+    if ((number_multi_lib[0] > 1) || (multi_functnum[0]==1)) 
+      old_num_dim_table[0]= 7;
+    else 
+      old_num_dim_table[0]= 1;
+  }
+}
+
+
+Added
+
+int old_num_dim(int number_multi_lib, int number_of_distances) {
+  
+  if ( (number_multi_lib > 1) || (number_of_distances == 1))
+    return(7);
+  else return(1);
+}
+
+
+
+in initialize()
+added
+  init_class_prob[0] = .015;   /* Dimer probability*/
+  init_class_prob[1] = .009;   /* Trimer probablity*/
+  init_class_prob[2] = .976;   /*  Non-coiled prob. *