@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.
Files changed (77) hide show
  1. package/README.md +507 -520
  2. package/checksums.txt +5 -5
  3. package/package.json +1 -1
  4. package/scripts/install-wizard.js +689 -688
  5. package/scripts/install.js +442 -442
  6. package/scripts/run.js +65 -65
  7. package/skills/delta-protein/AGENTS.md +72 -72
  8. package/skills/delta-protein/SKILL.md +388 -388
  9. package/skills/delta-protein/agents/openai.yaml +3 -3
  10. package/skills/delta-protein/references/bfitter.md +63 -63
  11. package/skills/delta-protein/references/catapro_predict.md +62 -62
  12. package/skills/delta-protein/references/catpred_predict.md +64 -64
  13. package/skills/delta-protein/references/caver_tunnel_analyze.md +62 -62
  14. package/skills/delta-protein/references/consensus_mutation.md +60 -60
  15. package/skills/delta-protein/references/consurf_predict.md +66 -66
  16. package/skills/delta-protein/references/crop_sequence.md +68 -68
  17. package/skills/delta-protein/references/dock.md +81 -81
  18. package/skills/delta-protein/references/dock_score.md +69 -69
  19. package/skills/delta-protein/references/easifa_predict_active_site.md +69 -69
  20. package/skills/delta-protein/references/ephod_predict_mutation.md +65 -65
  21. package/skills/delta-protein/references/ephod_predict_protein.md +60 -60
  22. package/skills/delta-protein/references/esmfold2_predict.md +66 -66
  23. package/skills/delta-protein/references/evcouplings_mutation.md +63 -63
  24. package/skills/delta-protein/references/fasta_to_sequence.md +58 -58
  25. package/skills/delta-protein/references/foldseek.md +60 -60
  26. package/skills/delta-protein/references/generate_msa.md +60 -60
  27. package/skills/delta-protein/references/interpro_analyze.md +62 -62
  28. package/skills/delta-protein/references/mpnn_design_sequence.md +70 -70
  29. package/skills/delta-protein/references/multievolve.md +72 -72
  30. package/skills/delta-protein/references/pisa_query.md +69 -69
  31. package/skills/delta-protein/references/plip_analyze.md +64 -64
  32. package/skills/delta-protein/references/pocket_prediction.md +62 -62
  33. package/skills/delta-protein/references/protein_design.md +64 -64
  34. package/skills/delta-protein/references/protein_evolution.md +76 -76
  35. package/skills/delta-protein/references/protein_sol_predict_mutation.md +65 -65
  36. package/skills/delta-protein/references/protein_sol_predict_protein.md +60 -60
  37. package/skills/delta-protein/references/protenix.md +65 -65
  38. package/skills/delta-protein/references/protrek_search.md +89 -89
  39. package/skills/delta-protein/references/pubchem_search.md +67 -67
  40. package/skills/delta-protein/references/pubmed_search.md +78 -78
  41. package/skills/delta-protein/references/reap_design_primer.md +68 -68
  42. package/skills/delta-protein/references/rfd3_design.md +64 -64
  43. package/skills/delta-protein/references/structure_to_sequence.md +60 -60
  44. package/skills/delta-protein/references/summarize_result.md +67 -67
  45. package/skills/delta-protein/references/surface_charge.md +83 -83
  46. package/skills/delta-protein/references/uniprot_batch_query.md +62 -62
  47. package/skills/delta-protein/references/uniprot_query.md +63 -63
  48. package/skills/delta-protein/references/zero_shot_mutant_candidates.md +75 -75
  49. package/skills/delta-protein/scripts/gen_references.py +166 -166
  50. package/skills/delta-protein/scripts/output_metadata.json +274 -274
  51. package/skills/delta-sandbox/SKILL.md +388 -388
  52. package/skills/delta-sandbox/agents/openai.yaml +4 -4
  53. package/skills/delta-sandbox/references/commands.md +58 -58
  54. package/skills/delta-sandbox/references/lifecycle.md +100 -100
  55. package/skills/delta-sandbox/references/recipes.md +138 -138
  56. package/skills/delta-science/AGENTS.md +47 -47
  57. package/skills/delta-science/SKILL.md +227 -227
  58. package/skills/delta-science/agents/openai.yaml +4 -4
  59. package/skills/delta-science/references/antbo.md +105 -105
  60. package/skills/delta-science/references/delta-bo.md +92 -92
  61. package/skills/delta-science/references/gsasii.md +118 -118
  62. package/skills/delta-science/references/lammps.md +68 -68
  63. package/skills/delta-science/references/ldm-bo.md +132 -132
  64. package/skills/delta-science/references/materials-design.md +130 -130
  65. package/skills/delta-science/references/pubchem.md +128 -128
  66. package/skills/delta-science/references/pymatgen.md +69 -69
  67. package/skills/delta-science/references/qe.md +134 -134
  68. package/skills/delta-science/references/rdkit.md +141 -141
  69. package/skills/delta-science/references/strbo.md +95 -95
  70. package/skills/delta-science/references/synbo.md +201 -201
  71. package/skills/delta-science/references/xrd.md +154 -170
  72. package/skills/delta-science/scripts/catalog.py +92 -92
  73. package/skills/delta-science/scripts/generated_catalog.py +69 -69
  74. package/skills/delta-science/scripts/invoke.py +346 -346
  75. package/skills/delta-shared/SKILL.md +113 -113
  76. package/skills/delta-shared/agents/openai.yaml +4 -4
  77. package/skills/manifest.json +20 -20
