source: branches/profile/GDE/CLUSTALW/clustalw.h

Last change on this file was 1754, checked in by westram, 21 years ago

updated to version 1.83

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 7.5 KB
Line 
1/*#include "/us1/user/julie/dmalloc/malloc.h"*/
2/*********************CLUSTALW.H*********************************************/
3/****************************************************************************/
4
5   /*
6   Main header file for ClustalW.  Uncomment ONE of the following 4 lines
7   depending on which compiler you wish to use.
8   */
9
10/*#define VMS 1                 VAX or ALPHA VMS */
11
12/*#define MAC 1                 Think_C for Macintosh */
13
14/*#define MSDOS 1               Turbo C for PC's */
15
16#define UNIX 1                /*Ultrix/Decstation, Gnu C for
17                                Sun, IRIX/SGI, OSF1/ALPHA */
18
19/***************************************************************************/
20/***************************************************************************/
21
22
23#include "general.h"
24
25#define MAXNAMES                30      /* Max chars read for seq. names */
26#define MAXTITLES               60      /* Title length */
27#define FILENAMELEN     256             /* Max. file name length */
28       
29#define UNKNOWN   0
30#define EMBLSWISS 1
31#define PIR       2
32#define PEARSON   3
33#define GDE       4
34#define CLUSTAL   5     /* DES */
35#define MSF       6 /* DES */
36#define RSF       7     /* JULIE */
37#define USER      8     /* DES */
38#define PHYLIP    9     /* DES */
39#define NEXUS    10/* DES */
40#define FASTA    11/* Ramu */
41
42#define NONE      0
43#define SECST     1
44#define GMASK     2
45
46#define PROFILE 0
47#define SEQUENCE 1
48
49#define BS_NODE_LABELS 2
50#define BS_BRANCH_LABELS 1
51
52#define PAGE_LEN       22   /* Number of lines of help sent to screen */
53
54#define PAGEWIDTH       80  /* maximum characters on output file page */
55#define LINELENGTH      60  /* Output file line length */
56#define GCG_LINELENGTH  50
57
58#ifdef VMS                                              /* Defaults for VAX VMS */
59#define COMMANDSEP '/'
60#define DIRDELIM ']'            /* Last character before file name in full file
61                                                           specs */
62#define INT_SCALE_FACTOR 1000 /* Scaling factor to convert float to integer for profile scores */
63
64#elif MAC
65#define COMMANDSEP '/'
66#define DIRDELIM ':'
67#define INT_SCALE_FACTOR 100  /* Scaling factor to convert float to integer for profile scores */
68
69#elif MSDOS
70#define COMMANDSEP '/'
71#define DIRDELIM '\\'
72#define INT_SCALE_FACTOR 100  /* Scaling factor to convert float to integer for profile scores */
73
74#elif UNIX
75#define COMMANDSEP '-'
76#define DIRDELIM '/'
77#define INT_SCALE_FACTOR 1000 /* Scaling factor to convert float to integer for profile scores */
78#endif
79
80#define NUMRES 32               /* max size of comparison matrix */
81
82#define INPUT 0
83#define ALIGNED 1
84
85#define LEFT 1
86#define RIGHT 2
87
88#define NODE 0
89#define LEAF 1
90
91#define GAPCOL 32               /* position of gap open penalty in profile */
92#define LENCOL 33               /* position of gap extension penalty in profile */
93
94typedef struct node {           /* phylogenetic tree structure */
95        struct node *left;
96        struct node *right;
97        struct node *parent;
98        float dist;
99        sint  leaf;
100        int order;
101        char name[64];
102} stree, *treeptr;
103
104typedef struct {
105        char title[30];
106        char string[30];
107} MatMenuEntry;
108
109typedef struct {
110        int noptions;
111        MatMenuEntry opt[10];
112} MatMenu;
113
114#define MAXMAT 10
115
116typedef struct {
117        int llimit;     
118        int ulimit;
119        short *matptr;
120        short *aa_xref;
121} SeriesMat;
122
123typedef struct {
124        int nmat;
125        SeriesMat mat[MAXMAT];
126} UserMatSeries;
127       
128
129/*
130   Prototypes
131*/
132
133/* alnscore.c */
134void aln_score(void);
135/* interface.c */
136void parse_params(Boolean);
137void init_amenu(void);
138void init_interface(void);
139void    main_menu(void);
140FILE    *open_output_file(char *, char *, char *, char *);
141FILE    *open_explicit_file(char *);
142sint seq_input(Boolean);
143Boolean open_alignment_output(char *);
144void create_alignment_output(sint fseq,sint lseq);
145void align(char *phylip_name);
146void profile_align(char *p1_tree_name,char *p2_tree_name);/* Align 2 alignments */
147void make_tree(char *phylip_name);
148void get_tree(char *phylip_name);
149sint profile_input(void);                        /* read a profile */
150void new_sequence_align(char *phylip_name);
151Boolean user_mat(char *, short *, short *);
152Boolean user_mat_series(char *, short *, short *);
153void get_help(char);
154void clustal_out(FILE *, sint, sint, sint, sint);
155void nbrf_out(FILE *, sint, sint, sint, sint);
156void gcg_out(FILE *, sint, sint, sint, sint);
157void phylip_out(FILE *, sint, sint, sint, sint);
158void gde_out(FILE *, sint, sint, sint, sint);
159void nexus_out(FILE *, sint, sint, sint, sint);
160void fasta_out(FILE *, sint, sint, sint, sint);
161void print_sec_struct_mask(int prf_length,char *mask,char *struct_mask);
162void fix_gaps(void);
163
164
165/* calcgapcoeff.c */
166void calc_gap_coeff(char **alignment, sint *gaps, sint **profile, Boolean struct_penalties,
167                   char *gap_penalty_mask, sint first_seq, sint last_seq,
168                   sint prf_length, sint gapcoef, sint lencoef);
169/* calcprf1.c */
170void calc_prf1(sint **profile, char **alignment, sint *gaps, sint matrix[NUMRES ][NUMRES ], 
171               sint *seq_weight, sint prf_length, sint first_seq, sint last_seq);
172/* calcprf2.c */
173void calc_prf2(sint **profile, char **alignment, sint *seq_weight, sint prf_length,
174               sint first_seq, sint last_seq);
175/* calctree.c */
176void calc_seq_weights(sint first_seq, sint last_seq,sint *seq_weight);
177void create_sets(sint first_seq, sint last_seq);
178sint read_tree(char *treefile, sint first_seq, sint last_seq);
179void clear_tree(treeptr p);
180sint calc_similarities(sint nseqs);
181/* clustalw.c */
182int main(int argc, char **argv);
183/* gcgcheck.c */
184int SeqGCGCheckSum(char *seq, sint len);
185/* malign.c */
186sint malign(sint istart,char *phylip_name);
187sint seqalign(sint istart,char *phylip_name);
188sint palign1(void);
189float countid(sint s1, sint s2);
190sint palign2(char *p1_tree_name,char *p2_tree_name);
191/* pairalign.c */
192sint pairalign(sint istart, sint iend, sint jstart, sint jend);
193/* prfalign.c */
194lint prfalign(sint *group, sint *aligned);
195/* random.c */
196unsigned long linrand(unsigned long r);
197unsigned long addrand(unsigned long r);
198void addrandinit(unsigned long s);
199/* readmat.c */
200void init_matrix(void);
201sint get_matrix(short *matptr, short *xref, sint matrix[NUMRES ][NUMRES ], Boolean neg_flag,
202                sint scale);
203sint read_user_matrix(char *filename, short *usermat, short *xref);
204sint read_matrix_series(char *filename, short *usermat, short *xref);
205int getargs(char *inline1, char *args[], int max);
206/* sequence.c */
207void fill_chartab(void);
208sint readseqs(sint first_seq);
209/* showpair.c */
210void show_pair(sint istart, sint iend, sint jstart, sint jend);
211/* trees.c */
212void phylogenetic_tree(char *phylip_name,char *clustal_name,char *dist_name, char *nexus_name, char *pim_name);
213void bootstrap_tree(char *phylip_name,char *clustal_name, char *nexus_name);
214sint dna_distance_matrix(FILE *tree);
215sint prot_distance_matrix(FILE *tree);
216void guide_tree(FILE *tree,int first_seq,sint nseqs);
217
218void calc_percidentity(FILE *pfile);
219
220/* util.c */
221
222void alloc_aln(sint nseqs);
223void realloc_aln(sint first_seq,sint nseqs);
224void free_aln(sint nseqs);
225void alloc_seq(sint seq_no,sint length);
226void realloc_seq(sint seq_no,sint length);
227void free_seq(sint seq_no);
228
229void *ckalloc(size_t bytes);
230void *ckrealloc(void *ptr, size_t bytes);
231void *ckfree(void *ptr);
232char prompt_for_yes_no(char *title,char *prompt);
233void fatal(char *msg, ...);
234void error(char *msg, ...);
235void warning(char *msg, ...);
236void info(char *msg, ...);
237char *rtrim(char *str);
238char *blank_to_(char *str);
239char *upstr(char *str);
240char *lowstr(char *str);
241void getstr(char *instr, char *outstr);
242double getreal(char *instr, double minx, double maxx, double def);
243int getint(char *instr, int minx, int maxx, int def);
244void do_system(void);
245Boolean linetype(char *line, char *code);
246Boolean keyword(char *line, char *code);
247Boolean blankline(char *line);
248void get_path(char *str, char *path);
249
250
Note: See TracBrowser for help on using the repository browser.