-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmcio.h
More file actions
209 lines (174 loc) · 7.33 KB
/
Copy pathmcio.h
File metadata and controls
209 lines (174 loc) · 7.33 KB
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
#ifndef _MCIO_
#define _MCIO_
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <unistd.h>
#include <math.h>
#include <vsubs.h>
#include <admutils.h>
#define MAXSTR 512
#define LONGSTR 10000
#define MAXFF 100
#define MAXCH 100
#define MTCHROM 90
#define XYCHROM 91
#define BADCHROM 99
#define GDISMUL 10000000
// multiplier for gdis to make integer for sort
enum outputmodetype {
ANCESTRYMAP,
EIGENSTRAT,
PED,
PACKEDPED,
PACKEDANCESTRYMAP,
TRANSPOSE_PACKED
} ;
typedef struct {
char ID[IDSIZE];
double gpos ;
double ppos ;
int chrom ;
char cchrom[6] ;
int nn[4] ;
int ignore ;
int isrfake ;
char alleles[2] ;
int inputrow ;
int cuptnum ;
int chimpfudge ;
} SNPDATA ;
int numfakes(SNPDATA **snpraw, int *snpindx, int nreal, double spacing) ;
double nextmesh(double val, double spacing) ;
double interp (double l, double r, double x, double al, double ar) ;
int
loadsnps(SNP **snpm, SNPDATA **snpraw,
int *snpindx, int nreal, double spacing, int *numignore) ;
int readsnpdata(SNPDATA **snpraw, char *fname) ;
int readinddata(Indiv **indivmarkers, char *fname) ;
int readindpeddata(Indiv **indivmarkers, char *fname) ;
void pedname(char *name, char *sx0, char *sx1) ;
int readtldata(Indiv **indivmarkers, int numind, char *fname) ;
int readindval(Indiv **indivmarkers, int numind, char *fname) ;
int readfreqdata(SNP **snpm, int numsnps, char *fname) ;
void clearsnp(SNP *cupt) ;
int rmindivs(SNP **snpm, int numsnps, Indiv **indivmarkers, int numindivs) ;
int rmsnps(SNP **snpm, int numsnps, char *deletesnpoutname) ;
void clearind(Indiv **indm, int numind) ;
void cleartg(Indiv **indm, int nind) ;
double mknn(int *nn, int n0, int n1) ;
void clearsnpord() ;
int getsnps(char *snpfname, SNP ***snpmarkpt, double spacing,
char *badsnpname, int *nignore, int numrisks) ;
void cksnpdup(SNP **snpmarkers, int numsnps) ;
int getsizex(char *fname) ;
int getindivs(char *indivfname, Indiv ***indmarkpt) ;
void setfamilypopnames(int fpop) ;
int setstatus(Indiv **indm, int numindivs, char *smatch) ;
int setstatusv(Indiv **indm, int numindivs, char *smatch, int val) ;
int setstatuslist(Indiv **indm, int numindivs, char **smatchlist, int slen) ;
void setdupcheck(int mode) ;
long getgenos(char *genoname, SNP **snpmarkers, Indiv **indivmarkers,
int numsnps, int numindivs, int nignore) ;
void getgenos_list(char *genotypelist, SNP **snpmarkers, Indiv **indivmarkers,
int numsnps, int numindivs, int nignore) ;
int printsnps(char *snpoutfilename, SNP **snpm, int num,
Indiv **indm, int printfake, int printvalids) ;
int checkxval(SNP *cupt, Indiv *indx, int val) ;
void printdata(char *genooutfilename, char *indoutfilename,
SNP **snpm, Indiv **indiv, int numsnps,int numind, int packmode);
int readgdata(Indiv **indivmarkers, int numind, char *gname) ;
int numvalidind(Indiv **indivmarkers, int numind) ;
int numvalidgtind(SNP **snpm, int numsnps, int ind) ;
int numvalidgt(Indiv **indivmarkers, SNP *cupt) ;
int numvalidgtx(Indiv **indivmarkers, SNP *cupt, int affst) ;
int getblocks (char *fname, SNP ** snpm, int numsnps) ;
int getweights(char *fname, SNP **snpm, int numsnps) ;
int getindvals (char *fname, Indiv ** indivmarkers, int numindivs) ;
void outpack(char *genooutfilename, SNP **snpm, Indiv **indiv, int numsnps, int numind) ;
void outpack_transpose(char *genooutfilename, SNP **snpm, Indiv **indiv, int numsnps, int numind);
int ispack(char *gname) ;
int iseigenstrat(char *gname) ;
void inpack(char *genofilename, SNP **snpm, Indiv **indiv, int numsnps, int numind) ;
void inpackt(char *genofilename, SNP **snpm, Indiv **indiv, int numsnps, int numind) ;
int inpack2(char *genooutfilename, SNP **snpm, Indiv **indiv, int numsnps, int numind) ;
int ineigenstrat(char *genooutfilename, SNP **snpm, Indiv **indiv, int numsnps, int numind) ;
void setepath(SNP **snpm, int n) ;
void clearepath(char *xpack) ;
long bigread(int fdes, char *packg, long numbytes) ;
// pedfile support
int getpedgenos(char *genoname, SNP **snpmarkers, Indiv **indivmarkers,
int numsnps, int numindivs, int nignore) ;
void genopedcnt(char *genoname, int **gcounts, int nsnp) ;
int pedval(char *sx) ;
int xpedval(char c) ;
void setgref(int **gcounts, int nsnp, int *gvar, int *gref) ;
void cleargdata(SNP **snpmarkers, int numsnps, int numindivs) ;
void setgenotypename(char **gname, char *iname) ;
void settersemode(int mode) ;
void dobadsnps(SNPDATA **snpraw, int nreal, char *badsnpname) ;
int snprawindex(SNPDATA **snpraw, int nreal, char *sname) ;
int readsnpmapdata(SNPDATA **snpraw, char *fname) ;
int checkfake(char *ss) ;
void setbadpedignore() ;
int setsdpos( SNPDATA *sdpt, int pos) ;
int
outeigenstrat(char *snpname, char *indname, char *gname,
SNP **snpm, Indiv **indiv, int numsnps, int numind) ;
int
outped(char *snpname, char *indname, char *gname,
SNP **snpm, Indiv **indiv, int numsnps, int numind, int ogmode) ;
int
outpackped(char *snpname, char *indname, char *gname, SNP **snpm, Indiv **indiv,
int numsnps, int numind, int ogmode) ;
void setbedbuff(char *buff, int *gtypes, int numind) ;
int bedval(int g) ;
int str2chrom(char *ss) ;
int isitcram(char *fname) ;
void outindped(char *indname, Indiv **indiv, int numind, int ogmode) ;
int
printmap(char *snpname, SNP **snpm, int numsnps, Indiv **indiv) ;
int maxlinelength(char *fname) ;
int checksize(int numindivs, int numsnps, enum outputmodetype outputmode) ;
void setomode(enum outputmodetype *outmode, char *omode) ;
int
outfiles(char *snpname, char *indname, char *gname, SNP **snpm,
Indiv **indiv, int numsnps, int numind, int packem, int ogmode) ;
void snpdecimate(SNP **snpm, int nsnp, int decim, int mindis, int maxdis) ;
void decimate(SNP **cbuff, int n, int decim, int mindis, int maxdis) ;
int vvadjust(double *cc, int n, double *pmean) ;
int killhir2(SNP **snpm, int numsnps, int numind, double physlim, double genlim, double rhothresh) ;
void freecupt(SNP **cupt) ;
void freeped() ;
void freesnps(SNP ***psnpmarkers, int numsnps) ;
void freesnpsx(SNP ***psnpmarkers, int numsnps) ;
void freeinds(Indiv ***pindivmarkers, int numinds) ;
void cntpops(int *count, Indiv **indm, int numindivs, char **eglist, int numeg) ;
void printalleles(SNP *cupt, FILE *fff) ;
char *getpackgenos() ;
void clearpackgenos() ;
void freepackgenos() ;
void setchr(int mode) ;
void setchimpmode(int mode) ;
void setpack(int rlen, int numsnps) ;
int genoopenit(genofile **gfile, char *geno2name, SNP **snp2m,
Indiv **indiv2m, int numsnp2, int numindiv2, int nignore) ;
int genoreadit(genofile *gfile, SNP **pcupt) ;
void genocloseit(genofile *gfile) ;
int calcishash (SNP ** snpm, Indiv ** indiv, int numsnps, int numind, unsigned int *pihash, unsigned int *pshash) ;
void putped(int num) ;
void getped(int num) ;
void logdeletedsnp(char *snpname, char *cmnt, char *deletesnpoutname);
void sortsnps(SNP **snpa, SNP **snpb, int n) ;
void setpordercheck (int mode) ;
void putsnpordered(int mode) ;
int getsnpordered() ;
void ckdup(char **eglist, int n) ;
long inprob (char *pname, SNP ** snpm, Indiv ** indiv, int numsnps, int numind) ;
long inprobx (char *pname, SNP ** snpm, Indiv ** indiv, int numsnps, int numind, char *packprobs) ;
void outprob(char *oname, SNP **snpm, Indiv **indiv, int numsnps) ;
void outprobx(char *oname, SNP **snpm, Indiv **indiv, int numsnps, int numindivs, char *packprobs) ;
void sethiressnp() ;
void settrans(int mode) ;
void setmemorymap(int mode) ;
#endif