@@ -1,61 +1,61 @@
1
- # PDB Sequence Extraction (`huada_protein_tools` / `structure_to_sequence`)
2
-
3
- This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
4
- called via `delta-cli science invoke`; the business response described below lives
5
- under the CLI top-level `data` — read fields as documented in this file, do not
6
- recursively search. This file only documents the endpoint schema; it does not
7
- authorize direct HTTP. Endpoint names are authoritative as returned by
8
- `delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
9
- guess, truncate, or alias.
10
-
11
- ## Overview
12
-
13
- Extract the protein sequence from a PDB/CIF structure file.
14
- - Required: `structure_file`
15
- - Optional: `chain` (A)
16
- - Output: extracted protein sequence `resultjson`
17
-
18
- ## Invocation
19
-
20
- ```text
21
- delta-cli science invoke --tool huada_protein_tools --endpoint structure_to_sequence --data JSON
22
- ```
23
-
24
- Required input groups (at least one per group; all groups must be satisfied):
25
-
26
- - `structure_file`
27
-
28
- Request fields:
29
-
30
- | Field | Description | Default |
31
- |---|---|---|
32
- | `structure_file` | PDB/CIF | - |
33
- | `chain` | Protein chain identifier, default A | A |
34
-
35
- ## Response
36
-
37
- - CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
38
- - Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
39
- - Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
40
- `delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
41
- do not treat file contents as ordinary JSON results.
42
-
43
- ## Output Projection
44
-
45
- > Verification status: derived from ToolSpec/agent templates; pending live calibration
46
-
47
- - Projection content: Protein sequence extracted from PDB/CIF
48
- - Presentation form: Sequence shown as inline code
49
- - Downstream reuse: sequence can be used as protein_sequence for downstream mutation/design/annotation endpoints (e.g. consensus_mutation, interpro_analyze)
50
- ## Output Template
51
-
52
- - Title: **Structure-to-sequence extraction result**
53
- - Lead with the conclusion: extracted protein sequence for chain=<chain> (length N aa)
54
- - Show the sequence as inline code; no download needed
55
-
56
- ## Boundaries & Failure Modes
57
-
58
- - File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
59
- - Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
60
- - Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
1
+ # PDB Sequence Extraction (`huada_protein_tools` / `structure_to_sequence`)
2
+
3
+ This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
4
+ called via `delta-cli science invoke`; the business response described below lives
5
+ under the CLI top-level `data` — read fields as documented in this file, do not
6
+ recursively search. This file only documents the endpoint schema; it does not
7
+ authorize direct HTTP. Endpoint names are authoritative as returned by
8
+ `delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
9
+ guess, truncate, or alias.
10
+
11
+ ## Overview
12
+
13
+ Extract the protein sequence from a PDB/CIF structure file.
14
+ - Required: `structure_file`
15
+ - Optional: `chain` (A)
16
+ - Output: extracted protein sequence `resultjson`
17
+
18
+ ## Invocation
19
+
20
+ ```text
21
+ delta-cli science invoke --tool huada_protein_tools --endpoint structure_to_sequence --data JSON
22
+ ```
23
+
24
+ Required input groups (at least one per group; all groups must be satisfied):
25
+
26
+ - `structure_file`
27
+
28
+ Request fields:
29
+
30
+ | Field | Description | Default |
31
+ |---|---|---|
32
+ | `structure_file` | PDB/CIF | - |
33
+ | `chain` | Protein chain identifier, default A | A |
34
+
35
+ ## Response
36
+
37
+ - CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
38
+ - Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
39
+ - Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
40
+ `delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
41
+ do not treat file contents as ordinary JSON results.
42
+
43
+ ## Output Projection
44
+
45
+ > Verification status: derived from ToolSpec/agent templates; pending live calibration
46
+
47
+ - Projection content: Protein sequence extracted from PDB/CIF
48
+ - Presentation form: Sequence shown as inline code
49
+ - Downstream reuse: sequence can be used as protein_sequence for downstream mutation/design/annotation endpoints (e.g. consensus_mutation, interpro_analyze)
50
+ ## Output Template
51
+
52
+ - Title: **Structure-to-sequence extraction result**
53
+ - Lead with the conclusion: extracted protein sequence for chain=<chain> (length N aa)
54
+ - Show the sequence as inline code; no download needed
55
+
56
+ ## Boundaries & Failure Modes
57
+
58
+ - File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
59
+ - Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
60
+ - Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
61
61
  - On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
