示例#1
0
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.")
示例#2
0
    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)