Ejemplo n.º 1
0
def calculate_effective_snps(n_snps, perm):
    """
    in R:
    nEff=trunc(nSNPs*nSNPs*0.189/var(Perms))
    """
    effective_snps = -1
    variance = common.variance(perm)
    if (variance == "NA"):
        effective_snps = "NA"
    elif(variance == 0.0):
        effective_snps = "NA"
    else:
        effective_snps = (int(float(n_snps) * float(n_snps) * 0.189 / variance))
    return(effective_snps)
Ejemplo n.º 2
0
 def format_permutated_results(self, aa_result):
     """
     return nice formated results of permutation with statistics like variance and ngenes etc
     """
     keys = self.permutated_scores.keys()
     keys.sort(key=common.alpha_sort) 
            
     message = "Geneset\tsumlogReal\tnperm\temp_p\tnSNP\tnGenes"
     message += "\tvar(Perms)\tmean(Perms)\tnEff\n"
     for groupname in keys:
         sum_neg_log = aa_result.get_sum_neglog_10_score(groupname)
         n_snp = aa_result.get_n_snps(groupname)
         group_score = self.permutated_scores[groupname]
         message += groupname + "\t"
         message += str(sum_neg_log) + "\t"
         message += str(len(group_score)) + "\t"
         message += str(calculate_emperical_p_value(sum_neg_log, group_score)) + "\t"
         message += str(n_snp) + "\t"
         message += str(aa_result.get_n_genes_of_group(groupname)) + "\t"
         message += str(common.variance(group_score)) + "\t"
         message += str(common.average(group_score)) + "\t"
         message += str(calculate_effective_snps(n_snp, group_score)) + "\n"
     
     return message