Skip to content

Commit 7c68660

Browse files
committed
Update score set PATCH endpoint to process uploaded files
1 parent 83c57fd commit 7c68660

File tree

1 file changed

+29
-6
lines changed

1 file changed

+29
-6
lines changed

src/mavedb/routers/score_sets.py

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ async def enqueue_variant_creation(
111111

112112
# create CSV from existing variants on the score set if no new dataframe provided
113113
existing_counts_df = None
114-
if new_counts_df is None and item.dataset_columns.get("count_columns") is not None:
114+
if new_counts_df is None and item.dataset_columns.get("count_columns"):
115115
count_columns = [
116116
"hgvs_nt",
117117
"hgvs_splice",
@@ -1321,9 +1321,6 @@ async def upload_score_set_variant_data(
13211321
count_columns_metadata_file,
13221322
)
13231323

1324-
for key, val in score_set_variants_data.items():
1325-
logger.info(msg=f"{key}: {val}", extra=logging_context())
1326-
13271324
# Although this is also updated within the variant creation job, update it here
13281325
# as well so that we can display the proper UI components (queue invocation delay
13291326
# races the score set GET request).
@@ -1424,9 +1421,35 @@ async def update_score_set_with_variants(
14241421

14251422
itemUpdateResult = await score_set_update(db=db, urn=urn, item_update=item_update, exclude_unset=True, user_data=user_data)
14261423
updatedItem = itemUpdateResult["item"]
1427-
should_create_variants = itemUpdateResult["should_create_variants"]
1424+
should_create_variants = itemUpdateResult.get("should_create_variants", False)
1425+
1426+
# process uploaded files
1427+
score_set_variants_data = await parse_score_set_variants_uploads(
1428+
scores_file,
1429+
counts_file,
1430+
score_columns_metadata_file,
1431+
count_columns_metadata_file,
1432+
)
1433+
1434+
if should_create_variants or any([val is not None for val in score_set_variants_data.values()]):
1435+
assert_permission(user_data, updatedItem, Action.SET_SCORES)
1436+
1437+
updatedItem.processing_state = ProcessingState.processing
1438+
logger.info(msg="Enqueuing variant creation job.", extra=logging_context())
1439+
1440+
await enqueue_variant_creation(
1441+
item=updatedItem,
1442+
user_data=user_data,
1443+
worker=worker,
1444+
new_scores_df=score_set_variants_data["scores_df"],
1445+
new_counts_df=score_set_variants_data["counts_df"],
1446+
new_score_columns_metadata=score_set_variants_data["score_columns_metadata"],
1447+
new_count_columns_metadata=score_set_variants_data["count_columns_metadata"],
1448+
)
14281449

1429-
# TODO handle uploaded files
1450+
db.add(updatedItem)
1451+
db.commit()
1452+
db.refresh(updatedItem)
14301453

14311454
enriched_experiment = enrich_experiment_with_num_score_sets(updatedItem.experiment, user_data)
14321455
return score_set.ScoreSet.model_validate(updatedItem).copy(update={"experiment": enriched_experiment})

0 commit comments

Comments
 (0)