def copy_assoc_file(self, assoc_file): """ copy assoc file to directory to where program is ran from """ #get base extension e.g. qassoc,assoc assoc.linear base_extention = common.plink_results_extension(assoc_file) output_number = get_number_of_assoc_file(assoc_file) assoc_files = [] extentions = ["", ".adjusted"] for ext in extentions: if (os.path.exists(assoc_file + ext)): dest_assoc_file = self.out + "results" + output_number + "." + base_extention + ext if os.path.exists(dest_assoc_file): _remove_file(dest_assoc_file) shutil.copy(assoc_file, dest_assoc_file) os.path.abspath(os.path.curdir) log.info("\nResults of PLINK saved as " + dest_assoc_file) assoc_files.append(dest_assoc_file) else: pass return(assoc_files)
def run_permutation(self, seeds): """ performs permutations """ permuted_pheno_file = common.create_pheno_permutation_file(self, seeds) pheno_arg = " --pheno " + str(permuted_pheno_file + " --all-pheno" + " --extract " + self.group) if self.covar_file: permuted_covar_file = common.create_covar_permutation_file(self, seeds) pheno_arg += " --covar " + permuted_covar_file + " --hide-covar" self.set_plink_arguments("--bfile " + self.bfile + pheno_arg) else: self.set_plink_arguments("--bfile " + self.bfile + " --assoc " + pheno_arg) resultfile = self.run_plink() # run plink results_extension = common.plink_results_extension(resultfile) resultfiles = self.point_outputfile_to_phenotype(seeds, resultfile, results_extension) results = extract_permutated_scores(self.snp_to_group_map, resultfiles, seeds) os.remove(permuted_pheno_file) #remove permuted pheno file common.remove_plink_output(resultfile) # remove all output from plink return results