File size: 2,294 Bytes
89d9c28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
{
  "project": "EGFR AI backend bundle",
  "version": "v1-minimal",
  "modes": {
    "generate": {
      "type": "sampling_from_packaged_generator",
      "config": "configs/sampling_model.bundle.toml",
      "checkpoint": "models/generator/egfr_generator.chkpt",
      "allowed_user_inputs": [
        "preset",
        "num_molecules",
        "return_top_k"
      ],
      "do_not_expose": [
        "raw TOML",
        "checkpoint paths",
        "training stages",
        "RL scoring strategy",
        "batch_size",
        "bucket_size"
      ],
      "postprocess": {
        "script": "tools/enrich_generated.py",
        "input": "outputs/generate/generated_smiles.csv",
        "output": "outputs/generate/generated_smiles_enriched.csv",
        "adds_columns": [
          "valid",
          "canonical_smiles",
          "mw",
          "logp",
          "tpsa",
          "hbd",
          "hba",
          "rot_bonds",
          "qed",
          "sa_score",
          "pred_pAff_mean"
        ],
        "sort_note": "Display sorting may use pred_pAff_mean desc then QED desc. This is not a final scientific ranking."
      }
    },
    "score_smiles": {
      "type": "affinity_api",
      "run_command": "uvicorn services.deeppurpose.serve_affinity:app --host 127.0.0.1 --port 8001",
      "health_endpoint": "GET /health",
      "predict_endpoint": "POST /reinvent_predict",
      "request_example": {
        "smiles": [
          "CCO",
          "c1ccccc1"
        ]
      },
      "response_key": "pred_pAff_mean"
    },
    "docking": {
      "enabled_by_default": false,
      "allowed_modes": [
        "off",
        "top_k",
        "all"
      ],
      "recommended_mode": "top_k",
      "top_k_default": 10,
      "maps_dir": "docking/maps_current",
      "grid_file": "docking/maps_current/4WKQ_receptor_v5_SBr.maps.fld",
      "binary_env_var": "ADGPU_BIN",
      "result_columns": [
        "docking_score",
        "docking_status",
        "docking_pose_file"
      ],
      "when_disabled": {
        "docking_score": null,
        "docking_status": "not_run",
        "docking_pose_file": null
      },
      "note": "Docking is optional and backend-controlled. Use top_k for demos because docking is slower than descriptor and affinity scoring."
    }
  }
}