source: tags/initial/GDE/CLUSTALW/clustalw.c

Last change on this file was 2, checked in by oldcode, 24 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.1 KB
Line 
1#include <stdio.h>
2#include <string.h>
3#include <stdlib.h>
4#ifdef MAC
5#include <console.h>
6#endif
7#include "clustalw.h"
8
9/*
10*       Prototypes
11*/
12
13#ifdef MAC
14extern int ccommand(char ***);
15#endif
16
17extern void *ckalloc(size_t);
18extern void init_amenu(void);
19extern void init_interface(void);
20extern void init_matrix(void);
21extern void fill_chartab(void);
22extern void parse_params(Boolean);
23extern void main_menu(void);
24
25/*
26*       Global variables
27*/
28double **tmat;
29
30char revision_level[] = "W (1.7)";  /* JULIE  may 1997 */
31Boolean interactive=FALSE;
32
33#ifdef MSDOS
34        char *help_file_name = "clustalw.hlp";
35#else
36        char *help_file_name = "clustalw_help";
37#endif
38
39sint max_names; /* maximum length of names in current alignment file */
40
41float           gap_open,      gap_extend;
42float           pw_go_penalty, pw_ge_penalty;
43
44FILE *fin,*tree;
45FILE *clustal_outfile, *gcg_outfile, *nbrf_outfile, *phylip_outfile,
46     *gde_outfile;
47sint  *seqlen_array;
48sint max_aln_length;
49short usermat[NUMRES][NUMRES], pw_usermat[NUMRES][NUMRES];
50short def_aa_xref[NUMRES+1], aa_xref[NUMRES+1], pw_aa_xref[NUMRES+1];
51short userdnamat[NUMRES][NUMRES], pw_userdnamat[NUMRES][NUMRES];
52short def_dna_xref[NUMRES+1], dna_xref[NUMRES+1], pw_dna_xref[NUMRES+1];
53sint nseqs;
54sint nsets;
55sint *output_index;
56sint **sets;
57sint *seq_weight;
58sint max_aa;
59sint gap_pos1;
60sint gap_pos2;
61sint mat_avscore;
62sint profile_no;
63
64Boolean usemenu;
65Boolean dnaflag;
66Boolean distance_tree;
67
68char  **seq_array;
69char **names,**titles;
70char *paramstr;
71char seqname[FILENAMELEN+1];
72
73char *gap_penalty_mask1 = NULL, *gap_penalty_mask2 = NULL;
74char *sec_struct_mask1 = NULL, *sec_struct_mask2 = NULL;
75sint struct_penalties;
76char *ss_name1 = NULL, *ss_name2 = NULL;
77
78int main(int argc,char **argv)
79{
80        sint i;
81       
82#ifdef MAC
83        argc=ccommand(&argv);
84#endif
85
86    init_amenu();
87    init_interface();
88    init_matrix();
89       
90        fill_chartab();
91
92        if(argc>1) {
93                paramstr = (char *)ckalloc(1024 * sizeof(char));
94       
95                paramstr[0]=EOS;
96                for(i=1;i<argc;++i) 
97                        strcat(paramstr,argv[i]);
98                usemenu=FALSE;
99                parse_params(FALSE);
100
101                ckfree(paramstr);
102        }
103        usemenu=TRUE;
104        interactive=TRUE;
105
106        main_menu();
107       
108        return 0;
109}
110
Note: See TracBrowser for help on using the repository browser.