From 34ab6748cce450d5a61acddd1450e3666f892f53 Mon Sep 17 00:00:00 2001 From: Clare72 Date: Tue, 9 Sep 2025 14:52:29 +0100 Subject: [PATCH] painted domain report --- src/report_runner.py | 10 ++++++---- src/reporting_tools.py | 12 ++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/report_runner.py b/src/report_runner.py index 8738f00..54cb43c 100644 --- a/src/report_runner.py +++ b/src/report_runner.py @@ -1,4 +1,4 @@ -from reporting_tools import diff_report, gen_dataset_report, gen_dataset_report_prod, gen_label_count_report, save_report +from reporting_tools import diff_report, gen_dataset_report, gen_dataset_report_prod, gen_label_count_report, save_report, template_painted_domain_report kb_report = gen_dataset_report(["http://kb.virtualflybrain.org", "neo4j", "vfb"], 'kb') @@ -51,7 +51,9 @@ except Exception as e: print(f"An exception occurred running dev report: {e}") - - - +try: + template_painted_domain_report = template_painted_domain_report(["http://pdb.virtualflybrain.org", "neo4j", "vfb"], 'pdb_template_painted_domains') + save_report(template_painted_domain_report, "../VFB_reporting_results/template_painted_domain_report.tsv") +except Exception as e: + print(f"An exception occurred running template_painted_domain_report: {e}") diff --git a/src/reporting_tools.py b/src/reporting_tools.py index 7233723..54e7b03 100644 --- a/src/reporting_tools.py +++ b/src/reporting_tools.py @@ -163,6 +163,18 @@ def gen_label_count_report(server, report_name): return combined_df +def template_painted_domain_report(server, report_name): + """ Get all 'computer graphic's registered to each template and their FBbt annotations + # NB some cases where multiple domain instances have the same label""" + query = """MATCH (c:Class)<-[:INSTANCEOF]-(i:Individual)<-[:depicts]-(ch:Individual:Channel)-[:in_register_with]->(t:Template) + MATCH (ch)-[:is_specified_output_of]->(im:Class) + WHERE im.label = 'computer graphic' + RETURN distinct t.label AS Template, i.label AS Painted_domain, + COUNT(DISTINCT i.short_form) AS Instances, COLLECT(c.label) AS Anatomy + ORDER BY Template""" + + report = gen_report(server, query=query, report_name=report_name) + return report def save_report(report, filename): report.to_csv(filename, sep='\t', index=False)