def main(): options = get_options() # build a graph of HPO terms, so we can trace paths between terms hpo_ontology = Ontology(options.ontology) graph = hpo_ontology.get_graph() alt_node_ids = hpo_ontology.get_alt_ids() obsolete_ids = hpo_ontology.get_obsolete_ids() # load HPO terms and probands for each gene print("loading HPO terms and probands by gene") hpo_by_proband = load_participants_hpo_terms(options.phenotypes_path, \ alt_node_ids, obsolete_ids) probands_by_gene = load_genes(options.genes_path) if options.permute: probands_by_gene = permute_probands(probands_by_gene) graph.tally_hpo_terms(hpo_by_proband) print("analysing similarity") try: analyse_genes(graph, hpo_by_proband, probands_by_gene, \ options.output, options.iterations, options.score_type) except KeyboardInterrupt: sys.exit("HPO similarity exited.")
def setUp(self): """ construct a CalculateSimilarity object for unit tests """ path = os.path.join(os.path.dirname(__file__), "data", "obo.txt") ontology = Ontology(path) self.graph = ontology.get_graph() self.hpo_terms = { "person_01": ["HP:0000924"], "person_02": ["HP:0000118", "HP:0002011"], "person_03": ["HP:0000707", "HP:0002011"] } self.graph.tally_hpo_terms(self.hpo_terms)
def setUp(self): """ construct an Ontology object for unit tests """ path = os.path.join(os.path.dirname(__file__), "data", "obo.txt") self.ontology = Ontology(path)