tooluniverse 0.1.4__py3-none-any.whl → 1.0.0__py3-none-any.whl

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.

Potentially problematic release.


This version of tooluniverse might be problematic. Click here for more details.

Files changed (187) hide show
  1. tooluniverse/__init__.py +340 -4
  2. tooluniverse/admetai_tool.py +84 -0
  3. tooluniverse/agentic_tool.py +563 -0
  4. tooluniverse/alphafold_tool.py +96 -0
  5. tooluniverse/base_tool.py +129 -6
  6. tooluniverse/boltz_tool.py +207 -0
  7. tooluniverse/chem_tool.py +192 -0
  8. tooluniverse/compose_scripts/__init__.py +1 -0
  9. tooluniverse/compose_scripts/biomarker_discovery.py +293 -0
  10. tooluniverse/compose_scripts/comprehensive_drug_discovery.py +186 -0
  11. tooluniverse/compose_scripts/drug_safety_analyzer.py +89 -0
  12. tooluniverse/compose_scripts/literature_tool.py +34 -0
  13. tooluniverse/compose_scripts/output_summarizer.py +279 -0
  14. tooluniverse/compose_scripts/tool_description_optimizer.py +681 -0
  15. tooluniverse/compose_scripts/tool_discover.py +705 -0
  16. tooluniverse/compose_scripts/tool_graph_composer.py +448 -0
  17. tooluniverse/compose_tool.py +371 -0
  18. tooluniverse/ctg_tool.py +1002 -0
  19. tooluniverse/custom_tool.py +81 -0
  20. tooluniverse/dailymed_tool.py +108 -0
  21. tooluniverse/data/admetai_tools.json +155 -0
  22. tooluniverse/data/agentic_tools.json +1156 -0
  23. tooluniverse/data/alphafold_tools.json +87 -0
  24. tooluniverse/data/boltz_tools.json +9 -0
  25. tooluniverse/data/chembl_tools.json +16 -0
  26. tooluniverse/data/clait_tools.json +108 -0
  27. tooluniverse/data/clinicaltrials_gov_tools.json +326 -0
  28. tooluniverse/data/compose_tools.json +202 -0
  29. tooluniverse/data/dailymed_tools.json +70 -0
  30. tooluniverse/data/dataset_tools.json +646 -0
  31. tooluniverse/data/disease_target_score_tools.json +712 -0
  32. tooluniverse/data/efo_tools.json +17 -0
  33. tooluniverse/data/embedding_tools.json +319 -0
  34. tooluniverse/data/enrichr_tools.json +31 -0
  35. tooluniverse/data/europe_pmc_tools.json +22 -0
  36. tooluniverse/data/expert_feedback_tools.json +10 -0
  37. tooluniverse/data/fda_drug_adverse_event_tools.json +491 -0
  38. tooluniverse/data/fda_drug_labeling_tools.json +544 -168
  39. tooluniverse/data/fda_drugs_with_brand_generic_names_for_tool.py +76929 -148860
  40. tooluniverse/data/finder_tools.json +209 -0
  41. tooluniverse/data/gene_ontology_tools.json +113 -0
  42. tooluniverse/data/gwas_tools.json +1082 -0
  43. tooluniverse/data/hpa_tools.json +333 -0
  44. tooluniverse/data/humanbase_tools.json +47 -0
  45. tooluniverse/data/idmap_tools.json +74 -0
  46. tooluniverse/data/mcp_client_tools_example.json +113 -0
  47. tooluniverse/data/mcpautoloadertool_defaults.json +28 -0
  48. tooluniverse/data/medlineplus_tools.json +141 -0
  49. tooluniverse/data/monarch_tools.json +1 -1
  50. tooluniverse/data/openalex_tools.json +36 -0
  51. tooluniverse/data/opentarget_tools.json +82 -58
  52. tooluniverse/data/output_summarization_tools.json +101 -0
  53. tooluniverse/data/packages/bioinformatics_core_tools.json +1756 -0
  54. tooluniverse/data/packages/categorized_tools.txt +206 -0
  55. tooluniverse/data/packages/cheminformatics_tools.json +347 -0
  56. tooluniverse/data/packages/earth_sciences_tools.json +74 -0
  57. tooluniverse/data/packages/genomics_tools.json +776 -0
  58. tooluniverse/data/packages/image_processing_tools.json +38 -0
  59. tooluniverse/data/packages/machine_learning_tools.json +789 -0
  60. tooluniverse/data/packages/neuroscience_tools.json +62 -0
  61. tooluniverse/data/packages/original_tools.txt +0 -0
  62. tooluniverse/data/packages/physics_astronomy_tools.json +62 -0
  63. tooluniverse/data/packages/scientific_computing_tools.json +560 -0
  64. tooluniverse/data/packages/single_cell_tools.json +453 -0
  65. tooluniverse/data/packages/software_tools.json +4954 -0
  66. tooluniverse/data/packages/structural_biology_tools.json +396 -0
  67. tooluniverse/data/packages/visualization_tools.json +399 -0
  68. tooluniverse/data/pubchem_tools.json +215 -0
  69. tooluniverse/data/pubtator_tools.json +68 -0
  70. tooluniverse/data/rcsb_pdb_tools.json +1332 -0
  71. tooluniverse/data/reactome_tools.json +19 -0
  72. tooluniverse/data/semantic_scholar_tools.json +26 -0
  73. tooluniverse/data/special_tools.json +2 -25
  74. tooluniverse/data/tool_composition_tools.json +88 -0
  75. tooluniverse/data/toolfinderkeyword_defaults.json +34 -0
  76. tooluniverse/data/txagent_client_tools.json +9 -0
  77. tooluniverse/data/uniprot_tools.json +211 -0
  78. tooluniverse/data/url_fetch_tools.json +94 -0
  79. tooluniverse/data/uspto_downloader_tools.json +9 -0
  80. tooluniverse/data/uspto_tools.json +811 -0
  81. tooluniverse/data/xml_tools.json +3275 -0
  82. tooluniverse/dataset_tool.py +296 -0
  83. tooluniverse/default_config.py +165 -0
  84. tooluniverse/efo_tool.py +42 -0
  85. tooluniverse/embedding_database.py +630 -0
  86. tooluniverse/embedding_sync.py +396 -0
  87. tooluniverse/enrichr_tool.py +266 -0
  88. tooluniverse/europe_pmc_tool.py +52 -0
  89. tooluniverse/execute_function.py +1775 -95
  90. tooluniverse/extended_hooks.py +444 -0
  91. tooluniverse/gene_ontology_tool.py +194 -0
  92. tooluniverse/graphql_tool.py +158 -36
  93. tooluniverse/gwas_tool.py +358 -0
  94. tooluniverse/hpa_tool.py +1645 -0
  95. tooluniverse/humanbase_tool.py +389 -0
  96. tooluniverse/logging_config.py +254 -0
  97. tooluniverse/mcp_client_tool.py +764 -0
  98. tooluniverse/mcp_integration.py +413 -0
  99. tooluniverse/mcp_tool_registry.py +925 -0
  100. tooluniverse/medlineplus_tool.py +337 -0
  101. tooluniverse/openalex_tool.py +228 -0
  102. tooluniverse/openfda_adv_tool.py +283 -0
  103. tooluniverse/openfda_tool.py +393 -160
  104. tooluniverse/output_hook.py +1122 -0
  105. tooluniverse/package_tool.py +195 -0
  106. tooluniverse/pubchem_tool.py +158 -0
  107. tooluniverse/pubtator_tool.py +168 -0
  108. tooluniverse/rcsb_pdb_tool.py +38 -0
  109. tooluniverse/reactome_tool.py +108 -0
  110. tooluniverse/remote/boltz/boltz_mcp_server.py +50 -0
  111. tooluniverse/remote/depmap_24q2/depmap_24q2_mcp_tool.py +442 -0
  112. tooluniverse/remote/expert_feedback/human_expert_mcp_tools.py +2013 -0
  113. tooluniverse/remote/expert_feedback/simple_test.py +23 -0
  114. tooluniverse/remote/expert_feedback/start_web_interface.py +188 -0
  115. tooluniverse/remote/expert_feedback/web_only_interface.py +0 -0
  116. tooluniverse/remote/expert_feedback_mcp/human_expert_mcp_server.py +1611 -0
  117. tooluniverse/remote/expert_feedback_mcp/simple_test.py +34 -0
  118. tooluniverse/remote/expert_feedback_mcp/start_web_interface.py +91 -0
  119. tooluniverse/remote/immune_compass/compass_tool.py +327 -0
  120. tooluniverse/remote/pinnacle/pinnacle_tool.py +328 -0
  121. tooluniverse/remote/transcriptformer/transcriptformer_tool.py +586 -0
  122. tooluniverse/remote/uspto_downloader/uspto_downloader_mcp_server.py +61 -0
  123. tooluniverse/remote/uspto_downloader/uspto_downloader_tool.py +120 -0
  124. tooluniverse/remote_tool.py +99 -0
  125. tooluniverse/restful_tool.py +53 -30
  126. tooluniverse/scripts/generate_tool_graph.py +408 -0
  127. tooluniverse/scripts/visualize_tool_graph.py +829 -0
  128. tooluniverse/semantic_scholar_tool.py +62 -0
  129. tooluniverse/smcp.py +2452 -0
  130. tooluniverse/smcp_server.py +975 -0
  131. tooluniverse/test/mcp_server_test.py +0 -0
  132. tooluniverse/test/test_admetai_tool.py +370 -0
  133. tooluniverse/test/test_agentic_tool.py +129 -0
  134. tooluniverse/test/test_alphafold_tool.py +71 -0
  135. tooluniverse/test/test_chem_tool.py +37 -0
  136. tooluniverse/test/test_compose_lieraturereview.py +63 -0
  137. tooluniverse/test/test_compose_tool.py +448 -0
  138. tooluniverse/test/test_dailymed.py +69 -0
  139. tooluniverse/test/test_dataset_tool.py +200 -0
  140. tooluniverse/test/test_disease_target_score.py +56 -0
  141. tooluniverse/test/test_drugbank_filter_examples.py +179 -0
  142. tooluniverse/test/test_efo.py +31 -0
  143. tooluniverse/test/test_enrichr_tool.py +21 -0
  144. tooluniverse/test/test_europe_pmc_tool.py +20 -0
  145. tooluniverse/test/test_fda_adv.py +95 -0
  146. tooluniverse/test/test_fda_drug_labeling.py +91 -0
  147. tooluniverse/test/test_gene_ontology_tools.py +66 -0
  148. tooluniverse/test/test_gwas_tool.py +139 -0
  149. tooluniverse/test/test_hpa.py +625 -0
  150. tooluniverse/test/test_humanbase_tool.py +20 -0
  151. tooluniverse/test/test_idmap_tools.py +61 -0
  152. tooluniverse/test/test_mcp_server.py +211 -0
  153. tooluniverse/test/test_mcp_tool.py +247 -0
  154. tooluniverse/test/test_medlineplus.py +220 -0
  155. tooluniverse/test/test_openalex_tool.py +32 -0
  156. tooluniverse/test/test_opentargets.py +28 -0
  157. tooluniverse/test/test_pubchem_tool.py +116 -0
  158. tooluniverse/test/test_pubtator_tool.py +37 -0
  159. tooluniverse/test/test_rcsb_pdb_tool.py +86 -0
  160. tooluniverse/test/test_reactome.py +54 -0
  161. tooluniverse/test/test_semantic_scholar_tool.py +24 -0
  162. tooluniverse/test/test_software_tools.py +147 -0
  163. tooluniverse/test/test_tool_description_optimizer.py +49 -0
  164. tooluniverse/test/test_tool_finder.py +26 -0
  165. tooluniverse/test/test_tool_finder_llm.py +252 -0
  166. tooluniverse/test/test_tools_find.py +195 -0
  167. tooluniverse/test/test_uniprot_tools.py +74 -0
  168. tooluniverse/test/test_uspto_tool.py +72 -0
  169. tooluniverse/test/test_xml_tool.py +113 -0
  170. tooluniverse/tool_finder_embedding.py +267 -0
  171. tooluniverse/tool_finder_keyword.py +693 -0
  172. tooluniverse/tool_finder_llm.py +699 -0
  173. tooluniverse/tool_graph_web_ui.py +955 -0
  174. tooluniverse/tool_registry.py +416 -0
  175. tooluniverse/uniprot_tool.py +155 -0
  176. tooluniverse/url_tool.py +253 -0
  177. tooluniverse/uspto_tool.py +240 -0
  178. tooluniverse/utils.py +369 -41
  179. tooluniverse/xml_tool.py +369 -0
  180. tooluniverse-1.0.0.dist-info/METADATA +377 -0
  181. tooluniverse-1.0.0.dist-info/RECORD +186 -0
  182. {tooluniverse-0.1.4.dist-info → tooluniverse-1.0.0.dist-info}/WHEEL +1 -1
  183. tooluniverse-1.0.0.dist-info/entry_points.txt +9 -0
  184. tooluniverse-0.1.4.dist-info/METADATA +0 -141
  185. tooluniverse-0.1.4.dist-info/RECORD +0 -18
  186. {tooluniverse-0.1.4.dist-info → tooluniverse-1.0.0.dist-info}/licenses/LICENSE +0 -0
  187. {tooluniverse-0.1.4.dist-info → tooluniverse-1.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1332 @@
1
+ [
2
+ {
3
+ "name": "get_protein_metadata_by_pdb_id",
4
+ "description": "Retrieve basic protein structure metadata, including structure title, experimental method, resolution, and initial release date.",
5
+ "label": [
6
+ "Protein",
7
+ "Metadata",
8
+ "Structure",
9
+ "RCSB",
10
+ "entries"
11
+ ],
12
+ "type": "RCSBTool",
13
+ "input_type": "entries",
14
+ "parameter": {
15
+ "type": "object",
16
+ "properties": {
17
+ "pdb_id": {
18
+ "type": "string",
19
+ "description": "4-character RCSB PDB ID of the protein",
20
+ "required": true
21
+ }
22
+ }
23
+ },
24
+ "fields": {
25
+ "search_fields": {
26
+ "pdb_id": ["rcsb_id"]
27
+ },
28
+ "return_fields": [
29
+ "struct.title",
30
+ "exptl.method",
31
+ "rcsb_entry_info.resolution_combined",
32
+ "rcsb_accession_info.initial_release_date"
33
+ ]
34
+ },
35
+ "return_schema": {
36
+ "type": "object",
37
+ "properties": {
38
+ "data": {
39
+ "type": "object",
40
+ "properties": {
41
+ "entries": {
42
+ "type": "array",
43
+ "items": {
44
+ "type": "object",
45
+ "properties": {
46
+ "rcsb_id": {
47
+ "type": "string",
48
+ "description": "4-character PDB ID"
49
+ },
50
+ "struct": {
51
+ "type": "object",
52
+ "properties": {
53
+ "title": {
54
+ "type": "string",
55
+ "description": "Biomolecular structure title"
56
+ }
57
+ }
58
+ },
59
+ "exptl": {
60
+ "type": "array",
61
+ "items": {
62
+ "type": "object",
63
+ "properties": {
64
+ "method": {
65
+ "type": "string",
66
+ "description": "Experimental method used to obtain structure"
67
+ }
68
+ }
69
+ }
70
+ },
71
+ "rcsb_entry_info": {
72
+ "type": "object",
73
+ "properties": {
74
+ "resolution_combined": {
75
+ "type": "array",
76
+ "items": {
77
+ "type": "number"
78
+ },
79
+ "description": "Combined resolution values"
80
+ }
81
+ }
82
+ },
83
+ "rcsb_accession_info": {
84
+ "type": "object",
85
+ "properties": {
86
+ "initial_release_date": {
87
+ "type": "string",
88
+ "description": "Initial release date in ISO format"
89
+ }
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ },
100
+ {
101
+ "name": "get_polymer_entity_ids_by_pdb_id",
102
+ "description": "List polymer entity IDs for a given PDB ID. Useful for building further queries on individual polymer entities.",
103
+ "label": ["Protein", "Polymer", "Entity", "Chain", "RCSB"],
104
+ "type": "RCSBTool",
105
+ "input_type": "entry",
106
+ "parameter": {
107
+ "type": "object",
108
+ "properties": {
109
+ "pdb_id": {
110
+ "type": "string",
111
+ "description": "4-character RCSB PDB ID of the protein",
112
+ "required": true
113
+ }
114
+ }
115
+ },
116
+ "fields": {
117
+ "search_fields": {
118
+ "pdb_id": ["rcsb_id"]
119
+ },
120
+ "return_fields": [
121
+ "rcsb_entry_container_identifiers.polymer_entity_ids"
122
+ ]
123
+ },
124
+ "return_schema": {
125
+ "type": "object",
126
+ "properties": {
127
+ "data": {
128
+ "type": "object",
129
+ "properties": {
130
+ "entries": {
131
+ "type": "array",
132
+ "items": {
133
+ "type": "object",
134
+ "properties": {
135
+ "rcsb_id": {
136
+ "type": "string",
137
+ "description": "4-character PDB ID"
138
+ },
139
+ "rcsb_entry_container_identifiers": {
140
+ "type": "object",
141
+ "properties": {
142
+ "polymer_entity_ids": {
143
+ "type": "array",
144
+ "items": {
145
+ "type": "string"
146
+ },
147
+ "description": "List of polymer entity IDs"
148
+ }
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+ }
158
+ },
159
+ {
160
+ "name": "get_polymer_entity_type_by_entity_id",
161
+ "description": "Get the polymer entity type (e.g., Protein, DNA) using the polymer entity ID.",
162
+ "label": ["Polymer", "Entity", "Type", "RCSB", "polymer_entity"],
163
+ "input_type": "polymer_entity",
164
+ "type": "RCSBTool",
165
+ "parameter": {
166
+ "type": "object",
167
+ "properties": {
168
+ "entity_id": {
169
+ "type": "string",
170
+ "description": "Polymer entity ID like '1A8M_1'",
171
+ "required": true
172
+ }
173
+ }
174
+ },
175
+ "fields": {
176
+ "search_fields": {
177
+ "entity_id": ["entity_id"]
178
+ },
179
+ "return_fields": [
180
+ "rcsb_polymer_entity.pdbx_description",
181
+ "entity_poly.rcsb_entity_polymer_type"
182
+ ]
183
+ },
184
+ "return_schema": {
185
+ "type": "object",
186
+ "properties": {
187
+ "data": {
188
+ "type": "object",
189
+ "properties": {
190
+ "polymer_entities": {
191
+ "type": "array",
192
+ "items": {
193
+ "type": "object",
194
+ "description": "List of polymer entities",
195
+ "properties": {
196
+ "rcsb_id": {
197
+ "type": "string",
198
+ "description": "Polymer entity ID"
199
+ },
200
+ "rcsb_polymer_entity": {
201
+ "type": "object",
202
+ "properties": {
203
+ "pdbx_description": {
204
+ "type": "string",
205
+ "description": "Description of the polymer entity"
206
+ }
207
+ }
208
+ },
209
+ "entity_poly": {
210
+ "type": "object",
211
+ "properties": {
212
+ "rcsb_entity_polymer_type": {
213
+ "type": "string",
214
+ "description": "Type of polymer entity (e.g., Protein, DNA, RNA)"
215
+ }
216
+ }
217
+ }
218
+ }
219
+ }
220
+ }
221
+ }
222
+ }
223
+ }
224
+ }
225
+ },
226
+ {
227
+ "name": "get_source_organism_by_pdb_id",
228
+ "description": "Retrieve the scientific name of the source organism for a given PDB structure.",
229
+ "label": [
230
+ "Organism",
231
+ "Source",
232
+ "Taxonomy",
233
+ "RCSB",
234
+ "Metadata"
235
+ ],
236
+ "type": "RCSBTool",
237
+ "input_type": "entry",
238
+ "parameter": {
239
+ "type": "object",
240
+ "properties": {
241
+ "pdb_id": {
242
+ "type": "string",
243
+ "description": "4-character RCSB PDB ID of the structure",
244
+ "required": true
245
+ }
246
+ }
247
+ },
248
+ "fields": {
249
+ "search_fields": {
250
+ "pdb_id": ["rcsb_id"]
251
+ },
252
+ "return_fields": [
253
+ "polymer_entities.rcsb_entity_source_organism.ncbi_scientific_name"
254
+ ]
255
+ },
256
+ "return_schema": {
257
+ "type": "object",
258
+ "properties": {
259
+ "data": {
260
+ "type": "object",
261
+ "properties": {
262
+ "entries": {
263
+ "type": "array",
264
+ "items": {
265
+ "type": "object",
266
+ "properties": {
267
+ "rcsb_id": {
268
+ "type": "string",
269
+ "description": "4-character PDB ID"
270
+ },
271
+ "polymer_entities": {
272
+ "type": "array",
273
+ "items": {
274
+ "type": "object",
275
+ "properties": {
276
+ "rcsb_entity_source_organism": {
277
+ "type": "array",
278
+ "items": {
279
+ "type": "object",
280
+ "properties": {
281
+ "ncbi_scientific_name": {
282
+ "type": "string",
283
+ "description": "Scientific name of the source organism"
284
+ }
285
+ }
286
+ }
287
+ }
288
+ }
289
+ }
290
+ }
291
+ }
292
+ }
293
+ }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ },
299
+ {
300
+ "name": "get_citation_info_by_pdb_id",
301
+ "description": "Retrieve citation information (authors, journal, year) for a given PDB structure.",
302
+ "label": [
303
+ "Citation",
304
+ "Publication",
305
+ "RCSB",
306
+ "Metadata"
307
+ ],
308
+ "type": "RCSBTool",
309
+ "input_type": "entry",
310
+ "parameter": {
311
+ "type": "object",
312
+ "properties": {
313
+ "pdb_id": {
314
+ "type": "string",
315
+ "description": "4-character RCSB PDB ID",
316
+ "required": true
317
+ }
318
+ }
319
+ },
320
+ "fields": {
321
+ "search_fields": {
322
+ "pdb_id": ["rcsb_id"]
323
+ },
324
+ "return_fields": [
325
+ "rcsb_primary_citation.rcsb_authors",
326
+ "rcsb_primary_citation.title",
327
+ "rcsb_primary_citation.rcsb_journal_abbrev",
328
+ "rcsb_primary_citation.year",
329
+ "rcsb_primary_citation.pdbx_database_id_DOI",
330
+ "rcsb_primary_citation.rcsb_ORCID_identifiers",
331
+ "pubmed.rcsb_pubmed_abstract_text",
332
+ "pubmed.rcsb_pubmed_mesh_descriptors_lineage.id",
333
+ "pubmed.rcsb_pubmed_mesh_descriptors_lineage.name"
334
+ ]
335
+ }
336
+ },
337
+ {
338
+ "name": "get_sequence_lengths_by_pdb_id",
339
+ "description": "Retrieve the sequence lengths of polymer entities for a given PDB structure.",
340
+ "label": [
341
+ "Sequence",
342
+ "Length",
343
+ "Polymer",
344
+ "RCSB",
345
+ "Metadata"
346
+ ],
347
+ "type": "RCSBTool",
348
+ "input_type": "entry",
349
+ "parameter": {
350
+ "type": "object",
351
+ "properties": {
352
+ "pdb_id": {
353
+ "type": "string",
354
+ "description": "4-character RCSB PDB ID",
355
+ "required": true
356
+ }
357
+ }
358
+ },
359
+ "fields": {
360
+ "search_fields": {
361
+ "pdb_id": ["rcsb_id"]
362
+ },
363
+ "return_fields": [
364
+ "entity_poly.rcsb_sample_sequence_length"
365
+ ]
366
+ }
367
+ },
368
+ {
369
+ "name": "get_sequence_by_pdb_id",
370
+ "description": "Retrieve amino acid or nucleotide sequence of polymer entities for a given PDB structure.",
371
+ "label": [
372
+ "Sequence",
373
+ "Polymer",
374
+ "Amino Acid",
375
+ "Nucleotide",
376
+ "RCSB"
377
+ ],
378
+ "type": "RCSBTool",
379
+ "input_type": "entry",
380
+ "parameter": {
381
+ "type": "object",
382
+ "properties": {
383
+ "pdb_id": {
384
+ "type": "string",
385
+ "description": "4-character RCSB PDB ID",
386
+ "required": true
387
+ }
388
+ }
389
+ },
390
+ "fields": {
391
+ "search_fields": {
392
+ "pdb_id": ["rcsb_id"]
393
+ },
394
+ "return_fields": [
395
+ "polymer_entities.entity_poly.pdbx_seq_one_letter_code_can"
396
+ ]
397
+ },
398
+ "return_schema": {
399
+ "type": "object",
400
+ "properties": {
401
+ "data": {
402
+ "type": "object",
403
+ "properties": {
404
+ "entries": {
405
+ "type": "array",
406
+ "items": {
407
+ "type": "object",
408
+ "properties": {
409
+ "rcsb_id": {
410
+ "type": "string",
411
+ "description": "4-character PDB ID"
412
+ },
413
+ "polymer_entities": {
414
+ "type": "array",
415
+ "items": {
416
+ "type": "object",
417
+ "properties": {
418
+ "entity_poly": {
419
+ "type": "object",
420
+ "properties": {
421
+ "pdbx_seq_one_letter_code_can": {
422
+ "type": "string",
423
+ "description": "Polymer (amino acid or nucleotide) sequence in one-letter code"
424
+ }
425
+ }
426
+ }
427
+ }
428
+ }
429
+ }
430
+ }
431
+ }
432
+ }
433
+ }
434
+ }
435
+ }
436
+ }
437
+ },
438
+ {
439
+ "name": "get_mutation_annotations_by_pdb_id",
440
+ "description": "Retrieve mutation annotations for a given PDB structure.",
441
+ "label": [
442
+ "Mutation",
443
+ "Annotation",
444
+ "RCSB"
445
+ ],
446
+ "type": "RCSBTool",
447
+ "input_type": "entry",
448
+ "parameter": {
449
+ "type": "object",
450
+ "properties": {
451
+ "pdb_id": {
452
+ "type": "string",
453
+ "description": "4-character RCSB PDB ID",
454
+ "required": true
455
+ }
456
+ }
457
+ },
458
+ "fields": {
459
+ "search_fields": {
460
+ "pdb_id": ["rcsb_id"]
461
+ },
462
+ "return_fields": [
463
+ "entity_poly.rcsb_mutation_count",
464
+ "rcsb_polymer_entity.pdbx_mutation"
465
+ ]
466
+ }
467
+ },
468
+ {
469
+ "name": "get_em_3d_fitting_and_reconstruction_details",
470
+ "description": "Retrieve EM 3D fitting model details and associated 3D reconstruction info for a given PDB entry.",
471
+ "label": [
472
+ "EM",
473
+ "3D Fitting",
474
+ "Reconstruction",
475
+ "Cryo-EM",
476
+ "PDB"
477
+ ],
478
+ "type": "RCSBTool",
479
+ "input_type": "entry",
480
+ "parameter": {
481
+ "type": "object",
482
+ "properties": {
483
+ "pdb_id": {
484
+ "type": "string",
485
+ "description": "4-character RCSB PDB ID",
486
+ "required": true
487
+ }
488
+ }
489
+ },
490
+ "fields": {
491
+ "search_fields": {
492
+ "pdb_id": ["em_3d_fitting_list.pdb_entry_id"]
493
+ },
494
+ "return_fields": [
495
+ "em_3d_fitting_list.id",
496
+ "em_3d_fitting_list.pdb_chain_id",
497
+ "em_3d_fitting_list.pdb_chain_residue_range",
498
+ "em_3d_fitting_list.details",
499
+ "em_3d_reconstruction.id",
500
+ "em_3d_reconstruction.algorithm",
501
+ "em_3d_reconstruction.method",
502
+ "em_3d_reconstruction.details",
503
+ "em_3d_reconstruction.nominal_pixel_size",
504
+ "em_3d_reconstruction.actual_pixel_size",
505
+ "em_3d_reconstruction.resolution",
506
+ "em_3d_reconstruction.resolution_method",
507
+ "em_3d_reconstruction.symmetry_type",
508
+ "em_3d_reconstruction.num_particles",
509
+ "em_3d_reconstruction.num_class_averages",
510
+ "em_3d_reconstruction.refinement_type",
511
+ "em_3d_reconstruction.magnification_calibration"
512
+ ]
513
+ }
514
+ },
515
+ {
516
+ "name": "get_assembly_summary",
517
+ "description": "Get key assembly composition and symmetry summary for an assembly associated with a PDB entry.",
518
+ "label": ["Assembly", "Symmetry", "Summary"],
519
+ "type": "RCSBTool",
520
+ "input_type": "assembly",
521
+ "parameter": {
522
+ "type": "object",
523
+ "properties": {
524
+ "assembly_id": {
525
+ "type": "string",
526
+ "description": "Assembly ID in format 'PDBID-assemblyNumber' (e.g., '1A8M-1')",
527
+ "required": true
528
+ }
529
+ }
530
+ },
531
+ "fields": {
532
+ "search_fields": {
533
+ "assembly_id": ["assembly_id"]
534
+ },
535
+ "return_fields": [
536
+ "rcsb_id",
537
+ "rcsb_assembly_info.polymer_entity_instance_count_protein",
538
+ "rcsb_assembly_info.polymer_entity_instance_count_DNA",
539
+ "rcsb_assembly_info.polymer_entity_instance_count_RNA",
540
+ "rcsb_assembly_info.num_homomeric_interface_entities",
541
+ "rcsb_assembly_info.num_heteromeric_interface_entities",
542
+ "rcsb_assembly_info.total_assembly_buried_surface_area",
543
+ "rcsb_struct_symmetry.symbol",
544
+ "rcsb_struct_symmetry.type",
545
+ "rcsb_struct_symmetry.oligomeric_state"
546
+ ]
547
+ }
548
+ },
549
+ {
550
+ "name": "get_assembly_info_by_pdb_id",
551
+ "description": "Retrieve all associated biological assembly details for a given PDB structure.",
552
+ "label": [
553
+ "Biological",
554
+ "Assembly",
555
+ "RCSB",
556
+ "Structure"
557
+ ],
558
+ "type": "RCSBTool",
559
+ "input_type": "entry",
560
+ "parameter": {
561
+ "type": "object",
562
+ "properties": {
563
+ "pdb_id": {
564
+ "type": "string",
565
+ "description": "4-character RCSB PDB ID",
566
+ "required": true
567
+ }
568
+ }
569
+ },
570
+ "fields": {
571
+ "search_fields": {
572
+ "pdb_id": ["rcsb_id"]
573
+ },
574
+ "return_fields": [
575
+ "rcsb_assembly_info.assembly_id",
576
+ "pdbx_struct_assembly.method_details",
577
+ "pdbx_struct_assembly.details"
578
+ ]
579
+ }
580
+ },
581
+ {
582
+ "name": "get_taxonomy_by_pdb_id",
583
+ "description": "Get the scientific name and taxonomy of the organism(s) associated with a PDB entry.",
584
+ "label": ["Taxonomy", "Organism", "Biology", "RCSB", "entry"],
585
+ "type": "RCSBTool",
586
+ "input_type": "entry",
587
+ "parameter": {
588
+ "type": "object",
589
+ "properties": {
590
+ "pdb_id": {
591
+ "type": "string",
592
+ "description": "4-character RCSB PDB ID",
593
+ "required": true
594
+ }
595
+ }
596
+ },
597
+ "fields": {
598
+ "search_fields": {
599
+ "pdb_id": ["rcsb_id"]
600
+ },
601
+ "return_fields": [
602
+ "polymer_entities.rcsb_entity_host_organism.taxonomy_lineage.name",
603
+ "polymer_entities.rcsb_entity_source_organism.ncbi_parent_scientific_name"
604
+ ]
605
+ }
606
+ },
607
+ {
608
+ "name": "get_release_deposit_dates_by_pdb_id",
609
+ "description": "Get the release and deposition dates for a PDB entry.",
610
+ "label": ["Release", "Deposition", "Date", "RCSB", "entry"],
611
+ "type": "RCSBTool",
612
+ "input_type": "entry",
613
+ "parameter": {
614
+ "type": "object",
615
+ "properties": {
616
+ "pdb_id": {
617
+ "type": "string",
618
+ "description": "4-character RCSB PDB ID",
619
+ "required": true
620
+ }
621
+ }
622
+ },
623
+ "fields": {
624
+ "search_fields": {
625
+ "pdb_id": ["rcsb_id"]
626
+ },
627
+ "return_fields": [
628
+ "rcsb_accession_info.initial_release_date",
629
+ "rcsb_accession_info.deposit_date"
630
+ ]
631
+ }
632
+ },
633
+ {
634
+ "name": "get_host_organism_by_pdb_id",
635
+ "description": "Get the host organism used for protein expression in a PDB entry.",
636
+ "label": ["Host", "Organism", "Expression", "Biology", "RCSB"],
637
+ "type": "RCSBTool",
638
+ "input_type": "entry",
639
+ "parameter": {
640
+ "type": "object",
641
+ "properties": {
642
+ "pdb_id": {
643
+ "type": "string",
644
+ "description": "4-character PDB ID",
645
+ "required": true
646
+ }
647
+ }
648
+ },
649
+ "fields": {
650
+ "search_fields": {
651
+ "pdb_id": ["rcsb_id"]
652
+ },
653
+ "return_fields": [
654
+ "polymer_entities.entity_src_gen.host_org_common_name",
655
+ "polymer_entities.entity_src_gen.pdbx_host_org_scientific_name"
656
+ ]
657
+ }
658
+ },
659
+ {
660
+ "name": "get_ec_number_by_entity_id",
661
+ "description": "Retrieve the Enzyme Commission (EC) number(s) for an entity.",
662
+ "label": ["Enzyme", "Classification", "EC", "Entity", "RCSB"],
663
+ "type": "RCSBTool",
664
+ "input_type": "polymer_entity",
665
+ "parameter": {
666
+ "type": "object",
667
+ "properties": {
668
+ "entity_id": {
669
+ "type": "string",
670
+ "description": "Polymer entity ID (e.g., '1A8M_1')",
671
+ "required": true
672
+ }
673
+ }
674
+ },
675
+ "fields": {
676
+ "search_fields": {
677
+ "entity_id": ["entity_id"]
678
+ },
679
+ "return_fields": [
680
+ "rcsb_polymer_entity.rcsb_ec_lineage.id",
681
+ "rcsb_polymer_entity.rcsb_ec_lineage.depth",
682
+ "rcsb_polymer_entity.rcsb_ec_lineage.name"
683
+ ]
684
+ }
685
+ },
686
+ {
687
+ "name": "get_gene_name_by_entity_id",
688
+ "description": "Retrieve gene name(s) associated with a polymer entity.",
689
+ "label": ["Gene", "Function", "Entity", "Biology", "RCSB"],
690
+ "type": "RCSBTool",
691
+ "input_type": "polymer_entity",
692
+ "parameter": {
693
+ "type": "object",
694
+ "properties": {
695
+ "entity_id": {
696
+ "type": "string",
697
+ "description": "Entity ID like '1A8M_1'",
698
+ "required": true
699
+ }
700
+ }
701
+ },
702
+ "fields": {
703
+ "search_fields": {
704
+ "entity_id": ["entity_id"]
705
+ },
706
+ "return_fields": [
707
+ "rcsb_entity_source_organism.rcsb_gene_name.value",
708
+ "rcsb_entity_source_organism.rcsb_gene_name.provenance_source"
709
+ ]
710
+ }
711
+ },
712
+ {
713
+ "name": "get_polymer_molecular_weight_by_entity_id",
714
+ "description": "Retrieve the molecular weight of a polymer entity.",
715
+ "label": ["Polymer", "Molecular Weight", "Entity", "RCSB"],
716
+ "type": "RCSBTool",
717
+ "input_type": "polymer_entity",
718
+ "parameter": {
719
+ "type": "object",
720
+ "properties": {
721
+ "entity_id": {
722
+ "type": "string",
723
+ "description": "Polymer entity ID like '1A8M_1'",
724
+ "required": true
725
+ }
726
+ }
727
+ },
728
+ "fields": {
729
+ "search_fields": {
730
+ "entity_id": ["entity_id"]
731
+ },
732
+ "return_fields": [
733
+ "rcsb_polymer_entity.formula_weight"
734
+ ]
735
+ }
736
+ },
737
+ {
738
+ "name": "get_ligand_bond_count_by_pdb_id",
739
+ "description": "Get the number of bonds for each ligand in a given PDB structure.",
740
+ "label": ["Ligand", "Chemical", "Bond", "Structure"],
741
+ "type": "RCSBTool",
742
+ "input_type": "entry",
743
+ "parameter": {
744
+ "type": "object",
745
+ "properties": {
746
+ "pdb_id": {
747
+ "type": "string",
748
+ "description": "PDB ID of the entry",
749
+ "required": true
750
+ }
751
+ }
752
+ },
753
+ "fields": {
754
+ "search_fields": {
755
+ "pdb_id": ["rcsb_id"]
756
+ },
757
+ "return_fields": [
758
+ "nonpolymer_entities.nonpolymer_entity_instances.rcsb_nonpolymer_instance_feature_summary.comp_id",
759
+ "assemblies.nonpolymer_entity_instances.nonpolymer_entity.nonpolymer_comp.rcsb_chem_comp_info.bond_count"
760
+ ]
761
+ }
762
+ },
763
+ {
764
+ "name": "get_crystal_growth_conditions_by_pdb_id",
765
+ "description": "Get information about the crystallization method and conditions for a structure.",
766
+ "label": ["Crystallography", "Growth", "Conditions", "PDB"],
767
+ "type": "RCSBTool",
768
+ "input_type": "entry",
769
+ "parameter": {
770
+ "type": "object",
771
+ "properties": {
772
+ "pdb_id": {
773
+ "type": "string",
774
+ "description": "PDB ID of the structure",
775
+ "required": true
776
+ }
777
+ }
778
+ },
779
+ "fields": {
780
+ "search_fields": {
781
+ "pdb_id": ["rcsb_id"]
782
+ },
783
+ "return_fields": [
784
+ "exptl_crystal_grow.crystal_id",
785
+ "exptl_crystal_grow.details",
786
+ "exptl_crystal_grow.method",
787
+ "exptl_crystal_grow.pH",
788
+ "exptl_crystal_grow.temp",
789
+ "exptl_crystal_grow.pdbx_details"
790
+ ]
791
+ }
792
+ },
793
+ {
794
+ "name": "get_polymer_entity_annotations",
795
+ "description": "Retrieve functional annotations (Pfam domains, GO terms) and associated UniProt accession IDs for a polymer entity.",
796
+ "label": ["Annotation", "Pfam", "GO", "UniProt", "Polymer Entity"],
797
+ "type": "RCSBTool",
798
+ "input_type": "polymer_entity",
799
+ "parameter": {
800
+ "type": "object",
801
+ "properties": {
802
+ "entity_id": {
803
+ "type": "string",
804
+ "description": "Polymer entity ID like '1A8M_1'",
805
+ "required": true
806
+ }
807
+ }
808
+ },
809
+ "fields": {
810
+ "search_fields": {
811
+ "entity_id": ["entity_id"]
812
+ },
813
+ "return_fields": [
814
+ "uniprots.rcsb_uniprot_accession",
815
+ "rcsb_polymer_entity_annotation.annotation_id",
816
+ "rcsb_polymer_entity_annotation.type",
817
+ "rcsb_polymer_entity_annotation.description"
818
+ ]
819
+ }
820
+ },
821
+ {
822
+ "name": "get_oligosaccharide_descriptors_by_entity_id",
823
+ "description": "Retrieve structural descriptors for branched entities (e.g., oligosaccharides) in a PDB entry.",
824
+ "label": ["Carbohydrate", "Oligosaccharide", "Descriptor", "Branched Entity"],
825
+ "type": "RCSBTool",
826
+ "input_type": "branched_entity",
827
+ "parameter": {
828
+ "type": "object",
829
+ "properties": {
830
+ "entity_id": {
831
+ "type": "string",
832
+ "description": "Branched entity ID like '5FMB_2'",
833
+ "required": true
834
+ }
835
+ }
836
+ },
837
+ "fields": {
838
+ "search_fields": {
839
+ "entity_id": ["entity_id"]
840
+ },
841
+ "return_fields": [
842
+ "pdbx_entity_branch.type",
843
+ "pdbx_entity_branch_descriptor.type",
844
+ "pdbx_entity_branch_descriptor.descriptor"
845
+ ]
846
+ }
847
+ },
848
+ {
849
+ "name": "get_sequence_positional_features_by_instance_id",
850
+ "description": "Retrieve sequence positional features (e.g., binding sites, motifs) for a polymer entity instance.",
851
+ "label": ["Sequence", "Feature", "Annotation", "Instance"],
852
+ "type": "RCSBTool",
853
+ "input_type": "polymer_entity_instance",
854
+ "parameter": {
855
+ "type": "object",
856
+ "properties": {
857
+ "instance_id": {
858
+ "type": "string",
859
+ "description": "Polymer entity instance ID like '1NDO.A'",
860
+ "required": true
861
+ }
862
+ }
863
+ },
864
+ "fields": {
865
+ "search_fields": {
866
+ "instance_id": ["instance_id"]
867
+ },
868
+ "return_fields": [
869
+ "rcsb_polymer_instance_feature.type",
870
+ "rcsb_polymer_instance_feature.feature_positions.beg_seq_id",
871
+ "rcsb_polymer_instance_feature.feature_positions.end_seq_id"
872
+ ]
873
+ }
874
+ },
875
+ {
876
+ "name": "get_crystallographic_properties_by_pdb_id",
877
+ "description": "Retrieve crystallographic properties such as unit cell dimensions and space group for a PDB entry.",
878
+ "label": ["Crystallography", "Unit Cell", "Space Group", "PDB"],
879
+ "type": "RCSBTool",
880
+ "input_type": "entry",
881
+ "parameter": {
882
+ "type": "object",
883
+ "properties": {
884
+ "pdb_id": {
885
+ "type": "string",
886
+ "description": "PDB ID of the structure",
887
+ "required": true
888
+ }
889
+ }
890
+ },
891
+ "fields": {
892
+ "search_fields": {
893
+ "pdb_id": ["rcsb_id"]
894
+ },
895
+ "return_fields": [
896
+ "cell.length_a",
897
+ "cell.length_b",
898
+ "cell.length_c",
899
+ "cell.angle_alpha",
900
+ "cell.angle_beta",
901
+ "cell.angle_gamma",
902
+ "symmetry.space_group_name_H_M"
903
+ ]
904
+ }
905
+ },
906
+ {
907
+ "name": "get_structure_validation_metrics_by_pdb_id",
908
+ "description": "Retrieve structure validation metrics such as R-free, R-work, and clashscore for a PDB entry.",
909
+ "label": ["Validation", "Metrics", "Quality", "PDB"],
910
+ "type": "RCSBTool",
911
+ "input_type": "entry",
912
+ "parameter": {
913
+ "type": "object",
914
+ "properties": {
915
+ "pdb_id": {
916
+ "type": "string",
917
+ "description": "PDB ID of the structure",
918
+ "required": true
919
+ }
920
+ }
921
+ },
922
+ "fields": {
923
+ "search_fields": {
924
+ "pdb_id": ["rcsb_id"]
925
+ },
926
+ "return_fields": [
927
+ "refine.ls_R_factor_R_free",
928
+ "refine.ls_R_factor_R_work",
929
+ "pdbx_vrpt_summary_geometry.clashscore"
930
+ ]
931
+ }
932
+ },
933
+ {
934
+ "name": "get_structure_title_by_pdb_id",
935
+ "description": "Retrieve the structure title for a given PDB entry.",
936
+ "label": ["Metadata", "Structure", "Title"],
937
+ "type": "RCSBTool",
938
+ "input_type": "entry",
939
+ "parameter": {
940
+ "type": "object",
941
+ "properties": {
942
+ "pdb_id": {
943
+ "type": "string",
944
+ "description": "4-character PDB ID",
945
+ "required": true
946
+ }
947
+ }
948
+ },
949
+ "fields": {
950
+ "search_fields": {
951
+ "pdb_id": ["rcsb_id"]
952
+ },
953
+ "return_fields": [
954
+ "struct.title"
955
+ ]
956
+ }
957
+ },
958
+ {
959
+ "name": "get_polymer_entity_count_by_pdb_id",
960
+ "description": "Get the number of distinct polymer entities (chains) in a structure.",
961
+ "label": ["Polymer", "Entities", "Count"],
962
+ "type": "RCSBTool",
963
+ "input_type": "entry",
964
+ "parameter": {
965
+ "type": "object",
966
+ "properties": {
967
+ "pdb_id": {
968
+ "type": "string",
969
+ "description": "4-character PDB ID",
970
+ "required": true
971
+ }
972
+ }
973
+ },
974
+ "fields": {
975
+ "search_fields": {
976
+ "pdb_id": ["rcsb_id"]
977
+ },
978
+ "return_fields": [
979
+ "rcsb_entry_info.polymer_entity_count"
980
+ ]
981
+ }
982
+ },
983
+ {
984
+ "name": "get_emdb_ids_by_pdb_id",
985
+ "description": "Retrieve Electron Microscopy Data Bank (EMDB) identifiers linked to a PDB entry.",
986
+ "label": ["EMDB", "Electron Microscopy", "Structure"],
987
+ "type": "RCSBTool",
988
+ "input_type": "entry",
989
+ "parameter": {
990
+ "type": "object",
991
+ "properties": {
992
+ "pdb_id": {
993
+ "type": "string",
994
+ "description": "4-character PDB ID",
995
+ "required": true
996
+ }
997
+ }
998
+ },
999
+ "fields": {
1000
+ "search_fields": {
1001
+ "pdb_id": ["rcsb_id"]
1002
+ },
1003
+ "return_fields": [
1004
+ "rcsb_entry_container_identifiers.emdb_ids"
1005
+ ]
1006
+ }
1007
+ },
1008
+ {
1009
+ "name": "get_uniprot_accession_by_entity_id",
1010
+ "description": "Fetch UniProt accession numbers associated with a specific polymer entity.",
1011
+ "label": ["UniProt", "Protein", "Cross-reference"],
1012
+ "type": "RCSBTool",
1013
+ "input_type": "polymer_entity",
1014
+ "parameter": {
1015
+ "type": "object",
1016
+ "properties": {
1017
+ "entity_id": {
1018
+ "type": "string",
1019
+ "description": "Polymer entity ID (e.g., '1A8M_1')",
1020
+ "required": true
1021
+ }
1022
+ }
1023
+ },
1024
+ "fields": {
1025
+ "search_fields": {
1026
+ "entity_id": ["entity_id"]
1027
+ },
1028
+ "return_fields": [
1029
+ "rcsb_polymer_entity_container_identifiers.uniprot_ids"
1030
+ ]
1031
+ }
1032
+ },
1033
+ {
1034
+ "name": "get_crystallization_ph_by_pdb_id",
1035
+ "description": "Fetch the pH used during crystallization of the sample.",
1036
+ "label": ["Crystallization", "pH", "Experiment"],
1037
+ "type": "RCSBTool",
1038
+ "input_type": "entry",
1039
+ "parameter": {
1040
+ "type": "object",
1041
+ "properties": {
1042
+ "pdb_id": {
1043
+ "type": "string",
1044
+ "description": "RCSB PDB ID of the structure",
1045
+ "required": true
1046
+ }
1047
+ }
1048
+ },
1049
+ "fields": {
1050
+ "search_fields": {
1051
+ "pdb_id": ["rcsb_id"]
1052
+ },
1053
+ "return_fields": [
1054
+ "exptl_crystal_grow.pH"
1055
+ ]
1056
+ }
1057
+ },
1058
+ {
1059
+ "name": "get_space_group_by_pdb_id",
1060
+ "description": "Get the crystallographic space group of the structure.",
1061
+ "label": ["Crystallography", "Space Group", "Symmetry"],
1062
+ "type": "RCSBTool",
1063
+ "input_type": "entry",
1064
+ "parameter": {
1065
+ "type": "object",
1066
+ "properties": {
1067
+ "pdb_id": {
1068
+ "type": "string",
1069
+ "description": "4-character RCSB PDB ID",
1070
+ "required": true
1071
+ }
1072
+ }
1073
+ },
1074
+ "fields": {
1075
+ "search_fields": {
1076
+ "pdb_id": ["rcsb_id"]
1077
+ },
1078
+ "return_fields": [
1079
+ "symmetry.space_group_name_H_M"
1080
+ ]
1081
+ }
1082
+ },
1083
+ {
1084
+ "name": "get_protein_classification_by_pdb_id",
1085
+ "description": "Get the classification of the protein structure (e.g., transferase, oxidoreductase).",
1086
+ "label": ["Classification", "Protein", "Function"],
1087
+ "type": "RCSBTool",
1088
+ "input_type": "entry",
1089
+ "parameter": {
1090
+ "type": "object",
1091
+ "properties": {
1092
+ "pdb_id": {
1093
+ "type": "string",
1094
+ "description": "PDB ID of the entry",
1095
+ "required": true
1096
+ }
1097
+ }
1098
+ },
1099
+ "fields": {
1100
+ "search_fields": {
1101
+ "pdb_id": ["rcsb_id"]
1102
+ },
1103
+ "return_fields": [
1104
+ "struct_keywords.pdbx_keywords"
1105
+ ]
1106
+ }
1107
+ },
1108
+ {
1109
+ "name": "get_structure_determination_software_by_pdb_id",
1110
+ "description": "Retrieve names of software used during structure determination.",
1111
+ "label": ["Software", "Structure Determination", "Methods"],
1112
+ "type": "RCSBTool",
1113
+ "input_type": "entry",
1114
+ "parameter": {
1115
+ "type": "object",
1116
+ "properties": {
1117
+ "pdb_id": {
1118
+ "type": "string",
1119
+ "description": "RCSB PDB entry ID",
1120
+ "required": true
1121
+ }
1122
+ }
1123
+ },
1124
+ "fields": {
1125
+ "search_fields": {
1126
+ "pdb_id": ["rcsb_id"]
1127
+ },
1128
+ "return_fields": [
1129
+ "software.name",
1130
+ "software.version",
1131
+ "software.type"
1132
+ ]
1133
+ }
1134
+ },
1135
+ {
1136
+ "name": "get_refinement_resolution_by_pdb_id",
1137
+ "description": "Retrieve the reported resolution from refinement data for X-ray structures.",
1138
+ "label": ["Resolution", "Refinement", "Entry"],
1139
+ "type": "RCSBTool",
1140
+ "input_type": "entry",
1141
+ "parameter": {
1142
+ "type": "object",
1143
+ "properties": {
1144
+ "pdb_id": {
1145
+ "type": "string",
1146
+ "description": "PDB entry ID",
1147
+ "required": true
1148
+ }
1149
+ }
1150
+ },
1151
+ "fields": {
1152
+ "search_fields": {
1153
+ "pdb_id": ["rcsb_id"]
1154
+ },
1155
+ "return_fields": [
1156
+ "refine.ls_d_res_high"
1157
+ ]
1158
+ }
1159
+ },
1160
+ {
1161
+ "name": "get_binding_affinity_by_pdb_id",
1162
+ "description": "Retrieve binding affinity constants (Kd, Ki, IC50) associated with ligands in a PDB entry.",
1163
+ "label": ["Binding", "Affinity", "Ligand"],
1164
+ "type": "RCSBTool",
1165
+ "input_type": "entry",
1166
+ "parameter": {
1167
+ "type": "object",
1168
+ "properties": {
1169
+ "pdb_id": {
1170
+ "type": "string",
1171
+ "description": "RCSB PDB ID (e.g., 1A8M)",
1172
+ "required": true
1173
+ }
1174
+ }
1175
+ },
1176
+ "fields": {
1177
+ "search_fields": {
1178
+ "pdb_id": ["rcsb_id"]
1179
+ },
1180
+ "return_fields": [
1181
+ "rcsb_binding_affinity.value",
1182
+ "rcsb_binding_affinity.unit",
1183
+ "rcsb_binding_affinity.provenance_code",
1184
+ "rcsb_binding_affinity.symbol"
1185
+ ]
1186
+ }
1187
+ },
1188
+ {
1189
+ "name": "get_ligand_smiles_by_chem_comp_id",
1190
+ "description": "Retrieve the SMILES chemical structure string for a given chemical component (ligand) ID.",
1191
+ "label": ["Ligand", "Chemical", "SMILES", "Structure"],
1192
+ "type": "RCSBTool",
1193
+ "input_type": "chem_comp",
1194
+ "parameter": {
1195
+ "type": "object",
1196
+ "properties": {
1197
+ "chem_comp_id": {
1198
+ "type": "string",
1199
+ "description": "Chemical component ID (e.g., 'ATP')",
1200
+ "required": true
1201
+ }
1202
+ }
1203
+ },
1204
+ "fields": {
1205
+ "search_fields": {
1206
+ "chem_comp_id": ["rcsb_chem_comp.id"]
1207
+ },
1208
+ "return_fields": [
1209
+ "rcsb_chem_comp_descriptor.SMILES"
1210
+ ]
1211
+ }
1212
+ },
1213
+ {
1214
+ "name": "get_core_refinement_statistics",
1215
+ "description": "Retrieve essential refinement statistics for a given PDB structure including R-factors, occupancy, phase errors, and solvent model parameters.",
1216
+ "label": ["Refinement", "R-factor", "Occupancy", "Phase Error", "Solvent Model"],
1217
+ "type": "RCSBTool",
1218
+ "input_type": "entry",
1219
+ "parameter": {
1220
+ "type": "object",
1221
+ "properties": {
1222
+ "pdb_id": {
1223
+ "type": "string",
1224
+ "description": "PDB entry ID (e.g., '1ABC')",
1225
+ "required": true
1226
+ }
1227
+ }
1228
+ },
1229
+ "fields": {
1230
+ "search_fields": {
1231
+ "pdb_id": ["rcsb_entry_info.entry_id"]
1232
+ },
1233
+ "return_fields": [
1234
+ "refine.ls_R_factor_R_work",
1235
+ "refine.ls_R_factor_R_free",
1236
+ "refine.occupancy_max",
1237
+ "refine.occupancy_min",
1238
+ "refine.pdbx_overall_phase_error",
1239
+ "refine.solvent_model_param_bsol",
1240
+ "refine.solvent_model_param_ksol"
1241
+ ]
1242
+ }
1243
+ },
1244
+ {
1245
+ "name": "get_target_cofactor_info",
1246
+ "description": "Retrieve essential cofactor information for a given target including cofactor IDs, mechanism of action, literature references, and resource metadata.",
1247
+ "label": ["Target", "Cofactor", "Mechanism", "PubMed", "Patent"],
1248
+ "type": "RCSBTool",
1249
+ "input_type": "entry",
1250
+ "parameter": {
1251
+ "type": "object",
1252
+ "properties": {
1253
+ "pdb_id": {
1254
+ "type": "string",
1255
+ "description": "Target ID or entity identifier (e.g., UniProt ID or internal target id)",
1256
+ "required": true
1257
+ }
1258
+ }
1259
+ },
1260
+ "fields": {
1261
+ "search_fields": {
1262
+ "pdb_id": ["rcsb_target_cofactors.target_resource_id"]
1263
+ },
1264
+ "return_fields": [
1265
+ "polymer_entities.rcsb_target_cofactors.cofactor_prd_id",
1266
+ "polymer_entities.rcsb_target_cofactors.cofactor_resource_id",
1267
+ "polymer_entities.rcsb_target_cofactors.mechanism_of_action",
1268
+ "polymer_entities.rcsb_target_cofactors.neighbor_flag",
1269
+ "polymer_entities.rcsb_target_cofactors.patent_nos",
1270
+ "polymer_entities.rcsb_target_cofactors.pubmed_ids",
1271
+ "polymer_entities.rcsb_target_cofactors.resource_name",
1272
+ "polymer_entities.rcsb_target_cofactors.resource_version"
1273
+ ]
1274
+ }
1275
+ },
1276
+ {
1277
+ "name": "get_chem_comp_audit_info",
1278
+ "description": "Fetch audit history for a chemical component: action type, date, details, ordinal, and processing site.",
1279
+ "label": ["Comp ID", "Action Type", "Date", "Details", "Ordinal", "Processing Site"],
1280
+ "type": "RCSBTool",
1281
+ "input_type": "entry",
1282
+ "parameter": {
1283
+ "type": "object",
1284
+ "properties": {
1285
+ "pdb_id": {
1286
+ "type": "string",
1287
+ "description": "Chemical component ID to retrieve audit info for",
1288
+ "required": true
1289
+ }
1290
+ }
1291
+ },
1292
+ "fields": {
1293
+ "search_fields": {
1294
+ "pdb_id": ["nonpolymer_entities.nonpolymer_comp.pdbx_chem_comp_audit.comp_id"]
1295
+ },
1296
+ "return_fields": [
1297
+ "nonpolymer_entities.nonpolymer_comp.pdbx_chem_comp_audit.comp_id",
1298
+ "nonpolymer_entities.nonpolymer_comp.pdbx_chem_comp_audit.action_type",
1299
+ "nonpolymer_entities.nonpolymer_comp.pdbx_chem_comp_audit.date",
1300
+ "nonpolymer_entities.nonpolymer_comp.pdbx_chem_comp_audit.details",
1301
+ "nonpolymer_entities.nonpolymer_comp.pdbx_chem_comp_audit.ordinal"
1302
+ ]
1303
+ }
1304
+ },
1305
+ {
1306
+ "name": "get_chem_comp_charge_and_ambiguity",
1307
+ "description": "Retrieve the formal charge and ambiguity flag of a chemical component.",
1308
+ "label": ["Comp ID", "Formal Charge", "Ambiguous Flag"],
1309
+ "type": "RCSBTool",
1310
+ "input_type": "entry",
1311
+ "parameter": {
1312
+ "type": "object",
1313
+ "properties": {
1314
+ "pdb_id": {
1315
+ "type": "string",
1316
+ "description": "Chemical component ID to query charge and ambiguity",
1317
+ "required": true
1318
+ }
1319
+ }
1320
+ },
1321
+ "fields": {
1322
+ "search_fields": {
1323
+ "pdb_id": ["nonpolymer_entities.nonpolymer_comp.chem_comp.id"]
1324
+ },
1325
+ "return_fields": [
1326
+ "nonpolymer_entities.nonpolymer_comp.chem_comp.id",
1327
+ "nonpolymer_entities.nonpolymer_comp.chem_comp.pdbx_formal_charge",
1328
+ "nonpolymer_entities.nonpolymer_comp.chem_comp.pdbx_ambiguous_flag"
1329
+ ]
1330
+ }
1331
+ }
1332
+ ]