Samad14 commited on
Commit
e14bc48
·
verified ·
1 Parent(s): b40b66f

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. app/.source-revision +1 -1
  2. app/routers/docking.py +15 -1
app/.source-revision CHANGED
@@ -1 +1 @@
1
- f2b134b8e242f0c3fa8ce31ff9a1c201053ea02b
 
1
+ 4260ebd3b060de59a694adcf6502cc736922f718
app/routers/docking.py CHANGED
@@ -1183,9 +1183,22 @@ async def recalculate_stored_docking_interactions(job_id: str, user_id: str = De
1183
  })
1184
  unavailable = sum(row["status"] == "UNAVAILABLE" for row in pose_results)
1185
  degraded = sum(row["status"] == "DEGRADED" for row in pose_results)
 
 
 
 
 
 
 
1186
  return {
1187
  "job_id": job_id,
1188
- "status": "UNAVAILABLE" if unavailable == len(pose_results) else ("DEGRADED" if unavailable or degraded else "COMPUTED"),
 
 
 
 
 
 
1189
  "reproduction": {
1190
  "source": "original stored docking artifact; native Vina PDBQT coordinates",
1191
  "original_interaction_analysis": data.get("interaction_analysis"),
@@ -1199,6 +1212,7 @@ async def recalculate_stored_docking_interactions(job_id: str, user_id: str = De
1199
  "box_size": data.get("box_size"),
1200
  "selected_pocket_rank": data.get("selected_pocket_rank"),
1201
  "cnn_rescoring": data.get("cnn_rescoring"),
 
1202
  "receptor_pdb_sha256": hashlib.sha256(receptor_pdb.encode("utf-8")).hexdigest(),
1203
  "native_result_pdbqt_sha256": hashlib.sha256(pdbqt.encode("utf-8")).hexdigest(),
1204
  "original_artifact_mutated": False,
 
1183
  })
1184
  unavailable = sum(row["status"] == "UNAVAILABLE" for row in pose_results)
1185
  degraded = sum(row["status"] == "DEGRADED" for row in pose_results)
1186
+ receptor_prep_evidence = data.get("receptor_prep_evidence") or {}
1187
+ upstream_hetero_excluded = int(receptor_prep_evidence.get("input_other_hetero_records_excluded", 0) or 0)
1188
+ upstream_waters_excluded = int(receptor_prep_evidence.get("input_water_records_excluded", 0) or 0)
1189
+ coverage_degraded = bool(upstream_hetero_excluded or upstream_waters_excluded)
1190
+ overall_status = "UNAVAILABLE" if unavailable == len(pose_results) else (
1191
+ "DEGRADED" if unavailable or degraded or coverage_degraded else "COMPUTED"
1192
+ )
1193
  return {
1194
  "job_id": job_id,
1195
+ "status": overall_status,
1196
+ "receptor_coverage": {
1197
+ "input_preparation_evidence": receptor_prep_evidence,
1198
+ "upstream_hetero_records_excluded": upstream_hetero_excluded,
1199
+ "upstream_water_records_excluded": upstream_waters_excluded,
1200
+ "coverage_note": "The original receptor preparation excluded HETATM groups and waters; this recalculation reproduces contacts against the stored prepared receptor, not the complete biological assembly.",
1201
+ },
1202
  "reproduction": {
1203
  "source": "original stored docking artifact; native Vina PDBQT coordinates",
1204
  "original_interaction_analysis": data.get("interaction_analysis"),
 
1212
  "box_size": data.get("box_size"),
1213
  "selected_pocket_rank": data.get("selected_pocket_rank"),
1214
  "cnn_rescoring": data.get("cnn_rescoring"),
1215
+ "receptor_prep_evidence": receptor_prep_evidence,
1216
  "receptor_pdb_sha256": hashlib.sha256(receptor_pdb.encode("utf-8")).hexdigest(),
1217
  "native_result_pdbqt_sha256": hashlib.sha256(pdbqt.encode("utf-8")).hexdigest(),
1218
  "original_artifact_mutated": False,