def validate_tp_set(k, t, tp_set, reference_name, reference_set, universe, latex_f=None, p_values=None): test_tp_drawn, num_in_ref, num_not_in_ref, num_in_tp, p_value = test_enrichment(tp_set, reference_set, universe) assert len(tp_set) == num_in_tp assert len(reference_set) == num_in_ref if None != p_values: p_values.append(p_value) if p_value < get_p_value_threshold_for(reference_name): logging.info( "TP %3d; %s; % 4d/%4d in % 5d/%5d; %e; %s", k, t, test_tp_drawn, num_in_tp, num_in_ref, num_in_ref + num_not_in_ref, p_value, reference_name, ) if latex_f: print >> latex_f, "%3d & %s & %5d & %80s & %5d & %-5d & %.1e" % ( k, t, num_in_tp, reference_name, test_tp_drawn, num_in_ref, p_value, )
def validate_tp_set(k, t, tp_set, reference_name, reference_set, universe, latex_f=None, p_values=None): test_tp_drawn, num_in_ref, num_not_in_ref, num_in_tp, p_value = test_enrichment( tp_set, reference_set, universe) assert len(tp_set) == num_in_tp assert len(reference_set) == num_in_ref if None != p_values: p_values.append(p_value) if p_value < get_p_value_threshold_for(reference_name): logging.info('TP %3d; %s; % 4d/%4d in % 5d/%5d; %e; %s', k, t, test_tp_drawn, num_in_tp, num_in_ref, num_in_ref + num_not_in_ref, p_value, reference_name) if latex_f: print >> latex_f, '%3d & %s & %5d & %80s & %5d & %-5d & %.1e' % ( k, t, num_in_tp, reference_name, test_tp_drawn, num_in_ref, p_value)
def as_set(s): if set == type(s): return s else: return set(s) def as_str_set(s): return as_set(str(t) for t in s) if '__main__' == __name__: from gene_set_enrichment import test_enrichment kegg_pathways = get_kegg_pathways() for i, tp in enumerate(transcriptional_programs): threshold = 0.05 target_universe = as_str_set(tp.genes) factor_universe = as_str_set(tp.factors) target_set = as_str_set(tp.tp_targets) factor_set = as_str_set(tp.tp_factors) for name, pathway in kegg_pathways: pathway_target_set = as_str_set(pathway) pathway_target_set.intersection_update(target_universe) pathway_factor_set = as_str_set(pathway) pathway_factor_set.intersection_update(factor_universe) targets_p_value = test_enrichment(target_set, pathway_target_set, target_universe) * len(kegg_pathways) factors_p_value = test_enrichment(factor_set, pathway_factor_set, factor_universe) * len(kegg_pathways) if targets_p_value < threshold or factors_p_value < threshold: print i, name, targets_p_value, factors_p_value