std::vector<iArray*> getTestIndividuals(const char *pName){ iArray *testList = typecast_stringarray_to_iArray(readarray(std::string(pName))); int numTrues=0; for(int i=0;i<testList->x;i++) if(testList->array[i]) numTrues++; //printf("numTrues:%d\n",numTrues); //testList->print("testlist",NULL); std::vector<iArray*> returnVal; int pos1 = getNext(testList,0); while(pos1!=-1){ int pos2 = getNext(testList,pos1+1); while(pos2!=-1){ if(pos2!=-1){ //printf("p1:%d\tp2:%d\n",pos1,pos2); iArray *pr = allocIntArray(2); pr->array[0]=pos1;pr->array[1]=pos2; returnVal.push_back(pr); } pos2 = getNext(testList,pos2+1); } pos1 = getNext(testList,pos1+1); } killArray(testList); return returnVal; }
int main(int argc, char *argv[]){ toCargs *pars; if(argc<12){ std::cout << "\t-> Please input -g GENOTYPEFILE -LD {0,1} -back BACK -threshold prune_val -filename OUTPUTDATA -snps KEEPLIST\n"; return 0; } //get commandline args pars = readArgs(argc,argv); pars->doPrune = 1; //check if fileexists if(fexists(pars->data_filename)){ printf("\t-> outputfile:%s exists, will exit\n",pars->data_filename.c_str()); return 0; } if(fexists(pars->usedSnps_filename)){ printf("\t-> outputfile:%s exists will exit\n",pars->usedSnps_filename.c_str()); return 0; } //run prune prune object; print_functionPars(pars); fromCres *fromObject = object.main_run(pars); //write results write_iMatrix_to_file(pars->data_filename,fromObject->data); write_iArray_to_file(pars->usedSnps_filename,fromObject->usedSnps); killArray(fromObject->usedSnps); killMatrix(fromObject->data); killMatrix(pars->data); return 0; }