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,30 +1,36 @@
1
1
  """
2
- ClinVar_search_variants
2
+ clinvar_search_variants
3
3
 
4
- Search ClinVar via NCBI E-utilities (esearch→esummary) and return concise variant records for a q...
4
+ Search for variants in ClinVar database by gene name, condition, or variant ID. Returns variant i...
5
5
  """
6
6
 
7
7
  from typing import Any, Optional, Callable
8
8
  from ._shared_client import get_shared_client
9
9
 
10
10
 
11
- def ClinVar_search_variants(
12
- query: str,
13
- retmax: Optional[int] = 5,
11
+ def clinvar_search_variants(
12
+ gene: Optional[str] = None,
13
+ condition: Optional[str] = None,
14
+ variant_id: Optional[str] = None,
15
+ max_results: Optional[int] = 20,
14
16
  *,
15
17
  stream_callback: Optional[Callable[[str], None]] = None,
16
18
  use_cache: bool = False,
17
19
  validate: bool = True,
18
- ) -> list[Any]:
20
+ ) -> dict[str, Any]:
19
21
  """
20
- Search ClinVar via NCBI E-utilities (esearch→esummary) and return concise variant records for a q...
22
+ Search for variants in ClinVar database by gene name, condition, or variant ID. Returns variant i...
21
23
 
22
24
  Parameters
23
25
  ----------
24
- query : str
25
- ClinVar search term (e.g., BRCA1).
26
- retmax : int
27
- Max records.
26
+ gene : str
27
+ Gene name or symbol (e.g., 'BRCA1', 'BRCA2')
28
+ condition : str
29
+ Disease or condition name (e.g., 'breast cancer', 'diabetes')
30
+ variant_id : str
31
+ ClinVar variant ID (e.g., '12345')
32
+ max_results : int
33
+ Maximum number of results to return
28
34
  stream_callback : Callable, optional
29
35
  Callback for streaming output
30
36
  use_cache : bool, default False
@@ -34,14 +40,19 @@ def ClinVar_search_variants(
34
40
 
35
41
  Returns
36
42
  -------
37
- list[Any]
43
+ dict[str, Any]
38
44
  """
39
45
  # Handle mutable defaults to avoid B006 linting error
40
46
 
41
47
  return get_shared_client().run_one_function(
42
48
  {
43
- "name": "ClinVar_search_variants",
44
- "arguments": {"query": query, "retmax": retmax},
49
+ "name": "clinvar_search_variants",
50
+ "arguments": {
51
+ "gene": gene,
52
+ "condition": condition,
53
+ "variant_id": variant_id,
54
+ "max_results": max_results,
55
+ },
45
56
  },
46
57
  stream_callback=stream_callback,
47
58
  use_cache=use_cache,
@@ -49,4 +60,4 @@ def ClinVar_search_variants(
49
60
  )
50
61
 
51
62
 
52
- __all__ = ["ClinVar_search_variants"]
63
+ __all__ = ["clinvar_search_variants"]
@@ -14,12 +14,12 @@ def CodeQualityAnalyzer(
14
14
  tool_parameters: str,
15
15
  implementation_code: str,
16
16
  test_cases: str,
17
- test_execution_results: Optional[str] = None,
17
+ test_execution_results: str,
18
18
  *,
19
19
  stream_callback: Optional[Callable[[str], None]] = None,
20
20
  use_cache: bool = False,
21
21
  validate: bool = True,
22
- ) -> Any:
22
+ ) -> dict[str, Any]:
23
23
  """
24
24
  Analyzes code quality from multiple dimensions including algorithmic correctness, functional impl...
25
25
 
@@ -46,7 +46,7 @@ def CodeQualityAnalyzer(
46
46
 
47
47
  Returns
48
48
  -------
49
- Any
49
+ dict[str, Any]
50
50
  """
51
51
  # Handle mutable defaults to avoid B006 linting error
52
52
 
