File: eigqpsubs.h

package info (click to toggle)
eigensoft 8.0.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,936 kB
  • sloc: ansic: 33,392; perl: 717; makefile: 104; sh: 10
file content (224 lines) | stat: -rw-r--r-- 8,776 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <math.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#include <nicklib.h>

#define MAXG 100
#define MAXW 10

#include "badpairs.h"
#include "admutils.h"
#include "regsubs.h"
#include "egsubs.h"


int loadindx (Indiv ** xindlist, int *xindex, Indiv ** indivmarkers,
	      int numindivs);
int loadsnpx (SNP ** xsnplist, SNP ** snpmarkers, int numsnps,
	      Indiv ** indivmarkers);
void loadxdataind (double *xrow, SNP ** snplist, int ind, int ncols);
void fixxrow (double *xrow, double *xmean, double *xfancy, int len);
void dofancy (double *cc, int n, double *fancy);
int vadjust (double *rr, int n, double *pmean);
void getcol (double *cc, double *xdata, int col, int nrows, int ncols);
void getcolx (double *xcol, SNP * cupt, int *xindex,
	      int nrows, int col, double *xmean, double *xfancy);
void putcol (double *cc, double *xdata, int col, int nrows, int ncols);
double dottest (char *sss, double *vec, char **eglist, int numeg, int *xtypes,
		int len);
double yll (double x1, double x2, double xlen);
void calcmean (double *wmean, double *vec, int len, int *xtypes, int numeg);
void getrawcol (int *rawcol, SNP * cupt, int *xindex, int nrows);
void getrawcolx (int **ccc, SNP * cupt, int *xindex, int nrows,
		 Indiv ** indm);

void setmiss (SNP ** snpm, int numsnps);

void fixrho (double *a, int n);
void printdiag (double *a, int n);


double dofst (double *fstans, double *fstsd, SNP ** xsnplist, int *xindex,
	      int *xtypes, int nrows, int ncols, int numeg, int mode);

double fstcol (double *estn, double *estd, SNP * cupt,
	       int *xindex, int *xtypes, int nrows, int type1, int type2);

double divcol (double *estn, double *estd, SNP * cupt,
	       int *xindex, int *xtypes, int nrows, int type1, int type2);

double fst (SNP ** xsnplist, int *xindex, int *xtypes,
	    int nrows, int ncols, int type1, int type2, double *psd,
	    int mode);

double dofstx (double *fstans, double *fstsd, SNP ** xsnplist, int *xindex,
	       int *xtypes, int nrows, int ncols, int numeg);

void fstcolyy (double *estn, double *estd, SNP * cupt,
	       int *xindex, int *xtypes, int nrows, int numeg);

double fstcoly (double *estn, double *estd, SNP * cupt,
		int *xindex, int *xtypes, int nrows, int type1, int type2);

double fstx (SNP ** xsnplist, int *xindex, int *xtypes,
	     int nrows, int ncols, int type1, int type2, double *psd);

void
setplimit (Indiv ** indivmarkers, int numindivs,
	   char **eglist, int numeg, int plimit);

void loadzdata (double **zdata, SNP ** xsnplist, int *xindex, int *xtypes,
		int nrows, int ncols, int numeg, int *ncolx, int *tagnums);

void getpdata (int *rawcol, double *pm, double *pn, int *xtypes, int nrows,
	       int numeg);

void getrscore (double *rscore, double *rho, double **zz,
		int ncols, int a, int b, int c, int d, int numeg,
		int *blabels, int nblocks);

double qcorr (double **zz, double *rho,
	      int ncols, int a, int b, int c, int d, int numeg, int *blabels,
	      int nblocks);
void xcopy (int rp[4], int a, int b, int c, int d);
void settsc (int tpat[3][4], double tscore[3], int rpat[3][4],
	     double rscore[3]);
void printsc (int pat[3][4], double tscore[3], char **eglist, double ymin);
double dohzg (double *top, double *bot, SNP ** xsnplist, int *xindex,
	      int *xtypes, int nrows, int ncols, int numeg);

void dohzgjack (double *fstest, double *fstsig, SNP ** xsnplist, int *xindex,
		int *xtypes, int nrows, int ncols, int numeg, int *bcols,
		int nblocks);

void gethscore (double *hscore, double *scores,
		int a, int b, int c, int d, int numeg);

double qhdiff (double *scores, int a, int b, int c, int d, int numeg);
void setblocks (int *block, int *bsize, int *nblock, SNP ** snpm, int numsnps,
		double blocklen);
int numblocks (SNP ** snpm, int numsnps, double blocklen);
void setmgpos (SNP ** snpm, int numsnps, double *maxgdis);
void setgfromp (SNP ** snpm, int numsnps);
void wjackest (double *est, double *sig, double mean, double *jmean,
	       double *jwt, int n);
void wjackvest (double *vest, double *var, int d, double *mean,
		double **jmean, double *jwt, int g);
void corrwjack (double *xrho, double *xsig, double *z1, double *z2, int n,
		int *bcols, int nblocks);
double crho (double *stats);