@@ -1,68 +1,68 @@
1
- # Multi-model Result Summary (`huada_protein_tools` / `summarize_result`)
2
-
3
- This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
4
- called via `delta-cli science invoke`; the business response described below lives
5
- under the CLI top-level `data` — read fields as documented in this file, do not
6
- recursively search. This file only documents the endpoint schema; it does not
7
- authorize direct HTTP. Endpoint names are authoritative as returned by
8
- `delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
9
- guess, truncate, or alias.
10
-
11
- ## Overview
12
-
13
- Summarize multi-model zero-shot prediction results as the final step of the
14
- mutation-prediction flow.
15
- - Required: `result_files` (list of paths to multiple prediction result files)
16
- - Optional: `protein_sequence`, `topk` (10)
17
- - Output: summarized ranking `download_url`
18
-
19
- ## Invocation
20
-
21
- ```text
22
- delta-cli science invoke --tool huada_protein_tools --endpoint summarize_result --data JSON
23
- ```
24
-
25
- Required input groups (at least one per group; all groups must be satisfied):
26
-
27
- - `result_files`
28
-
29
- Server-side default parameters:
30
-
31
- - `topk` = `10`
32
-
33
- Request fields:
34
-
35
- | Field | Description | Default |
36
- |---|---|---|
37
- | `result_files` | URL list of result files from previous steps | [] |
38
- | `protein_sequence` | | - |
39
- | `topk` | Return the top k results, default 10 | 10 |
40
-
41
- ## Response
42
-
43
- - CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
44
- - Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
45
- - Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
46
- `delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
47
- do not treat file contents as ordinary JSON results.
48
-
49
- ## Output Projection
50
-
51
- > Verification status: derived from ToolSpec/agent templates; pending live calibration
52
-
53
- - Projection content: Multi-model summarized ranking (topk) with all rows retained; restated as a table with the tool's original fields, prompting download of the full file when too long
54
- - Presentation form: Full Markdown table (≤100 rows); better for filtering/sorting
55
- - Downstream reuse: final step of the mutation-prediction chain (terminal)
56
- ## Output Template
57
-
58
- - Title: **Multi-model result summary**
59
- - Show the full summary table (≤100 rows, no truncation), column names restated in natural language
60
- - Lead with the conclusion: positions where models agree/disagree; base final recommendations on the summary rather than restating single-model raw tables
61
- - When more than 100 rows, prompt downloading the full file
62
-
63
- ## Boundaries & Failure Modes
64
-
65
- - File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
66
- - Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
67
- - Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
1
+ # Multi-model Result Summary (`huada_protein_tools` / `summarize_result`)
2
+
3
+ This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
4
+ called via `delta-cli science invoke`; the business response described below lives
5
+ under the CLI top-level `data` — read fields as documented in this file, do not
6
+ recursively search. This file only documents the endpoint schema; it does not
7
+ authorize direct HTTP. Endpoint names are authoritative as returned by
8
+ `delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
9
+ guess, truncate, or alias.
10
+
11
+ ## Overview
12
+
13
+ Summarize multi-model zero-shot prediction results as the final step of the
14
+ mutation-prediction flow.
15
+ - Required: `result_files` (list of paths to multiple prediction result files)
16
+ - Optional: `protein_sequence`, `topk` (10)
17
+ - Output: summarized ranking `download_url`
18
+
19
+ ## Invocation
20
+
21
+ ```text
22
+ delta-cli science invoke --tool huada_protein_tools --endpoint summarize_result --data JSON
23
+ ```
24
+
25
+ Required input groups (at least one per group; all groups must be satisfied):
26
+
27
+ - `result_files`
28
+
29
+ Server-side default parameters:
30
+
31
+ - `topk` = `10`
32
+
33
+ Request fields:
34
+
35
+ | Field | Description | Default |
36
+ |---|---|---|
37
+ | `result_files` | URL list of result files from previous steps | [] |
38
+ | `protein_sequence` | | - |
39
+ | `topk` | Return the top k results, default 10 | 10 |
40
+
41
+ ## Response
42
+
43
+ - CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
44
+ - Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
45
+ - Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
46
+ `delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
47
+ do not treat file contents as ordinary JSON results.
48
+
49
+ ## Output Projection
50
+
51
+ > Verification status: derived from ToolSpec/agent templates; pending live calibration
52
+
53
+ - Projection content: Multi-model summarized ranking (topk) with all rows retained; restated as a table with the tool's original fields, prompting download of the full file when too long
54
+ - Presentation form: Full Markdown table (≤100 rows); better for filtering/sorting
55
+ - Downstream reuse: final step of the mutation-prediction chain (terminal)
56
+ ## Output Template
57
+
58
+ - Title: **Multi-model result summary**
59
+ - Show the full summary table (≤100 rows, no truncation), column names restated in natural language
60
+ - Lead with the conclusion: positions where models agree/disagree; base final recommendations on the summary rather than restating single-model raw tables
61
+ - When more than 100 rows, prompt downloading the full file
62
+
63
+ ## Boundaries & Failure Modes
64
+
65
+ - File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
66
+ - Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
67
+ - Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
68
68
  - On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