@@ -0,0 +1,46 @@
1
+ """
2
+ EMDB_get_structure
3
+
4
+ Get electron microscopy structure data from EMDB
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def EMDB_get_structure(
12
+ emdb_id: str,
13
+ *,
14
+ stream_callback: Optional[Callable[[str], None]] = None,
15
+ use_cache: bool = False,
16
+ validate: bool = True,
17
+ ) -> dict[str, Any]:
18
+ """
19
+ Get electron microscopy structure data from EMDB
20
+
21
+ Parameters
22
+ ----------
23
+ emdb_id : str
24
+ EMDB structure ID (e.g., EMD-1234)
25
+ stream_callback : Callable, optional
26
+ Callback for streaming output
27
+ use_cache : bool, default False
28
+ Enable caching
29
+ validate : bool, default True
30
+ Validate parameters
31
+
32
+ Returns
33
+ -------
34
+ dict[str, Any]
35
+ """
36
+ # Handle mutable defaults to avoid B006 linting error
37
+
38
+ return get_shared_client().run_one_function(
39
+ {"name": "EMDB_get_structure", "arguments": {"emdb_id": emdb_id}},
40
+ stream_callback=stream_callback,
41
+ use_cache=use_cache,
42
+ validate=validate,
43
+ )
44
+
45
+
46
+ __all__ = ["EMDB_get_structure"]
@@ -0,0 +1,52 @@
1
+ """
2
+ GtoPdb_get_targets
3
+
4
+ Get pharmacological targets from Guide to Pharmacology database
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def GtoPdb_get_targets(
12
+ target_type: Optional[str] = "protein",
13
+ limit: Optional[int] = 20,
14
+ *,
15
+ stream_callback: Optional[Callable[[str], None]] = None,
16
+ use_cache: bool = False,
17
+ validate: bool = True,
18
+ ) -> list[Any]:
19
+ """
20
+ Get pharmacological targets from Guide to Pharmacology database
21
+
22
+ Parameters
23
+ ----------
24
+ target_type : str
25
+ Target type
26
+ limit : int
27
+ Number of results
28
+ stream_callback : Callable, optional
29
+ Callback for streaming output
30
+ use_cache : bool, default False
31
+ Enable caching
32
+ validate : bool, default True
33
+ Validate parameters
34
+
35
+ Returns
36
+ -------
37
+ list[Any]
38
+ """
39
+ # Handle mutable defaults to avoid B006 linting error
40
+
41
+ return get_shared_client().run_one_function(
42
+ {
43
+ "name": "GtoPdb_get_targets",
44
+ "arguments": {"target_type": target_type, "limit": limit},
45
+ },
46
+ stream_callback=stream_callback,
47
+ use_cache=use_cache,
48
+ validate=validate,
49
+ )
50
+
51
+
52
+ __all__ = ["GtoPdb_get_targets"]
@@ -0,0 +1,46 @@
1
+ """
2
+ InterPro_get_domain_details
3
+
4
+ Get detailed information about a specific InterPro domain entry including description, hierarchy,...
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def InterPro_get_domain_details(
12
+ accession: str,
13
+ *,
14
+ stream_callback: Optional[Callable[[str], None]] = None,
15
+ use_cache: bool = False,
16
+ validate: bool = True,
17
+ ) -> dict[str, Any]:
18
+ """
19
+ Get detailed information about a specific InterPro domain entry including description, hierarchy,...
20
+
21
+ Parameters
22
+ ----------
23
+ accession : str
24
+ InterPro accession ID (e.g., IPR000719, IPR000719)
25
+ stream_callback : Callable, optional
26
+ Callback for streaming output
27
+ use_cache : bool, default False
28
+ Enable caching
29
+ validate : bool, default True
30
+ Validate parameters
31
+
32
+ Returns
33
+ -------
34
+ dict[str, Any]
35
+ """
36
+ # Handle mutable defaults to avoid B006 linting error
37
+
38
+ return get_shared_client().run_one_function(
39
+ {"name": "InterPro_get_domain_details", "arguments": {"accession": accession}},
40
+ stream_callback=stream_callback,
41
+ use_cache=use_cache,
42
+ validate=validate,
43
+ )
44
+
45
+
46
+ __all__ = ["InterPro_get_domain_details"]
@@ -0,0 +1,49 @@
1
+ """
2
+ InterPro_get_protein_domains
3
+
4
+ Get protein domain annotations from InterPro database using UniProt protein ID. Returns domain fa...
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def InterPro_get_protein_domains(
12
+ protein_id: str,
13
+ *,
14
+ stream_callback: Optional[Callable[[str], None]] = None,
15
+ use_cache: bool = False,
16
+ validate: bool = True,
17
+ ) -> list[Any]:
18
+ """
19
+ Get protein domain annotations from InterPro database using UniProt protein ID. Returns domain fa...
20
+
21
+ Parameters
22
+ ----------
23
+ protein_id : str
24
+ UniProt protein ID (e.g., P05067, Q9Y6K9)
25
+ stream_callback : Callable, optional
26
+ Callback for streaming output
27
+ use_cache : bool, default False
28
+ Enable caching
29
+ validate : bool, default True
30
+ Validate parameters
31
+
32
+ Returns
33
+ -------
34
+ list[Any]
35
+ """
36
+ # Handle mutable defaults to avoid B006 linting error
37
+
38
+ return get_shared_client().run_one_function(
39
+ {
40
+ "name": "InterPro_get_protein_domains",
41
+ "arguments": {"protein_id": protein_id},
42
+ },
43
+ stream_callback=stream_callback,
44
+ use_cache=use_cache,
45
+ validate=validate,
46
+ )
47
+
48
+
49
+ __all__ = ["InterPro_get_protein_domains"]
@@ -0,0 +1,52 @@
1
+ """
2
+ InterPro_search_domains
3
+
4
+ Search InterPro database for protein domains and families by name or accession. Returns matching ...
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def InterPro_search_domains(
12
+ query: str,
13
+ size: Optional[int] = 20,
14
+ *,
15
+ stream_callback: Optional[Callable[[str], None]] = None,
16
+ use_cache: bool = False,
17
+ validate: bool = True,
18
+ ) -> list[Any]:
19
+ """
20
+ Search InterPro database for protein domains and families by name or accession. Returns matching ...
21
+
22
+ Parameters
23
+ ----------
24
+ query : str
25
+ Domain name, accession, or search term (e.g., 'kinase', 'IPR000719')
26
+ size : int
27
+ Number of results to return (default: 20, max: 100)
28
+ stream_callback : Callable, optional
29
+ Callback for streaming output
30
+ use_cache : bool, default False
31
+ Enable caching
32
+ validate : bool, default True
33
+ Validate parameters
34
+
35
+ Returns
36
+ -------
37
+ list[Any]
38
+ """
39
+ # Handle mutable defaults to avoid B006 linting error
40
+
41
+ return get_shared_client().run_one_function(
42
+ {
43
+ "name": "InterPro_search_domains",
44
+ "arguments": {"query": query, "size": size},
45
+ },
46
+ stream_callback=stream_callback,
47
+ use_cache=use_cache,
48
+ validate=validate,
49
+ )
50
+
51
+
52
+ __all__ = ["InterPro_search_domains"]
@@ -0,0 +1,52 @@
1
+ """
2
+ JASPAR_get_transcription_factors
3
+
4
+ Get transcription factor binding site matrices from JASPAR
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def JASPAR_get_transcription_factors(
12
+ collection: Optional[str] = "CORE",
13
+ limit: Optional[int] = 20,
14
+ *,
15
+ stream_callback: Optional[Callable[[str], None]] = None,
16
+ use_cache: bool = False,
17
+ validate: bool = True,
18
+ ) -> dict[str, Any]:
19
+ """
20
+ Get transcription factor binding site matrices from JASPAR
21
+
22
+ Parameters
23
+ ----------
24
+ collection : str
25
+ JASPAR collection
26
+ limit : int
27
+ Number of results
28
+ stream_callback : Callable, optional
29
+ Callback for streaming output
30
+ use_cache : bool, default False
31
+ Enable caching
32
+ validate : bool, default True
33
+ Validate parameters
34
+
35
+ Returns
36
+ -------
37
+ dict[str, Any]
38
+ """
39
+ # Handle mutable defaults to avoid B006 linting error
40
+
41
+ return get_shared_client().run_one_function(
42
+ {
43
+ "name": "JASPAR_get_transcription_factors",
44
+ "arguments": {"collection": collection, "limit": limit},
45
+ },
46
+ stream_callback=stream_callback,
47
+ use_cache=use_cache,
48
+ validate=validate,
49
+ )
50
+
51
+
52
+ __all__ = ["JASPAR_get_transcription_factors"]
@@ -0,0 +1,59 @@
1
+ """
2
+ MPD_get_phenotype_data
3
+
4
+ Get mouse phenotype data from Mouse Phenome Database for specific strains and phenotypes
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def MPD_get_phenotype_data(
12
+ strain: str,
13
+ phenotype_category: Optional[str] = "behavior",
14
+ limit: Optional[int] = 10,
15
+ *,
16
+ stream_callback: Optional[Callable[[str], None]] = None,
17
+ use_cache: bool = False,
18
+ validate: bool = True,
19
+ ) -> dict[str, Any]:
20
+ """
21
+ Get mouse phenotype data from Mouse Phenome Database for specific strains and phenotypes
22
+
23
+ Parameters
24
+ ----------
25
+ strain : str
26
+ Mouse strain (e.g., C57BL/6J, BALB/c, DBA/2J)
27
+ phenotype_category : str
28
+ Phenotype category (behavior, physiology, morphology)
29
+ limit : int
30
+ Number of results to return
31
+ stream_callback : Callable, optional
32
+ Callback for streaming output
33
+ use_cache : bool, default False
34
+ Enable caching
35
+ validate : bool, default True
36
+ Validate parameters
37
+
38
+ Returns
39
+ -------
40
+ dict[str, Any]
41
+ """
42
+ # Handle mutable defaults to avoid B006 linting error
43
+
44
+ return get_shared_client().run_one_function(
45
+ {
46
+ "name": "MPD_get_phenotype_data",
47
+ "arguments": {
48
+ "strain": strain,
49
+ "phenotype_category": phenotype_category,
50
+ "limit": limit,
51
+ },
52
+ },
53
+ stream_callback=stream_callback,
54
+ use_cache=use_cache,
55
+ validate=validate,
56
+ )
57
+
58
+
59
+ __all__ = ["MPD_get_phenotype_data"]
@@ -0,0 +1,52 @@
1
+ """
2
+ PRIDE_search_proteomics
3
+
4
+ Search PRIDE proteomics database for experiments
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def PRIDE_search_proteomics(
12
+ query: str,
13
+ page_size: Optional[int] = 20,
14
+ *,
15
+ stream_callback: Optional[Callable[[str], None]] = None,
16
+ use_cache: bool = False,
17
+ validate: bool = True,
18
+ ) -> dict[str, Any]:
19
+ """
20
+ Search PRIDE proteomics database for experiments
21
+
22
+ Parameters
23
+ ----------
24
+ query : str
25
+ Search query
26
+ page_size : int
27
+ Results per page
28
+ stream_callback : Callable, optional
29
+ Callback for streaming output
30
+ use_cache : bool, default False
31
+ Enable caching
32
+ validate : bool, default True
33
+ Validate parameters
34
+
35
+ Returns
36
+ -------
37
+ dict[str, Any]
38
+ """
39
+ # Handle mutable defaults to avoid B006 linting error
40
+
41
+ return get_shared_client().run_one_function(
42
+ {
43
+ "name": "PRIDE_search_proteomics",
44
+ "arguments": {"query": query, "page_size": page_size},
45
+ },
46
+ stream_callback=stream_callback,
47
+ use_cache=use_cache,
48
+ validate=validate,
49
+ )
50
+
51
+
52
+ __all__ = ["PRIDE_search_proteomics"]
@@ -0,0 +1,55 @@
1
+ """
2
+ PackageAnalyzer
3
+
4
+ Analyzes package candidates and recommends the best options based on quality metrics and suitability
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def PackageAnalyzer(
12
+ tool_description: str,
13
+ package_candidates: str,
14
+ *,
15
+ stream_callback: Optional[Callable[[str], None]] = None,
16
+ use_cache: bool = False,
17
+ validate: bool = True,
18
+ ) -> dict[str, Any]:
19
+ """
20
+ Analyzes package candidates and recommends the best options based on quality metrics and suitability
21
+
22
+ Parameters
23
+ ----------
24
+ tool_description : str
25
+ Description of the tool being generated
26
+ package_candidates : str
27
+ JSON string containing package candidates with their metadata (from PyPI, sea...
28
+ stream_callback : Callable, optional
29
+ Callback for streaming output
30
+ use_cache : bool, default False
31
+ Enable caching
32
+ validate : bool, default True
33
+ Validate parameters
34
+
35
+ Returns
36
+ -------
37
+ dict[str, Any]
38
+ """
39
+ # Handle mutable defaults to avoid B006 linting error
40
+
41
+ return get_shared_client().run_one_function(
42
+ {
43
+ "name": "PackageAnalyzer",
44
+ "arguments": {
45
+ "tool_description": tool_description,
46
+ "package_candidates": package_candidates,
47
+ },
48
+ },
49
+ stream_callback=stream_callback,
50
+ use_cache=use_cache,
51
+ validate=validate,
52
+ )
53
+
54
+
55
+ __all__ = ["PackageAnalyzer"]
@@ -0,0 +1,52 @@
1
+ """
2
+ Paleobiology_get_fossils
3
+
4
+ Get fossil records from Paleobiology Database
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def Paleobiology_get_fossils(
12
+ taxon: str,
13
+ limit: Optional[int] = 20,
14
+ *,
15
+ stream_callback: Optional[Callable[[str], None]] = None,
16
+ use_cache: bool = False,
17
+ validate: bool = True,
18
+ ) -> dict[str, Any]:
19
+ """
20
+ Get fossil records from Paleobiology Database
21
+
22
+ Parameters
23
+ ----------
24
+ taxon : str
25
+ Taxon name
26
+ limit : int
27
+ Number of results
28
+ stream_callback : Callable, optional
29
+ Callback for streaming output
30
+ use_cache : bool, default False
31
+ Enable caching
32
+ validate : bool, default True
33
+ Validate parameters
34
+
35
+ Returns
36
+ -------
37
+ dict[str, Any]
38
+ """
39
+ # Handle mutable defaults to avoid B006 linting error
40
+
41
+ return get_shared_client().run_one_function(
42
+ {
43
+ "name": "Paleobiology_get_fossils",
44
+ "arguments": {"taxon": taxon, "limit": limit},
45
+ },
46
+ stream_callback=stream_callback,
47
+ use_cache=use_cache,
48
+ validate=validate,
49
+ )
50
+
51
+
52
+ __all__ = ["Paleobiology_get_fossils"]
@@ -0,0 +1,59 @@
1
+ """
2
+ PyPIPackageInspector
3
+
4
+ Extracts comprehensive package information from PyPI and GitHub for quality evaluation. Provides ...
5
+ """
6
+
7
+ from typing import Any, Optional, Callable
8
+ from ._shared_client import get_shared_client
9
+
10
+
11
+ def PyPIPackageInspector(
12
+ package_name: str,
13
+ include_github: Optional[bool] = True,
14
+ include_downloads: Optional[bool] = True,
15
+ *,
16
+ stream_callback: Optional[Callable[[str], None]] = None,
17
+ use_cache: bool = False,
18
+ validate: bool = True,
19
+ ) -> dict[str, Any]:
20
+ """
21
+ Extracts comprehensive package information from PyPI and GitHub for quality evaluation. Provides ...
22
+
23
+ Parameters
24
+ ----------
25
+ package_name : str
26
+ Name of the Python package to inspect on PyPI (e.g., 'requests', 'numpy', 'pa...
27
+ include_github : bool
28
+ Whether to fetch GitHub repository statistics (stars, forks, issues, last pus...
29
+ include_downloads : bool
30
+ Whether to fetch download statistics from pypistats.org (downloads per day/we...
31
+ stream_callback : Callable, optional
32
+ Callback for streaming output
33
+ use_cache : bool, default False
34
+ Enable caching
35
+ validate : bool, default True
36
+ Validate parameters
37
+
38
+ Returns
39
+ -------
40
+ dict[str, Any]
41
+ """
42
+ # Handle mutable defaults to avoid B006 linting error
43
+
44
+ return get_shared_client().run_one_function(
45
+ {
46
+ "name": "PyPIPackageInspector",
47
+ "arguments": {
48
+ "package_name": package_name,
49
+ "include_github": include_github,
50
+ "include_downloads": include_downloads,
51
+ },
52
+ },
53
+ stream_callback=stream_callback,
54
+ use_cache=use_cache,
55
+ validate=validate,
56
+ )
57
+
58
+
59
+ __all__ = ["PyPIPackageInspector"]