1 #define GETDATA_INCLUDE
2 
3 #ifndef RECOMBINE_INCLUDE
4 #include "recombine.h"
5 #endif
6 
7 #define OUTLINESIZE 50 /* the maximum number of characters allowed
8                           for line-output used in printdnadata */
9 
10 char uppercase(char ch);
11 
12 void setupdata(data_fmt *data, char datatype, long numpop, long numloci,
13  long numind, long *numsites, char *title);
14 void freedata(data_fmt *data);
15 long getdata_nummarkers(option_struct *op, data_fmt *data);
16 long getdata_numtips(option_struct *op, data_fmt *data);
17 long getdata_numseq(option_struct *op, data_fmt *data);
18 long getdata_numloci(option_struct *op, data_fmt *data);
19 long getdata_numpop(option_struct *op, data_fmt *data);
20 long getdata_sitecount(option_struct *op, data_fmt *data, long marker);
21 long getdata_markersite(option_struct *op, data_fmt *data, long marker);
22 double getdata_space(option_struct *op, data_fmt *data, long target);
23 
24 void read_spacefile(FILE *file, option_struct *op, data_fmt *data);
25 int longcmp (const void *v1, const void *v2);
26 int doublecmp (const void *v1, const void *v2);
27 void read_flipfile(option_struct *op, data_fmt *data, tree *tr, FILE *file);
28 void pruneflips(option_struct *op, data_fmt *data, tree *tr);
29 
30 
31 void read_data(FILE *infile, data_fmt *data, char datatype, long pop);
32 void setpopstuff(data_fmt *data, long pop, long numind,
33    char *poptitle, char datatype);
34 void read_popdata(FILE *infile, data_fmt *data, long pop,
35    option_struct *op);
36 void read_indname(FILE *infile, data_fmt *data, long pop, long lowcus,
37    long ind, long namelngth, char datatype);
38 
39 void read_microalleles(FILE *infile, msatdata *data, long pop,
40    long ind);
41 
42 long read_ind_seq(FILE *infile, dnadata *data, option_struct *op,
43    long lowcus, long pop, long ind, long baseread);
44 void finish_read_seq(FILE *infile, data_fmt *data, option_struct *op,
45    long pop, long baseread);
46 
47 void setupdnadata(dnadata **dna, long *sites, long numseq, long numloci,
48   long numpop);
49 void freednadata(dnadata *dna);
50 void printdnadata(option_struct *op, data_fmt *data, FILE *out);
51 void initinvartips(option_struct *op, data_fmt *data, long categs,
52   tree *curtree);
53 void makednavalues(option_struct *op, data_fmt *data, long categs,
54   tree *curtree);
55 void empiricaldnafreqs(option_struct *op, data_fmt *data, tree *curtree);
56 void getbasednafreqs(dnadata *dna, option_struct *op, double
57   locus_ttratio, FILE *outfile);
58 void inputdnaweights(long numchars, dnadata *dna, option_struct *op);
59 
60 long hapdist(option_struct *op,data_fmt *hap1, data_fmt *hap2, creature *critter);
61 void readtruehaps(option_struct *op, data_fmt *hap, long numpop, long
62   numloci, long numind, long *numsites);
63 void copyhaps(option_struct *op, data_fmt *oldhap, data_fmt *newhap,
64   long numpop, long numloci, long numind, long *numsites);
65