Skip to content
Snippets Groups Projects
Commit 77caa6a4 authored by Hanna  JULIENNE's avatar Hanna JULIENNE
Browse files

corrected sumZ and added pleiotropy index

parent 22dbdc2f
No related branches found
No related tags found
No related merge requests found
...@@ -108,7 +108,6 @@ def omnibus_stat(z, cov, invcov): ...@@ -108,7 +108,6 @@ def omnibus_stat(z, cov, invcov):
omnibus_stat.can_use_pattern = True omnibus_stat.can_use_pattern = True
def fisher_test(z, cov, invcov): def fisher_test(z, cov, invcov):
""" """
fisher combination of univariate p-values corrected with bonferoni fisher combination of univariate p-values corrected with bonferoni
......
...@@ -122,6 +122,15 @@ def post_computation_filtering(worktable_chunk, significant_treshold = 5*10**-8) ...@@ -122,6 +122,15 @@ def post_computation_filtering(worktable_chunk, significant_treshold = 5*10**-8)
return worktable_chunk return worktable_chunk
def compute_pleiotropy_index(W,significance_treshold):
N_significatif = (2.0 * spst.norm.sf(W.fillna(0, inplace=False).abs())<significance_treshold).sum(1)
N_pheno = (~W.isnull()).sum(1)
#pleiotropy index is not meaningful for too few phenotype
S = N_significatif/N_pheno
S.loc[N_pheno < 4] = np.nan
return S
def create_worktable_file( def create_worktable_file(
phenotype_ids: List[str], phenotype_ids: List[str],
init_file_path: str, init_file_path: str,
...@@ -255,8 +264,11 @@ def create_worktable_file( ...@@ -255,8 +264,11 @@ def create_worktable_file(
sum_stat_tab["UNIVARIATE_MIN_QVAL"] = sum_stat_tab["UNIVARIATE_MIN_PVAL"]*(1-np.isnan(sum_stat_tab[phenotype_ids]).astype(int)).sum(1) sum_stat_tab["UNIVARIATE_MIN_QVAL"] = sum_stat_tab["UNIVARIATE_MIN_PVAL"]*(1-np.isnan(sum_stat_tab[phenotype_ids]).astype(int)).sum(1)
sum_stat_tab.loc[sum_stat_tab.UNIVARIATE_MIN_QVAL>1 , "UNIVARIATE_MIN_QVAL"] = 1 sum_stat_tab.loc[sum_stat_tab.UNIVARIATE_MIN_QVAL>1 , "UNIVARIATE_MIN_QVAL"] = 1
#Computing pleiotropy
sum_stat_tab["PLEIOTROPY_INDEX"] = compute_pleiotropy_index(sum_stat_tab[phenotype_ids], significance_treshold)
sum_stat_tab = sum_stat_tab[ sum_stat_tab = sum_stat_tab[
["Region", "CHR", "snp_ids", "position", 'Ref_allele', 'Alt_allele', "MiddlePosition", "JASS_PVAL", "UNIVARIATE_MIN_PVAL", "UNIVARIATE_MIN_QVAL"] ["Region", "CHR", "snp_ids", "position", 'Ref_allele', 'Alt_allele', "MiddlePosition", "JASS_PVAL", "UNIVARIATE_MIN_PVAL", "UNIVARIATE_MIN_QVAL","PLEIOTROPY_INDEX" ]
+ phenotype_ids] + phenotype_ids]
if post_filtering: if post_filtering:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment