JPRED-2 Add sources of all binaries (except alscript) to Git
[jpred.git] / sources / multicoil / initialization.c
diff --git a/sources/multicoil/initialization.c b/sources/multicoil/initialization.c
new file mode 100644 (file)
index 0000000..3f67d2c
--- /dev/null
@@ -0,0 +1,113 @@
+#include "sc.h"
+#include <stdio.h>
+#include "sc2seq.h"   /* This also includes scconst.h, sc.h, interface.h */
+#include "options.h"
+#include "scconst.h"
+#include "switches.h"
+
+extern int WINDOW;
+extern double SCALE0;
+
+
+void initialize( int *num_dist0, int window_length[MAX_TABLE_NUMBER],  double scale0s[MAX_TABLE_NUMBER], double scale0p[MAX_TABLE_NUMBER], FILE *fpin0, char likelihoods[MAX_TABLE_NUMBER][MAXLINE], char *pir_name0, char *print,   char gauss_param[2][MAXLINE], int *mode,double init_class_prob[MAX_CLASS_NUMBER])
+{
+  
+  int i;
+
+  *mode |= PROLINE_FREE_MODE;  /* Default mode is Proline Free. */
+  *mode |= PAIRCOIL_PAIRS;     /*  Always default to pairs for PairCoil */
+
+  *mode |= USE_LIKE_LINE;
+  *mode |= WEB_OUT_MODE;       /* Make the out file by default be the  */
+                               /* list of the seq and registers and probs */
+                               /* instead of the raw list of tuples of    */
+                               /* scores needed for plotting and making   */
+                               /* gaussians.                              */
+
+  *num_dist0=0;
+  for (i=0; i< MAX_TABLE_NUMBER; i++) {
+    window_length[i]=WINDOW;
+    scale0s[i] = SCALE0;   /** Set to default **/
+    scale0p[i] = SCALE0;
+    likelihoods[i][0]=',';  /** A hack to check if get it in get_defaults */
+  }
+  fpin0=NULL;
+  *pir_name0=',';        /** A hack to check if get it in get_defaults */
+
+  strcpy(print,"/dev/null");   
+
+  gauss_param[0][0]= ',';   /* Used as flag in multivariate_like.c. */
+  gauss_param[1][0]= ',';
+  
+  init_class_prob[0] = .015;   /* Dimer probability*/
+  init_class_prob[1] = .009;   /* Trimer probablity*/
+  init_class_prob[2] = .976;   /*  Non-coiled prob. */
+}
+
+
+void read_command_line(int argc, char *argv[], char **command_line_pointer,
+                            int combine_dist[MAX_TABLE_NUMBER],
+                            int *mode,
+                            int num_dist[MAX_TABLE_NUMBER],
+                            char multi_lib[MAX_TABLE_NUMBER][MAXFUNCTNUM],
+                            char **command_line_config)
+{
+  int number=0;
+  int max_libnum;
+
+  if (argc>2)
+    if (!strcmp(argv[argc-2],CONFIG_SWITCH)) {
+      *command_line_config = argv[argc-1];
+      printf("got command config %s\n", argv[argc-1]);
+      argc = argc-2;
+    }
+
+  if ((argc >= 3) && (argc <=5)) { 
+                  /* Ignore pos options and removal options in config file */
+    *command_line_pointer = argv[2];   
+          /** This could point to the table to remove from. **/
+    if (argc >= 4) {
+      combine_dist[0]=1;
+      combine_dist[1]=1;
+      *mode |= LIB_AT_COMMAND_LINE;
+
+      num_dist[0]=strlen(argv[3]);
+      max_libnum = num_dist[0];
+
+      if (argc ==5) {
+       num_dist[1]=strlen(argv[4]);
+       if (num_dist[1] > max_libnum) max_libnum = num_dist[1];
+      }
+      else num_dist[1]=num_dist[0];
+       while (number < max_libnum) {
+       if (num_dist[0] > number) {
+         multi_lib[0][number]= argv[3][number] - '0';
+       }
+       if (argc == 4) multi_lib[1][number] =multi_lib[0][number];
+       else if (num_dist[1] > number) 
+         multi_lib[1][number]= argv[4][number]- '0'; 
+       number++;
+      }
+      
+    }
+  }
+  else if (argc != 2){
+    /*    fprintf(stderr,"Usage: xcoil <file-name>\n"); */
+    usage(argv[0]);
+    exit(-1);
+  }
+}
+
+
+
+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);
+}
+
+
+
+
+