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
@@ -0,0 +1,275 @@
1
+ [
2
+ {
3
+ "type": "dbSNPGetVariantByRsID",
4
+ "name": "dbsnp_get_variant_by_rsid",
5
+ "description": "Get variant information from dbSNP by rsID. Returns genomic coordinates, alleles, and basic variant information.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "rsid": {
10
+ "type": "string",
11
+ "description": "dbSNP rsID (e.g., 'rs12345', '12345')"
12
+ }
13
+ },
14
+ "required": ["rsid"]
15
+ },
16
+ "fields": {
17
+ "endpoint": "/beta/refsnp",
18
+ "return_format": "JSON"
19
+ },
20
+ "return_schema": {
21
+ "type": "object",
22
+ "description": "dbSNP variant information",
23
+ "properties": {
24
+ "status": {
25
+ "type": "string",
26
+ "description": "Status of the request"
27
+ },
28
+ "data": {
29
+ "type": "object",
30
+ "description": "Variant information from dbSNP",
31
+ "properties": {
32
+ "refsnp_id": {
33
+ "type": "string",
34
+ "description": "dbSNP reference ID"
35
+ },
36
+ "primary_snapshot_data": {
37
+ "type": "object",
38
+ "description": "Primary variant data",
39
+ "properties": {
40
+ "placements_with_allele": {
41
+ "type": "array",
42
+ "description": "Genomic placements",
43
+ "items": {
44
+ "type": "object",
45
+ "properties": {
46
+ "seq_id": {
47
+ "type": "string",
48
+ "description": "Chromosome"
49
+ },
50
+ "position": {
51
+ "type": "integer",
52
+ "description": "Genomic position"
53
+ },
54
+ "alleles": {
55
+ "type": "array",
56
+ "description": "Allele information"
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ },
65
+ "rsid": {
66
+ "type": "string",
67
+ "description": "Input rsID"
68
+ },
69
+ "url": {
70
+ "type": "string",
71
+ "description": "API URL used"
72
+ }
73
+ }
74
+ },
75
+ "test_examples": [
76
+ {
77
+ "rsid": "rs12345"
78
+ },
79
+ {
80
+ "rsid": "rs429358"
81
+ }
82
+ ],
83
+ "label": [
84
+ "dbSNP",
85
+ "Variant",
86
+ "RsID"
87
+ ],
88
+ "metadata": {
89
+ "tags": ["snp", "variant", "genomics"],
90
+ "difficulty_level": "easy",
91
+ "estimated_execution_time": "< 2 seconds"
92
+ }
93
+ },
94
+ {
95
+ "type": "dbSNPSearchByGene",
96
+ "name": "dbsnp_search_by_gene",
97
+ "description": "Search for variants in a specific gene. Returns variants associated with the gene symbol.",
98
+ "parameter": {
99
+ "type": "object",
100
+ "properties": {
101
+ "gene_symbol": {
102
+ "type": "string",
103
+ "description": "Gene symbol (e.g., 'BRCA1', 'TP53', 'APOE')"
104
+ },
105
+ "limit": {
106
+ "type": "integer",
107
+ "description": "Maximum number of results to return",
108
+ "default": 20,
109
+ "minimum": 1,
110
+ "maximum": 100
111
+ }
112
+ },
113
+ "required": ["gene_symbol"]
114
+ },
115
+ "fields": {
116
+ "endpoint": "/beta/refsnp",
117
+ "return_format": "JSON"
118
+ },
119
+ "return_schema": {
120
+ "type": "object",
121
+ "description": "dbSNP gene search results",
122
+ "properties": {
123
+ "status": {
124
+ "type": "string",
125
+ "description": "Status of the request"
126
+ },
127
+ "data": {
128
+ "type": "object",
129
+ "description": "Search results from dbSNP",
130
+ "properties": {
131
+ "variants": {
132
+ "type": "array",
133
+ "description": "Array of variant information",
134
+ "items": {
135
+ "type": "object",
136
+ "properties": {
137
+ "refsnp_id": {
138
+ "type": "string",
139
+ "description": "dbSNP reference ID"
140
+ },
141
+ "gene": {
142
+ "type": "string",
143
+ "description": "Gene symbol"
144
+ },
145
+ "position": {
146
+ "type": "integer",
147
+ "description": "Genomic position"
148
+ }
149
+ }
150
+ }
151
+ }
152
+ }
153
+ },
154
+ "gene_symbol": {
155
+ "type": "string",
156
+ "description": "Input gene symbol"
157
+ },
158
+ "url": {
159
+ "type": "string",
160
+ "description": "API URL used"
161
+ }
162
+ }
163
+ },
164
+ "test_examples": [
165
+ {
166
+ "gene_symbol": "BRCA1",
167
+ "limit": 10
168
+ },
169
+ {
170
+ "gene_symbol": "TP53",
171
+ "limit": 5
172
+ }
173
+ ],
174
+ "label": [
175
+ "dbSNP",
176
+ "Gene",
177
+ "Search"
178
+ ],
179
+ "metadata": {
180
+ "tags": ["gene", "search", "variants"],
181
+ "difficulty_level": "easy",
182
+ "estimated_execution_time": "< 3 seconds"
183
+ }
184
+ },
185
+ {
186
+ "type": "dbSNPGetFrequencies",
187
+ "name": "dbsnp_get_frequencies",
188
+ "description": "Get allele frequencies for a variant from dbSNP. Returns population-specific allele frequency data.",
189
+ "parameter": {
190
+ "type": "object",
191
+ "properties": {
192
+ "rsid": {
193
+ "type": "string",
194
+ "description": "dbSNP rsID (e.g., 'rs12345', '12345')"
195
+ }
196
+ },
197
+ "required": ["rsid"]
198
+ },
199
+ "fields": {
200
+ "endpoint": "/beta/refsnp",
201
+ "return_format": "JSON"
202
+ },
203
+ "return_schema": {
204
+ "type": "object",
205
+ "description": "dbSNP allele frequency data",
206
+ "properties": {
207
+ "status": {
208
+ "type": "string",
209
+ "description": "Status of the request"
210
+ },
211
+ "data": {
212
+ "type": "object",
213
+ "description": "Variant information from dbSNP",
214
+ "properties": {
215
+ "refsnp_id": {
216
+ "type": "string",
217
+ "description": "dbSNP reference ID"
218
+ },
219
+ "primary_snapshot_data": {
220
+ "type": "object",
221
+ "description": "Primary variant data"
222
+ }
223
+ }
224
+ },
225
+ "frequencies": {
226
+ "type": "array",
227
+ "description": "Array of allele frequency data",
228
+ "items": {
229
+ "type": "object",
230
+ "properties": {
231
+ "population": {
232
+ "type": "string",
233
+ "description": "Population name"
234
+ },
235
+ "allele": {
236
+ "type": "string",
237
+ "description": "Allele"
238
+ },
239
+ "frequency": {
240
+ "type": "number",
241
+ "description": "Allele frequency"
242
+ }
243
+ }
244
+ }
245
+ },
246
+ "rsid": {
247
+ "type": "string",
248
+ "description": "Input rsID"
249
+ },
250
+ "url": {
251
+ "type": "string",
252
+ "description": "API URL used"
253
+ }
254
+ }
255
+ },
256
+ "test_examples": [
257
+ {
258
+ "rsid": "rs429358"
259
+ },
260
+ {
261
+ "rsid": "rs7412"
262
+ }
263
+ ],
264
+ "label": [
265
+ "dbSNP",
266
+ "Frequency",
267
+ "Population"
268
+ ],
269
+ "metadata": {
270
+ "tags": ["frequency", "population", "allele"],
271
+ "difficulty_level": "easy",
272
+ "estimated_execution_time": "< 2 seconds"
273
+ }
274
+ }
275
+ ]
@@ -0,0 +1,61 @@
1
+ [
2
+ {
3
+ "type": "EMDBRESTTool",
4
+ "name": "EMDB_get_structure",
5
+ "description": "Get electron microscopy structure data from EMDB",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "emdb_id": {"type": "string", "description": "EMDB structure ID (e.g., EMD-1234)"}
10
+ },
11
+ "required": ["emdb_id"]
12
+ },
13
+ "fields": {
14
+ "endpoint": "https://www.ebi.ac.uk/emdb/api/entry/{emdb_id}",
15
+ "return_format": "JSON"
16
+ },
17
+ "return_schema": {
18
+ "type": "object",
19
+ "properties": {
20
+ "emdb_id": {"type": "string"},
21
+ "title": {"type": "string"},
22
+ "description": {"type": "string"},
23
+ "resolution": {"type": "number"},
24
+ "method": {"type": "string"},
25
+ "organism": {"type": "string"},
26
+ "molecule": {"type": "string"},
27
+ "deposition_date": {"type": "string"},
28
+ "release_date": {"type": "string"},
29
+ "authors": {"type": "array"},
30
+ "journal": {"type": "string"},
31
+ "volume": {"type": "string"},
32
+ "page": {"type": "string"},
33
+ "year": {"type": "integer"},
34
+ "doi": {"type": "string"},
35
+ "pdb_id": {"type": "string"},
36
+ "map_url": {"type": "string"},
37
+ "contour_level": {"type": "number"},
38
+ "voxel_size": {
39
+ "type": "object",
40
+ "properties": {
41
+ "x": {"type": "number"},
42
+ "y": {"type": "number"},
43
+ "z": {"type": "number"}
44
+ }
45
+ },
46
+ "map_dimensions": {
47
+ "type": "object",
48
+ "properties": {
49
+ "x": {"type": "integer"},
50
+ "y": {"type": "integer"},
51
+ "z": {"type": "integer"}
52
+ }
53
+ }
54
+ }
55
+ },
56
+ "test_examples": [
57
+ {"emdb_id": "EMD-1234"},
58
+ {"emdb_id": "EMD-0001"}
59
+ ]
60
+ }
61
+ ]
@@ -0,0 +1,259 @@
1
+ [
2
+ {
3
+ "type": "EnsemblLookupGene",
4
+ "name": "ensembl_lookup_gene",
5
+ "description": "Lookup gene information by Ensembl gene ID or symbol. Returns gene details including location, description, and external references.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "gene_id": {
10
+ "type": "string",
11
+ "description": "Ensembl gene ID or symbol (e.g., 'ENSG00000139618' or 'BRCA1')"
12
+ }
13
+ },
14
+ "required": ["gene_id"]
15
+ },
16
+ "fields": {
17
+ "endpoint": "/lookup/id",
18
+ "return_format": "JSON"
19
+ },
20
+ "return_schema": {
21
+ "type": "object",
22
+ "description": "Ensembl gene lookup data",
23
+ "properties": {
24
+ "status": {
25
+ "type": "string",
26
+ "description": "Status of the request"
27
+ },
28
+ "data": {
29
+ "type": "object",
30
+ "description": "Gene information object",
31
+ "properties": {
32
+ "id": {
33
+ "type": "string",
34
+ "description": "Ensembl gene ID"
35
+ },
36
+ "display_name": {
37
+ "type": "string",
38
+ "description": "Gene symbol"
39
+ },
40
+ "description": {
41
+ "type": "string",
42
+ "description": "Gene description"
43
+ },
44
+ "biotype": {
45
+ "type": "string",
46
+ "description": "Gene biotype"
47
+ },
48
+ "start": {
49
+ "type": "integer",
50
+ "description": "Gene start position"
51
+ },
52
+ "end": {
53
+ "type": "integer",
54
+ "description": "Gene end position"
55
+ },
56
+ "strand": {
57
+ "type": "integer",
58
+ "description": "Gene strand"
59
+ },
60
+ "seq_region_name": {
61
+ "type": "string",
62
+ "description": "Chromosome name"
63
+ }
64
+ }
65
+ },
66
+ "gene_id": {
67
+ "type": "string",
68
+ "description": "Input gene ID"
69
+ }
70
+ }
71
+ },
72
+ "test_examples": [
73
+ {
74
+ "description": "Lookup BRCA1 gene information",
75
+ "input": {
76
+ "gene_id": "ENSG00000012048"
77
+ },
78
+ "expected_output": {
79
+ "status": "success",
80
+ "data": "Gene information object with BRCA1 details"
81
+ }
82
+ }
83
+ ],
84
+ "metadata": {
85
+ "tags": ["gene", "lookup", "annotation"],
86
+ "difficulty_level": "easy",
87
+ "estimated_execution_time": "< 2 seconds"
88
+ }
89
+ },
90
+ {
91
+ "type": "EnsemblGetSequence",
92
+ "name": "ensembl_get_sequence",
93
+ "description": "Get DNA sequence for a gene, transcript, or genomic region. Returns sequence in FASTA format.",
94
+ "parameter": {
95
+ "type": "object",
96
+ "properties": {
97
+ "sequence_id": {
98
+ "type": "string",
99
+ "description": "Ensembl gene/transcript ID or genomic region (e.g., 'ENSG00000139618' or '1:1000000-2000000')"
100
+ },
101
+ "type": {
102
+ "type": "string",
103
+ "description": "Sequence type: 'genomic', 'cds', 'cdna', 'peptide'",
104
+ "default": "genomic"
105
+ }
106
+ },
107
+ "required": ["sequence_id"]
108
+ },
109
+ "fields": {
110
+ "endpoint": "/sequence/id",
111
+ "return_format": "JSON"
112
+ },
113
+ "return_schema": {
114
+ "type": "object",
115
+ "description": "Ensembl sequence data",
116
+ "properties": {
117
+ "status": {
118
+ "type": "string",
119
+ "description": "Status of the request"
120
+ },
121
+ "data": {
122
+ "type": "array",
123
+ "description": "Array of sequence objects",
124
+ "items": {
125
+ "type": "object",
126
+ "properties": {
127
+ "id": {
128
+ "type": "string",
129
+ "description": "Sequence ID"
130
+ },
131
+ "seq": {
132
+ "type": "string",
133
+ "description": "DNA/protein sequence"
134
+ },
135
+ "desc": {
136
+ "type": "string",
137
+ "description": "Sequence description"
138
+ },
139
+ "molecule": {
140
+ "type": "string",
141
+ "description": "Molecule type (dna, rna, protein)"
142
+ }
143
+ }
144
+ }
145
+ },
146
+ "sequence_id": {
147
+ "type": "string",
148
+ "description": "Input sequence ID"
149
+ }
150
+ }
151
+ },
152
+ "test_examples": [
153
+ {
154
+ "description": "Get genomic sequence for BRCA1 gene",
155
+ "input": {
156
+ "sequence_id": "ENSG00000012048",
157
+ "type": "genomic"
158
+ },
159
+ "expected_output": {
160
+ "status": "success",
161
+ "data": "Array with sequence object containing BRCA1 genomic sequence"
162
+ }
163
+ }
164
+ ],
165
+ "metadata": {
166
+ "tags": ["sequence", "dna", "genomic"],
167
+ "difficulty_level": "easy",
168
+ "estimated_execution_time": "< 3 seconds"
169
+ }
170
+ },
171
+ {
172
+ "type": "EnsemblGetVariants",
173
+ "name": "ensembl_get_variants",
174
+ "description": "Get genetic variants in a genomic region. Returns SNP and indel information.",
175
+ "parameter": {
176
+ "type": "object",
177
+ "properties": {
178
+ "region": {
179
+ "type": "string",
180
+ "description": "Genomic region in format 'chromosome:start-end' (e.g., '13:32315086-32400268')"
181
+ },
182
+ "species": {
183
+ "type": "string",
184
+ "description": "Species name",
185
+ "default": "homo_sapiens"
186
+ }
187
+ },
188
+ "required": ["region"]
189
+ },
190
+ "fields": {
191
+ "endpoint": "/overlap/region",
192
+ "return_format": "JSON"
193
+ },
194
+ "return_schema": {
195
+ "type": "object",
196
+ "description": "Ensembl variant data",
197
+ "properties": {
198
+ "status": {
199
+ "type": "string",
200
+ "description": "Status of the request"
201
+ },
202
+ "data": {
203
+ "type": "array",
204
+ "description": "Array of variant objects",
205
+ "items": {
206
+ "type": "object",
207
+ "properties": {
208
+ "id": {
209
+ "type": "string",
210
+ "description": "Variant ID"
211
+ },
212
+ "start": {
213
+ "type": "integer",
214
+ "description": "Variant start position"
215
+ },
216
+ "end": {
217
+ "type": "integer",
218
+ "description": "Variant end position"
219
+ },
220
+ "strand": {
221
+ "type": "integer",
222
+ "description": "Variant strand"
223
+ },
224
+ "allele_string": {
225
+ "type": "string",
226
+ "description": "Allele string (e.g., 'A/T')"
227
+ },
228
+ "consequence_type": {
229
+ "type": "string",
230
+ "description": "Variant consequence"
231
+ }
232
+ }
233
+ }
234
+ },
235
+ "region": {
236
+ "type": "string",
237
+ "description": "Input genomic region"
238
+ }
239
+ }
240
+ },
241
+ "test_examples": [
242
+ {
243
+ "description": "Get variants in BRCA1 region",
244
+ "input": {
245
+ "region": "13:32315086-32400268"
246
+ },
247
+ "expected_output": {
248
+ "status": "success",
249
+ "data": "Array of variant objects in BRCA1 region"
250
+ }
251
+ }
252
+ ],
253
+ "metadata": {
254
+ "tags": ["variants", "snp", "indel"],
255
+ "difficulty_level": "easy",
256
+ "estimated_execution_time": "< 2 seconds"
257
+ }
258
+ }
259
+ ]