tooluniverse 1.0.9.1__py3-none-any.whl → 1.0.11__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 (191) hide show
  1. tooluniverse/__init__.py +57 -1
  2. tooluniverse/admetai_tool.py +1 -1
  3. tooluniverse/agentic_tool.py +65 -17
  4. tooluniverse/base_tool.py +19 -8
  5. tooluniverse/blast_tool.py +132 -0
  6. tooluniverse/boltz_tool.py +3 -3
  7. tooluniverse/cache/result_cache_manager.py +167 -12
  8. tooluniverse/cbioportal_tool.py +42 -0
  9. tooluniverse/clinvar_tool.py +268 -74
  10. tooluniverse/compose_scripts/drug_safety_analyzer.py +1 -1
  11. tooluniverse/compose_scripts/multi_agent_literature_search.py +1 -1
  12. tooluniverse/compose_scripts/output_summarizer.py +4 -4
  13. tooluniverse/compose_scripts/tool_discover.py +1941 -443
  14. tooluniverse/compose_scripts/tool_graph_composer.py +1 -1
  15. tooluniverse/compose_scripts/tool_metadata_generator.py +1 -1
  16. tooluniverse/compose_tool.py +9 -9
  17. tooluniverse/core_tool.py +2 -2
  18. tooluniverse/ctg_tool.py +4 -4
  19. tooluniverse/custom_tool.py +1 -1
  20. tooluniverse/data/agentic_tools.json +0 -370
  21. tooluniverse/data/alphafold_tools.json +6 -6
  22. tooluniverse/data/blast_tools.json +112 -0
  23. tooluniverse/data/cbioportal_tools.json +87 -0
  24. tooluniverse/data/clinvar_tools.json +235 -0
  25. tooluniverse/data/compose_tools.json +0 -89
  26. tooluniverse/data/dbsnp_tools.json +275 -0
  27. tooluniverse/data/emdb_tools.json +61 -0
  28. tooluniverse/data/ensembl_tools.json +259 -0
  29. tooluniverse/data/file_download_tools.json +275 -0
  30. tooluniverse/data/geo_tools.json +200 -48
  31. tooluniverse/data/gnomad_tools.json +109 -0
  32. tooluniverse/data/gtopdb_tools.json +68 -0
  33. tooluniverse/data/gwas_tools.json +32 -0
  34. tooluniverse/data/interpro_tools.json +199 -0
  35. tooluniverse/data/jaspar_tools.json +70 -0
  36. tooluniverse/data/kegg_tools.json +356 -0
  37. tooluniverse/data/mpd_tools.json +87 -0
  38. tooluniverse/data/ols_tools.json +314 -0
  39. tooluniverse/data/package_discovery_tools.json +64 -0
  40. tooluniverse/data/packages/categorized_tools.txt +0 -1
  41. tooluniverse/data/packages/machine_learning_tools.json +0 -47
  42. tooluniverse/data/paleobiology_tools.json +91 -0
  43. tooluniverse/data/pride_tools.json +62 -0
  44. tooluniverse/data/pypi_package_inspector_tools.json +158 -0
  45. tooluniverse/data/python_executor_tools.json +341 -0
  46. tooluniverse/data/regulomedb_tools.json +50 -0
  47. tooluniverse/data/remap_tools.json +89 -0
  48. tooluniverse/data/screen_tools.json +89 -0
  49. tooluniverse/data/tool_discovery_agents.json +428 -0
  50. tooluniverse/data/tool_discovery_agents.json.backup +1343 -0
  51. tooluniverse/data/uniprot_tools.json +77 -0
  52. tooluniverse/data/web_search_tools.json +250 -0
  53. tooluniverse/data/worms_tools.json +55 -0
  54. tooluniverse/dataset_tool.py +2 -2
  55. tooluniverse/dbsnp_tool.py +196 -58
  56. tooluniverse/default_config.py +36 -3
  57. tooluniverse/emdb_tool.py +30 -0
  58. tooluniverse/enrichr_tool.py +14 -14
  59. tooluniverse/ensembl_tool.py +140 -47
  60. tooluniverse/execute_function.py +594 -29
  61. tooluniverse/extended_hooks.py +4 -4
  62. tooluniverse/file_download_tool.py +269 -0
  63. tooluniverse/gene_ontology_tool.py +1 -1
  64. tooluniverse/generate_tools.py +3 -3
  65. tooluniverse/geo_tool.py +81 -28
  66. tooluniverse/gnomad_tool.py +100 -52
  67. tooluniverse/gtopdb_tool.py +41 -0
  68. tooluniverse/humanbase_tool.py +10 -10
  69. tooluniverse/interpro_tool.py +72 -0
  70. tooluniverse/jaspar_tool.py +30 -0
  71. tooluniverse/kegg_tool.py +230 -0
  72. tooluniverse/logging_config.py +2 -2
  73. tooluniverse/mcp_client_tool.py +57 -129
  74. tooluniverse/mcp_integration.py +52 -49
  75. tooluniverse/mcp_tool_registry.py +147 -528
  76. tooluniverse/mpd_tool.py +42 -0
  77. tooluniverse/ncbi_eutils_tool.py +96 -0
  78. tooluniverse/ols_tool.py +435 -0
  79. tooluniverse/openalex_tool.py +8 -8
  80. tooluniverse/openfda_tool.py +2 -2
  81. tooluniverse/output_hook.py +15 -15
  82. tooluniverse/package_discovery_tool.py +217 -0
  83. tooluniverse/package_tool.py +1 -1
  84. tooluniverse/paleobiology_tool.py +30 -0
  85. tooluniverse/pmc_tool.py +2 -2
  86. tooluniverse/pride_tool.py +30 -0
  87. tooluniverse/pypi_package_inspector_tool.py +593 -0
  88. tooluniverse/python_executor_tool.py +711 -0
  89. tooluniverse/regulomedb_tool.py +30 -0
  90. tooluniverse/remap_tool.py +44 -0
  91. tooluniverse/remote/boltz/boltz_mcp_server.py +1 -1
  92. tooluniverse/remote/depmap_24q2/depmap_24q2_mcp_tool.py +3 -3
  93. tooluniverse/remote/immune_compass/compass_tool.py +3 -3
  94. tooluniverse/remote/pinnacle/pinnacle_tool.py +2 -2
  95. tooluniverse/remote/transcriptformer/transcriptformer_tool.py +3 -3
  96. tooluniverse/remote/uspto_downloader/uspto_downloader_mcp_server.py +3 -3
  97. tooluniverse/remote_tool.py +4 -4
  98. tooluniverse/screen_tool.py +44 -0
  99. tooluniverse/scripts/filter_tool_files.py +2 -2
  100. tooluniverse/smcp.py +93 -12
  101. tooluniverse/smcp_server.py +100 -21
  102. tooluniverse/space/__init__.py +46 -0
  103. tooluniverse/space/loader.py +133 -0
  104. tooluniverse/space/validator.py +353 -0
  105. tooluniverse/tool_finder_embedding.py +5 -3
  106. tooluniverse/tool_finder_keyword.py +12 -10
  107. tooluniverse/tool_finder_llm.py +12 -8
  108. tooluniverse/tools/{UCSC_get_genes_by_region.py → BLAST_nucleotide_search.py} +22 -26
  109. tooluniverse/tools/BLAST_protein_search.py +63 -0
  110. tooluniverse/tools/ClinVar_search_variants.py +26 -15
  111. tooluniverse/tools/CodeQualityAnalyzer.py +3 -3
  112. tooluniverse/tools/EMDB_get_structure.py +46 -0
  113. tooluniverse/tools/GtoPdb_get_targets.py +52 -0
  114. tooluniverse/tools/InterPro_get_domain_details.py +46 -0
  115. tooluniverse/tools/InterPro_get_protein_domains.py +49 -0
  116. tooluniverse/tools/InterPro_search_domains.py +52 -0
  117. tooluniverse/tools/JASPAR_get_transcription_factors.py +52 -0
  118. tooluniverse/tools/MPD_get_phenotype_data.py +59 -0
  119. tooluniverse/tools/PRIDE_search_proteomics.py +52 -0
  120. tooluniverse/tools/PackageAnalyzer.py +55 -0
  121. tooluniverse/tools/Paleobiology_get_fossils.py +52 -0
  122. tooluniverse/tools/PyPIPackageInspector.py +59 -0
  123. tooluniverse/tools/ReMap_get_transcription_factor_binding.py +59 -0
  124. tooluniverse/tools/ReferenceInfoAnalyzer.py +55 -0
  125. tooluniverse/tools/RegulomeDB_query_variant.py +46 -0
  126. tooluniverse/tools/SCREEN_get_regulatory_elements.py +59 -0
  127. tooluniverse/tools/{ArgumentDescriptionOptimizer.py → TestResultsAnalyzer.py} +13 -13
  128. tooluniverse/tools/ToolDiscover.py +11 -11
  129. tooluniverse/tools/UniProt_id_mapping.py +63 -0
  130. tooluniverse/tools/UniProt_search.py +63 -0
  131. tooluniverse/tools/UnifiedToolGenerator.py +59 -0
  132. tooluniverse/tools/WoRMS_search_species.py +49 -0
  133. tooluniverse/tools/XMLToolOptimizer.py +55 -0
  134. tooluniverse/tools/__init__.py +119 -29
  135. tooluniverse/tools/_shared_client.py +3 -3
  136. tooluniverse/tools/alphafold_get_annotations.py +3 -3
  137. tooluniverse/tools/alphafold_get_prediction.py +3 -3
  138. tooluniverse/tools/alphafold_get_summary.py +3 -3
  139. tooluniverse/tools/cBioPortal_get_cancer_studies.py +46 -0
  140. tooluniverse/tools/cBioPortal_get_mutations.py +52 -0
  141. tooluniverse/tools/{gnomAD_query_variant.py → clinvar_get_clinical_significance.py} +8 -11
  142. tooluniverse/tools/clinvar_get_variant_details.py +49 -0
  143. tooluniverse/tools/dbSNP_get_variant_by_rsid.py +7 -7
  144. tooluniverse/tools/dbsnp_get_frequencies.py +46 -0
  145. tooluniverse/tools/dbsnp_search_by_gene.py +52 -0
  146. tooluniverse/tools/download_binary_file.py +66 -0
  147. tooluniverse/tools/download_file.py +71 -0
  148. tooluniverse/tools/download_text_content.py +55 -0
  149. tooluniverse/tools/dynamic_package_discovery.py +59 -0
  150. tooluniverse/tools/ensembl_get_sequence.py +52 -0
  151. tooluniverse/tools/{Ensembl_lookup_gene_by_symbol.py → ensembl_get_variants.py} +11 -11
  152. tooluniverse/tools/ensembl_lookup_gene.py +46 -0
  153. tooluniverse/tools/geo_get_dataset_info.py +46 -0
  154. tooluniverse/tools/geo_get_sample_info.py +46 -0
  155. tooluniverse/tools/geo_search_datasets.py +67 -0
  156. tooluniverse/tools/gnomad_get_gene_constraints.py +49 -0
  157. tooluniverse/tools/kegg_find_genes.py +52 -0
  158. tooluniverse/tools/kegg_get_gene_info.py +46 -0
  159. tooluniverse/tools/kegg_get_pathway_info.py +46 -0
  160. tooluniverse/tools/kegg_list_organisms.py +44 -0
  161. tooluniverse/tools/kegg_search_pathway.py +46 -0
  162. tooluniverse/tools/ols_find_similar_terms.py +63 -0
  163. tooluniverse/tools/{get_hyperopt_info.py → ols_get_ontology_info.py} +13 -10
  164. tooluniverse/tools/ols_get_term_ancestors.py +67 -0
  165. tooluniverse/tools/ols_get_term_children.py +67 -0
  166. tooluniverse/tools/{TestCaseGenerator.py → ols_get_term_info.py} +12 -9
  167. tooluniverse/tools/{CodeOptimizer.py → ols_search_ontologies.py} +22 -14
  168. tooluniverse/tools/ols_search_terms.py +71 -0
  169. tooluniverse/tools/python_code_executor.py +79 -0
  170. tooluniverse/tools/python_script_runner.py +79 -0
  171. tooluniverse/tools/web_api_documentation_search.py +63 -0
  172. tooluniverse/tools/web_search.py +71 -0
  173. tooluniverse/uniprot_tool.py +219 -16
  174. tooluniverse/url_tool.py +19 -1
  175. tooluniverse/uspto_tool.py +1 -1
  176. tooluniverse/utils.py +12 -12
  177. tooluniverse/web_search_tool.py +229 -0
  178. tooluniverse/worms_tool.py +64 -0
  179. {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/METADATA +8 -3
  180. {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/RECORD +184 -92
  181. tooluniverse/data/genomics_tools.json +0 -174
  182. tooluniverse/tools/ToolDescriptionOptimizer.py +0 -67
  183. tooluniverse/tools/ToolImplementationGenerator.py +0 -67
  184. tooluniverse/tools/ToolOptimizer.py +0 -59
  185. tooluniverse/tools/ToolSpecificationGenerator.py +0 -67
  186. tooluniverse/tools/ToolSpecificationOptimizer.py +0 -63
  187. tooluniverse/ucsc_tool.py +0 -60
  188. {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/WHEEL +0 -0
  189. {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/entry_points.txt +0 -0
  190. {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/licenses/LICENSE +0 -0
  191. {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/top_level.txt +0 -0
@@ -1,14 +1,14 @@
1
1
  [
2
2
  {
3
3
  "name": "alphafold_get_prediction",
4
- "description": "Retrieve full AlphaFold 3D structure predictions for a given protein. Input must be a UniProt accession (e.g., 'P69905'), UniProt entry name (e.g., 'HBA_HUMAN'), or CRC64 checksum. Returns residue-level metadata including sequence, per-residue confidence scores (pLDDT), and structure download links (PDB, CIF, PAE). If you do not know the accession, first call `uniprot_search` to resolve it from a protein/gene name, or `UniProt_get_entry_by_accession` if you already have the accession and want UniProt details. For a quick overview, use `alphafold_get_summary`. For mutation/variant impact, see `alphafold_get_annotations.",
4
+ "description": "Retrieve full AlphaFold 3D structure predictions for a given protein. IMPORTANT: The qualifier must be a UniProt ACCESSION (e.g., 'P69905' for HBA_HUMAN). Do NOT use UniProt entry names like 'HBA_HUMAN' - they will cause API errors. To find UniProt accession from a gene/protein name, use `UniProt_search` (e.g., query='gene:HBA' organism='human') or `UniProt_id_mapping` for ID conversion. Returns residue-level metadata including sequence, per-residue confidence scores (pLDDT), and structure download links (PDB, CIF, PAE). If you already have the accession and want UniProt details, call `UniProt_get_entry_by_accession`. For a quick overview, use `alphafold_get_summary`. For mutation/variant impact, see `alphafold_get_annotations`.",
5
5
  "type": "AlphaFoldRESTTool",
6
6
  "parameter": {
7
7
  "type": "object",
8
8
  "properties": {
9
9
  "qualifier": {
10
10
  "type": "string",
11
- "description": "Protein identifier: UniProt accession (e.g., 'P69905'), entry name (e.g., 'HBA_HUMAN'), or CRC64 checksum."
11
+ "description": "Protein identifier: UniProt ACCESSION (e.g., 'P69905'). Do NOT use entry names like 'HBA_HUMAN'. To find accession from gene name: use `UniProt_search` or `UniProt_id_mapping`."
12
12
  },
13
13
  "sequence_checksum": {
14
14
  "type": "string",
@@ -230,14 +230,14 @@
230
230
  },
231
231
  {
232
232
  "name": "alphafold_get_summary",
233
- "description": "Retrieve summary details of AlphaFold 3D models for a given protein. Input must be a UniProt accession, entry name, or CRC64 checksum. Returns lightweight information such as sequence length, coverage, confidence scores, experimental method, resolution, oligomeric state, and structural entities. If you only know the protein/gene name, first use `uniprot_search` to find the accession. For full residue-level 3D predictions with downloadable coordinates, call `alphafold_get_prediction`. For curated variants, see `UniProt_get_disease_variants_by_accession`; for predicted mutation effects, use `alphafold_get_annotations`.",
233
+ "description": "Retrieve summary details of AlphaFold 3D models for a given protein. IMPORTANT: The qualifier must be a UniProt ACCESSION (e.g., 'Q5SWX9' for MEIOB_HUMAN). Do NOT use UniProt entry names like 'MEIOB_HUMAN' - they will cause API errors. To find UniProt accession from a gene/protein name, use `UniProt_search` (e.g., query='gene:MEIOB' organism='human') or `UniProt_id_mapping` for ID conversion. Returns lightweight information such as sequence length, coverage, confidence scores, experimental method, resolution, oligomeric state, and structural entities. For full residue-level 3D predictions with downloadable coordinates, call `alphafold_get_prediction`. For curated variants, see `UniProt_get_disease_variants_by_accession`; for predicted mutation effects, use `alphafold_get_annotations`.",
234
234
  "type": "AlphaFoldRESTTool",
235
235
  "parameter": {
236
236
  "type": "object",
237
237
  "properties": {
238
238
  "qualifier": {
239
239
  "type": "string",
240
- "description": "Protein identifier: UniProt accession, entry name, or CRC64 checksum."
240
+ "description": "Protein identifier: UniProt ACCESSION (e.g., 'Q5SWX9'). Do NOT use entry names like 'MEIOB_HUMAN'. To find accession from gene name: use `UniProt_search` or `UniProt_id_mapping`."
241
241
  }
242
242
  },
243
243
  "required": [
@@ -387,14 +387,14 @@
387
387
  },
388
388
  {
389
389
  "name": "alphafold_get_annotations",
390
- "description": "Retrieve AlphaFold variant annotations (e.g., missense mutations) for a given UniProt accession (e.g., 'P69905'). Input must be a UniProt accession, entry name, or CRC64 checksum, along with an annotation type (currently only 'MUTAGEN'). Use this tool to explore predicted pathogenicity or functional effects of substitutions. If you only have a protein/gene name, resolve it with `uniprot_search`. For experimentally curated variants, use `UniProt_get_disease_variants_by_accession`. To view the full 3D structure, call `alphafold_get_prediction`; for overall model metadata, use `alphafold_get_summary`.",
390
+ "description": "Retrieve AlphaFold variant annotations (e.g., missense mutations) for a given UniProt accession. IMPORTANT: The qualifier must be a UniProt ACCESSION (e.g., 'P69905'), along with an annotation type (currently only 'MUTAGEN'). Do NOT use UniProt entry names as they will cause API errors. To find UniProt accession from a gene/protein name, use `UniProt_search` (e.g., query='gene:TP53' organism='human') or `UniProt_id_mapping` for ID conversion. Use this tool to explore predicted pathogenicity or functional effects of substitutions. For experimentally curated variants, use `UniProt_get_disease_variants_by_accession`. To view the full 3D structure, call `alphafold_get_prediction`; for overall model metadata, use `alphafold_get_summary`.",
391
391
  "type": "AlphaFoldRESTTool",
392
392
  "parameter": {
393
393
  "type": "object",
394
394
  "properties": {
395
395
  "qualifier": {
396
396
  "type": "string",
397
- "description": "Protein identifier: UniProt accession, entry name, or CRC64 checksum."
397
+ "description": "Protein identifier: UniProt ACCESSION (e.g., 'P69905'). Do NOT use entry names. To find accession from gene name: use `UniProt_search` or `UniProt_id_mapping`."
398
398
  },
399
399
  "type": {
400
400
  "type": "string",
@@ -0,0 +1,112 @@
1
+ [
2
+ {
3
+ "type": "NCBIBlastTool",
4
+ "name": "BLAST_nucleotide_search",
5
+ "description": "Search nucleotide sequences using NCBI BLAST blastn against nucleotide databases",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "sequence": {"type": "string", "description": "DNA sequence to search"},
10
+ "database": {"type": "string", "default": "nt", "description": "Database (nt, est, etc.)"},
11
+ "expect": {"type": "number", "default": 10.0, "description": "E-value threshold"},
12
+ "hitlist_size": {"type": "integer", "default": 50, "description": "Max hits to return"}
13
+ },
14
+ "required": ["sequence"]
15
+ },
16
+ "return_schema": {
17
+ "type": "object",
18
+ "properties": {
19
+ "query_id": {"type": "string"},
20
+ "query_length": {"type": "integer"},
21
+ "database": {"type": "string"},
22
+ "alignments": {
23
+ "type": "array",
24
+ "items": {
25
+ "type": "object",
26
+ "properties": {
27
+ "hit_id": {"type": "string"},
28
+ "hit_def": {"type": "string"},
29
+ "hit_length": {"type": "integer"},
30
+ "hsps": {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "object",
34
+ "properties": {
35
+ "score": {"type": "number"},
36
+ "bits": {"type": "number"},
37
+ "expect": {"type": "number"},
38
+ "identities": {"type": "integer"},
39
+ "positives": {"type": "integer"},
40
+ "gaps": {"type": "integer"},
41
+ "query": {"type": "string"},
42
+ "match": {"type": "string"},
43
+ "sbjct": {"type": "string"}
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+ },
52
+ "test_examples": [
53
+ {"sequence": "ATGCGATCGATCGATCGATCG", "database": "nt"},
54
+ {"sequence": "AAAAATTTTTCCCCCGGGGG", "database": "est"}
55
+ ]
56
+ },
57
+ {
58
+ "type": "NCBIBlastTool",
59
+ "name": "BLAST_protein_search",
60
+ "description": "Search protein sequences using NCBI BLAST blastp against protein databases",
61
+ "parameter": {
62
+ "type": "object",
63
+ "properties": {
64
+ "sequence": {"type": "string", "description": "Protein sequence to search"},
65
+ "database": {"type": "string", "default": "nr", "description": "Database (nr, swissprot, etc.)"},
66
+ "expect": {"type": "number", "default": 10.0},
67
+ "hitlist_size": {"type": "integer", "default": 50}
68
+ },
69
+ "required": ["sequence"]
70
+ },
71
+ "return_schema": {
72
+ "type": "object",
73
+ "properties": {
74
+ "query_id": {"type": "string"},
75
+ "query_length": {"type": "integer"},
76
+ "database": {"type": "string"},
77
+ "alignments": {
78
+ "type": "array",
79
+ "items": {
80
+ "type": "object",
81
+ "properties": {
82
+ "hit_id": {"type": "string"},
83
+ "hit_def": {"type": "string"},
84
+ "hit_length": {"type": "integer"},
85
+ "hsps": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "object",
89
+ "properties": {
90
+ "score": {"type": "number"},
91
+ "bits": {"type": "number"},
92
+ "expect": {"type": "number"},
93
+ "identities": {"type": "integer"},
94
+ "positives": {"type": "integer"},
95
+ "gaps": {"type": "integer"},
96
+ "query": {"type": "string"},
97
+ "match": {"type": "string"},
98
+ "sbjct": {"type": "string"}
99
+ }
100
+ }
101
+ }
102
+ }
103
+ }
104
+ }
105
+ }
106
+ },
107
+ "test_examples": [
108
+ {"sequence": "MKLLILTCLVAVALARPKHPIKHQGLPQEVLNENLLRFFVAPFPEVFGKEKVNEL"},
109
+ {"sequence": "MKWVTFISLLFLFSSAYS"}
110
+ ]
111
+ }
112
+ ]
@@ -0,0 +1,87 @@
1
+ [
2
+ {
3
+ "type": "CBioPortalRESTTool",
4
+ "name": "cBioPortal_get_cancer_studies",
5
+ "description": "Get list of cancer studies from cBioPortal",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "limit": {"type": "integer", "default": 20, "description": "Number of studies to return"}
10
+ }
11
+ },
12
+ "fields": {
13
+ "endpoint": "https://www.cbioportal.org/api/studies?limit={limit}",
14
+ "return_format": "JSON"
15
+ },
16
+ "return_schema": {
17
+ "type": "array",
18
+ "items": {
19
+ "type": "object",
20
+ "properties": {
21
+ "studyId": {"type": "string"},
22
+ "name": {"type": "string"},
23
+ "description": {"type": "string"},
24
+ "cancerTypeId": {"type": "string"},
25
+ "publicStudy": {"type": "boolean"},
26
+ "pmid": {"type": "string"},
27
+ "citation": {"type": "string"},
28
+ "groups": {"type": "array"},
29
+ "status": {"type": "string"},
30
+ "importDate": {"type": "string"},
31
+ "allSampleCount": {"type": "integer"},
32
+ "readPermission": {"type": "boolean"},
33
+ "referenceGenome": {"type": "string"}
34
+ }
35
+ }
36
+ },
37
+ "test_examples": [{"limit": 5}, {"limit": 10}]
38
+ },
39
+ {
40
+ "type": "CBioPortalRESTTool",
41
+ "name": "cBioPortal_get_mutations",
42
+ "description": "Get mutation data for specific genes in a cancer study",
43
+ "parameter": {
44
+ "type": "object",
45
+ "properties": {
46
+ "study_id": {"type": "string", "description": "Cancer study ID"},
47
+ "gene_list": {"type": "string", "description": "Comma-separated gene symbols"}
48
+ },
49
+ "required": ["study_id", "gene_list"]
50
+ },
51
+ "fields": {
52
+ "endpoint": "https://www.cbioportal.org/api/mutations?studyId={study_id}&geneList={gene_list}",
53
+ "return_format": "JSON"
54
+ },
55
+ "return_schema": {
56
+ "type": "array",
57
+ "items": {
58
+ "type": "object",
59
+ "properties": {
60
+ "sampleId": {"type": "string"},
61
+ "studyId": {"type": "string"},
62
+ "geneSymbol": {"type": "string"},
63
+ "mutationType": {"type": "string"},
64
+ "proteinChange": {"type": "string"},
65
+ "aminoAcidChange": {"type": "string"},
66
+ "chromosome": {"type": "string"},
67
+ "startPosition": {"type": "integer"},
68
+ "endPosition": {"type": "integer"},
69
+ "referenceAllele": {"type": "string"},
70
+ "variantAllele": {"type": "string"},
71
+ "mutationStatus": {"type": "string"},
72
+ "validationStatus": {"type": "string"},
73
+ "sequencingCenter": {"type": "string"},
74
+ "sequencer": {"type": "string"},
75
+ "tumorSeqAllele1": {"type": "string"},
76
+ "tumorSeqAllele2": {"type": "string"},
77
+ "matchedNormSampleBarcode": {"type": "string"},
78
+ "tumorSampleBarcode": {"type": "string"}
79
+ }
80
+ }
81
+ },
82
+ "test_examples": [
83
+ {"study_id": "brca_tcga", "gene_list": "BRCA1,BRCA2"},
84
+ {"study_id": "luad_tcga", "gene_list": "EGFR,KRAS"}
85
+ ]
86
+ }
87
+ ]
@@ -0,0 +1,235 @@
1
+ [
2
+ {
3
+ "type": "ClinVarSearchVariants",
4
+ "name": "clinvar_search_variants",
5
+ "description": "Search for variants in ClinVar database by gene name, condition, or variant ID. Returns variant identifiers and basic information.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "gene": {
10
+ "type": "string",
11
+ "description": "Gene name or symbol (e.g., 'BRCA1', 'BRCA2')"
12
+ },
13
+ "condition": {
14
+ "type": "string",
15
+ "description": "Disease or condition name (e.g., 'breast cancer', 'diabetes')"
16
+ },
17
+ "variant_id": {
18
+ "type": "string",
19
+ "description": "ClinVar variant ID (e.g., '12345')"
20
+ },
21
+ "max_results": {
22
+ "type": "integer",
23
+ "description": "Maximum number of results to return",
24
+ "default": 20,
25
+ "minimum": 1,
26
+ "maximum": 100
27
+ }
28
+ },
29
+ "required": []
30
+ },
31
+ "fields": {
32
+ "endpoint": "/esearch.fcgi",
33
+ "return_format": "JSON"
34
+ },
35
+ "return_schema": {
36
+ "type": "object",
37
+ "description": "ClinVar search results",
38
+ "properties": {
39
+ "status": {
40
+ "type": "string",
41
+ "description": "Status of the request"
42
+ },
43
+ "data": {
44
+ "type": "object",
45
+ "description": "Search results from ClinVar",
46
+ "properties": {
47
+ "esearchresult": {
48
+ "type": "object",
49
+ "properties": {
50
+ "count": {
51
+ "type": "string",
52
+ "description": "Number of results found"
53
+ },
54
+ "idlist": {
55
+ "type": "array",
56
+ "items": {
57
+ "type": "string"
58
+ },
59
+ "description": "List of ClinVar variant IDs"
60
+ },
61
+ "querytranslation": {
62
+ "type": "string",
63
+ "description": "Translated query"
64
+ }
65
+ }
66
+ }
67
+ }
68
+ },
69
+ "search_params": {
70
+ "type": "object",
71
+ "description": "Search parameters used",
72
+ "properties": {
73
+ "gene": {"type": "string"},
74
+ "condition": {"type": "string"},
75
+ "variant_id": {"type": "string"}
76
+ }
77
+ },
78
+ "url": {
79
+ "type": "string",
80
+ "description": "API URL used"
81
+ }
82
+ }
83
+ },
84
+ "test_examples": [
85
+ {
86
+ "gene": "BRCA1",
87
+ "max_results": 10
88
+ },
89
+ {
90
+ "condition": "breast cancer",
91
+ "max_results": 5
92
+ }
93
+ ],
94
+ "label": [
95
+ "ClinVar",
96
+ "Variants",
97
+ "Search"
98
+ ],
99
+ "metadata": {
100
+ "tags": ["variants", "clinical", "disease"],
101
+ "difficulty_level": "easy",
102
+ "estimated_execution_time": "< 3 seconds"
103
+ }
104
+ },
105
+ {
106
+ "type": "ClinVarGetVariantDetails",
107
+ "name": "clinvar_get_variant_details",
108
+ "description": "Get detailed variant information from ClinVar by variant ID. Returns comprehensive variant data including clinical significance.",
109
+ "parameter": {
110
+ "type": "object",
111
+ "properties": {
112
+ "variant_id": {
113
+ "type": "string",
114
+ "description": "ClinVar variant ID (e.g., '12345', '123456')"
115
+ }
116
+ },
117
+ "required": ["variant_id"]
118
+ },
119
+ "fields": {
120
+ "endpoint": "/efetch.fcgi",
121
+ "return_format": "JSON"
122
+ },
123
+ "return_schema": {
124
+ "type": "object",
125
+ "description": "ClinVar variant details",
126
+ "properties": {
127
+ "status": {
128
+ "type": "string",
129
+ "description": "Status of the request"
130
+ },
131
+ "data": {
132
+ "type": "object",
133
+ "description": "Detailed variant information from ClinVar",
134
+ "properties": {
135
+ "variation": {
136
+ "type": "object",
137
+ "description": "Variant data structure"
138
+ }
139
+ }
140
+ },
141
+ "variant_id": {
142
+ "type": "string",
143
+ "description": "Input variant ID"
144
+ },
145
+ "url": {
146
+ "type": "string",
147
+ "description": "API URL used"
148
+ }
149
+ }
150
+ },
151
+ "test_examples": [
152
+ {
153
+ "variant_id": "12345"
154
+ },
155
+ {
156
+ "variant_id": "123456"
157
+ }
158
+ ],
159
+ "label": [
160
+ "ClinVar",
161
+ "Variant",
162
+ "Details"
163
+ ],
164
+ "metadata": {
165
+ "tags": ["variant", "details", "clinical"],
166
+ "difficulty_level": "easy",
167
+ "estimated_execution_time": "< 3 seconds"
168
+ }
169
+ },
170
+ {
171
+ "type": "ClinVarGetClinicalSignificance",
172
+ "name": "clinvar_get_clinical_significance",
173
+ "description": "Get clinical significance information for a variant from ClinVar. Returns pathogenicity classification and clinical interpretations.",
174
+ "parameter": {
175
+ "type": "object",
176
+ "properties": {
177
+ "variant_id": {
178
+ "type": "string",
179
+ "description": "ClinVar variant ID (e.g., '12345', '123456')"
180
+ }
181
+ },
182
+ "required": ["variant_id"]
183
+ },
184
+ "fields": {
185
+ "endpoint": "/esummary.fcgi",
186
+ "return_format": "JSON"
187
+ },
188
+ "return_schema": {
189
+ "type": "object",
190
+ "description": "ClinVar clinical significance data",
191
+ "properties": {
192
+ "status": {
193
+ "type": "string",
194
+ "description": "Status of the request"
195
+ },
196
+ "data": {
197
+ "type": "object",
198
+ "description": "Clinical significance information from ClinVar",
199
+ "properties": {
200
+ "result": {
201
+ "type": "object",
202
+ "description": "Summary results for the variant"
203
+ }
204
+ }
205
+ },
206
+ "variant_id": {
207
+ "type": "string",
208
+ "description": "Input variant ID"
209
+ },
210
+ "url": {
211
+ "type": "string",
212
+ "description": "API URL used"
213
+ }
214
+ }
215
+ },
216
+ "test_examples": [
217
+ {
218
+ "variant_id": "12345"
219
+ },
220
+ {
221
+ "variant_id": "123456"
222
+ }
223
+ ],
224
+ "label": [
225
+ "ClinVar",
226
+ "Clinical",
227
+ "Significance"
228
+ ],
229
+ "metadata": {
230
+ "tags": ["clinical", "pathogenicity", "significance"],
231
+ "difficulty_level": "easy",
232
+ "estimated_execution_time": "< 3 seconds"
233
+ }
234
+ }
235
+ ]
@@ -40,95 +40,6 @@
40
40
  "composition_file": "drug_safety_analyzer.py",
41
41
  "composition_function": "compose"
42
42
  },
43
- {
44
- "type": "ComposeTool",
45
- "name": "ToolDescriptionOptimizer",
46
- "description": "Optimizes a tool's description and parameter descriptions by generating test cases, executing them, analyzing the results, and suggesting improved descriptions for both the tool and its arguments. Optionally saves a comprehensive optimization report to a file without overwriting the original.",
47
- "parameter": {
48
- "type": "object",
49
- "properties": {
50
- "tool_config": {
51
- "type": "object",
52
- "description": "The full configuration of the tool to optimize."
53
- },
54
- "save_to_file": {
55
- "type": "boolean",
56
- "description": "If true, save the optimized description to a file (do not overwrite the original).",
57
- "default": false
58
- },
59
- "output_file": {
60
- "type": "string",
61
- "description": "Optional file path to save the optimized description. If not provided, use '<tool_name>_optimized_description.txt'."
62
- },
63
- "max_iterations": {
64
- "type": "integer",
65
- "description": "Maximum number of optimization rounds to perform.",
66
- "default": 3
67
- },
68
- "satisfaction_threshold": {
69
- "type": "number",
70
- "description": "Quality score threshold (1-10) to consider optimization satisfactory.",
71
- "default": 8
72
- }
73
- },
74
- "required": [
75
- "tool_config",
76
- "save_to_file",
77
- "output_file",
78
- "max_iterations",
79
- "satisfaction_threshold"
80
- ]
81
- },
82
- "auto_load_dependencies": true,
83
- "fail_on_missing_tools": false,
84
- "required_tools": [
85
- "TestCaseGenerator",
86
- "DescriptionAnalyzer",
87
- "ArgumentDescriptionOptimizer",
88
- "DescriptionQualityEvaluator"
89
- ],
90
- "composition_file": "tool_description_optimizer.py",
91
- "composition_function": "compose"
92
- },
93
- {
94
- "type": "ComposeTool",
95
- "name": "ToolDiscover",
96
- "description": "Generates new ToolUniverse-compliant tools based on short descriptions through an intelligent discovery and refinement process. Automatically determines the optimal tool type and category, discovers similar existing tools, generates initial specifications, and iteratively refines the tool configuration using agentic optimization tools until it meets quality standards.",
97
- "parameter": {
98
- "type": "object",
99
- "properties": {
100
- "tool_description": {
101
- "type": "string",
102
- "description": "Short description of the desired tool functionality and purpose. Tool Discover will automatically analyze this to determine the optimal tool type (PackageTool, RESTTool, XMLTool, or AgenticTool) and appropriate category."
103
- },
104
- "max_iterations": {
105
- "type": "integer",
106
- "description": "Maximum number of refinement iterations to perform.",
107
- "default": 20
108
- },
109
- "save_to_file": {
110
- "type": "boolean",
111
- "description": "Whether to save the generated tool configuration and report to a file.",
112
- "default": true
113
- },
114
- "output_file": {
115
- "type": "string",
116
- "description": "Optional file path to save the generated tool. If not provided, uses auto-generated filename."
117
- }
118
- },
119
- "required": [
120
- "tool_description",
121
- "max_iterations",
122
- "save_to_file",
123
- "output_file"
124
- ]
125
- },
126
- "auto_load_dependencies": true,
127
- "fail_on_missing_tools": false,
128
- "required_tools": [],
129
- "composition_file": "tool_discover.py",
130
- "composition_function": "compose"
131
- },
132
43
  {
133
44
  "type": "ComposeTool",
134
45
  "name": "LiteratureSearchTool",