diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/phenotypes_bulk_edit.py | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/scripts/phenotypes_bulk_edit.py b/scripts/phenotypes_bulk_edit.py index 0b4fec5..6fc198c 100644 --- a/scripts/phenotypes_bulk_edit.py +++ b/scripts/phenotypes_bulk_edit.py @@ -11,9 +11,11 @@ from MySQLdb.cursors import DictCursor from gn_libs import jobs, mysqldb, sqlite3 from uploader.phenotypes.models import phenotypes_data_by_ids +from uploader.phenotypes.misc import phenotypes_data_differences +from uploader.phenotypes.views import BULK_EDIT_COMMON_FIELDNAMES + import uploader.publications.pubmed as pmed from uploader.publications.misc import publications_differences -from uploader.phenotypes.views import BULK_EDIT_COMMON_FIELDNAMES from uploader.publications.models import ( update_publications, fetch_phenotype_publications) @@ -213,14 +215,31 @@ def run(conn, job): for row in _db_publications + _new_publications}) logger.debug("Publications diff: %s", _pub_diff) # 2. Data differences - # _db_pheno_data = phenotypes_data_by_ids(conn, tuple({ - # "population_id": job["metadata"]["population-id"], - # "phenoid": row[0], - # "xref_id": row[1] - # } for row in pheno_xref_ids)) - # logger.debug("Phenotype Data in Database: %s", _db_pheno_data) - - # data_diff = data_differences(...) + _db_pheno_data = phenotypes_data_by_ids(conn, tuple({ + "population_id": job["metadata"]["population-id"], + "phenoid": row[0], + "xref_id": row[1] + } for row in pheno_xref_ids)) + + data_diff = phenotypes_data_differences( + ({ + "phenotype_id": row["phenotype_id"], + "xref_id": row["xref_id"], + "data": { + key:val for key,val in row.items() + if key not in BULK_EDIT_COMMON_FIELDNAMES + [ + "phenotype_id", "xref_id"] + } + } for row in file_contents), + ({ + **row, + "PhenotypeId": row["Id"], + "data": { + dataitem["StrainName"]: dataitem + for dataitem in row["data"].values() + } + } for row in _db_pheno_data)) + logger.debug("Data differences: %s", data_diff) ### END: Compute differences update_descriptions() link_publications() |