tooluniverse 1.0.10__py3-none-any.whl → 1.0.11.1__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 (151) hide show
  1. tooluniverse/__init__.py +57 -1
  2. tooluniverse/blast_tool.py +132 -0
  3. tooluniverse/boltz_tool.py +2 -2
  4. tooluniverse/cbioportal_tool.py +42 -0
  5. tooluniverse/clinvar_tool.py +268 -74
  6. tooluniverse/compose_scripts/tool_discover.py +1941 -443
  7. tooluniverse/data/agentic_tools.json +0 -370
  8. tooluniverse/data/alphafold_tools.json +6 -6
  9. tooluniverse/data/blast_tools.json +112 -0
  10. tooluniverse/data/cbioportal_tools.json +87 -0
  11. tooluniverse/data/clinvar_tools.json +235 -0
  12. tooluniverse/data/compose_tools.json +0 -89
  13. tooluniverse/data/dbsnp_tools.json +275 -0
  14. tooluniverse/data/emdb_tools.json +61 -0
  15. tooluniverse/data/ensembl_tools.json +259 -0
  16. tooluniverse/data/file_download_tools.json +275 -0
  17. tooluniverse/data/geo_tools.json +200 -48
  18. tooluniverse/data/gnomad_tools.json +109 -0
  19. tooluniverse/data/gtopdb_tools.json +68 -0
  20. tooluniverse/data/gwas_tools.json +32 -0
  21. tooluniverse/data/interpro_tools.json +199 -0
  22. tooluniverse/data/jaspar_tools.json +70 -0
  23. tooluniverse/data/kegg_tools.json +356 -0
  24. tooluniverse/data/mpd_tools.json +87 -0
  25. tooluniverse/data/ols_tools.json +314 -0
  26. tooluniverse/data/package_discovery_tools.json +64 -0
  27. tooluniverse/data/packages/categorized_tools.txt +0 -1
  28. tooluniverse/data/packages/machine_learning_tools.json +0 -47
  29. tooluniverse/data/paleobiology_tools.json +91 -0
  30. tooluniverse/data/pride_tools.json +62 -0
  31. tooluniverse/data/pypi_package_inspector_tools.json +158 -0
  32. tooluniverse/data/python_executor_tools.json +341 -0
  33. tooluniverse/data/regulomedb_tools.json +50 -0
  34. tooluniverse/data/remap_tools.json +89 -0
  35. tooluniverse/data/screen_tools.json +89 -0
  36. tooluniverse/data/tool_discovery_agents.json +428 -0
  37. tooluniverse/data/tool_discovery_agents.json.backup +1343 -0
  38. tooluniverse/data/uniprot_tools.json +77 -0
  39. tooluniverse/data/web_search_tools.json +250 -0
  40. tooluniverse/data/worms_tools.json +55 -0
  41. tooluniverse/dbsnp_tool.py +196 -58
  42. tooluniverse/default_config.py +35 -2
  43. tooluniverse/emdb_tool.py +30 -0
  44. tooluniverse/ensembl_tool.py +140 -47
  45. tooluniverse/execute_function.py +78 -14
  46. tooluniverse/file_download_tool.py +269 -0
  47. tooluniverse/geo_tool.py +81 -28
  48. tooluniverse/gnomad_tool.py +100 -52
  49. tooluniverse/gtopdb_tool.py +41 -0
  50. tooluniverse/interpro_tool.py +72 -0
  51. tooluniverse/jaspar_tool.py +30 -0
  52. tooluniverse/kegg_tool.py +230 -0
  53. tooluniverse/mpd_tool.py +42 -0
  54. tooluniverse/ncbi_eutils_tool.py +96 -0
  55. tooluniverse/ols_tool.py +435 -0
  56. tooluniverse/package_discovery_tool.py +217 -0
  57. tooluniverse/paleobiology_tool.py +30 -0
  58. tooluniverse/pride_tool.py +30 -0
  59. tooluniverse/pypi_package_inspector_tool.py +593 -0
  60. tooluniverse/python_executor_tool.py +711 -0
  61. tooluniverse/regulomedb_tool.py +30 -0
  62. tooluniverse/remap_tool.py +44 -0
  63. tooluniverse/remote/depmap_24q2/depmap_24q2_mcp_tool.py +1 -1
  64. tooluniverse/screen_tool.py +44 -0
  65. tooluniverse/smcp.py +10 -2
  66. tooluniverse/smcp_server.py +3 -3
  67. tooluniverse/tool_finder_embedding.py +3 -1
  68. tooluniverse/tool_finder_keyword.py +3 -1
  69. tooluniverse/tool_finder_llm.py +6 -2
  70. tooluniverse/tools/{UCSC_get_genes_by_region.py → BLAST_nucleotide_search.py} +22 -26
  71. tooluniverse/tools/BLAST_protein_search.py +63 -0
  72. tooluniverse/tools/ClinVar_search_variants.py +26 -15
  73. tooluniverse/tools/CodeQualityAnalyzer.py +3 -3
  74. tooluniverse/tools/EMDB_get_structure.py +46 -0
  75. tooluniverse/tools/GtoPdb_get_targets.py +52 -0
  76. tooluniverse/tools/InterPro_get_domain_details.py +46 -0
  77. tooluniverse/tools/InterPro_get_protein_domains.py +49 -0
  78. tooluniverse/tools/InterPro_search_domains.py +52 -0
  79. tooluniverse/tools/JASPAR_get_transcription_factors.py +52 -0
  80. tooluniverse/tools/MPD_get_phenotype_data.py +59 -0
  81. tooluniverse/tools/PRIDE_search_proteomics.py +52 -0
  82. tooluniverse/tools/PackageAnalyzer.py +55 -0
  83. tooluniverse/tools/Paleobiology_get_fossils.py +52 -0
  84. tooluniverse/tools/PyPIPackageInspector.py +59 -0
  85. tooluniverse/tools/ReMap_get_transcription_factor_binding.py +59 -0
  86. tooluniverse/tools/ReferenceInfoAnalyzer.py +55 -0
  87. tooluniverse/tools/RegulomeDB_query_variant.py +46 -0
  88. tooluniverse/tools/SCREEN_get_regulatory_elements.py +59 -0
  89. tooluniverse/tools/{ArgumentDescriptionOptimizer.py → TestResultsAnalyzer.py} +13 -13
  90. tooluniverse/tools/ToolDiscover.py +11 -11
  91. tooluniverse/tools/UniProt_id_mapping.py +63 -0
  92. tooluniverse/tools/UniProt_search.py +63 -0
  93. tooluniverse/tools/UnifiedToolGenerator.py +59 -0
  94. tooluniverse/tools/WoRMS_search_species.py +49 -0
  95. tooluniverse/tools/XMLToolOptimizer.py +55 -0
  96. tooluniverse/tools/__init__.py +119 -29
  97. tooluniverse/tools/alphafold_get_annotations.py +3 -3
  98. tooluniverse/tools/alphafold_get_prediction.py +3 -3
  99. tooluniverse/tools/alphafold_get_summary.py +3 -3
  100. tooluniverse/tools/cBioPortal_get_cancer_studies.py +46 -0
  101. tooluniverse/tools/cBioPortal_get_mutations.py +52 -0
  102. tooluniverse/tools/{gnomAD_query_variant.py → clinvar_get_clinical_significance.py} +8 -11
  103. tooluniverse/tools/clinvar_get_variant_details.py +49 -0
  104. tooluniverse/tools/dbSNP_get_variant_by_rsid.py +7 -7
  105. tooluniverse/tools/dbsnp_get_frequencies.py +46 -0
  106. tooluniverse/tools/dbsnp_search_by_gene.py +52 -0
  107. tooluniverse/tools/download_binary_file.py +66 -0
  108. tooluniverse/tools/download_file.py +71 -0
  109. tooluniverse/tools/download_text_content.py +55 -0
  110. tooluniverse/tools/dynamic_package_discovery.py +59 -0
  111. tooluniverse/tools/ensembl_get_sequence.py +52 -0
  112. tooluniverse/tools/{Ensembl_lookup_gene_by_symbol.py → ensembl_get_variants.py} +11 -11
  113. tooluniverse/tools/ensembl_lookup_gene.py +46 -0
  114. tooluniverse/tools/geo_get_dataset_info.py +46 -0
  115. tooluniverse/tools/geo_get_sample_info.py +46 -0
  116. tooluniverse/tools/geo_search_datasets.py +67 -0
  117. tooluniverse/tools/gnomad_get_gene_constraints.py +49 -0
  118. tooluniverse/tools/kegg_find_genes.py +52 -0
  119. tooluniverse/tools/kegg_get_gene_info.py +46 -0
  120. tooluniverse/tools/kegg_get_pathway_info.py +46 -0
  121. tooluniverse/tools/kegg_list_organisms.py +44 -0
  122. tooluniverse/tools/kegg_search_pathway.py +46 -0
  123. tooluniverse/tools/ols_find_similar_terms.py +63 -0
  124. tooluniverse/tools/{get_hyperopt_info.py → ols_get_ontology_info.py} +13 -10
  125. tooluniverse/tools/ols_get_term_ancestors.py +67 -0
  126. tooluniverse/tools/ols_get_term_children.py +67 -0
  127. tooluniverse/tools/{TestCaseGenerator.py → ols_get_term_info.py} +12 -9
  128. tooluniverse/tools/{CodeOptimizer.py → ols_search_ontologies.py} +22 -14
  129. tooluniverse/tools/ols_search_terms.py +71 -0
  130. tooluniverse/tools/python_code_executor.py +79 -0
  131. tooluniverse/tools/python_script_runner.py +79 -0
  132. tooluniverse/tools/web_api_documentation_search.py +63 -0
  133. tooluniverse/tools/web_search.py +71 -0
  134. tooluniverse/uniprot_tool.py +219 -16
  135. tooluniverse/url_tool.py +18 -0
  136. tooluniverse/utils.py +2 -2
  137. tooluniverse/web_search_tool.py +229 -0
  138. tooluniverse/worms_tool.py +64 -0
  139. {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.1.dist-info}/METADATA +3 -2
  140. {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.1.dist-info}/RECORD +144 -55
  141. tooluniverse/data/genomics_tools.json +0 -174
  142. tooluniverse/tools/ToolDescriptionOptimizer.py +0 -67
  143. tooluniverse/tools/ToolImplementationGenerator.py +0 -67
  144. tooluniverse/tools/ToolOptimizer.py +0 -59
  145. tooluniverse/tools/ToolSpecificationGenerator.py +0 -67
  146. tooluniverse/tools/ToolSpecificationOptimizer.py +0 -63
  147. tooluniverse/ucsc_tool.py +0 -60
  148. {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.1.dist-info}/WHEEL +0 -0
  149. {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.1.dist-info}/entry_points.txt +0 -0
  150. {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.1.dist-info}/licenses/LICENSE +0 -0
  151. {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,158 @@
1
+ [
2
+ {
3
+ "type": "PyPIPackageInspector",
4
+ "name": "PyPIPackageInspector",
5
+ "description": "Extracts comprehensive package information from PyPI and GitHub for quality evaluation. Provides detailed metrics on popularity (downloads, stars, forks), maintenance (release frequency, recent activity), documentation quality, Python version compatibility, and security indicators. Returns an overall quality score (0-100) with breakdown by category.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "package_name": {
10
+ "type": "string",
11
+ "description": "Name of the Python package to inspect on PyPI (e.g., 'requests', 'numpy', 'pandas')"
12
+ },
13
+ "include_github": {
14
+ "type": "boolean",
15
+ "description": "Whether to fetch GitHub repository statistics (stars, forks, issues, last push). Requires package to have GitHub URL in metadata.",
16
+ "default": true
17
+ },
18
+ "include_downloads": {
19
+ "type": "boolean",
20
+ "description": "Whether to fetch download statistics from pypistats.org (downloads per day/week/month)",
21
+ "default": true
22
+ }
23
+ },
24
+ "required": ["package_name"]
25
+ },
26
+ "return_schema": {
27
+ "type": "object",
28
+ "properties": {
29
+ "status": {
30
+ "type": "string",
31
+ "enum": ["success", "error"],
32
+ "description": "Status of the inspection operation"
33
+ },
34
+ "package_name": {
35
+ "type": "string",
36
+ "description": "Name of the inspected package"
37
+ },
38
+ "pypi_metadata": {
39
+ "type": "object",
40
+ "description": "Complete PyPI metadata including version, author, license, dependencies, release history",
41
+ "properties": {
42
+ "name": {"type": "string"},
43
+ "version": {"type": "string"},
44
+ "summary": {"type": "string"},
45
+ "author": {"type": "string"},
46
+ "license": {"type": "string"},
47
+ "requires_python": {"type": "string"},
48
+ "github_url": {"type": "string"},
49
+ "total_releases": {"type": "integer"},
50
+ "days_since_last_release": {"type": "integer"},
51
+ "releases_last_year": {"type": "integer"}
52
+ }
53
+ },
54
+ "download_stats": {
55
+ "type": "object",
56
+ "description": "Download statistics from pypistats.org",
57
+ "properties": {
58
+ "downloads_last_day": {"type": "integer"},
59
+ "downloads_last_week": {"type": "integer"},
60
+ "downloads_last_month": {"type": "integer"}
61
+ }
62
+ },
63
+ "github_stats": {
64
+ "type": "object",
65
+ "description": "GitHub repository statistics",
66
+ "properties": {
67
+ "stars": {"type": "integer"},
68
+ "forks": {"type": "integer"},
69
+ "open_issues": {"type": "integer"},
70
+ "days_since_last_push": {"type": "integer"},
71
+ "archived": {"type": "boolean"},
72
+ "topics": {"type": "array", "items": {"type": "string"}}
73
+ }
74
+ },
75
+ "quality_scores": {
76
+ "type": "object",
77
+ "description": "Comprehensive quality scores (0-100 scale)",
78
+ "properties": {
79
+ "overall_score": {
80
+ "type": "integer",
81
+ "description": "Weighted overall quality score combining all dimensions"
82
+ },
83
+ "popularity_score": {
84
+ "type": "integer",
85
+ "description": "Based on downloads, stars, forks, and release count"
86
+ },
87
+ "maintenance_score": {
88
+ "type": "integer",
89
+ "description": "Based on recent releases, GitHub activity, and update frequency"
90
+ },
91
+ "documentation_score": {
92
+ "type": "integer",
93
+ "description": "Based on docs URL, description length, and classifiers"
94
+ },
95
+ "compatibility_score": {
96
+ "type": "integer",
97
+ "description": "Based on wheel availability, Python version support"
98
+ },
99
+ "security_score": {
100
+ "type": "integer",
101
+ "description": "Based on license, maintenance status, and issue management"
102
+ }
103
+ }
104
+ },
105
+ "recommendation": {
106
+ "type": "string",
107
+ "description": "Human-readable recommendation with reasoning"
108
+ },
109
+ "error": {
110
+ "type": "string",
111
+ "description": "Error message if inspection failed"
112
+ }
113
+ },
114
+ "required": ["status", "package_name"]
115
+ },
116
+ "test_examples": [
117
+ {
118
+ "input": {
119
+ "package_name": "requests",
120
+ "include_github": true,
121
+ "include_downloads": true
122
+ },
123
+ "expected_output_type": "object",
124
+ "description": "Inspect the popular 'requests' HTTP library for quality metrics"
125
+ },
126
+ {
127
+ "input": {
128
+ "package_name": "numpy"
129
+ },
130
+ "expected_output_type": "object",
131
+ "description": "Inspect NumPy with default settings (GitHub and downloads enabled)"
132
+ },
133
+ {
134
+ "input": {
135
+ "package_name": "pandas",
136
+ "include_github": false,
137
+ "include_downloads": false
138
+ },
139
+ "expected_output_type": "object",
140
+ "description": "Inspect Pandas with only PyPI metadata (faster, no external API calls)"
141
+ }
142
+ ],
143
+ "metadata": {
144
+ "tags": ["package-inspection", "pypi", "quality-metrics", "package-evaluation"],
145
+ "difficulty_level": "intermediate",
146
+ "estimated_execution_time": "3-10 seconds",
147
+ "api_dependencies": ["PyPI", "pypistats.org", "GitHub API"],
148
+ "version": "1.0.0",
149
+ "author": "ToolUniverse Team",
150
+ "use_cases": [
151
+ "Evaluate package quality before adding as dependency",
152
+ "Compare alternative packages for similar functionality",
153
+ "Monitor package health and maintenance status",
154
+ "Generate package quality reports for documentation"
155
+ ]
156
+ }
157
+ }
158
+ ]
@@ -0,0 +1,341 @@
1
+ [
2
+ {
3
+ "type": "PythonCodeExecutor",
4
+ "name": "python_code_executor",
5
+ "description": "Execute Python code snippets safely in sandboxed environment with timeout and resource limits. Supports variable passing and result extraction.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "code": {
10
+ "type": "string",
11
+ "description": "Python code to execute. Can use variables from 'arguments' parameter. Use 'result = ...' to return values."
12
+ },
13
+ "arguments": {
14
+ "type": "object",
15
+ "description": "Variables to pass into execution environment as dictionary. Keys become variable names in the code.",
16
+ "additionalProperties": true
17
+ },
18
+ "timeout": {
19
+ "type": "integer",
20
+ "description": "Execution timeout in seconds",
21
+ "default": 30,
22
+ "minimum": 1,
23
+ "maximum": 300
24
+ },
25
+ "return_variable": {
26
+ "type": "string",
27
+ "description": "Variable name to extract as result from the executed code",
28
+ "default": "result"
29
+ },
30
+ "allowed_imports": {
31
+ "type": "array",
32
+ "items": {"type": "string"},
33
+ "description": "Additional allowed modules beyond the default safe set (math, json, datetime, etc.)"
34
+ },
35
+ "dependencies": {
36
+ "type": "array",
37
+ "items": {"type": "string"},
38
+ "description": "List of Python packages that the code depends on. Will be checked and optionally installed before execution."
39
+ },
40
+ "auto_install_dependencies": {
41
+ "type": "boolean",
42
+ "description": "Whether to automatically install missing dependencies without user confirmation",
43
+ "default": false
44
+ },
45
+ "require_confirmation": {
46
+ "type": "boolean",
47
+ "description": "Whether to require user confirmation before installing packages",
48
+ "default": true
49
+ }
50
+ },
51
+ "required": ["code"]
52
+ },
53
+ "return_schema": {
54
+ "type": "object",
55
+ "properties": {
56
+ "success": {
57
+ "type": "boolean",
58
+ "description": "Whether execution succeeded"
59
+ },
60
+ "result": {
61
+ "description": "The result value from the executed code (from return_variable)"
62
+ },
63
+ "stdout": {
64
+ "type": "string",
65
+ "description": "Standard output from the execution"
66
+ },
67
+ "stderr": {
68
+ "type": "string",
69
+ "description": "Standard error output from the execution"
70
+ },
71
+ "execution_time_ms": {
72
+ "type": "integer",
73
+ "description": "Execution time in milliseconds"
74
+ },
75
+ "memory_used_mb": {
76
+ "type": "number",
77
+ "description": "Memory usage in MB (if available)"
78
+ },
79
+ "error": {
80
+ "type": "string",
81
+ "description": "Error message if execution failed"
82
+ },
83
+ "error_type": {
84
+ "type": "string",
85
+ "description": "Type of error if execution failed"
86
+ },
87
+ "traceback": {
88
+ "type": "string",
89
+ "description": "Full traceback if execution failed"
90
+ },
91
+ "requires_confirmation": {
92
+ "type": "boolean",
93
+ "description": "Whether user confirmation is required for package installation"
94
+ },
95
+ "missing_packages": {
96
+ "type": "array",
97
+ "items": {"type": "string"},
98
+ "description": "List of packages that are missing and need to be installed"
99
+ },
100
+ "install_command": {
101
+ "type": "string",
102
+ "description": "The pip install command that would be executed"
103
+ },
104
+ "installed_packages": {
105
+ "type": "array",
106
+ "items": {"type": "string"},
107
+ "description": "List of packages that were successfully installed"
108
+ },
109
+ "metadata": {
110
+ "type": "object",
111
+ "properties": {
112
+ "code_lines": {
113
+ "type": "integer",
114
+ "description": "Number of lines in the executed code"
115
+ },
116
+ "ast_warnings": {
117
+ "type": "array",
118
+ "items": {"type": "string"},
119
+ "description": "AST safety warnings"
120
+ },
121
+ "allowed_modules": {
122
+ "type": "array",
123
+ "items": {"type": "string"},
124
+ "description": "List of allowed modules"
125
+ }
126
+ }
127
+ }
128
+ }
129
+ },
130
+ "test_examples": [
131
+ {
132
+ "input": {
133
+ "code": "result = sum([1, 2, 3, 4, 5])"
134
+ },
135
+ "expected_output_type": "object",
136
+ "description": "Basic arithmetic calculation"
137
+ },
138
+ {
139
+ "input": {
140
+ "code": "result = x ** 2 + y ** 2",
141
+ "arguments": {"x": 3, "y": 4}
142
+ },
143
+ "expected_output_type": "object",
144
+ "description": "Calculation with variables"
145
+ },
146
+ {
147
+ "input": {
148
+ "code": "import math\nresult = math.sqrt(16)"
149
+ },
150
+ "expected_output_type": "object",
151
+ "description": "Using allowed math module"
152
+ },
153
+ {
154
+ "input": {
155
+ "code": "result = [i**2 for i in range(10)]"
156
+ },
157
+ "expected_output_type": "object",
158
+ "description": "List comprehension"
159
+ }
160
+ ],
161
+ "metadata": {
162
+ "tags": [
163
+ "python",
164
+ "code-execution",
165
+ "sandbox",
166
+ "security",
167
+ "math",
168
+ "data-processing"
169
+ ],
170
+ "difficulty_level": "intermediate",
171
+ "estimated_execution_time": "< 30 seconds"
172
+ },
173
+ "dependencies": []
174
+ },
175
+ {
176
+ "type": "PythonScriptRunner",
177
+ "name": "python_script_runner",
178
+ "description": "Run Python script files in isolated subprocess with resource limits and timeout. Supports command-line arguments and environment variables.",
179
+ "parameter": {
180
+ "type": "object",
181
+ "properties": {
182
+ "script_path": {
183
+ "type": "string",
184
+ "description": "Path to Python script file (.py) to execute"
185
+ },
186
+ "script_args": {
187
+ "type": "array",
188
+ "items": {"type": "string"},
189
+ "description": "Command-line arguments to pass to the script"
190
+ },
191
+ "timeout": {
192
+ "type": "integer",
193
+ "description": "Execution timeout in seconds",
194
+ "default": 60,
195
+ "minimum": 1,
196
+ "maximum": 600
197
+ },
198
+ "working_directory": {
199
+ "type": "string",
200
+ "description": "Working directory for script execution (defaults to script directory)"
201
+ },
202
+ "env_vars": {
203
+ "type": "object",
204
+ "description": "Environment variables to set for script execution",
205
+ "additionalProperties": {"type": "string"}
206
+ },
207
+ "dependencies": {
208
+ "type": "array",
209
+ "items": {"type": "string"},
210
+ "description": "List of Python packages that the script depends on. Will be checked and optionally installed before execution."
211
+ },
212
+ "auto_install_dependencies": {
213
+ "type": "boolean",
214
+ "description": "Whether to automatically install missing dependencies without user confirmation",
215
+ "default": false
216
+ },
217
+ "require_confirmation": {
218
+ "type": "boolean",
219
+ "description": "Whether to require user confirmation before installing packages",
220
+ "default": true
221
+ }
222
+ },
223
+ "required": ["script_path"]
224
+ },
225
+ "return_schema": {
226
+ "type": "object",
227
+ "properties": {
228
+ "success": {
229
+ "type": "boolean",
230
+ "description": "Whether script execution succeeded"
231
+ },
232
+ "result": {
233
+ "type": "string",
234
+ "description": "Execution result message"
235
+ },
236
+ "stdout": {
237
+ "type": "string",
238
+ "description": "Standard output from the script"
239
+ },
240
+ "stderr": {
241
+ "type": "string",
242
+ "description": "Standard error output from the script"
243
+ },
244
+ "execution_time_ms": {
245
+ "type": "integer",
246
+ "description": "Execution time in milliseconds"
247
+ },
248
+ "memory_used_mb": {
249
+ "type": "number",
250
+ "description": "Memory usage in MB (if available)"
251
+ },
252
+ "error": {
253
+ "type": "string",
254
+ "description": "Error message if execution failed"
255
+ },
256
+ "error_type": {
257
+ "type": "string",
258
+ "description": "Type of error if execution failed"
259
+ },
260
+ "traceback": {
261
+ "type": "string",
262
+ "description": "Full traceback if execution failed"
263
+ },
264
+ "requires_confirmation": {
265
+ "type": "boolean",
266
+ "description": "Whether user confirmation is required for package installation"
267
+ },
268
+ "missing_packages": {
269
+ "type": "array",
270
+ "items": {"type": "string"},
271
+ "description": "List of packages that are missing and need to be installed"
272
+ },
273
+ "install_command": {
274
+ "type": "string",
275
+ "description": "The pip install command that would be executed"
276
+ },
277
+ "installed_packages": {
278
+ "type": "array",
279
+ "items": {"type": "string"},
280
+ "description": "List of packages that were successfully installed"
281
+ },
282
+ "metadata": {
283
+ "type": "object",
284
+ "properties": {
285
+ "code_lines": {
286
+ "type": "integer",
287
+ "description": "Number of lines in the script (if available)"
288
+ },
289
+ "ast_warnings": {
290
+ "type": "array",
291
+ "items": {"type": "string"},
292
+ "description": "AST safety warnings"
293
+ },
294
+ "allowed_modules": {
295
+ "type": "array",
296
+ "items": {"type": "string"},
297
+ "description": "List of allowed modules"
298
+ }
299
+ }
300
+ }
301
+ }
302
+ },
303
+ "test_examples": [
304
+ {
305
+ "input": {
306
+ "script_path": "./examples/hello_world.py"
307
+ },
308
+ "expected_output_type": "object",
309
+ "description": "Run a simple hello world script"
310
+ },
311
+ {
312
+ "input": {
313
+ "script_path": "./examples/data_processor.py",
314
+ "script_args": ["--input", "data.csv", "--output", "result.csv"]
315
+ },
316
+ "expected_output_type": "object",
317
+ "description": "Run script with command-line arguments"
318
+ },
319
+ {
320
+ "input": {
321
+ "script_path": "./examples/configurable_script.py",
322
+ "env_vars": {"DEBUG": "true", "LOG_LEVEL": "info"}
323
+ },
324
+ "expected_output_type": "object",
325
+ "description": "Run script with environment variables"
326
+ }
327
+ ],
328
+ "metadata": {
329
+ "tags": [
330
+ "python",
331
+ "script-execution",
332
+ "subprocess",
333
+ "file-io",
334
+ "batch-processing"
335
+ ],
336
+ "difficulty_level": "intermediate",
337
+ "estimated_execution_time": "< 60 seconds"
338
+ },
339
+ "dependencies": []
340
+ }
341
+ ]
@@ -0,0 +1,50 @@
1
+ [
2
+ {
3
+ "type": "RegulomeDBRESTTool",
4
+ "name": "RegulomeDB_query_variant",
5
+ "description": "Query RegulomeDB for regulatory variant annotations using rsID",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "rsid": {"type": "string", "description": "dbSNP rsID (e.g., rs123456)"}
10
+ },
11
+ "required": ["rsid"]
12
+ },
13
+ "fields": {
14
+ "endpoint": "https://regulomedb.org/regulome-search/?regions={rsid}&assembly=hg19",
15
+ "return_format": "JSON"
16
+ },
17
+ "return_schema": {
18
+ "type": "object",
19
+ "properties": {
20
+ "rsid": {"type": "string"},
21
+ "chromosome": {"type": "string"},
22
+ "position": {"type": "integer"},
23
+ "ref_allele": {"type": "string"},
24
+ "alt_allele": {"type": "string"},
25
+ "regulome_score": {"type": "string"},
26
+ "regulome_evidence": {"type": "array"},
27
+ "regulatory_features": {
28
+ "type": "array",
29
+ "items": {
30
+ "type": "object",
31
+ "properties": {
32
+ "feature_type": {"type": "string"},
33
+ "cell_type": {"type": "string"},
34
+ "evidence": {"type": "string"},
35
+ "score": {"type": "number"}
36
+ }
37
+ }
38
+ },
39
+ "motif_break": {"type": "boolean"},
40
+ "motif_name": {"type": "string"},
41
+ "motif_score": {"type": "number"},
42
+ "motif_concordance": {"type": "string"}
43
+ }
44
+ },
45
+ "test_examples": [
46
+ {"rsid": "rs123456"},
47
+ {"rsid": "rs429358"}
48
+ ]
49
+ }
50
+ ]
@@ -0,0 +1,89 @@
1
+ [
2
+ {
3
+ "type": "ReMapRESTTool",
4
+ "name": "ReMap_get_transcription_factor_binding",
5
+ "description": "Get transcription factor binding sites from ReMap database for specific genes and cell types",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "gene_name": {
10
+ "type": "string",
11
+ "description": "Gene symbol (e.g., BRCA1, TP53, MYC)"
12
+ },
13
+ "cell_type": {
14
+ "type": "string",
15
+ "description": "Cell type (e.g., HepG2, K562, MCF-7)",
16
+ "default": "HepG2"
17
+ },
18
+ "limit": {
19
+ "type": "integer",
20
+ "description": "Number of results to return",
21
+ "default": 10,
22
+ "minimum": 1,
23
+ "maximum": 50
24
+ }
25
+ },
26
+ "required": [
27
+ "gene_name"
28
+ ]
29
+ },
30
+ "fields": {
31
+ "endpoint": "https://www.encodeproject.org/search/?type=Experiment&assay_title=ChIP-seq&target.label={gene_name}&biosample_ontology.term_name={cell_type}&format=json&limit={limit}",
32
+ "return_format": "JSON"
33
+ },
34
+ "return_schema": {
35
+ "type": "object",
36
+ "properties": {
37
+ "experiments": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "object",
41
+ "properties": {
42
+ "accession": {
43
+ "type": "string"
44
+ },
45
+ "assay_title": {
46
+ "type": "string"
47
+ },
48
+ "target": {
49
+ "type": "object"
50
+ },
51
+ "biosample_ontology": {
52
+ "type": "object"
53
+ },
54
+ "description": {
55
+ "type": "string"
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "gene_name": {
61
+ "type": "string"
62
+ },
63
+ "cell_type": {
64
+ "type": "string"
65
+ },
66
+ "count": {
67
+ "type": "integer"
68
+ }
69
+ }
70
+ },
71
+ "test_examples": [
72
+ {
73
+ "gene_name": "BRCA1",
74
+ "cell_type": "HepG2",
75
+ "limit": 5
76
+ },
77
+ {
78
+ "gene_name": "TP53",
79
+ "cell_type": "K562",
80
+ "limit": 3
81
+ },
82
+ {
83
+ "gene_name": "MYC",
84
+ "cell_type": "MCF-7",
85
+ "limit": 5
86
+ }
87
+ ]
88
+ }
89
+ ]