--- /dev/null
+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. *