source: trunk/GDE/PHYLIP/seq.h

Last change on this file was 5829, checked in by westram, 16 years ago
  • included some patches for OSX (thx to Matt Cottrell)
  • added global switch LINK_STATIC
  • added script which checks for tools needed to compile ARB
  • typo CCPLIB→CPPLIB
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 7.4 KB
Line 
1
2/* version 3.6. (c) Copyright 1993-2000 by the University of Washington.
3   Written by Joseph Felsenstein, Akiko Fuseki, Sean Lamont, and Andrew Keeffe.
4   Permission is granted to copy and use this program provided no fee is
5   charged for it and provided that this copyright notice is not removed. */
6
7/*
8    seq.h:  included in dnacomp, dnadist, dnainvar, dnaml, dnamlk, dnamove,
9            dnapars, dnapenny, protdist, protpars, & restml
10*/
11
12#define maxcutter       8    /* maximum number of bases in a site in restml */
13
14/* move */
15/* All the below moved here in the Great TreeRead Migration of '96 */
16
17#define ebcdic          EBCDIC
18#define MAXNCH          20
19
20/* All of this came over from cons.h    -plc*/ 
21#define OVER              7
22#define ADJACENT_PAIRS    1
23#define CORR_IN_1_AND_2   2
24#define ALL_IN_1_AND_2    3
25#define NO_PAIRING        4
26#define ALL_IN_FIRST      5
27#define TREE1             8
28#define TREE2             9
29
30#define FULL_MATRIX       11
31#define VERBOSE           22
32#define SPARSE            33
33
34/* Used in proml, promlk, dnaml, dnamlk for undefined bestyet*/
35#define UNDEFINED 1.0
36
37
38/* Number of columns per block in a matrix output */
39#define COLUMNS_PER_BLOCK 10
40
41
42/*end move*/
43
44
45typedef struct gbases {
46  baseptr base;
47  struct gbases *next;
48} gbases;
49
50typedef struct nuview_data {
51  /* A big 'ol collection of pointers used in nuview */
52  double *yy, *wwzz, *vvzz, *vzsumr, *vzsumy, *sum, *sumr, *sumy;
53  sitelike *xx;
54} nuview_data;
55
56struct LOC_hyptrav {
57  boolean bottom;
58  node *r;
59  long *hypset;
60  boolean maybe, nonzero;
61  long tempset, anc;
62} ;
63
64
65extern long nonodes, endsite, outgrno, nextree, which;
66
67extern boolean interleaved, printdata, outgropt, treeprint, dotdiff, transvp;
68
69extern steptr weight, category, alias, location, ally;
70
71#ifndef OLDC
72/* function prototypes */
73void   free_all_x_in_array (long, pointarray);
74void   free_all_x2_in_array (long, pointarray);
75void   alloctemp(node **, long *, long);
76void   freetemp(node **);
77void   freetree2 (pointarray, long);
78void   inputdata(long);
79void   alloctree(pointarray *, long, boolean);
80void   allocx(long, long, pointarray, boolean);
81
82void   prot_allocx(long, long, pointarray, boolean);
83void   allocx2(long, long, long, pointarray, boolean);
84void   setuptree(pointarray, long, boolean);
85void   setuptree2(tree);
86void   alloctip(node *, long *);
87void   alloctrans(transptr *, long, long);
88void   getbasefreqs(double, double, double, double, double *, double *,
89                        double *, double *, double *, double *, double *,
90            double *xi, double *, double *, boolean, boolean);
91void   empiricalfreqs(double *,double *,double *,double *,steptr,pointarray);
92void   sitesort(long, steptr);
93void   sitecombine(long);
94
95void   sitescrunch(long);
96void   sitesort2(long, steptr);
97void   sitecombine2(long, steptr);
98void   sitescrunch2(long, long, long, steptr);
99void   makevalues(pointarray, long *, boolean);
100void   makevalues2(long, pointarray, long, long, sequence, steptr);
101void   fillin(node *, node *, node *);
102long   getlargest(long *);
103void   multifillin(node *, node *, long);
104void   sumnsteps(node *, node *, node *, long, long);
105
106void   sumnsteps2(node *, node *, node *, long, long, long *);
107void   multisumnsteps(node *, node *, long, long, long *);
108void   multisumnsteps2(node *);
109boolean alltips(node *, node *);
110void   gdispose(node *, node **, pointarray);
111void   preorder(node *, node *, node *, node *, node *, node *, long);
112void   updatenumdesc(node *, node *, long);
113void   add(node *,node *,node *,node **,boolean,pointarray,node **,long *);
114void   findbelow(node **below, node *item, node *fork);
115
116void   re_move(node *item, node **fork, node **root, boolean recompute,
117                pointarray, node **, long *);
118void   postorder(node *p);
119void   getnufork(node **, node **, pointarray, long *);
120void   reroot(node *, node *);
121void   reroot2(node *, node *);
122void   reroot3(node *, node *, node *, node *, node **);
123void   savetraverse(node *);
124void   newindex(long, node *);
125void   flipindexes(long, pointarray);
126boolean parentinmulti(node *);
127
128long   sibsvisited(node *, long *);
129long   smallest(node *, long *);
130void   bintomulti(node **, node **, node **, long *);
131void   backtobinary(node **, node *, node **);
132boolean outgrin(node *, node *);
133void   flipnodes(node *, node *);
134void   moveleft(node *, node *, node **);
135void   savetree(node *, long *, pointarray, node **, long *);
136void   addnsave(node *, node *, node *, node **, node **,boolean,
137                pointarray, long *, long *);
138void   addbestever(long *, long *, long, boolean, long *, bestelm *);
139
140void   addtiedtree(long, long *, long, boolean,long *, bestelm *);
141void   clearcollapse(pointarray);
142void   clearbottom(pointarray);
143void   collabranch(node *, node *, node *);
144boolean allcommonbases(node *, node *, boolean *);
145void   findbottom(node *, node **);
146boolean moresteps(node *, node *);
147boolean passdown(node *, node *, node *, node *, node *, node *,
148                node *, node *, node *, boolean);
149boolean trycollapdesc(node *, node *, node *, node *, node *,
150                node *, node *, node *, node *, boolean , long *);
151void   setbottom(node *);
152
153boolean zeroinsubtree(node *, node *, node *, node *, node *,
154                node *, node *, node *, boolean, node *, long *);
155boolean collapsible(node *, node *, node *, node *, node *,
156                node *, node *, node *, boolean, node *, long *, pointarray);
157void   replaceback(node **, node *, node *, node **, long *);
158void   putback(node *, node *, node *, node **);
159void   savelocrearr(node *, node *, node *, node *, node *, node *,
160                node *, node *, node *, node **, long, long *, boolean,
161                boolean , boolean *, long *, bestelm *, pointarray ,
162                node **, long *);
163void   clearvisited(pointarray);
164void   hyprint(long, long, struct LOC_hyptrav *,pointarray, Char *);
165void   gnubase(gbases **, gbases **, long);
166void   chuckbase(gbases *, gbases **);
167void   hyptrav(node *, long *, long, long, boolean,pointarray,
168                gbases **, Char *);
169
170void   hypstates(long , node *, pointarray, gbases **, Char *);
171void   initbranchlen(node *p);
172void   initmin(node *, long, boolean);
173void   initbase(node *, long);
174void   inittreetrav(node *, long);
175void   compmin(node *, node *);
176void   minpostorder(node *, pointarray);
177void   branchlength(node *,node *,double *,pointarray);
178void   printbranchlengths(node *);
179void   branchlentrav(node *,node *,long,long,double *,pointarray);
180
181void   treelength(node *, long, pointarray);
182void   coordinates(node *, long *, double, long *);
183void   drawline(long, double, node *);
184void   printree(node *, double);
185void   writesteps(long, boolean, steptr, node *);
186void   treeout(node *, long, long *, node *);
187void   treeout3(node *, long, long *, node *);
188void   drawline2(long, double, tree);
189void   drawline3(long, double, node *);
190void   copynode(node *, node *, long);
191
192void   prot_copynode(node *, node *, long);
193void   copy_(tree *, tree *, long, long);
194void   prot_copy_(tree *, tree *, long, long);
195void   standev(long, long, long, double, double *, long **, longer);
196void   standev2(long, long, long, long, double, double *, double **,
197              steptr, longer);
198void   freetip(node *);
199void   freenontip(node *);
200void   freenodes(long, pointarray);
201void   freenode(node **);
202void   freetree(long, pointarray);
203
204void   freex(long, pointarray);
205void   freex2(long, pointarray);
206void   freegarbage(gbases **);
207void   freegrbg(node **);
208/*function prototypes*/
209#endif
210
Note: See TracBrowser for help on using the repository browser.