void ndfst5 (double *zzest, double *zzsig, double **zn, double **zd,
	     int ncols, int *bcols, int nblocks);
void regestit (double *ans, double *xn, double *xd);

void setwt (SNP ** snpmarkers, int numsnps, Indiv ** indivmarkers, int nrows,
	    int *xindex, int *xtypes, char *outpop, char **eglist, int numeg);
void countg (int *rawcol, int **cc, int *xtypes, int n, int ntypes);
void dohzgjack (double *hest, double *hsig, SNP ** xsnplist, int *xindex,
		int *xtypes, int nrows, int ncols, int numeg, int *bcols,
		int nblocks);

void setbcols (SNP ** xsnplist, int ncols, int *bcols);
double
dofstnum (double *fst, double *fstnum, double *fstsig, SNP ** xsnplist,
	  int *xindex, int *xtypes, int nrows, int ncols, int numeg,
	  int nblocks);

double
dofstnumx (double *fst, double *fstnum, double *fstsig, SNP ** xsnplist,
	   int *xindex, int *xtypes, int nrows, int ncols, int numeg,
	   int nblocks, Indiv ** indm, int fstmode);

void
dof3 (double *f3, double *f3sig, SNP ** xsnplist, int *xindex, int *xtypes,
      int nrows, int ncols, int numeg, int nblocks, double scale, int mode);

void
dof4 (double *f4, double *f4sig, SNP ** xsnplist, int *xindex, int *xtypes,
      int nrows, int ncols, int numeg, int nblocks, double scale, int mode);

void f3y (double *estn, SNP * cupt,
	  int *xindex, int *xtypes, int nrows, int type1, int type2,
	  int type3);

void f4y (double *estn, SNP * cupt,
	  int *xindex, int *xtypes, int nrows, int type1, int type2,
	  int type3, int type4);

void f3sc (double *estn, double *estd, SNP * cupt, Indiv ** indm,
	   int *xindex, int *xtypes, int nrows, int type1, int type2,
	   int type3);

void f2sc (double *estn, double *estd, SNP * cupt, Indiv ** indm,
	   int *xindex, int *xtypes, int nrows, int type1, int type2,
	   int type3);

void f4yx (double *estn, SNP * cupt, Indiv ** indm,
	   int *xindex, int *xtypes, int nrows, int type1, int type2,
	   int type3, int type4);

void f3yy (double *estmat, SNP * cupt,
	   int *xindex, int *xtypes, int nrows, int numeg);

int f3yyx (double *estmat, SNP * cupt,
	   int *xindex, int *xtypes, int nrows, int numeg, Indiv ** indm);


double doadmlin (double *jest, double *jsig, double *zlin, double *var,
		 SNP ** xsnplist, int *xindex, int *xtypes,
		 int nrows, int ncols, int numeg, int nblocks, double scale,
		 Indiv ** indm);

double estmix (double *z, double *f3, int n);

void bump2 (double *x, int a, int b, int n, double val);
double dump2 (double *x, int a, int b, int n);
void bump3 (double *x, int a, int b, int c, int n, double val);
double dump3 (double *x, int a, int b, int c, int n);

void bump4 (double *x, int a, int b, int c, int d, int n, double val);
void bump4x (double *x, int a, int b, int c, int d, int n, double val);	// all 4 images
void set4x (double *x, int a, int b, int c, int d, int n, double val);
void set4 (double *x, int a, int b, int c, int d, int n, double val);	// all 4 images

double dump4 (double *x, int a, int b, int c, int d, int n);
double ff3val (double *ff3, int a, int b, int c, int n);

// graph stuff
int loadgraph (char *readit, char ***peglist);
void getgmix (double **vmix, int *lmix, int *nmix);
void putgmix (double **vmix);
void getpwts (double *pwts, int *nrows, int *nedge);
void getenames (char **enames);
void setsimp (double *ww, int n);
int edgenum (char *edgename);
void addvertex (char *vertname);
void supergetvnames (char **vnames, int *xvlist, int nxvlist);
void superalloc (int **xv, int ***xe, int ***adv, int **aedge);
void supersetup (int *xvlist, int *nxvlist, int **xelist, int *nxelist,
		 int **admixv, int *admixedge, int *nxalist);
void supereglist (int *eelist);
void supergetvar (double *svar,
		  int *xvlist, int nxvlist, int **xelist, int nxelist,
		  int **admixv, int *admixedge, int nxalist);
void superputvals (double **admixw, double *elen, int *xvlist, int nxvlist,
		   int **xelist, int nxelist, int **admixv, int *admixedge,
		   int nxalist);
void superest (double *xmean, double *xvar, double *svar, double *yobs,
	       int nxvlist, int *elist);
void supergetvals (double **admixw, double *elen, int *xvlist, int nxvlist,
		   int **xelist, int nxelist, int **admixv, int *admixedge,
		   int nxalist);
void superreest (double *s2, int *xvlist, int nxvlist, int **xelist,
		 int nxelist, int **admixv, int *admixedge, int nxalist);
void setadmfix (char *fixname);

int
ridoutlier (double *evecs, int n, int neigs,
	    double thresh, int *badlist, OUTLINFO ** outinfo);