@delta-infra/cli 1.1.19 → 1.1.21
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 +507 -520
- package/checksums.txt +5 -5
- package/package.json +1 -1
- package/scripts/install-wizard.js +689 -688
- package/scripts/install.js +442 -442
- package/scripts/run.js +65 -65
- package/skills/delta-protein/AGENTS.md +72 -72
- package/skills/delta-protein/SKILL.md +388 -388
- package/skills/delta-protein/agents/openai.yaml +3 -3
- package/skills/delta-protein/references/bfitter.md +63 -63
- package/skills/delta-protein/references/catapro_predict.md +62 -62
- package/skills/delta-protein/references/catpred_predict.md +64 -64
- package/skills/delta-protein/references/caver_tunnel_analyze.md +62 -62
- package/skills/delta-protein/references/consensus_mutation.md +60 -60
- package/skills/delta-protein/references/consurf_predict.md +66 -66
- package/skills/delta-protein/references/crop_sequence.md +68 -68
- package/skills/delta-protein/references/dock.md +81 -81
- package/skills/delta-protein/references/dock_score.md +69 -69
- package/skills/delta-protein/references/easifa_predict_active_site.md +69 -69
- package/skills/delta-protein/references/ephod_predict_mutation.md +65 -65
- package/skills/delta-protein/references/ephod_predict_protein.md +60 -60
- package/skills/delta-protein/references/esmfold2_predict.md +66 -66
- package/skills/delta-protein/references/evcouplings_mutation.md +63 -63
- package/skills/delta-protein/references/fasta_to_sequence.md +58 -58
- package/skills/delta-protein/references/foldseek.md +60 -60
- package/skills/delta-protein/references/generate_msa.md +60 -60
- package/skills/delta-protein/references/interpro_analyze.md +62 -62
- package/skills/delta-protein/references/mpnn_design_sequence.md +70 -70
- package/skills/delta-protein/references/multievolve.md +72 -72
- package/skills/delta-protein/references/pisa_query.md +69 -69
- package/skills/delta-protein/references/plip_analyze.md +64 -64
- package/skills/delta-protein/references/pocket_prediction.md +62 -62
- package/skills/delta-protein/references/protein_design.md +64 -64
- package/skills/delta-protein/references/protein_evolution.md +76 -76
- package/skills/delta-protein/references/protein_sol_predict_mutation.md +65 -65
- package/skills/delta-protein/references/protein_sol_predict_protein.md +60 -60
- package/skills/delta-protein/references/protenix.md +65 -65
- package/skills/delta-protein/references/protrek_search.md +89 -89
- package/skills/delta-protein/references/pubchem_search.md +67 -67
- package/skills/delta-protein/references/pubmed_search.md +78 -78
- package/skills/delta-protein/references/reap_design_primer.md +68 -68
- package/skills/delta-protein/references/rfd3_design.md +64 -64
- package/skills/delta-protein/references/structure_to_sequence.md +60 -60
- package/skills/delta-protein/references/summarize_result.md +67 -67
- package/skills/delta-protein/references/surface_charge.md +83 -83
- package/skills/delta-protein/references/uniprot_batch_query.md +62 -62
- package/skills/delta-protein/references/uniprot_query.md +63 -63
- package/skills/delta-protein/references/zero_shot_mutant_candidates.md +75 -75
- package/skills/delta-protein/scripts/gen_references.py +166 -166
- package/skills/delta-protein/scripts/output_metadata.json +274 -274
- package/skills/delta-sandbox/SKILL.md +388 -388
- package/skills/delta-sandbox/agents/openai.yaml +4 -4
- package/skills/delta-sandbox/references/commands.md +58 -58
- package/skills/delta-sandbox/references/lifecycle.md +100 -100
- package/skills/delta-sandbox/references/recipes.md +138 -138
- package/skills/delta-science/AGENTS.md +47 -47
- package/skills/delta-science/SKILL.md +227 -227
- package/skills/delta-science/agents/openai.yaml +4 -4
- package/skills/delta-science/references/antbo.md +105 -105
- package/skills/delta-science/references/delta-bo.md +92 -92
- package/skills/delta-science/references/gsasii.md +118 -118
- package/skills/delta-science/references/lammps.md +68 -68
- package/skills/delta-science/references/ldm-bo.md +132 -132
- package/skills/delta-science/references/materials-design.md +130 -130
- package/skills/delta-science/references/pubchem.md +128 -128
- package/skills/delta-science/references/pymatgen.md +69 -69
- package/skills/delta-science/references/qe.md +134 -134
- package/skills/delta-science/references/rdkit.md +141 -141
- package/skills/delta-science/references/strbo.md +95 -95
- package/skills/delta-science/references/synbo.md +201 -201
- package/skills/delta-science/references/xrd.md +154 -170
- 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 +346 -346
- package/skills/delta-shared/SKILL.md +113 -113
- package/skills/delta-shared/agents/openai.yaml +4 -4
- package/skills/manifest.json +20 -20
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
# AntBO reference
|
|
2
|
-
|
|
3
|
-
Use `delta-cli science invoke` with `endpoint`, `data` and `params`. Read business results
|
|
4
|
-
from the CLI response fields defined in this document. Run operations marked as mutating only
|
|
5
|
-
with the user's explicit authorisation, and never retry them.
|
|
6
|
-
|
|
7
|
-
For antibody/CDRH3 tasks, do not switch to small-molecule LDM-BO or STRBO even if the user
|
|
8
|
-
mentions “LDM”. The current catalogue exposes both CDRH3 generation, suggestion and evaluation
|
|
9
|
-
operations and the traditional AntBO job-management operations.
|
|
10
|
-
|
|
11
|
-
## health (read-only)
|
|
12
|
-
|
|
13
|
-
- Use case: Check whether the remote AntBO environment is available.
|
|
14
|
-
- Request: `endpoint="health"; data=None; params=None`
|
|
15
|
-
- Read from the response: `status`, `antbo_available`, `metadata`, `limits` and `warnings`.
|
|
16
|
-
|
|
17
|
-
## run-default-job (mutating)
|
|
18
|
-
|
|
19
|
-
- Use case: The user explicitly asks to start the standard background continuation job.
|
|
20
|
-
- Request: `endpoint="run-default-job"; data=None; params={"log_name":"antbo_<unique-timestamp>.log","append":False,"timeout_seconds":86400}`
|
|
21
|
-
- Read from the response: `started`, `pid`, `log_name` or `log_path`, and `timeout_seconds`. Do not retry if the outcome is unknown.
|
|
22
|
-
|
|
23
|
-
Report the job as started only when the same business response contains `started=true`, a
|
|
24
|
-
non-empty `pid`, and either `log_name` or `log_path`. If any field is missing, mark the start
|
|
25
|
-
as unverified and do not submit again.
|
|
26
|
-
|
|
27
|
-
## run (heavy, mutating)
|
|
28
|
-
|
|
29
|
-
- Use case: The user explicitly supplies an approved AntBO script, configuration and antigen file, and asks for synchronous execution.
|
|
30
|
-
- Request: `endpoint="run"; data={"script_path":"./bo/main.py","config_path":"./bo/config.yaml","n_trials":1,"seed":42,"antigens_file":"<path within project root>","extra_args":[],"timeout_seconds":86400,"cuda_visible_devices":"0","conda_env":"DGM","log_name":"antbo_custom.log","append":False}; params=None`
|
|
31
|
-
- Read from the response: `ok`, `returncode`, `timed_out`, `log_path` and whether the log was truncated. Do not include the full log in the final reply.
|
|
32
|
-
|
|
33
|
-
## log (read-only)
|
|
34
|
-
|
|
35
|
-
- Use case: The user provides a known `log_name` and asks to inspect the end of the log.
|
|
36
|
-
- Request: `endpoint="log"; data=None; params={"log_name":"antbo_run.log"}`
|
|
37
|
-
- Read from the response: `log_name`, `log` and `log_truncated`. For long logs, provide only a bounded summary of the tail.
|
|
38
|
-
|
|
39
|
-
## jobs (read-only)
|
|
40
|
-
|
|
41
|
-
- Use case: List the active jobs registered by the current service container.
|
|
42
|
-
- Request: `endpoint="jobs"; data=None; params=None`
|
|
43
|
-
- Read `pid`, `running`, `returncode`, `log_name` and `log_path` from each item in `jobs`.
|
|
44
|
-
|
|
45
|
-
## stop (mutating)
|
|
46
|
-
|
|
47
|
-
- Use case: The user explicitly asks to stop a job with a confirmed PID.
|
|
48
|
-
- Request: `endpoint="stop"; data=None; params={"pid":12345}`
|
|
49
|
-
- Read from the response: `stopped`, `pid` and `message`. Do not retry blindly or call without parameters when multiple jobs exist.
|
|
50
|
-
|
|
51
|
-
## CDRH3 generation and optimisation
|
|
52
|
-
|
|
53
|
-
The server's supported antigens are defined by `supported_antigens` in the health response.
|
|
54
|
-
Do not guess or treat an arbitrary protein-file path as an antigen. Deployments commonly support
|
|
55
|
-
`1ADQ_A`, `1FBI_X`, `1H0D_C`, `1NSN_S` and `1OB1_C`, but use the current service response
|
|
56
|
-
and the user's choice before execution.
|
|
57
|
-
|
|
58
|
-
### ldm-health (read-only)
|
|
59
|
-
|
|
60
|
-
- Request: `endpoint="ldm-health"; data=None; params=None`
|
|
61
|
-
- Read from the response: `supported_antigens`, `cdrh3_length`, `objective`, and fields describing Absolut/model provenance.
|
|
62
|
-
|
|
63
|
-
### ldm-init / ldm-init-validate
|
|
64
|
-
|
|
65
|
-
```json
|
|
66
|
-
{
|
|
67
|
-
"task": "Generate initial CDRH3 candidates for the specified antigen",
|
|
68
|
-
"num_initial": 3,
|
|
69
|
-
"antigen": "1ADQ_A",
|
|
70
|
-
"seed": 42
|
|
71
|
-
}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
Use `ldm-init-validate` only to validate parameters; use `ldm-init` for generation. Successful
|
|
75
|
-
candidates must be CDRH3 sequences returned by the service. Do not invent candidates.
|
|
76
|
-
|
|
77
|
-
### ldm-suggest / ldm-suggest-validate
|
|
78
|
-
|
|
79
|
-
```json
|
|
80
|
-
{
|
|
81
|
-
"task": "Continue reducing antigen binding energy",
|
|
82
|
-
"history_xs": ["ARVGYSLYAMD", "AKYGGYDYAMD"],
|
|
83
|
-
"history_ys": [-18.2, -17.4],
|
|
84
|
-
"num_suggestions": 2,
|
|
85
|
-
"antigen": "1ADQ_A",
|
|
86
|
-
"seed": 42
|
|
87
|
-
}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
AntBO is single-objective. `history_ys` must be a one-dimensional array of finite numbers and
|
|
91
|
-
have the same length as `history_xs`. Each CDRH3 must contain 11 standard amino-acid characters;
|
|
92
|
-
use the current `cdrh3_length` returned by `ldm-health` as the final constraint.
|
|
93
|
-
|
|
94
|
-
### evaluate / evaluate-validate
|
|
95
|
-
|
|
96
|
-
```json
|
|
97
|
-
{
|
|
98
|
-
"designs": ["ARVGYSLYAMD", "AKYGGYDYAMD"],
|
|
99
|
-
"antigen": "1ADQ_A"
|
|
100
|
-
}
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
The number of returned scores must match the number of designs; lower binding energy is better.
|
|
104
|
-
Generation, suggestion and evaluation are all heavy remote calls. Do not retry if the outcome is
|
|
105
|
-
unknown or times out, and do not fill in results with locally generated random scores.
|
|
1
|
+
# AntBO reference
|
|
2
|
+
|
|
3
|
+
Use `delta-cli science invoke` with `endpoint`, `data` and `params`. Read business results
|
|
4
|
+
from the CLI response fields defined in this document. Run operations marked as mutating only
|
|
5
|
+
with the user's explicit authorisation, and never retry them.
|
|
6
|
+
|
|
7
|
+
For antibody/CDRH3 tasks, do not switch to small-molecule LDM-BO or STRBO even if the user
|
|
8
|
+
mentions “LDM”. The current catalogue exposes both CDRH3 generation, suggestion and evaluation
|
|
9
|
+
operations and the traditional AntBO job-management operations.
|
|
10
|
+
|
|
11
|
+
## health (read-only)
|
|
12
|
+
|
|
13
|
+
- Use case: Check whether the remote AntBO environment is available.
|
|
14
|
+
- Request: `endpoint="health"; data=None; params=None`
|
|
15
|
+
- Read from the response: `status`, `antbo_available`, `metadata`, `limits` and `warnings`.
|
|
16
|
+
|
|
17
|
+
## run-default-job (mutating)
|
|
18
|
+
|
|
19
|
+
- Use case: The user explicitly asks to start the standard background continuation job.
|
|
20
|
+
- Request: `endpoint="run-default-job"; data=None; params={"log_name":"antbo_<unique-timestamp>.log","append":False,"timeout_seconds":86400}`
|
|
21
|
+
- Read from the response: `started`, `pid`, `log_name` or `log_path`, and `timeout_seconds`. Do not retry if the outcome is unknown.
|
|
22
|
+
|
|
23
|
+
Report the job as started only when the same business response contains `started=true`, a
|
|
24
|
+
non-empty `pid`, and either `log_name` or `log_path`. If any field is missing, mark the start
|
|
25
|
+
as unverified and do not submit again.
|
|
26
|
+
|
|
27
|
+
## run (heavy, mutating)
|
|
28
|
+
|
|
29
|
+
- Use case: The user explicitly supplies an approved AntBO script, configuration and antigen file, and asks for synchronous execution.
|
|
30
|
+
- Request: `endpoint="run"; data={"script_path":"./bo/main.py","config_path":"./bo/config.yaml","n_trials":1,"seed":42,"antigens_file":"<path within project root>","extra_args":[],"timeout_seconds":86400,"cuda_visible_devices":"0","conda_env":"DGM","log_name":"antbo_custom.log","append":False}; params=None`
|
|
31
|
+
- Read from the response: `ok`, `returncode`, `timed_out`, `log_path` and whether the log was truncated. Do not include the full log in the final reply.
|
|
32
|
+
|
|
33
|
+
## log (read-only)
|
|
34
|
+
|
|
35
|
+
- Use case: The user provides a known `log_name` and asks to inspect the end of the log.
|
|
36
|
+
- Request: `endpoint="log"; data=None; params={"log_name":"antbo_run.log"}`
|
|
37
|
+
- Read from the response: `log_name`, `log` and `log_truncated`. For long logs, provide only a bounded summary of the tail.
|
|
38
|
+
|
|
39
|
+
## jobs (read-only)
|
|
40
|
+
|
|
41
|
+
- Use case: List the active jobs registered by the current service container.
|
|
42
|
+
- Request: `endpoint="jobs"; data=None; params=None`
|
|
43
|
+
- Read `pid`, `running`, `returncode`, `log_name` and `log_path` from each item in `jobs`.
|
|
44
|
+
|
|
45
|
+
## stop (mutating)
|
|
46
|
+
|
|
47
|
+
- Use case: The user explicitly asks to stop a job with a confirmed PID.
|
|
48
|
+
- Request: `endpoint="stop"; data=None; params={"pid":12345}`
|
|
49
|
+
- Read from the response: `stopped`, `pid` and `message`. Do not retry blindly or call without parameters when multiple jobs exist.
|
|
50
|
+
|
|
51
|
+
## CDRH3 generation and optimisation
|
|
52
|
+
|
|
53
|
+
The server's supported antigens are defined by `supported_antigens` in the health response.
|
|
54
|
+
Do not guess or treat an arbitrary protein-file path as an antigen. Deployments commonly support
|
|
55
|
+
`1ADQ_A`, `1FBI_X`, `1H0D_C`, `1NSN_S` and `1OB1_C`, but use the current service response
|
|
56
|
+
and the user's choice before execution.
|
|
57
|
+
|
|
58
|
+
### ldm-health (read-only)
|
|
59
|
+
|
|
60
|
+
- Request: `endpoint="ldm-health"; data=None; params=None`
|
|
61
|
+
- Read from the response: `supported_antigens`, `cdrh3_length`, `objective`, and fields describing Absolut/model provenance.
|
|
62
|
+
|
|
63
|
+
### ldm-init / ldm-init-validate
|
|
64
|
+
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"task": "Generate initial CDRH3 candidates for the specified antigen",
|
|
68
|
+
"num_initial": 3,
|
|
69
|
+
"antigen": "1ADQ_A",
|
|
70
|
+
"seed": 42
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Use `ldm-init-validate` only to validate parameters; use `ldm-init` for generation. Successful
|
|
75
|
+
candidates must be CDRH3 sequences returned by the service. Do not invent candidates.
|
|
76
|
+
|
|
77
|
+
### ldm-suggest / ldm-suggest-validate
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"task": "Continue reducing antigen binding energy",
|
|
82
|
+
"history_xs": ["ARVGYSLYAMD", "AKYGGYDYAMD"],
|
|
83
|
+
"history_ys": [-18.2, -17.4],
|
|
84
|
+
"num_suggestions": 2,
|
|
85
|
+
"antigen": "1ADQ_A",
|
|
86
|
+
"seed": 42
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
AntBO is single-objective. `history_ys` must be a one-dimensional array of finite numbers and
|
|
91
|
+
have the same length as `history_xs`. Each CDRH3 must contain 11 standard amino-acid characters;
|
|
92
|
+
use the current `cdrh3_length` returned by `ldm-health` as the final constraint.
|
|
93
|
+
|
|
94
|
+
### evaluate / evaluate-validate
|
|
95
|
+
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"designs": ["ARVGYSLYAMD", "AKYGGYDYAMD"],
|
|
99
|
+
"antigen": "1ADQ_A"
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
The number of returned scores must match the number of designs; lower binding energy is better.
|
|
104
|
+
Generation, suggestion and evaluation are all heavy remote calls. Do not retry if the outcome is
|
|
105
|
+
unknown or times out, and do not fill in results with locally generated random scores.
|
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
# Delta-BO reference
|
|
2
|
-
|
|
3
|
-
Make all online calls with `delta-cli science invoke`; the tool is always `delta-bo`. The current
|
|
4
|
-
CLI catalogue exposes only `commands` and `generate`. Do not infer operations from old HTTP
|
|
5
|
-
documentation or call the stateful command API directly.
|
|
6
|
-
|
|
7
|
-
## commands
|
|
8
|
-
|
|
9
|
-
Use case: The user asks which Delta-BO commands are supported by the current deployment.
|
|
10
|
-
|
|
11
|
-
```text
|
|
12
|
-
delta-cli science invoke --tool delta-bo --endpoint commands
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
No request body. Report only the command list in the current business response; do not fill it in from historical documentation.
|
|
16
|
-
|
|
17
|
-
## generate
|
|
18
|
-
|
|
19
|
-
Use case: Generate random-search or Bayesian-optimisation suggestions for numeric, integer or categorical experimental variables.
|
|
20
|
-
|
|
21
|
-
When there is no real history, or fewer than five historical observations and the user has not explicitly requested BO, use bounded random search:
|
|
22
|
-
|
|
23
|
-
```json
|
|
24
|
-
{
|
|
25
|
-
"params": [
|
|
26
|
-
{"name": "x", "type": "numeric", "low": 0.0, "high": 1.0}
|
|
27
|
-
],
|
|
28
|
-
"num_suggestions": 3,
|
|
29
|
-
"algorithm": "random-search",
|
|
30
|
-
"seed": 42
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
When real history is available and the user explicitly requests BO, you may use:
|
|
35
|
-
|
|
36
|
-
```json
|
|
37
|
-
{
|
|
38
|
-
"params": [
|
|
39
|
-
{"name": "temperature", "type": "numeric", "low": 20.0, "high": 120.0},
|
|
40
|
-
{"name": "catalyst", "type": "categorical", "choices": ["A", "B", "C"]}
|
|
41
|
-
],
|
|
42
|
-
"objectives": [{"name": "yield", "minimize": false}],
|
|
43
|
-
"num_suggestions": 2,
|
|
44
|
-
"algorithm": "bo",
|
|
45
|
-
"model": {"name": "gp", "min_samples": 2, "train_steps": 50},
|
|
46
|
-
"acq_target": {"name": "ucb", "beta": 2.0},
|
|
47
|
-
"solver": {"name": "ga", "pop_size": 40, "n_gen": 10},
|
|
48
|
-
"histories": {
|
|
49
|
-
"decisions": [
|
|
50
|
-
{"temperature": 40.0, "catalyst": "A"},
|
|
51
|
-
{"temperature": 80.0, "catalyst": "B"}
|
|
52
|
-
],
|
|
53
|
-
"observations": [
|
|
54
|
-
{"yield": 0.42},
|
|
55
|
-
{"yield": 0.61}
|
|
56
|
-
]
|
|
57
|
-
},
|
|
58
|
-
"seed": 7
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Supported parameter types are `numeric`, `integer` and `categorical`. Prefer object-form history
|
|
63
|
-
to avoid ambiguity about the order of array columns. Do not invent observations, objective values
|
|
64
|
-
or purported optima.
|
|
65
|
-
|
|
66
|
-
Optional deduplication and constraints:
|
|
67
|
-
|
|
68
|
-
```json
|
|
69
|
-
{
|
|
70
|
-
"diversity": {
|
|
71
|
-
"deduplicate": true,
|
|
72
|
-
"min_numeric_distance": {"temperature": 5.0},
|
|
73
|
-
"prefer_unique_categories": true
|
|
74
|
-
},
|
|
75
|
-
"constraints": [
|
|
76
|
-
{"type": "unique_batch"},
|
|
77
|
-
{"type": "avoid_seen_decisions"}
|
|
78
|
-
]
|
|
79
|
-
}
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
Report only fields actually present in the business response: `suggestions`,
|
|
83
|
-
`suggestion_metadata`, `warnings`, `generated_candidate_count` and `diversity`. Do not replace
|
|
84
|
-
empty suggestions or a failure with local GP, UCB or random-number results.
|
|
85
|
-
|
|
86
|
-
## Known legacy capabilities that are not exposed
|
|
87
|
-
|
|
88
|
-
The old service included stateful commands such as session, space, objective, policy, suggest,
|
|
89
|
-
observe, loop, status and best, but they are not current Delta CLI operations. This Skill records
|
|
90
|
-
only that capability boundary: it includes no URL or curl examples and does not run those
|
|
91
|
-
operations. To extend the interface, first expose the operation and request schema through Science
|
|
92
|
-
Server, then update this reference.
|
|
1
|
+
# Delta-BO reference
|
|
2
|
+
|
|
3
|
+
Make all online calls with `delta-cli science invoke`; the tool is always `delta-bo`. The current
|
|
4
|
+
CLI catalogue exposes only `commands` and `generate`. Do not infer operations from old HTTP
|
|
5
|
+
documentation or call the stateful command API directly.
|
|
6
|
+
|
|
7
|
+
## commands
|
|
8
|
+
|
|
9
|
+
Use case: The user asks which Delta-BO commands are supported by the current deployment.
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
delta-cli science invoke --tool delta-bo --endpoint commands
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
No request body. Report only the command list in the current business response; do not fill it in from historical documentation.
|
|
16
|
+
|
|
17
|
+
## generate
|
|
18
|
+
|
|
19
|
+
Use case: Generate random-search or Bayesian-optimisation suggestions for numeric, integer or categorical experimental variables.
|
|
20
|
+
|
|
21
|
+
When there is no real history, or fewer than five historical observations and the user has not explicitly requested BO, use bounded random search:
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"params": [
|
|
26
|
+
{"name": "x", "type": "numeric", "low": 0.0, "high": 1.0}
|
|
27
|
+
],
|
|
28
|
+
"num_suggestions": 3,
|
|
29
|
+
"algorithm": "random-search",
|
|
30
|
+
"seed": 42
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
When real history is available and the user explicitly requests BO, you may use:
|
|
35
|
+
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"params": [
|
|
39
|
+
{"name": "temperature", "type": "numeric", "low": 20.0, "high": 120.0},
|
|
40
|
+
{"name": "catalyst", "type": "categorical", "choices": ["A", "B", "C"]}
|
|
41
|
+
],
|
|
42
|
+
"objectives": [{"name": "yield", "minimize": false}],
|
|
43
|
+
"num_suggestions": 2,
|
|
44
|
+
"algorithm": "bo",
|
|
45
|
+
"model": {"name": "gp", "min_samples": 2, "train_steps": 50},
|
|
46
|
+
"acq_target": {"name": "ucb", "beta": 2.0},
|
|
47
|
+
"solver": {"name": "ga", "pop_size": 40, "n_gen": 10},
|
|
48
|
+
"histories": {
|
|
49
|
+
"decisions": [
|
|
50
|
+
{"temperature": 40.0, "catalyst": "A"},
|
|
51
|
+
{"temperature": 80.0, "catalyst": "B"}
|
|
52
|
+
],
|
|
53
|
+
"observations": [
|
|
54
|
+
{"yield": 0.42},
|
|
55
|
+
{"yield": 0.61}
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
"seed": 7
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Supported parameter types are `numeric`, `integer` and `categorical`. Prefer object-form history
|
|
63
|
+
to avoid ambiguity about the order of array columns. Do not invent observations, objective values
|
|
64
|
+
or purported optima.
|
|
65
|
+
|
|
66
|
+
Optional deduplication and constraints:
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"diversity": {
|
|
71
|
+
"deduplicate": true,
|
|
72
|
+
"min_numeric_distance": {"temperature": 5.0},
|
|
73
|
+
"prefer_unique_categories": true
|
|
74
|
+
},
|
|
75
|
+
"constraints": [
|
|
76
|
+
{"type": "unique_batch"},
|
|
77
|
+
{"type": "avoid_seen_decisions"}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Report only fields actually present in the business response: `suggestions`,
|
|
83
|
+
`suggestion_metadata`, `warnings`, `generated_candidate_count` and `diversity`. Do not replace
|
|
84
|
+
empty suggestions or a failure with local GP, UCB or random-number results.
|
|
85
|
+
|
|
86
|
+
## Known legacy capabilities that are not exposed
|
|
87
|
+
|
|
88
|
+
The old service included stateful commands such as session, space, objective, policy, suggest,
|
|
89
|
+
observe, loop, status and best, but they are not current Delta CLI operations. This Skill records
|
|
90
|
+
only that capability boundary: it includes no URL or curl examples and does not run those
|
|
91
|
+
operations. To extend the interface, first expose the operation and request schema through Science
|
|
92
|
+
Server, then update this reference.
|
|
@@ -1,118 +1,118 @@
|
|
|
1
|
-
# GSAS-II reference
|
|
2
|
-
|
|
3
|
-
Make all calls with `delta-cli science invoke`. Simulation requires a real CIF; refinement
|
|
4
|
-
requires real powder data, instrument parameters and phase CIFs. Never fill in a failed result
|
|
5
|
-
with synthetic data. If the input is not a CIF, first use a successful pymatgen
|
|
6
|
-
`structure-convert` result from the current task.
|
|
7
|
-
|
|
8
|
-
## Health
|
|
9
|
-
|
|
10
|
-
Operation: `health`; no request body.
|
|
11
|
-
|
|
12
|
-
Key response fields in `data`: `status`, `service`, `gsasii_available`,
|
|
13
|
-
`metadata`, and `limits`.
|
|
14
|
-
|
|
15
|
-
Call this only when the user explicitly asks for a health check; do not add a health call automatically before simulation or refinement.
|
|
16
|
-
|
|
17
|
-
## Powder Simulation
|
|
18
|
-
|
|
19
|
-
Operation: `powder-simulate`.
|
|
20
|
-
|
|
21
|
-
```json
|
|
22
|
-
{
|
|
23
|
-
"cif": "<CIF text>",
|
|
24
|
-
"phase_name": "phase",
|
|
25
|
-
"instrument_parameters": "<GSAS-II instrument parameter text>",
|
|
26
|
-
"histogram_name": "simulation",
|
|
27
|
-
"t_min": 10.0,
|
|
28
|
-
"t_max": 80.0,
|
|
29
|
-
"t_step": 0.02,
|
|
30
|
-
"include_profile": true,
|
|
31
|
-
"max_profile_points": 1000,
|
|
32
|
-
"include_reflections": true,
|
|
33
|
-
"max_reflections": 1000,
|
|
34
|
-
"return_refined_cif": false,
|
|
35
|
-
"return_project": false
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Use either `t_step` or `n_points`, not both. Optional fields include
|
|
40
|
-
`wavelength`, `radiation`, `scale`, `include_profile`, `max_profile_points`,
|
|
41
|
-
`include_reflections`, `max_reflections`, `return_refined_cif`, and
|
|
42
|
-
`return_project`.
|
|
43
|
-
|
|
44
|
-
The response includes `profile` points with `x`, `y_calc`, optional background,
|
|
45
|
-
bounded `reflections` with hkl/d-spacing/2theta where available, and metadata.
|
|
46
|
-
If `return_project` is true, `project_base64` contains the GSAS-II `.gpx`
|
|
47
|
-
project. If `return_refined_cif` is true, `refined_cif` contains exported CIF
|
|
48
|
-
text for pymatgen handoff when GSAS-II supports export for the phase.
|
|
49
|
-
|
|
50
|
-
Notes:
|
|
51
|
-
|
|
52
|
-
- `cif` should be valid CIF text. If the input is POSCAR/JSON/CSSR/XSF, use
|
|
53
|
-
pymatgen `structure-convert` first with `output_format: "cif"`.
|
|
54
|
-
- `instrument_parameters` should be GSAS-II instrument parameter text such as
|
|
55
|
-
`INST_XRY.PRM` when instrument-specific simulation is needed.
|
|
56
|
-
- For quick simulation only, `instrument_parameters` may be omitted. The service
|
|
57
|
-
then generates a simple CW X-ray instrument model from `wavelength` or
|
|
58
|
-
`radiation` (`CuKa` by default; also supports aliases such as `MoKa`, `CoKa`,
|
|
59
|
-
`CrKa`, and explicit numeric wavelength).
|
|
60
|
-
- Refinement still requires real `instrument_parameters`.
|
|
61
|
-
- `max_profile_points` controls response sampling. Use small values for smoke
|
|
62
|
-
tests and larger values for profile comparison.
|
|
63
|
-
- Older deployed gateway images may require `max_profile_points >= 10`.
|
|
64
|
-
|
|
65
|
-
## Powder Refinement
|
|
66
|
-
|
|
67
|
-
Operation: `powder-refine`.
|
|
68
|
-
|
|
69
|
-
```json
|
|
70
|
-
{
|
|
71
|
-
"powder_data": "<two-column or three-column powder data text>",
|
|
72
|
-
"powder_format": "xy",
|
|
73
|
-
"instrument_parameters": "<GSAS-II instrument parameter text>",
|
|
74
|
-
"phases": [
|
|
75
|
-
{"name": "phase", "cif": "<CIF text>"}
|
|
76
|
-
],
|
|
77
|
-
"refinement_mode": "rietveld",
|
|
78
|
-
"refinement_steps": [],
|
|
79
|
-
"max_cycles": 3,
|
|
80
|
-
"histogram_name": "powder",
|
|
81
|
-
"include_profile": true,
|
|
82
|
-
"max_profile_points": 1000,
|
|
83
|
-
"include_reflections": true,
|
|
84
|
-
"max_reflections": 1000,
|
|
85
|
-
"return_refined_cif": false,
|
|
86
|
-
"return_project": false
|
|
87
|
-
}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Supported `powder_format` values: `xy`, `xye`, `fxye`, `gsas`, and `csv`.
|
|
91
|
-
|
|
92
|
-
`refinement_mode: "rietveld"` is currently implemented. `pawley` and `lebail`
|
|
93
|
-
return a clear not-implemented response until the service wires the
|
|
94
|
-
mode-specific GSAS-II setup.
|
|
95
|
-
|
|
96
|
-
The response includes fit `residuals` when available, phase summaries, sampled
|
|
97
|
-
profile points, bounded `reflections`, warnings, optional `refined_cif`, and
|
|
98
|
-
the optional `.gpx` project.
|
|
99
|
-
|
|
100
|
-
Notes:
|
|
101
|
-
|
|
102
|
-
- Use `xy` for simple whitespace-delimited `x y` rows, `xye` for `x y esd`,
|
|
103
|
-
`csv` for numeric comma-separated rows, or `gsas`/`fxye` for GSAS-like powder
|
|
104
|
-
formats.
|
|
105
|
-
- `max_cycles: 0` is useful for project-construction smoke tests. Increase it
|
|
106
|
-
only when the powder data, phase model, instrument file, and refinement steps
|
|
107
|
-
are realistic.
|
|
108
|
-
- `refinement_steps` is passed to `G2Project.do_refinements`. Keep recipes
|
|
109
|
-
incremental and inspect `warnings`, `residuals`, and `lst` output.
|
|
110
|
-
- Refinement may return `valid: false` with partial phase/profile information
|
|
111
|
-
if GSAS-II constructed the project but a refinement step failed.
|
|
112
|
-
|
|
113
|
-
## Cross-tool hand-off
|
|
114
|
-
|
|
115
|
-
Complete structure conversion, diffraction simulation and refinement step by step through the
|
|
116
|
-
CLI within this Skill: `pymatgen structure-convert -> gsasii powder-simulate/powder-refine`.
|
|
117
|
-
Use downstream only the structure text or profile from the preceding successful business response;
|
|
118
|
-
do not run local scripts or call the service directly.
|
|
1
|
+
# GSAS-II reference
|
|
2
|
+
|
|
3
|
+
Make all calls with `delta-cli science invoke`. Simulation requires a real CIF; refinement
|
|
4
|
+
requires real powder data, instrument parameters and phase CIFs. Never fill in a failed result
|
|
5
|
+
with synthetic data. If the input is not a CIF, first use a successful pymatgen
|
|
6
|
+
`structure-convert` result from the current task.
|
|
7
|
+
|
|
8
|
+
## Health
|
|
9
|
+
|
|
10
|
+
Operation: `health`; no request body.
|
|
11
|
+
|
|
12
|
+
Key response fields in `data`: `status`, `service`, `gsasii_available`,
|
|
13
|
+
`metadata`, and `limits`.
|
|
14
|
+
|
|
15
|
+
Call this only when the user explicitly asks for a health check; do not add a health call automatically before simulation or refinement.
|
|
16
|
+
|
|
17
|
+
## Powder Simulation
|
|
18
|
+
|
|
19
|
+
Operation: `powder-simulate`.
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"cif": "<CIF text>",
|
|
24
|
+
"phase_name": "phase",
|
|
25
|
+
"instrument_parameters": "<GSAS-II instrument parameter text>",
|
|
26
|
+
"histogram_name": "simulation",
|
|
27
|
+
"t_min": 10.0,
|
|
28
|
+
"t_max": 80.0,
|
|
29
|
+
"t_step": 0.02,
|
|
30
|
+
"include_profile": true,
|
|
31
|
+
"max_profile_points": 1000,
|
|
32
|
+
"include_reflections": true,
|
|
33
|
+
"max_reflections": 1000,
|
|
34
|
+
"return_refined_cif": false,
|
|
35
|
+
"return_project": false
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Use either `t_step` or `n_points`, not both. Optional fields include
|
|
40
|
+
`wavelength`, `radiation`, `scale`, `include_profile`, `max_profile_points`,
|
|
41
|
+
`include_reflections`, `max_reflections`, `return_refined_cif`, and
|
|
42
|
+
`return_project`.
|
|
43
|
+
|
|
44
|
+
The response includes `profile` points with `x`, `y_calc`, optional background,
|
|
45
|
+
bounded `reflections` with hkl/d-spacing/2theta where available, and metadata.
|
|
46
|
+
If `return_project` is true, `project_base64` contains the GSAS-II `.gpx`
|
|
47
|
+
project. If `return_refined_cif` is true, `refined_cif` contains exported CIF
|
|
48
|
+
text for pymatgen handoff when GSAS-II supports export for the phase.
|
|
49
|
+
|
|
50
|
+
Notes:
|
|
51
|
+
|
|
52
|
+
- `cif` should be valid CIF text. If the input is POSCAR/JSON/CSSR/XSF, use
|
|
53
|
+
pymatgen `structure-convert` first with `output_format: "cif"`.
|
|
54
|
+
- `instrument_parameters` should be GSAS-II instrument parameter text such as
|
|
55
|
+
`INST_XRY.PRM` when instrument-specific simulation is needed.
|
|
56
|
+
- For quick simulation only, `instrument_parameters` may be omitted. The service
|
|
57
|
+
then generates a simple CW X-ray instrument model from `wavelength` or
|
|
58
|
+
`radiation` (`CuKa` by default; also supports aliases such as `MoKa`, `CoKa`,
|
|
59
|
+
`CrKa`, and explicit numeric wavelength).
|
|
60
|
+
- Refinement still requires real `instrument_parameters`.
|
|
61
|
+
- `max_profile_points` controls response sampling. Use small values for smoke
|
|
62
|
+
tests and larger values for profile comparison.
|
|
63
|
+
- Older deployed gateway images may require `max_profile_points >= 10`.
|
|
64
|
+
|
|
65
|
+
## Powder Refinement
|
|
66
|
+
|
|
67
|
+
Operation: `powder-refine`.
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"powder_data": "<two-column or three-column powder data text>",
|
|
72
|
+
"powder_format": "xy",
|
|
73
|
+
"instrument_parameters": "<GSAS-II instrument parameter text>",
|
|
74
|
+
"phases": [
|
|
75
|
+
{"name": "phase", "cif": "<CIF text>"}
|
|
76
|
+
],
|
|
77
|
+
"refinement_mode": "rietveld",
|
|
78
|
+
"refinement_steps": [],
|
|
79
|
+
"max_cycles": 3,
|
|
80
|
+
"histogram_name": "powder",
|
|
81
|
+
"include_profile": true,
|
|
82
|
+
"max_profile_points": 1000,
|
|
83
|
+
"include_reflections": true,
|
|
84
|
+
"max_reflections": 1000,
|
|
85
|
+
"return_refined_cif": false,
|
|
86
|
+
"return_project": false
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Supported `powder_format` values: `xy`, `xye`, `fxye`, `gsas`, and `csv`.
|
|
91
|
+
|
|
92
|
+
`refinement_mode: "rietveld"` is currently implemented. `pawley` and `lebail`
|
|
93
|
+
return a clear not-implemented response until the service wires the
|
|
94
|
+
mode-specific GSAS-II setup.
|
|
95
|
+
|
|
96
|
+
The response includes fit `residuals` when available, phase summaries, sampled
|
|
97
|
+
profile points, bounded `reflections`, warnings, optional `refined_cif`, and
|
|
98
|
+
the optional `.gpx` project.
|
|
99
|
+
|
|
100
|
+
Notes:
|
|
101
|
+
|
|
102
|
+
- Use `xy` for simple whitespace-delimited `x y` rows, `xye` for `x y esd`,
|
|
103
|
+
`csv` for numeric comma-separated rows, or `gsas`/`fxye` for GSAS-like powder
|
|
104
|
+
formats.
|
|
105
|
+
- `max_cycles: 0` is useful for project-construction smoke tests. Increase it
|
|
106
|
+
only when the powder data, phase model, instrument file, and refinement steps
|
|
107
|
+
are realistic.
|
|
108
|
+
- `refinement_steps` is passed to `G2Project.do_refinements`. Keep recipes
|
|
109
|
+
incremental and inspect `warnings`, `residuals`, and `lst` output.
|
|
110
|
+
- Refinement may return `valid: false` with partial phase/profile information
|
|
111
|
+
if GSAS-II constructed the project but a refinement step failed.
|
|
112
|
+
|
|
113
|
+
## Cross-tool hand-off
|
|
114
|
+
|
|
115
|
+
Complete structure conversion, diffraction simulation and refinement step by step through the
|
|
116
|
+
CLI within this Skill: `pymatgen structure-convert -> gsasii powder-simulate/powder-refine`.
|
|
117
|
+
Use downstream only the structure text or profile from the preceding successful business response;
|
|
118
|
+
do not run local scripts or call the service directly.
|