@@ -1,84 +1,84 @@
1
- # Surface Residue Charge Analysis (`huada_protein_tools` / `surface_charge`)
2
-
3
- This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
4
- called via `delta-cli science invoke`; the business response described below lives
5
- under the CLI top-level `data` — read fields as documented in this file, do not
6
- recursively search. This file only documents the endpoint schema; it does not
7
- authorize direct HTTP. Endpoint names are authoritative as returned by
8
- `delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
9
- guess, truncate, or alias.
10
-
11
- ## Overview
12
-
13
- Analyze protein surface residue charges with ProCaliper + APBS.
14
- - Required: `structure_file` (.pdb/.cif/.ent)
15
- - Optional: `pH` (default 7.4), `forcefield` (default PARSE), `chain_ids` (e.g. 'A,B'),
16
- `sasa_threshold` (default 20.0 Ų), `potential_threshold` (default 1.0 kT/e), `precision` (standard/high)
17
- - ProCaliper computes SASA + PROPKA pKa to determine surface/buried status and charge type; pH affects PDB2PQR protonation (APBS) and charge-type determination
18
- - APBS solves the electrostatic potential .dx grid → maps it back to surface residues, identifying charge patches
19
- - Use case: analyze protein surface electrostatic properties, identify charge patches, assist binding-interface analysis
20
-
21
- This endpoint's `resultjson` is a flat structure (tested, not an analysis/visualization wrapper):
22
-
23
- - `negative_surface` / `positive_surface` / `net_surface_charge`: negative/positive/net charge residue counts
24
- - `patch_count` / `patches[]`: charge patches (non-empty only when APBS is available)
25
- - `residues[]`: per residue `chain` / `res3` / `seq` / `sasa` / `pka` / `charge_type` /
26
- `is_surface` / `protonation_state` / `potential` / `potential_type` / `in_patch` / `patch_id`
27
- - `sasa_threshold` / `surface_residues`: surface-determination threshold and surface residue count
28
- - `pdb2pqr{pka_df[]}`: PROPKA pKa details; `procaliper{sasa, titration}`: SASA and titration state
29
- - `apbs{status, message}`: electrostatic-potential solving status. When APBS is unavailable the overall
30
- `status` is `partial`, `message` notes the reason (e.g. `APBS executable 'apbs' not found. Set APBS_BIN.`),
31
- `potential` is null and `patch_count=0`; in that case report only the ProCaliper charge results and do
32
- not misreport it as a call failure
33
- - `download_url`: the electrostatic potential `.dx` grid download link when APBS is available
34
-
35
- ## Invocation
36
-
37
- ```text
38
- delta-cli science invoke --tool huada_protein_tools --endpoint surface_charge --data JSON
39
- ```
40
-
41
- Required input groups (at least one per group; all groups must be satisfied):
42
-
43
- - `structure_file`
44
-
45
- Request fields:
46
-
47
- | Field | Description | Default |
48
- |---|---|---|
49
- | `structure_file` | PDB/CIF | - |
50
- | `pH` | pH value; affects APBS protonation and residue charge-type determination | 7.4 |
51
- | `forcefield` | PDB2PQR forcefield | PARSE |
52
- | `chain_ids` | Select chains in multi-chain structures, e.g. A,B; default all chains | - |
53
- | `sasa_threshold` | Surface residue SASA threshold (Ų) | 20.0 |
54
- | `potential_threshold` | Potential polarity threshold (kT/e) | 1.0 |
55
- | `precision` | Grid precision: standard / high | standard |
56
-
57
- ## Response
58
-
59
- - CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
60
- - Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
61
- - Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
62
- `delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
63
- do not treat file contents as ordinary JSON results.
64
-
65
- ## Output Projection
66
-
67
- > Verification status: verified by a real `delta-cli` invocation
68
-
69
- - Projection content: Charge summary: negative_surface / positive_surface / net_surface_charge / surface_residues / patch_count / patches; residues[] details (sasa/pka/charge_type/is_surface)
70
- - Presentation form: Text/table; when APBS is unavailable status=partial — report only ProCaliper results and explain why; download_url is the .dx grid (when APBS available)
71
- - Downstream reuse: -
72
- ## Output Template
73
-
74
- - Title: **Surface residue charge analysis result (ProCaliper + APBS)**
75
- - Lead with the conclusion: net charge (positive/negative/net_surface_charge), surface residue count, charge patch count
76
- - List key surface positive/negative-charge residues (with pKa/sasa)
77
- - When APBS is unavailable (status=partial) state plainly that electrostatics were not solved and report only ProCaliper results; add the .dx grid (if any) to the "Result files & downloads" section
78
-
79
- ## Boundaries & Failure Modes
80
-
81
- - File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
82
- - Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
83
- - Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
1
+ # Surface Residue Charge Analysis (`huada_protein_tools` / `surface_charge`)
2
+
3
+ This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
4
+ called via `delta-cli science invoke`; the business response described below lives
5
+ under the CLI top-level `data` — read fields as documented in this file, do not
6
+ recursively search. This file only documents the endpoint schema; it does not
7
+ authorize direct HTTP. Endpoint names are authoritative as returned by
8
+ `delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
9
+ guess, truncate, or alias.
10
+
11
+ ## Overview
12
+
13
+ Analyze protein surface residue charges with ProCaliper + APBS.
14
+ - Required: `structure_file` (.pdb/.cif/.ent)
15
+ - Optional: `pH` (default 7.4), `forcefield` (default PARSE), `chain_ids` (e.g. 'A,B'),
16
+ `sasa_threshold` (default 20.0 Ų), `potential_threshold` (default 1.0 kT/e), `precision` (standard/high)
17
+ - ProCaliper computes SASA + PROPKA pKa to determine surface/buried status and charge type; pH affects PDB2PQR protonation (APBS) and charge-type determination
18
+ - APBS solves the electrostatic potential .dx grid → maps it back to surface residues, identifying charge patches
19
+ - Use case: analyze protein surface electrostatic properties, identify charge patches, assist binding-interface analysis
20
+
21
+ This endpoint's `resultjson` is a flat structure (tested, not an analysis/visualization wrapper):
22
+
23
+ - `negative_surface` / `positive_surface` / `net_surface_charge`: negative/positive/net charge residue counts
24
+ - `patch_count` / `patches[]`: charge patches (non-empty only when APBS is available)
25
+ - `residues[]`: per residue `chain` / `res3` / `seq` / `sasa` / `pka` / `charge_type` /
26
+ `is_surface` / `protonation_state` / `potential` / `potential_type` / `in_patch` / `patch_id`
27
+ - `sasa_threshold` / `surface_residues`: surface-determination threshold and surface residue count
28
+ - `pdb2pqr{pka_df[]}`: PROPKA pKa details; `procaliper{sasa, titration}`: SASA and titration state
29
+ - `apbs{status, message}`: electrostatic-potential solving status. When APBS is unavailable the overall
30
+ `status` is `partial`, `message` notes the reason (e.g. `APBS executable 'apbs' not found. Set APBS_BIN.`),
31
+ `potential` is null and `patch_count=0`; in that case report only the ProCaliper charge results and do
32
+ not misreport it as a call failure
33
+ - `download_url`: the electrostatic potential `.dx` grid download link when APBS is available
34
+
35
+ ## Invocation
36
+
37
+ ```text
38
+ delta-cli science invoke --tool huada_protein_tools --endpoint surface_charge --data JSON
39
+ ```
40
+
41
+ Required input groups (at least one per group; all groups must be satisfied):
42
+
43
+ - `structure_file`
44
+
45
+ Request fields:
46
+
47
+ | Field | Description | Default |
48
+ |---|---|---|
49
+ | `structure_file` | PDB/CIF | - |
50
+ | `pH` | pH value; affects APBS protonation and residue charge-type determination | 7.4 |
51
+ | `forcefield` | PDB2PQR forcefield | PARSE |
52
+ | `chain_ids` | Select chains in multi-chain structures, e.g. A,B; default all chains | - |
53
+ | `sasa_threshold` | Surface residue SASA threshold (Ų) | 20.0 |
54
+ | `potential_threshold` | Potential polarity threshold (kT/e) | 1.0 |
55
+ | `precision` | Grid precision: standard / high | standard |
56
+
57
+ ## Response
58
+
59
+ - CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
60
+ - Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
61
+ - Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
62
+ `delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
63
+ do not treat file contents as ordinary JSON results.
64
+
65
+ ## Output Projection
66
+
67
+ > Verification status: verified by a real `delta-cli` invocation
68
+
69
+ - Projection content: Charge summary: negative_surface / positive_surface / net_surface_charge / surface_residues / patch_count / patches; residues[] details (sasa/pka/charge_type/is_surface)
70
+ - Presentation form: Text/table; when APBS is unavailable status=partial — report only ProCaliper results and explain why; download_url is the .dx grid (when APBS available)
71
+ - Downstream reuse: -
72
+ ## Output Template
73
+
74
+ - Title: **Surface residue charge analysis result (ProCaliper + APBS)**
75
+ - Lead with the conclusion: net charge (positive/negative/net_surface_charge), surface residue count, charge patch count
76
+ - List key surface positive/negative-charge residues (with pKa/sasa)
77
+ - When APBS is unavailable (status=partial) state plainly that electrostatics were not solved and report only ProCaliper results; add the .dx grid (if any) to the "Result files & downloads" section
78
+
79
+ ## Boundaries & Failure Modes
80
+
81
+ - File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
82
+ - Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
83
+ - Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
84
84
  - On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
@@ -1,63 +1,63 @@
1
- # UniProt Batch Query (`huada_protein_tools` / `uniprot_batch_query`)
2
-
3
- This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
4
- called via `delta-cli science invoke`; the business response described below lives
5
- under the CLI top-level `data` — read fields as documented in this file, do not
6
- recursively search. This file only documents the endpoint schema; it does not
7
- authorize direct HTTP. Endpoint names are authoritative as returned by
8
- `delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
9
- guess, truncate, or alias.
10
-
11
- ## Overview
12
-
13
- Batch query UniProt. Supports UniProtKB accessions, UniParc IDs, or keyword
14
- searches. Does not support direct text retrieval.
15
- - Input: List[str]
16
- - Output:
17
- - source: uniprotkb | uniparc
18
- - resultjson: {query_str: {uniprotkb/uniparc: ..., structure_links: [...], ...}, ...}
19
- - Use case: query metadata for multiple proteins at once
20
-
21
- ## Invocation
22
-
23
- ```text
24
- delta-cli science invoke --tool huada_protein_tools --endpoint uniprot_batch_query --data JSON
25
- ```
26
-
27
- Required input groups (at least one per group; all groups must be satisfied):
28
-
29
- - `query`
30
-
31
- Request fields:
32
-
33
- | Field | Description | Default |
34
- |---|---|---|
35
- | `query` | UniProt accession / UniParc ID list | - |
36
-
37
- ## Response
38
-
39
- - CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
40
- - Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
41
- - Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
42
- `delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
43
- do not treat file contents as ordinary JSON results.
44
-
45
- ## Output Projection
46
-
47
- > Verification status: derived from ToolSpec/agent templates; pending live calibration
48
-
49
- - Projection content: Metadata per query id (uniprotkb/uniparc, name, species, sequence length, structure_links)
50
- - Presentation form: Entry list/table for easy selection
51
- - Downstream reuse: sequence of the selected entry can be used as downstream input
52
- ## Output Template
53
-
54
- - Title: **UniProt candidate match result**
55
- - One row per candidate entry: Entry/protein name/species/sequence identity/sequence length (table or list)
56
- - Prompt the user to confirm the selection
57
-
58
- ## Boundaries & Failure Modes
59
-
60
- - File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
61
- - Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
62
- - Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
1
+ # UniProt Batch Query (`huada_protein_tools` / `uniprot_batch_query`)
2
+
3
+ This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
4
+ called via `delta-cli science invoke`; the business response described below lives
5
+ under the CLI top-level `data` — read fields as documented in this file, do not
6
+ recursively search. This file only documents the endpoint schema; it does not
7
+ authorize direct HTTP. Endpoint names are authoritative as returned by
8
+ `delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
9
+ guess, truncate, or alias.
10
+
11
+ ## Overview
12
+
13
+ Batch query UniProt. Supports UniProtKB accessions, UniParc IDs, or keyword
14
+ searches. Does not support direct text retrieval.
15
+ - Input: List[str]
16
+ - Output:
17
+ - source: uniprotkb | uniparc
18
+ - resultjson: {query_str: {uniprotkb/uniparc: ..., structure_links: [...], ...}, ...}
19
+ - Use case: query metadata for multiple proteins at once
20
+
21
+ ## Invocation
22
+
23
+ ```text
24
+ delta-cli science invoke --tool huada_protein_tools --endpoint uniprot_batch_query --data JSON
25
+ ```
26
+
27
+ Required input groups (at least one per group; all groups must be satisfied):
28
+
29
+ - `query`
30
+
31
+ Request fields:
32
+
33
+ | Field | Description | Default |
34
+ |---|---|---|
35
+ | `query` | UniProt accession / UniParc ID list | - |
36
+
37
+ ## Response
38
+
39
+ - CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
40
+ - Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
41
+ - Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
42
+ `delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
43
+ do not treat file contents as ordinary JSON results.
44
+
45
+ ## Output Projection
46
+
47
+ > Verification status: derived from ToolSpec/agent templates; pending live calibration
48
+
49
+ - Projection content: Metadata per query id (uniprotkb/uniparc, name, species, sequence length, structure_links)
50
+ - Presentation form: Entry list/table for easy selection
51
+ - Downstream reuse: sequence of the selected entry can be used as downstream input
52
+ ## Output Template
53
+
54
+ - Title: **UniProt candidate match result**
55
+ - One row per candidate entry: Entry/protein name/species/sequence identity/sequence length (table or list)
56
+ - Prompt the user to confirm the selection
57
+
58
+ ## Boundaries & Failure Modes
59
+
60
+ - File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
61
+ - Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
62
+ - Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
63
63
  - On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).