#include"reconstruction.h" #include #include #include #include int main( int argc, char **argv ) { ALLELE_DATA **add; char *alleledir = NULL; char *mosaicfile = NULL; char *outdir = NULL; int c; int format = 1; // fix this while ((c = getopt (argc, argv, "a:m:d:")) != -1) switch (c) { case 'a': alleledir = optarg; break; case 'd': outdir = optarg; break; case 'm': mosaicfile = optarg; break; } if ( outdir == NULL ) outdir = strdup("./"); if ( alleledir && mosaicfile ) { int nchr=5, i; ALLELE_DATA **ad=(ALLELE_DATA**)calloc(nchr+1,sizeof(ALLELE_DATA*)); MOSAIC *mosaic; for(i=1;i<=nchr;i++) { FILE *fp; char filename[256]; sprintf(filename, "%s/chr%d.alleles.txt", alleledir, i); printf("%s\n", filename); fp = fopen( filename, "r"); if ( fp != NULL ) { ad[i] = ReadAlleleData( filename, format ); sprintf(filename, "chr%d.alleles.Data", i); WriteBinaryAlleleData( ad[i], filename ); fclose(fp); } else { fprintf(stderr, "ERROR could not open %s\n", filename); exit(1); } } mosaic = ReadMosaic( mosaicfile, ad[1]->col, ad[1]->Ncol ); ImputeFromMosaic( mosaic, ad, nchr, outdir ); return(0); } return(1); }