@delta-infra/cli 1.0.97 → 1.0.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +473 -471
- package/checksums.txt +5 -5
- package/package.json +2 -2
- package/scripts/install-wizard.js +701 -701
- package/scripts/install.js +442 -442
- package/scripts/run.js +65 -65
- package/skills/delta-sandbox/SKILL.md +382 -356
- package/skills/delta-sandbox/agents/openai.yaml +4 -4
- package/skills/delta-sandbox/references/commands.md +58 -56
- package/skills/delta-sandbox/references/lifecycle.md +100 -92
- package/skills/delta-sandbox/references/recipes.md +138 -133
- package/skills/delta-science/AGENTS.md +46 -49
- package/skills/delta-science/SKILL.md +130 -131
- package/skills/delta-science/agents/openai.yaml +4 -4
- package/skills/delta-science/references/antbo.md +100 -100
- package/skills/delta-science/references/delta-bo.md +89 -89
- package/skills/delta-science/references/gsasii.md +116 -116
- package/skills/delta-science/references/lammps.md +66 -66
- package/skills/delta-science/references/ldm-bo.md +129 -129
- package/skills/delta-science/references/pubchem.md +126 -126
- package/skills/delta-science/references/pymatgen.md +68 -68
- package/skills/delta-science/references/{qe-dft.md → qe.md} +4 -4
- package/skills/delta-science/references/rdkit.md +138 -138
- package/skills/delta-science/references/strbo.md +87 -87
- package/skills/delta-science/references/synbo.md +198 -198
- package/skills/delta-science/scripts/catalog.py +92 -92
- package/skills/delta-science/scripts/generated_catalog.py +69 -69
- package/skills/delta-science/scripts/invoke.py +302 -302
- package/skills/delta-shared/SKILL.md +97 -95
- package/skills/delta-shared/agents/openai.yaml +4 -4
- package/skills/manifest.json +19 -19
- package/skills/delta-science/references/cli-contract.md +0 -53
- package/skills/delta-science/references/generated-catalog.md +0 -48
- package/skills/delta-science/references/ldm.md +0 -73
- package/skills/delta-science/references/molecule-enrich.md +0 -59
- package/skills/delta-science/references/operation-contracts.md +0 -137
- package/skills/delta-science/references/routing-index.md +0 -45
- package/skills/delta-science/references/services.md +0 -112
- package/skills/delta-science/references/workflows.md +0 -98
|
@@ -1,129 +1,129 @@
|
|
|
1
|
-
# LDM-BO 详细规则
|
|
2
|
-
|
|
3
|
-
所有调用直接使用 `delta-cli science invoke`,不是本地 PDF2Dock runner。仅用于小分子 SMILES;
|
|
4
|
-
抗体、CDRH3 或 AntBO 场景必须使用 AntBO 能力边界。
|
|
5
|
-
provider、模型路径、Vina/ReaSyn/GPU/LLM 配置由服务端注入,不放入请求 JSON。
|
|
6
|
-
|
|
7
|
-
## Health
|
|
8
|
-
|
|
9
|
-
operation:`health`,无 body。
|
|
10
|
-
|
|
11
|
-
The response reports whether the adapter can see the mounted PDF2Dock
|
|
12
|
-
interpreter, `bo_api.py`, Vina binary, ReaSyn repo/interpreter/checkpoints, NN
|
|
13
|
-
model files, cache directory, GPU settings, and LLM configuration. Missing LLM
|
|
14
|
-
settings degrade health because LDM methods need them.
|
|
15
|
-
|
|
16
|
-
## One-Step Recommend
|
|
17
|
-
|
|
18
|
-
operation:`recommend`。
|
|
19
|
-
|
|
20
|
-
Wraps `bo_api.recommend_next_smiles`.
|
|
21
|
-
|
|
22
|
-
Typical payload:
|
|
23
|
-
|
|
24
|
-
```json
|
|
25
|
-
{
|
|
26
|
-
"method": "bo-tanimoto",
|
|
27
|
-
"pool": ["CCO", "CCN", "CCC"],
|
|
28
|
-
"history": [
|
|
29
|
-
{"smiles": "CCO", "scores": [-7.1]},
|
|
30
|
-
{"smiles": "CCN", "scores": [-6.8]}
|
|
31
|
-
],
|
|
32
|
-
"batch_size": 1
|
|
33
|
-
}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Typical business response inside the documented gateway `data`:
|
|
37
|
-
|
|
38
|
-
```json
|
|
39
|
-
{
|
|
40
|
-
"recommendations": ["CCC"],
|
|
41
|
-
"acquisition_values": [0.12],
|
|
42
|
-
"n_objectives": 1
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
LDM methods may include an `llm` diagnostics object.
|
|
47
|
-
|
|
48
|
-
`acquisition_values` 只能按业务响应原值报告。除非当前业务响应明确给出字段定义,否则
|
|
49
|
-
不得把它描述为预测 Vina、预测 objective、不确定性、置信度、expected improvement,
|
|
50
|
-
也不得自行判断“越大/越小越好”。服务未返回推荐理由时,明确写“服务未返回推荐
|
|
51
|
-
理由”,不得根据分子骨架、杂原子或模型机制补写解释。
|
|
52
|
-
|
|
53
|
-
## Full Trajectory
|
|
54
|
-
|
|
55
|
-
operation:`trajectory`。
|
|
56
|
-
|
|
57
|
-
Wraps `bo_api.run_search_trajectory`.
|
|
58
|
-
|
|
59
|
-
Small smoke payload:
|
|
60
|
-
|
|
61
|
-
```json
|
|
62
|
-
{
|
|
63
|
-
"method": "bo-tanimoto",
|
|
64
|
-
"seed": 42,
|
|
65
|
-
"seed-smiles": "CCO,CCN,CCC",
|
|
66
|
-
"num-evaluations": 4,
|
|
67
|
-
"batch-size": 1,
|
|
68
|
-
"objective": "vina+nn"
|
|
69
|
-
}
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
Typical business response inside the documented gateway `data`:
|
|
73
|
-
|
|
74
|
-
```json
|
|
75
|
-
{
|
|
76
|
-
"config": {},
|
|
77
|
-
"history": [],
|
|
78
|
-
"summary": {}
|
|
79
|
-
}
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
LDM methods may include `llm_trajectory`.
|
|
83
|
-
|
|
84
|
-
## Error Handling
|
|
85
|
-
|
|
86
|
-
The service maps `bo_api` error JSON to an upstream failure. The gateway
|
|
87
|
-
returns a standard error envelope:
|
|
88
|
-
|
|
89
|
-
```json
|
|
90
|
-
{
|
|
91
|
-
"code": 1,
|
|
92
|
-
"message": "AutoDock Vina executable not found...",
|
|
93
|
-
"data": {
|
|
94
|
-
"endpoint": "/v1/trajectory",
|
|
95
|
-
"ldm_bo_response": {
|
|
96
|
-
"error": "...",
|
|
97
|
-
"error_type": "ValueError",
|
|
98
|
-
"traceback": "Traceback ..."
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Common causes are missing Vina, missing ReaSyn, wrong Python interpreter, CUDA
|
|
105
|
-
device mismatch, missing LLM credentials for LDM methods, or an unwritable Vina
|
|
106
|
-
cache directory.
|
|
107
|
-
|
|
108
|
-
## Provider Settings
|
|
109
|
-
|
|
110
|
-
Do not send provider settings in request JSON. The adapter reads these from
|
|
111
|
-
deployment config and passes them as Python kwargs to `bo_api`:
|
|
112
|
-
|
|
113
|
-
```text
|
|
114
|
-
vina_bin
|
|
115
|
-
vina_cache_dir
|
|
116
|
-
vina_max_workers
|
|
117
|
-
gp_device
|
|
118
|
-
reasyn_repo
|
|
119
|
-
reasyn_python_bin
|
|
120
|
-
reasyn_model_path
|
|
121
|
-
reasyn_devices
|
|
122
|
-
nn_model_path
|
|
123
|
-
nn_metadata_path
|
|
124
|
-
llm_model
|
|
125
|
-
llm_base_url
|
|
126
|
-
llm_api_key
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
The CLI forwards the user payload; `bo_api` owns business defaults and schema behavior.
|
|
1
|
+
# LDM-BO 详细规则
|
|
2
|
+
|
|
3
|
+
所有调用直接使用 `delta-cli science invoke`,不是本地 PDF2Dock runner。仅用于小分子 SMILES;
|
|
4
|
+
抗体、CDRH3 或 AntBO 场景必须使用 AntBO 能力边界。
|
|
5
|
+
provider、模型路径、Vina/ReaSyn/GPU/LLM 配置由服务端注入,不放入请求 JSON。
|
|
6
|
+
|
|
7
|
+
## Health
|
|
8
|
+
|
|
9
|
+
operation:`health`,无 body。
|
|
10
|
+
|
|
11
|
+
The response reports whether the adapter can see the mounted PDF2Dock
|
|
12
|
+
interpreter, `bo_api.py`, Vina binary, ReaSyn repo/interpreter/checkpoints, NN
|
|
13
|
+
model files, cache directory, GPU settings, and LLM configuration. Missing LLM
|
|
14
|
+
settings degrade health because LDM methods need them.
|
|
15
|
+
|
|
16
|
+
## One-Step Recommend
|
|
17
|
+
|
|
18
|
+
operation:`recommend`。
|
|
19
|
+
|
|
20
|
+
Wraps `bo_api.recommend_next_smiles`.
|
|
21
|
+
|
|
22
|
+
Typical payload:
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"method": "bo-tanimoto",
|
|
27
|
+
"pool": ["CCO", "CCN", "CCC"],
|
|
28
|
+
"history": [
|
|
29
|
+
{"smiles": "CCO", "scores": [-7.1]},
|
|
30
|
+
{"smiles": "CCN", "scores": [-6.8]}
|
|
31
|
+
],
|
|
32
|
+
"batch_size": 1
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Typical business response inside the documented gateway `data`:
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"recommendations": ["CCC"],
|
|
41
|
+
"acquisition_values": [0.12],
|
|
42
|
+
"n_objectives": 1
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
LDM methods may include an `llm` diagnostics object.
|
|
47
|
+
|
|
48
|
+
`acquisition_values` 只能按业务响应原值报告。除非当前业务响应明确给出字段定义,否则
|
|
49
|
+
不得把它描述为预测 Vina、预测 objective、不确定性、置信度、expected improvement,
|
|
50
|
+
也不得自行判断“越大/越小越好”。服务未返回推荐理由时,明确写“服务未返回推荐
|
|
51
|
+
理由”,不得根据分子骨架、杂原子或模型机制补写解释。
|
|
52
|
+
|
|
53
|
+
## Full Trajectory
|
|
54
|
+
|
|
55
|
+
operation:`trajectory`。
|
|
56
|
+
|
|
57
|
+
Wraps `bo_api.run_search_trajectory`.
|
|
58
|
+
|
|
59
|
+
Small smoke payload:
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"method": "bo-tanimoto",
|
|
64
|
+
"seed": 42,
|
|
65
|
+
"seed-smiles": "CCO,CCN,CCC",
|
|
66
|
+
"num-evaluations": 4,
|
|
67
|
+
"batch-size": 1,
|
|
68
|
+
"objective": "vina+nn"
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Typical business response inside the documented gateway `data`:
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"config": {},
|
|
77
|
+
"history": [],
|
|
78
|
+
"summary": {}
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
LDM methods may include `llm_trajectory`.
|
|
83
|
+
|
|
84
|
+
## Error Handling
|
|
85
|
+
|
|
86
|
+
The service maps `bo_api` error JSON to an upstream failure. The gateway
|
|
87
|
+
returns a standard error envelope:
|
|
88
|
+
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"code": 1,
|
|
92
|
+
"message": "AutoDock Vina executable not found...",
|
|
93
|
+
"data": {
|
|
94
|
+
"endpoint": "/v1/trajectory",
|
|
95
|
+
"ldm_bo_response": {
|
|
96
|
+
"error": "...",
|
|
97
|
+
"error_type": "ValueError",
|
|
98
|
+
"traceback": "Traceback ..."
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Common causes are missing Vina, missing ReaSyn, wrong Python interpreter, CUDA
|
|
105
|
+
device mismatch, missing LLM credentials for LDM methods, or an unwritable Vina
|
|
106
|
+
cache directory.
|
|
107
|
+
|
|
108
|
+
## Provider Settings
|
|
109
|
+
|
|
110
|
+
Do not send provider settings in request JSON. The adapter reads these from
|
|
111
|
+
deployment config and passes them as Python kwargs to `bo_api`:
|
|
112
|
+
|
|
113
|
+
```text
|
|
114
|
+
vina_bin
|
|
115
|
+
vina_cache_dir
|
|
116
|
+
vina_max_workers
|
|
117
|
+
gp_device
|
|
118
|
+
reasyn_repo
|
|
119
|
+
reasyn_python_bin
|
|
120
|
+
reasyn_model_path
|
|
121
|
+
reasyn_devices
|
|
122
|
+
nn_model_path
|
|
123
|
+
nn_metadata_path
|
|
124
|
+
llm_model
|
|
125
|
+
llm_base_url
|
|
126
|
+
llm_api_key
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
The CLI forwards the user payload; `bo_api` owns business defaults and schema behavior.
|
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
# PubChem 详细规则
|
|
2
|
-
|
|
3
|
-
只能通过 `delta-cli science invoke` 调用。本文件中的业务响应位于 CLI 顶层 `data`;
|
|
4
|
-
只按本文件说明读取字段,不得递归搜索。本文件中的 URL 只用于说明 endpoint schema,
|
|
5
|
-
不授权直接 HTTP。普通名称基础查询只调用一次 `compound-summary`;多个名称
|
|
6
|
-
只调用一次 `compound-batch-summary`,默认 body 仅包含 `identifiers` 和
|
|
7
|
-
`namespace:"name"`,不得先调用 health/schema。
|
|
8
|
-
|
|
9
|
-
结果直接从 `data` 投影。批量记录位于 `data.results[*]`,原始标签在 `input`,
|
|
10
|
-
属性在嵌套 `properties`。SMILES 回退顺序固定为
|
|
11
|
-
`CanonicalSMILES -> ConnectivitySMILES -> SMILES -> IsomericSMILES`。
|
|
12
|
-
PubChem `XLogP` 与 RDKit `MolLogP` 不得互换;not_found 不得用本地计算补值。
|
|
13
|
-
|
|
14
|
-
Namespaces: `cid`, `name`, `smiles`, `inchi`, `inchikey`, `formula`.
|
|
15
|
-
|
|
16
|
-
## Health
|
|
17
|
-
|
|
18
|
-
operation:`health`,无 body。
|
|
19
|
-
|
|
20
|
-
## Resolve CIDs
|
|
21
|
-
|
|
22
|
-
operation:`compound-resolve-cids`。
|
|
23
|
-
|
|
24
|
-
```json
|
|
25
|
-
{"identifier": "aspirin", "namespace": "name", "max_records": 20}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
`max_records`: 1-100.
|
|
29
|
-
|
|
30
|
-
## Properties
|
|
31
|
-
|
|
32
|
-
operation:`compound-properties`。
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"identifier": "2244",
|
|
37
|
-
"namespace": "cid",
|
|
38
|
-
"properties": ["MolecularFormula", "MolecularWeight", "CanonicalSMILES", "IUPACName"]
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Allowed properties include `MolecularFormula`, `MolecularWeight`,
|
|
43
|
-
`CanonicalSMILES`, `IsomericSMILES`, `SMILES`, `ConnectivitySMILES`,
|
|
44
|
-
`IUPACName`, `InChI`, `InChIKey`, `XLogP`, `TPSA`, `HBondDonorCount`,
|
|
45
|
-
`HBondAcceptorCount`, `RotatableBondCount`, `ExactMass`, `MonoisotopicMass`,
|
|
46
|
-
`Charge`, `HeavyAtomCount`, `Complexity`, `CovalentUnitCount`,
|
|
47
|
-
`DefinedAtomStereoCount`, `UndefinedAtomStereoCount`, `DefinedBondStereoCount`,
|
|
48
|
-
`UndefinedBondStereoCount`, and `IsotopeAtomCount`.
|
|
49
|
-
|
|
50
|
-
## Synonyms
|
|
51
|
-
|
|
52
|
-
operation:`compound-synonyms`。
|
|
53
|
-
|
|
54
|
-
```json
|
|
55
|
-
{"identifier": "2244", "namespace": "cid", "max_synonyms": 50}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
`max_synonyms`: 1-500.
|
|
59
|
-
|
|
60
|
-
## Summary
|
|
61
|
-
|
|
62
|
-
operation:`compound-summary`。
|
|
63
|
-
|
|
64
|
-
```json
|
|
65
|
-
{
|
|
66
|
-
"identifier": "aspirin",
|
|
67
|
-
"namespace": "name",
|
|
68
|
-
"properties": ["MolecularFormula", "MolecularWeight", "CanonicalSMILES", "IUPACName"],
|
|
69
|
-
"synonym_limit": 20
|
|
70
|
-
}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
`synonym_limit`: 0-100. Use this endpoint for general compound lookup because
|
|
74
|
-
it resolves CID, selected properties, and synonyms in one call.
|
|
75
|
-
|
|
76
|
-
Response fields include `valid`, `cid`, `properties`, `properties_raw`,
|
|
77
|
-
`aliases`, `synonyms`, and `metadata`. Numeric properties are coerced to JSON
|
|
78
|
-
numbers when possible. Requested SMILES aliases are filled when PubChem returns
|
|
79
|
-
an equivalent key such as `ConnectivitySMILES`.
|
|
80
|
-
|
|
81
|
-
## Batch Summary
|
|
82
|
-
|
|
83
|
-
operation:`compound-batch-summary`。
|
|
84
|
-
|
|
85
|
-
```json
|
|
86
|
-
{
|
|
87
|
-
"identifiers": ["aspirin", "ibuprofen", "caffeine"],
|
|
88
|
-
"namespace": "name",
|
|
89
|
-
"properties": ["MolecularFormula", "MolecularWeight", "CanonicalSMILES", "XLogP", "TPSA"],
|
|
90
|
-
"synonym_limit": 5
|
|
91
|
-
}
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
Limits: 1-100 identifiers. The response preserves input order and includes
|
|
95
|
-
per-item errors:
|
|
96
|
-
|
|
97
|
-
```json
|
|
98
|
-
{
|
|
99
|
-
"valid": false,
|
|
100
|
-
"namespace": "name",
|
|
101
|
-
"properties_requested": ["CanonicalSMILES"],
|
|
102
|
-
"results": [
|
|
103
|
-
{
|
|
104
|
-
"input": "aspirin",
|
|
105
|
-
"valid": true,
|
|
106
|
-
"cid": 2244,
|
|
107
|
-
"properties": {
|
|
108
|
-
"CanonicalSMILES": "CC(=O)Oc1ccccc1C(=O)O",
|
|
109
|
-
"ConnectivitySMILES": "CC(=O)Oc1ccccc1C(=O)O",
|
|
110
|
-
"_aliases": {"CanonicalSMILES": "ConnectivitySMILES"},
|
|
111
|
-
"properties_raw": {}
|
|
112
|
-
},
|
|
113
|
-
"properties_raw": {},
|
|
114
|
-
"aliases": {"CanonicalSMILES": "ConnectivitySMILES"},
|
|
115
|
-
"synonyms": []
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
"input": "bad-name",
|
|
119
|
-
"valid": false,
|
|
120
|
-
"error": "not found"
|
|
121
|
-
}
|
|
122
|
-
],
|
|
123
|
-
"count": 2,
|
|
124
|
-
"failed_count": 1
|
|
125
|
-
}
|
|
126
|
-
```
|
|
1
|
+
# PubChem 详细规则
|
|
2
|
+
|
|
3
|
+
只能通过 `delta-cli science invoke` 调用。本文件中的业务响应位于 CLI 顶层 `data`;
|
|
4
|
+
只按本文件说明读取字段,不得递归搜索。本文件中的 URL 只用于说明 endpoint schema,
|
|
5
|
+
不授权直接 HTTP。普通名称基础查询只调用一次 `compound-summary`;多个名称
|
|
6
|
+
只调用一次 `compound-batch-summary`,默认 body 仅包含 `identifiers` 和
|
|
7
|
+
`namespace:"name"`,不得先调用 health/schema。
|
|
8
|
+
|
|
9
|
+
结果直接从 `data` 投影。批量记录位于 `data.results[*]`,原始标签在 `input`,
|
|
10
|
+
属性在嵌套 `properties`。SMILES 回退顺序固定为
|
|
11
|
+
`CanonicalSMILES -> ConnectivitySMILES -> SMILES -> IsomericSMILES`。
|
|
12
|
+
PubChem `XLogP` 与 RDKit `MolLogP` 不得互换;not_found 不得用本地计算补值。
|
|
13
|
+
|
|
14
|
+
Namespaces: `cid`, `name`, `smiles`, `inchi`, `inchikey`, `formula`.
|
|
15
|
+
|
|
16
|
+
## Health
|
|
17
|
+
|
|
18
|
+
operation:`health`,无 body。
|
|
19
|
+
|
|
20
|
+
## Resolve CIDs
|
|
21
|
+
|
|
22
|
+
operation:`compound-resolve-cids`。
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{"identifier": "aspirin", "namespace": "name", "max_records": 20}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`max_records`: 1-100.
|
|
29
|
+
|
|
30
|
+
## Properties
|
|
31
|
+
|
|
32
|
+
operation:`compound-properties`。
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"identifier": "2244",
|
|
37
|
+
"namespace": "cid",
|
|
38
|
+
"properties": ["MolecularFormula", "MolecularWeight", "CanonicalSMILES", "IUPACName"]
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Allowed properties include `MolecularFormula`, `MolecularWeight`,
|
|
43
|
+
`CanonicalSMILES`, `IsomericSMILES`, `SMILES`, `ConnectivitySMILES`,
|
|
44
|
+
`IUPACName`, `InChI`, `InChIKey`, `XLogP`, `TPSA`, `HBondDonorCount`,
|
|
45
|
+
`HBondAcceptorCount`, `RotatableBondCount`, `ExactMass`, `MonoisotopicMass`,
|
|
46
|
+
`Charge`, `HeavyAtomCount`, `Complexity`, `CovalentUnitCount`,
|
|
47
|
+
`DefinedAtomStereoCount`, `UndefinedAtomStereoCount`, `DefinedBondStereoCount`,
|
|
48
|
+
`UndefinedBondStereoCount`, and `IsotopeAtomCount`.
|
|
49
|
+
|
|
50
|
+
## Synonyms
|
|
51
|
+
|
|
52
|
+
operation:`compound-synonyms`。
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{"identifier": "2244", "namespace": "cid", "max_synonyms": 50}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`max_synonyms`: 1-500.
|
|
59
|
+
|
|
60
|
+
## Summary
|
|
61
|
+
|
|
62
|
+
operation:`compound-summary`。
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"identifier": "aspirin",
|
|
67
|
+
"namespace": "name",
|
|
68
|
+
"properties": ["MolecularFormula", "MolecularWeight", "CanonicalSMILES", "IUPACName"],
|
|
69
|
+
"synonym_limit": 20
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
`synonym_limit`: 0-100. Use this endpoint for general compound lookup because
|
|
74
|
+
it resolves CID, selected properties, and synonyms in one call.
|
|
75
|
+
|
|
76
|
+
Response fields include `valid`, `cid`, `properties`, `properties_raw`,
|
|
77
|
+
`aliases`, `synonyms`, and `metadata`. Numeric properties are coerced to JSON
|
|
78
|
+
numbers when possible. Requested SMILES aliases are filled when PubChem returns
|
|
79
|
+
an equivalent key such as `ConnectivitySMILES`.
|
|
80
|
+
|
|
81
|
+
## Batch Summary
|
|
82
|
+
|
|
83
|
+
operation:`compound-batch-summary`。
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"identifiers": ["aspirin", "ibuprofen", "caffeine"],
|
|
88
|
+
"namespace": "name",
|
|
89
|
+
"properties": ["MolecularFormula", "MolecularWeight", "CanonicalSMILES", "XLogP", "TPSA"],
|
|
90
|
+
"synonym_limit": 5
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Limits: 1-100 identifiers. The response preserves input order and includes
|
|
95
|
+
per-item errors:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"valid": false,
|
|
100
|
+
"namespace": "name",
|
|
101
|
+
"properties_requested": ["CanonicalSMILES"],
|
|
102
|
+
"results": [
|
|
103
|
+
{
|
|
104
|
+
"input": "aspirin",
|
|
105
|
+
"valid": true,
|
|
106
|
+
"cid": 2244,
|
|
107
|
+
"properties": {
|
|
108
|
+
"CanonicalSMILES": "CC(=O)Oc1ccccc1C(=O)O",
|
|
109
|
+
"ConnectivitySMILES": "CC(=O)Oc1ccccc1C(=O)O",
|
|
110
|
+
"_aliases": {"CanonicalSMILES": "ConnectivitySMILES"},
|
|
111
|
+
"properties_raw": {}
|
|
112
|
+
},
|
|
113
|
+
"properties_raw": {},
|
|
114
|
+
"aliases": {"CanonicalSMILES": "ConnectivitySMILES"},
|
|
115
|
+
"synonyms": []
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"input": "bad-name",
|
|
119
|
+
"valid": false,
|
|
120
|
+
"error": "not found"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"count": 2,
|
|
124
|
+
"failed_count": 1
|
|
125
|
+
}
|
|
126
|
+
```
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
# pymatgen 详细规则
|
|
2
|
-
|
|
3
|
-
所有调用直接使用 `delta-cli science invoke`。无机化学式、组成和式量优先使用 pymatgen,不用 PubChem
|
|
4
|
-
或本地元素表替代。结构 operation 必须发送完整结构文本,不能发送本地文件路径;
|
|
5
|
-
支持 `cif`、`poscar`、`json`、`cssr`、`xsf`,不接收 LAMMPS data/dump。
|
|
6
|
-
|
|
7
|
-
## Health
|
|
8
|
-
|
|
9
|
-
operation:`health`,无 body。
|
|
10
|
-
|
|
11
|
-
## Composition Parse
|
|
12
|
-
|
|
13
|
-
operation:`composition-parse`。
|
|
14
|
-
|
|
15
|
-
```json
|
|
16
|
-
{"formula": "LiFePO4", "format": "formula"}
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Key response fields in `data`: `valid`, `formula`, `reduced_formula`,
|
|
20
|
-
`alphabetic_formula`, `anonymous_formula`, `chemical_system`,
|
|
21
|
-
`number_of_atoms`, `weight`, `element_amounts`, `atomic_fractions`,
|
|
22
|
-
`weight_fractions`, `error`.
|
|
23
|
-
|
|
24
|
-
## Structure Parse / Summary
|
|
25
|
-
|
|
26
|
-
operation:`structure-parse` 或 `structure-summary`。
|
|
27
|
-
|
|
28
|
-
```json
|
|
29
|
-
{"input": "<CIF text>", "format": "cif", "primitive": false}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Input formats: `cif`, `poscar`, `json`, `cssr`, `xsf`.
|
|
33
|
-
|
|
34
|
-
Summary fields include `formula`, `reduced_formula`, `chemical_system`,
|
|
35
|
-
`nsites`, `nelements`, `density`, `volume`, `lattice`, `element_amounts`, and
|
|
36
|
-
`species`.
|
|
37
|
-
|
|
38
|
-
## Structure Convert
|
|
39
|
-
|
|
40
|
-
operation:`structure-convert`。
|
|
41
|
-
|
|
42
|
-
```json
|
|
43
|
-
{
|
|
44
|
-
"input": "<CIF text>",
|
|
45
|
-
"input_format": "cif",
|
|
46
|
-
"output_format": "poscar",
|
|
47
|
-
"primitive": false
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Output formats: `cif`, `poscar`, `json`, `cssr`, `xsf`.
|
|
52
|
-
|
|
53
|
-
## Symmetry
|
|
54
|
-
|
|
55
|
-
operation:`structure-symmetry`。
|
|
56
|
-
|
|
57
|
-
```json
|
|
58
|
-
{
|
|
59
|
-
"input": "<CIF text>",
|
|
60
|
-
"format": "cif",
|
|
61
|
-
"primitive": false,
|
|
62
|
-
"symprec": 0.01,
|
|
63
|
-
"angle_tolerance": 5.0
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Returns `space_group_symbol`, `space_group_number`, `crystal_system`,
|
|
68
|
-
`point_group_symbol`, `hall`, and `nsites`.
|
|
1
|
+
# pymatgen 详细规则
|
|
2
|
+
|
|
3
|
+
所有调用直接使用 `delta-cli science invoke`。无机化学式、组成和式量优先使用 pymatgen,不用 PubChem
|
|
4
|
+
或本地元素表替代。结构 operation 必须发送完整结构文本,不能发送本地文件路径;
|
|
5
|
+
支持 `cif`、`poscar`、`json`、`cssr`、`xsf`,不接收 LAMMPS data/dump。
|
|
6
|
+
|
|
7
|
+
## Health
|
|
8
|
+
|
|
9
|
+
operation:`health`,无 body。
|
|
10
|
+
|
|
11
|
+
## Composition Parse
|
|
12
|
+
|
|
13
|
+
operation:`composition-parse`。
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{"formula": "LiFePO4", "format": "formula"}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Key response fields in `data`: `valid`, `formula`, `reduced_formula`,
|
|
20
|
+
`alphabetic_formula`, `anonymous_formula`, `chemical_system`,
|
|
21
|
+
`number_of_atoms`, `weight`, `element_amounts`, `atomic_fractions`,
|
|
22
|
+
`weight_fractions`, `error`.
|
|
23
|
+
|
|
24
|
+
## Structure Parse / Summary
|
|
25
|
+
|
|
26
|
+
operation:`structure-parse` 或 `structure-summary`。
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{"input": "<CIF text>", "format": "cif", "primitive": false}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Input formats: `cif`, `poscar`, `json`, `cssr`, `xsf`.
|
|
33
|
+
|
|
34
|
+
Summary fields include `formula`, `reduced_formula`, `chemical_system`,
|
|
35
|
+
`nsites`, `nelements`, `density`, `volume`, `lattice`, `element_amounts`, and
|
|
36
|
+
`species`.
|
|
37
|
+
|
|
38
|
+
## Structure Convert
|
|
39
|
+
|
|
40
|
+
operation:`structure-convert`。
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"input": "<CIF text>",
|
|
45
|
+
"input_format": "cif",
|
|
46
|
+
"output_format": "poscar",
|
|
47
|
+
"primitive": false
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Output formats: `cif`, `poscar`, `json`, `cssr`, `xsf`.
|
|
52
|
+
|
|
53
|
+
## Symmetry
|
|
54
|
+
|
|
55
|
+
operation:`structure-symmetry`。
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"input": "<CIF text>",
|
|
60
|
+
"format": "cif",
|
|
61
|
+
"primitive": false,
|
|
62
|
+
"symprec": 0.01,
|
|
63
|
+
"angle_tolerance": 5.0
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Returns `space_group_symbol`, `space_group_number`, `crystal_system`,
|
|
68
|
+
`point_group_symbol`, `hall`, and `nsites`.
|
|
@@ -4,9 +4,9 @@ QE 用于通过 Chemistry Gateway 执行可追踪的异步 Quantum ESPRESSO 工
|
|
|
4
4
|
Gateway/Science Server contract,不运行本地 `pw.x`,不调用内部 QE 容器,也不提交 shell
|
|
5
5
|
命令、scheduler 脚本、`pseudo_dir`、`outdir` 或主机路径。
|
|
6
6
|
|
|
7
|
-
本 reference
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
本 reference 对应 CLI 的真实工具为 `qe`。实际 `tools.name` 与 `tool_endpoints.name`
|
|
8
|
+
必须逐字取自当前 CLI catalog。下列路径是 QE 服务契约,不是可直接访问的 URL,也不是
|
|
9
|
+
可以自动改写的 endpoint 别名。
|
|
10
10
|
|
|
11
11
|
## 能力分组
|
|
12
12
|
|
|
@@ -21,7 +21,7 @@ Gateway/Science Server contract,不运行本地 `pw.x`,不调用内部 QE
|
|
|
21
21
|
| `/chem/qe/v1/qe/jobs/{job_id}/events`、`steps`、`logs`、`artifacts` | 读取作业过程和结果 | 只读 |
|
|
22
22
|
| `/chem/qe/v1/qe/jobs/{job_id}:cancel`、`:retry`、`:review` | 取消、重试和科学审核 | 远端变更 |
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
选择新 operation 时,先使用:
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
27
|
delta-cli science list
|