Spaces:
Running
Running
Upload folder using huggingface_hub
Browse files- app/.source-revision +1 -1
- app/routers/docking.py +15 -1
app/.source-revision
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
|
|
|
|
| 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":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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,
|