diff --git a/GEM2CHARGEGLI_python3.py b/GEM2CHARGEGLI_python3.py index 08782c6..8459d5b 100644 --- a/GEM2CHARGEGLI_python3.py +++ b/GEM2CHARGEGLI_python3.py @@ -2,7 +2,7 @@ ################################### ### Copyright (C) 2022 Cong Pan ### -### version 0.1, March 4, 2022 ### +### version 0.1, March 4, 2022 ### ################################### # NOTE: this script is used to convert GEM (v1.4.1 or later) output to the meta-analysis-ready format for Phase2 CHARGE Gene-Lifestyle Interactions projects @@ -103,6 +103,12 @@ columns1 = {} for i in range(len(fields1)): columns1[fields1[i]] = i + if not "AF_" + Ename + "_0" in columns1 or not "AF_" + Ename + "_1" in columns1 or not "N_" + Ename + "_1" in columns1: + quantE = True + print("quantE is True") + else: + quantE = False + print("quantE is False") if infile2.endswith(".gz"): infile2_handle = gzip.open(infile2, "rt", encoding='utf-8') else: @@ -113,7 +119,11 @@ columns2 = {} for i in range(len(fields2)): columns2[fields2[i]] = i - outfile_handle.write(b"SNPID\tCHR\tPOS\tINFO\tIMPUTED\tEFFECT_ALLELE\tNON_EFFECT_ALLELE\tEAF_ALL\tEAF_E0\tEAF_E1\tN\tN_EXP\tBETA_SNP_M2\tSE_SNP_M2\tP_SNP_M2\tBETA_SNP_M1\tSE_SNP_M1_MB\tP_SNP_M1_MB\tSE_SNP_M1_ROBUST\tP_SNP_M1_ROBUST\tBETA_INT\tSE_INT_MB\tP_INT_MB\tSE_INT_ROBUST\tP_INT_ROBUST\tP_JOINT_MB\tCOV_SNP_INT_MB\tP_JOINT_ROBUST\tCOV_SNP_INT_ROBUST\n") + #outfile_handle.write(b"SNPID\tCHR\tPOS\tINFO\tIMPUTED\tEFFECT_ALLELE\tNON_EFFECT_ALLELE\tEAF_ALL\tEAF_E0\tEAF_E1\tN\tN_EXP\tBETA_SNP_M2\tSE_SNP_M2\tP_SNP_M2\tBETA_SNP_M1\tSE_SNP_M1_MB\tP_SNP_M1_MB\tSE_SNP_M1_ROBUST\tP_SNP_M1_ROBUST\tBETA_INT\tSE_INT_MB\tP_INT_MB\tSE_INT_ROBUST\tP_INT_ROBUST\tP_JOINT_MB\tCOV_SNP_INT_MB\tP_JOINT_ROBUST\tCOV_SNP_INT_ROBUST\n") + if quantE: + outfile_handle.write(b"SNPID\tCHR\tPOS\tINFO\tIMPUTED\tEFFECT_ALLELE\tNON_EFFECT_ALLELE\tEAF_ALL\tN\tBETA_SNP_M2\tSE_SNP_M2\tP_SNP_M2\tBETA_SNP_M1\tSE_SNP_M1_MB\tP_SNP_M1_MB\tSE_SNP_M1_ROBUST\tP_SNP_M1_ROBUST\tBETA_INT\tSE_INT_MB\tP_INT_MB\tSE_INT_ROBUST\tP_INT_ROBUST\tP_JOINT_MB\tCOV_SNP_INT_MB\tP_JOINT_ROBUST\tCOV_SNP_INT_ROBUST\n") + else: + outfile_handle.write(b"SNPID\tCHR\tPOS\tINFO\tIMPUTED\tEFFECT_ALLELE\tNON_EFFECT_ALLELE\tEAF_ALL\tEAF_E0\tEAF_E1\tN\tN_EXP\tBETA_SNP_M2\tSE_SNP_M2\tP_SNP_M2\tBETA_SNP_M1\tSE_SNP_M1_MB\tP_SNP_M1_MB\tSE_SNP_M1_ROBUST\tP_SNP_M1_ROBUST\tBETA_INT\tSE_INT_MB\tP_INT_MB\tSE_INT_ROBUST\tP_INT_ROBUST\tP_JOINT_MB\tCOV_SNP_INT_MB\tP_JOINT_ROBUST\tCOV_SNP_INT_ROBUST\n") line_ct = 1 while line1 and line2: line1 = infile1_handle.readline() @@ -183,8 +193,11 @@ else: p_snp_m1_mb = "{:.6}".format(stats.chi2.sf((float(fields1[columns1["Beta_G"]])/float(fields1[columns1["SE_Beta_G"]]))**2, 1)) p_snp_m1_robust = "{:.6}".format(stats.chi2.sf((float(fields1[columns1["Beta_G"]])/float(fields1[columns1["robust_SE_Beta_G"]]))**2, 1)) - outfile_handle.write(str.encode(fields1[columns1["SNPID"]]) + b"\t" + str.encode(fields1[columns1["CHR"]]) + b"\t" + str.encode(fields1[columns1["POS"]]) + b"\t" + str.encode(info[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(imputed[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(fields1[columns1["Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["Non_Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["AF"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_0"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_1"]]) + b"\t" + str.encode(fields1[columns1["N_Samples"]]) + b"\t" + str.encode(fields1[columns1["N_" + Ename + "_1"]]) + b"\t" + str.encode(fields2[columns2["Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["SE_Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["P_Value_Marginal"]]) + b"\t" + str.encode(fields1[columns1["Beta_G"]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_mb) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_robust) + b"\t" + str.encode(fields1[columns1["Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["Cov_Beta_G_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["robust_Cov_Beta_G_G-" + Ename]]) + b"\n") - + #outfile_handle.write(str.encode(fields1[columns1["SNPID"]]) + b"\t" + str.encode(fields1[columns1["CHR"]]) + b"\t" + str.encode(fields1[columns1["POS"]]) + b"\t" + str.encode(info[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(imputed[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(fields1[columns1["Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["Non_Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["AF"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_0"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_1"]]) + b"\t" + str.encode(fields1[columns1["N_Samples"]]) + b"\t" + str.encode(fields1[columns1["N_" + Ename + "_1"]]) + b"\t" + str.encode(fields2[columns2["Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["SE_Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["P_Value_Marginal"]]) + b"\t" + str.encode(fields1[columns1["Beta_G"]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_mb) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_robust) + b"\t" + str.encode(fields1[columns1["Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["Cov_Beta_G_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["robust_Cov_Beta_G_G-" + Ename]]) + b"\n") + if quantE: + outfile_handle.write(str.encode(fields1[columns1["SNPID"]]) + b"\t" + str.encode(fields1[columns1["CHR"]]) + b"\t" + str.encode(fields1[columns1["POS"]]) + b"\t" + str.encode(info[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(imputed[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(fields1[columns1["Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["Non_Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["AF"]]) + b"\t" + str.encode(fields1[columns1["N_Samples"]]) + b"\t" + str.encode(fields2[columns2["Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["SE_Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["P_Value_Marginal"]]) + b"\t" + str.encode(fields1[columns1["Beta_G"]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_mb) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_robust) + b"\t" + str.encode(fields1[columns1["Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["Cov_Beta_G_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["robust_Cov_Beta_G_G-" + Ename]]) + b"\n") + else: + outfile_handle.write(str.encode(fields1[columns1["SNPID"]]) + b"\t" + str.encode(fields1[columns1["CHR"]]) + b"\t" + str.encode(fields1[columns1["POS"]]) + b"\t" + str.encode(info[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(imputed[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(fields1[columns1["Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["Non_Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["AF"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_0"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_1"]]) + b"\t" + str.encode(fields1[columns1["N_Samples"]]) + b"\t" + str.encode(fields1[columns1["N_" + Ename + "_1"]]) + b"\t" + str.encode(fields2[columns2["Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["SE_Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["P_Value_Marginal"]]) + b"\t" + str.encode(fields1[columns1["Beta_G"]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_mb) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_robust) + b"\t" + str.encode(fields1[columns1["Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["Cov_Beta_G_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["robust_Cov_Beta_G_G-" + Ename]]) + b"\n") infile1_handle.close() infile2_handle.close() @@ -253,7 +266,16 @@ for i in range(len(fields2)): columns2[fields2[i]] = i if chr == 1: - outfile_handle.write(b"SNPID\tCHR\tPOS\tINFO\tIMPUTED\tEFFECT_ALLELE\tNON_EFFECT_ALLELE\tEAF_ALL\tEAF_E0\tEAF_E1\tN\tN_EXP\tBETA_SNP_M2\tSE_SNP_M2\tP_SNP_M2\tBETA_SNP_M1\tSE_SNP_M1_MB\tP_SNP_M1_MB\tSE_SNP_M1_ROBUST\tP_SNP_M1_ROBUST\tBETA_INT\tSE_INT_MB\tP_INT_MB\tSE_INT_ROBUST\tP_INT_ROBUST\tP_JOINT_MB\tCOV_SNP_INT_MB\tP_JOINT_ROBUST\tCOV_SNP_INT_ROBUST\n") + #outfile_handle.write(b"SNPID\tCHR\tPOS\tINFO\tIMPUTED\tEFFECT_ALLELE\tNON_EFFECT_ALLELE\tEAF_ALL\tEAF_E0\tEAF_E1\tN\tN_EXP\tBETA_SNP_M2\tSE_SNP_M2\tP_SNP_M2\tBETA_SNP_M1\tSE_SNP_M1_MB\tP_SNP_M1_MB\tSE_SNP_M1_ROBUST\tP_SNP_M1_ROBUST\tBETA_INT\tSE_INT_MB\tP_INT_MB\tSE_INT_ROBUST\tP_INT_ROBUST\tP_JOINT_MB\tCOV_SNP_INT_MB\tP_JOINT_ROBUST\tCOV_SNP_INT_ROBUST\n") + if not "AF_" + Ename + "_0" in columns1 or not "AF_" + Ename + "_1" in columns1 or not "N_" + Ename + "_1" in columns1: + quantE = True + else: + quantE = False + if quantE: + outfile_handle.write(b"SNPID\tCHR\tPOS\tINFO\tIMPUTED\tEFFECT_ALLELE\tNON_EFFECT_ALLELE\tEAF_ALL\tN\tBETA_SNP_M2\tSE_SNP_M2\tP_SNP_M2\tBETA_SNP_M1\tSE_SNP_M1_MB\tP_SNP_M1_MB\tSE_SNP_M1_ROBUST\tP_SNP_M1_ROBUST\tBETA_INT\tSE_INT_MB\tP_INT_MB\tSE_INT_ROBUST\tP_INT_ROBUST\tP_JOINT_MB\tCOV_SNP_INT_MB\tP_JOINT_ROBUST\tCOV_SNP_INT_ROBUST\n") + else: + outfile_handle.write(b"SNPID\tCHR\tPOS\tINFO\tIMPUTED\tEFFECT_ALLELE\tNON_EFFECT_ALLELE\tEAF_ALL\tEAF_E0\tEAF_E1\tN\tN_EXP\tBETA_SNP_M2\tSE_SNP_M2\tP_SNP_M2\tBETA_SNP_M1\tSE_SNP_M1_MB\tP_SNP_M1_MB\tSE_SNP_M1_ROBUST\tP_SNP_M1_ROBUST\tBETA_INT\tSE_INT_MB\tP_INT_MB\tSE_INT_ROBUST\tP_INT_ROBUST\tP_JOINT_MB\tCOV_SNP_INT_MB\tP_JOINT_ROBUST\tCOV_SNP_INT_ROBUST\n") + line_ct = 1 while line1 and line2: line1 = infile1_handle.readline() @@ -322,7 +344,11 @@ else: p_snp_m1_mb = "{:.6}".format(stats.chi2.sf((float(fields1[columns1["Beta_G"]])/float(fields1[columns1["SE_Beta_G"]]))**2, 1)) p_snp_m1_robust = "{:.6}".format(stats.chi2.sf((float(fields1[columns1["Beta_G"]])/float(fields1[columns1["robust_SE_Beta_G"]]))**2, 1)) - outfile_handle.write(str.encode(fields1[columns1["SNPID"]]) + b"\t" + str.encode(fields1[columns1["CHR"]]) + b"\t" + str.encode(fields1[columns1["POS"]]) + b"\t" + str.encode(info[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(imputed[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(fields1[columns1["Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["Non_Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["AF"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_0"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_1"]]) + b"\t" + str.encode(fields1[columns1["N_Samples"]]) + b"\t" + str.encode(fields1[columns1["N_" + Ename + "_1"]]) + b"\t" + str.encode(fields2[columns2["Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["SE_Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["P_Value_Marginal"]]) + b"\t" + str.encode(fields1[columns1["Beta_G"]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_mb) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_robust) + b"\t" + str.encode(fields1[columns1["Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["Cov_Beta_G_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["robust_Cov_Beta_G_G-" + Ename]]) + b"\n") + #outfile_handle.write(str.encode(fields1[columns1["SNPID"]]) + b"\t" + str.encode(fields1[columns1["CHR"]]) + b"\t" + str.encode(fields1[columns1["POS"]]) + b"\t" + str.encode(info[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(imputed[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(fields1[columns1["Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["Non_Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["AF"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_0"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_1"]]) + b"\t" + str.encode(fields1[columns1["N_Samples"]]) + b"\t" + str.encode(fields1[columns1["N_" + Ename + "_1"]]) + b"\t" + str.encode(fields2[columns2["Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["SE_Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["P_Value_Marginal"]]) + b"\t" + str.encode(fields1[columns1["Beta_G"]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_mb) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_robust) + b"\t" + str.encode(fields1[columns1["Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["Cov_Beta_G_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["robust_Cov_Beta_G_G-" + Ename]]) + b"\n") + if quantE: + outfile_handle.write(str.encode(fields1[columns1["SNPID"]]) + b"\t" + str.encode(fields1[columns1["CHR"]]) + b"\t" + str.encode(fields1[columns1["POS"]]) + b"\t" + str.encode(info[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(imputed[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(fields1[columns1["Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["Non_Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["AF"]]) + b"\t" + str.encode(fields1[columns1["N_Samples"]]) + b"\t" + str.encode(fields2[columns2["Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["SE_Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["P_Value_Marginal"]]) + b"\t" + str.encode(fields1[columns1["Beta_G"]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_mb) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_robust) + b"\t" + str.encode(fields1[columns1["Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["Cov_Beta_G_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["robust_Cov_Beta_G_G-" + Ename]]) + b"\n") + else: + outfile_handle.write(str.encode(fields1[columns1["SNPID"]]) + b"\t" + str.encode(fields1[columns1["CHR"]]) + b"\t" + str.encode(fields1[columns1["POS"]]) + b"\t" + str.encode(info[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(imputed[fields1[columns1["SNPID"]]]) + b"\t" + str.encode(fields1[columns1["Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["Non_Effect_Allele"]]) + b"\t" + str.encode(fields1[columns1["AF"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_0"]]) + b"\t" + str.encode(fields1[columns1["AF_" + Ename + "_1"]]) + b"\t" + str.encode(fields1[columns1["N_Samples"]]) + b"\t" + str.encode(fields1[columns1["N_" + Ename + "_1"]]) + b"\t" + str.encode(fields2[columns2["Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["SE_Beta_Marginal"]]) + b"\t" + str.encode(fields2[columns2["P_Value_Marginal"]]) + b"\t" + str.encode(fields1[columns1["Beta_G"]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_mb) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G"]]) + b"\t" + str.encode(p_snp_m1_robust) + b"\t" + str.encode(fields1[columns1["Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["robust_SE_Beta_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Interaction"]]) + b"\t" + str.encode(fields1[columns1["P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["Cov_Beta_G_G-" + Ename]]) + b"\t" + str.encode(fields1[columns1["robust_P_Value_Joint"]]) + b"\t" + str.encode(fields1[columns1["robust_Cov_Beta_G_G-" + Ename]]) + b"\n") infile1_handle.close() infile2_handle.close()