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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (190) hide show
  1. tooluniverse/__init__.py +340 -4
  2. tooluniverse/admetai_tool.py +84 -0
  3. tooluniverse/agentic_tool.py +563 -0
  4. tooluniverse/alphafold_tool.py +96 -0
  5. tooluniverse/base_tool.py +129 -6
  6. tooluniverse/boltz_tool.py +207 -0
  7. tooluniverse/chem_tool.py +192 -0
  8. tooluniverse/compose_scripts/__init__.py +1 -0
  9. tooluniverse/compose_scripts/biomarker_discovery.py +293 -0
  10. tooluniverse/compose_scripts/comprehensive_drug_discovery.py +186 -0
  11. tooluniverse/compose_scripts/drug_safety_analyzer.py +89 -0
  12. tooluniverse/compose_scripts/literature_tool.py +34 -0
  13. tooluniverse/compose_scripts/output_summarizer.py +279 -0
  14. tooluniverse/compose_scripts/tool_description_optimizer.py +681 -0
  15. tooluniverse/compose_scripts/tool_discover.py +705 -0
  16. tooluniverse/compose_scripts/tool_graph_composer.py +448 -0
  17. tooluniverse/compose_tool.py +371 -0
  18. tooluniverse/ctg_tool.py +1002 -0
  19. tooluniverse/custom_tool.py +81 -0
  20. tooluniverse/dailymed_tool.py +108 -0
  21. tooluniverse/data/admetai_tools.json +155 -0
  22. tooluniverse/data/agentic_tools.json +1156 -0
  23. tooluniverse/data/alphafold_tools.json +87 -0
  24. tooluniverse/data/boltz_tools.json +9 -0
  25. tooluniverse/data/chembl_tools.json +16 -0
  26. tooluniverse/data/clait_tools.json +108 -0
  27. tooluniverse/data/clinicaltrials_gov_tools.json +326 -0
  28. tooluniverse/data/compose_tools.json +202 -0
  29. tooluniverse/data/dailymed_tools.json +70 -0
  30. tooluniverse/data/dataset_tools.json +646 -0
  31. tooluniverse/data/disease_target_score_tools.json +712 -0
  32. tooluniverse/data/efo_tools.json +17 -0
  33. tooluniverse/data/embedding_tools.json +319 -0
  34. tooluniverse/data/enrichr_tools.json +31 -0
  35. tooluniverse/data/europe_pmc_tools.json +22 -0
  36. tooluniverse/data/expert_feedback_tools.json +10 -0
  37. tooluniverse/data/fda_drug_adverse_event_tools.json +491 -0
  38. tooluniverse/data/fda_drug_labeling_tools.json +1 -1
  39. tooluniverse/data/fda_drugs_with_brand_generic_names_for_tool.py +76929 -148860
  40. tooluniverse/data/finder_tools.json +209 -0
  41. tooluniverse/data/gene_ontology_tools.json +113 -0
  42. tooluniverse/data/gwas_tools.json +1082 -0
  43. tooluniverse/data/hpa_tools.json +333 -0
  44. tooluniverse/data/humanbase_tools.json +47 -0
  45. tooluniverse/data/idmap_tools.json +74 -0
  46. tooluniverse/data/mcp_client_tools_example.json +113 -0
  47. tooluniverse/data/mcpautoloadertool_defaults.json +28 -0
  48. tooluniverse/data/medlineplus_tools.json +141 -0
  49. tooluniverse/data/monarch_tools.json +1 -1
  50. tooluniverse/data/openalex_tools.json +36 -0
  51. tooluniverse/data/opentarget_tools.json +1 -1
  52. tooluniverse/data/output_summarization_tools.json +101 -0
  53. tooluniverse/data/packages/bioinformatics_core_tools.json +1756 -0
  54. tooluniverse/data/packages/categorized_tools.txt +206 -0
  55. tooluniverse/data/packages/cheminformatics_tools.json +347 -0
  56. tooluniverse/data/packages/earth_sciences_tools.json +74 -0
  57. tooluniverse/data/packages/genomics_tools.json +776 -0
  58. tooluniverse/data/packages/image_processing_tools.json +38 -0
  59. tooluniverse/data/packages/machine_learning_tools.json +789 -0
  60. tooluniverse/data/packages/neuroscience_tools.json +62 -0
  61. tooluniverse/data/packages/original_tools.txt +0 -0
  62. tooluniverse/data/packages/physics_astronomy_tools.json +62 -0
  63. tooluniverse/data/packages/scientific_computing_tools.json +560 -0
  64. tooluniverse/data/packages/single_cell_tools.json +453 -0
  65. tooluniverse/data/packages/software_tools.json +4954 -0
  66. tooluniverse/data/packages/structural_biology_tools.json +396 -0
  67. tooluniverse/data/packages/visualization_tools.json +399 -0
  68. tooluniverse/data/pubchem_tools.json +215 -0
  69. tooluniverse/data/pubtator_tools.json +68 -0
  70. tooluniverse/data/rcsb_pdb_tools.json +1332 -0
  71. tooluniverse/data/reactome_tools.json +19 -0
  72. tooluniverse/data/semantic_scholar_tools.json +26 -0
  73. tooluniverse/data/special_tools.json +2 -25
  74. tooluniverse/data/tool_composition_tools.json +88 -0
  75. tooluniverse/data/toolfinderkeyword_defaults.json +34 -0
  76. tooluniverse/data/txagent_client_tools.json +9 -0
  77. tooluniverse/data/uniprot_tools.json +211 -0
  78. tooluniverse/data/url_fetch_tools.json +94 -0
  79. tooluniverse/data/uspto_downloader_tools.json +9 -0
  80. tooluniverse/data/uspto_tools.json +811 -0
  81. tooluniverse/data/xml_tools.json +3275 -0
  82. tooluniverse/dataset_tool.py +296 -0
  83. tooluniverse/default_config.py +165 -0
  84. tooluniverse/efo_tool.py +42 -0
  85. tooluniverse/embedding_database.py +630 -0
  86. tooluniverse/embedding_sync.py +396 -0
  87. tooluniverse/enrichr_tool.py +266 -0
  88. tooluniverse/europe_pmc_tool.py +52 -0
  89. tooluniverse/execute_function.py +1775 -95
  90. tooluniverse/extended_hooks.py +444 -0
  91. tooluniverse/gene_ontology_tool.py +194 -0
  92. tooluniverse/graphql_tool.py +158 -36
  93. tooluniverse/gwas_tool.py +358 -0
  94. tooluniverse/hpa_tool.py +1645 -0
  95. tooluniverse/humanbase_tool.py +389 -0
  96. tooluniverse/logging_config.py +254 -0
  97. tooluniverse/mcp_client_tool.py +764 -0
  98. tooluniverse/mcp_integration.py +413 -0
  99. tooluniverse/mcp_tool_registry.py +925 -0
  100. tooluniverse/medlineplus_tool.py +337 -0
  101. tooluniverse/openalex_tool.py +228 -0
  102. tooluniverse/openfda_adv_tool.py +283 -0
  103. tooluniverse/openfda_tool.py +393 -160
  104. tooluniverse/output_hook.py +1122 -0
  105. tooluniverse/package_tool.py +195 -0
  106. tooluniverse/pubchem_tool.py +158 -0
  107. tooluniverse/pubtator_tool.py +168 -0
  108. tooluniverse/rcsb_pdb_tool.py +38 -0
  109. tooluniverse/reactome_tool.py +108 -0
  110. tooluniverse/remote/boltz/boltz_mcp_server.py +50 -0
  111. tooluniverse/remote/depmap_24q2/depmap_24q2_mcp_tool.py +442 -0
  112. tooluniverse/remote/expert_feedback/human_expert_mcp_tools.py +2013 -0
  113. tooluniverse/remote/expert_feedback/simple_test.py +23 -0
  114. tooluniverse/remote/expert_feedback/start_web_interface.py +188 -0
  115. tooluniverse/remote/expert_feedback/web_only_interface.py +0 -0
  116. tooluniverse/remote/expert_feedback_mcp/human_expert_mcp_server.py +1611 -0
  117. tooluniverse/remote/expert_feedback_mcp/simple_test.py +34 -0
  118. tooluniverse/remote/expert_feedback_mcp/start_web_interface.py +91 -0
  119. tooluniverse/remote/immune_compass/compass_tool.py +327 -0
  120. tooluniverse/remote/pinnacle/pinnacle_tool.py +328 -0
  121. tooluniverse/remote/transcriptformer/transcriptformer_tool.py +586 -0
  122. tooluniverse/remote/uspto_downloader/uspto_downloader_mcp_server.py +61 -0
  123. tooluniverse/remote/uspto_downloader/uspto_downloader_tool.py +120 -0
  124. tooluniverse/remote_tool.py +99 -0
  125. tooluniverse/restful_tool.py +53 -30
  126. tooluniverse/scripts/generate_tool_graph.py +408 -0
  127. tooluniverse/scripts/visualize_tool_graph.py +829 -0
  128. tooluniverse/semantic_scholar_tool.py +62 -0
  129. tooluniverse/smcp.py +2452 -0
  130. tooluniverse/smcp_server.py +975 -0
  131. tooluniverse/test/mcp_server_test.py +0 -0
  132. tooluniverse/test/test_admetai_tool.py +370 -0
  133. tooluniverse/test/test_agentic_tool.py +129 -0
  134. tooluniverse/test/test_alphafold_tool.py +71 -0
  135. tooluniverse/test/test_chem_tool.py +37 -0
  136. tooluniverse/test/test_compose_lieraturereview.py +63 -0
  137. tooluniverse/test/test_compose_tool.py +448 -0
  138. tooluniverse/test/test_dailymed.py +69 -0
  139. tooluniverse/test/test_dataset_tool.py +200 -0
  140. tooluniverse/test/test_disease_target_score.py +56 -0
  141. tooluniverse/test/test_drugbank_filter_examples.py +179 -0
  142. tooluniverse/test/test_efo.py +31 -0
  143. tooluniverse/test/test_enrichr_tool.py +21 -0
  144. tooluniverse/test/test_europe_pmc_tool.py +20 -0
  145. tooluniverse/test/test_fda_adv.py +95 -0
  146. tooluniverse/test/test_fda_drug_labeling.py +91 -0
  147. tooluniverse/test/test_gene_ontology_tools.py +66 -0
  148. tooluniverse/test/test_gwas_tool.py +139 -0
  149. tooluniverse/test/test_hpa.py +625 -0
  150. tooluniverse/test/test_humanbase_tool.py +20 -0
  151. tooluniverse/test/test_idmap_tools.py +61 -0
  152. tooluniverse/test/test_mcp_server.py +211 -0
  153. tooluniverse/test/test_mcp_tool.py +247 -0
  154. tooluniverse/test/test_medlineplus.py +220 -0
  155. tooluniverse/test/test_openalex_tool.py +32 -0
  156. tooluniverse/test/test_opentargets.py +28 -0
  157. tooluniverse/test/test_pubchem_tool.py +116 -0
  158. tooluniverse/test/test_pubtator_tool.py +37 -0
  159. tooluniverse/test/test_rcsb_pdb_tool.py +86 -0
  160. tooluniverse/test/test_reactome.py +54 -0
  161. tooluniverse/test/test_semantic_scholar_tool.py +24 -0
  162. tooluniverse/test/test_software_tools.py +147 -0
  163. tooluniverse/test/test_tool_description_optimizer.py +49 -0
  164. tooluniverse/test/test_tool_finder.py +26 -0
  165. tooluniverse/test/test_tool_finder_llm.py +252 -0
  166. tooluniverse/test/test_tools_find.py +195 -0
  167. tooluniverse/test/test_uniprot_tools.py +74 -0
  168. tooluniverse/test/test_uspto_tool.py +72 -0
  169. tooluniverse/test/test_xml_tool.py +113 -0
  170. tooluniverse/tool_finder_embedding.py +267 -0
  171. tooluniverse/tool_finder_keyword.py +693 -0
  172. tooluniverse/tool_finder_llm.py +699 -0
  173. tooluniverse/tool_graph_web_ui.py +955 -0
  174. tooluniverse/tool_registry.py +416 -0
  175. tooluniverse/uniprot_tool.py +155 -0
  176. tooluniverse/url_tool.py +253 -0
  177. tooluniverse/uspto_tool.py +240 -0
  178. tooluniverse/utils.py +369 -41
  179. tooluniverse/xml_tool.py +369 -0
  180. tooluniverse-1.0.0.dist-info/METADATA +377 -0
  181. tooluniverse-1.0.0.dist-info/RECORD +186 -0
  182. tooluniverse-1.0.0.dist-info/entry_points.txt +9 -0
  183. tooluniverse/generate_mcp_tools.py +0 -113
  184. tooluniverse/mcp_server.py +0 -3340
  185. tooluniverse-0.2.0.dist-info/METADATA +0 -139
  186. tooluniverse-0.2.0.dist-info/RECORD +0 -21
  187. tooluniverse-0.2.0.dist-info/entry_points.txt +0 -4
  188. {tooluniverse-0.2.0.dist-info → tooluniverse-1.0.0.dist-info}/WHEEL +0 -0
  189. {tooluniverse-0.2.0.dist-info → tooluniverse-1.0.0.dist-info}/licenses/LICENSE +0 -0
  190. {tooluniverse-0.2.0.dist-info → tooluniverse-1.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1082 @@
1
+ [
2
+ {
3
+ "type": "GWASAssociationSearch",
4
+ "name": "gwas_search_associations",
5
+ "description": "Search for GWAS associations by various criteria including EFO trait, rs ID, accession ID, with sorting and pagination support.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "efo_trait": {
10
+ "type": "string",
11
+ "description": "EFO trait identifier or name",
12
+ "required": false
13
+ },
14
+ "rs_id": {
15
+ "type": "string",
16
+ "description": "dbSNP rs identifier",
17
+ "required": false
18
+ },
19
+ "accession_id": {
20
+ "type": "string",
21
+ "description": "Study accession identifier",
22
+ "required": false
23
+ },
24
+ "sort": {
25
+ "type": "string",
26
+ "description": "Sort field (e.g., 'p_value', 'or_value')",
27
+ "required": false
28
+ },
29
+ "direction": {
30
+ "type": "string",
31
+ "description": "Sort direction ('asc' or 'desc')",
32
+ "required": false
33
+ },
34
+ "size": {
35
+ "type": "integer",
36
+ "description": "Number of results to return",
37
+ "required": false
38
+ },
39
+ "page": {
40
+ "type": "integer",
41
+ "description": "Page number for pagination",
42
+ "required": false
43
+ }
44
+ }
45
+ },
46
+ "label": [
47
+ "GWAS",
48
+ "Association",
49
+ "Genetics",
50
+ "Search"
51
+ ],
52
+ "return_schema": {
53
+ "type": "object",
54
+ "description": "GWAS associations search results with pagination metadata",
55
+ "properties": {
56
+ "data": {
57
+ "type": "array",
58
+ "description": "Array of GWAS association objects",
59
+ "items": {
60
+ "type": "object",
61
+ "properties": {
62
+ "association_id": {"type": "integer", "description": "Unique association identifier"},
63
+ "p_value": {"type": "number", "description": "Statistical p-value"},
64
+ "beta": {"type": "string", "description": "Effect size (beta coefficient)"},
65
+ "efo_traits": {
66
+ "type": "array",
67
+ "items": {
68
+ "type": "object",
69
+ "properties": {
70
+ "efo_id": {"type": "string"},
71
+ "efo_trait": {"type": "string"}
72
+ }
73
+ }
74
+ },
75
+ "reported_trait": {"type": "array", "items": {"type": "string"}},
76
+ "accession_id": {"type": "string", "description": "Study accession ID"},
77
+ "pubmed_id": {"type": "string", "description": "PubMed reference"},
78
+ "first_author": {"type": "string", "description": "First author name"},
79
+ "snp_effect_allele": {"type": "array", "items": {"type": "string"}},
80
+ "snp_allele": {
81
+ "type": "array",
82
+ "items": {
83
+ "type": "object",
84
+ "properties": {
85
+ "rs_id": {"type": "string"},
86
+ "effect_allele": {"type": "string"}
87
+ }
88
+ }
89
+ },
90
+ "locations": {"type": "array", "items": {"type": "string"}},
91
+ "mapped_genes": {"type": "array", "items": {"type": "string"}},
92
+ "ci_lower": {"type": "number", "description": "Lower confidence interval"},
93
+ "ci_upper": {"type": "number", "description": "Upper confidence interval"},
94
+ "risk_frequency": {"type": "string", "description": "Risk allele frequency"},
95
+ "range": {"type": "string", "description": "Effect size range"},
96
+ "_links": {"type": "object", "description": "API links"}
97
+ }
98
+ }
99
+ },
100
+ "metadata": {
101
+ "type": "object",
102
+ "description": "Pagination and navigation metadata",
103
+ "properties": {
104
+ "pagination": {
105
+ "type": "object",
106
+ "properties": {
107
+ "size": {"type": "integer"},
108
+ "totalElements": {"type": "integer"},
109
+ "totalPages": {"type": "integer"},
110
+ "number": {"type": "integer"}
111
+ }
112
+ },
113
+ "links": {"type": "object", "description": "Navigation links"}
114
+ }
115
+ }
116
+ }
117
+ }
118
+ },
119
+ {
120
+ "type": "GWASStudySearch",
121
+ "name": "gwas_search_studies",
122
+ "description": "Search for GWAS studies by various criteria including EFO trait, disease trait, cohort, GxE interactions, and summary statistics availability.",
123
+ "parameter": {
124
+ "type": "object",
125
+ "properties": {
126
+ "efo_trait": {
127
+ "type": "string",
128
+ "description": "EFO trait identifier or name",
129
+ "required": false
130
+ },
131
+ "disease_trait": {
132
+ "type": "string",
133
+ "description": "Disease trait name",
134
+ "required": false
135
+ },
136
+ "cohort": {
137
+ "type": "string",
138
+ "description": "Cohort name (e.g., 'UKB' for UK Biobank)",
139
+ "required": false
140
+ },
141
+ "gxe": {
142
+ "type": "boolean",
143
+ "description": "Filter for Gene-by-Environment interaction studies",
144
+ "required": false
145
+ },
146
+ "full_pvalue_set": {
147
+ "type": "boolean",
148
+ "description": "Filter for studies with full summary statistics",
149
+ "required": false
150
+ },
151
+ "size": {
152
+ "type": "integer",
153
+ "description": "Number of results to return",
154
+ "required": false
155
+ },
156
+ "page": {
157
+ "type": "integer",
158
+ "description": "Page number for pagination",
159
+ "required": false
160
+ }
161
+ }
162
+ },
163
+ "label": [
164
+ "GWAS",
165
+ "Study",
166
+ "Research",
167
+ "Search"
168
+ ],
169
+ "return_schema": {
170
+ "type": "object",
171
+ "description": "GWAS studies search results with pagination metadata",
172
+ "properties": {
173
+ "data": {
174
+ "type": "array",
175
+ "description": "Array of GWAS study objects",
176
+ "items": {
177
+ "type": "object",
178
+ "properties": {
179
+ "accession_id": {"type": "string", "description": "Study accession identifier"},
180
+ "disease_trait": {"type": "string", "description": "Disease or trait name"},
181
+ "efo_traits": {
182
+ "type": "array",
183
+ "items": {
184
+ "type": "object",
185
+ "properties": {
186
+ "efo_id": {"type": "string"},
187
+ "efo_trait": {"type": "string"}
188
+ }
189
+ }
190
+ },
191
+ "initial_sample_size": {"type": "string", "description": "Initial sample size description"},
192
+ "replication_sample_size": {"type": "string", "description": "Replication sample size"},
193
+ "discovery_ancestry": {"type": "array", "items": {"type": "string"}},
194
+ "replication_ancestry": {"type": "array", "items": {"type": "string"}},
195
+ "cohort": {"type": "array", "items": {"type": "string"}},
196
+ "genotyping_technologies": {"type": "array", "items": {"type": "string"}},
197
+ "platforms": {"type": "string", "description": "Genotyping platforms used"},
198
+ "snp_count": {"type": "integer", "description": "Number of SNPs analyzed"},
199
+ "imputed": {"type": "boolean", "description": "Whether data was imputed"},
200
+ "pooled": {"type": "boolean", "description": "Whether data was pooled"},
201
+ "gxe": {"type": "boolean", "description": "Gene-environment interaction study"},
202
+ "gxg": {"type": "boolean", "description": "Gene-gene interaction study"},
203
+ "full_summary_stats_available": {"type": "boolean", "description": "Full summary statistics available"},
204
+ "full_summary_stats": {"type": "string", "description": "URL to full summary statistics"},
205
+ "pubmed_id": {"type": "string", "description": "PubMed reference"},
206
+ "terms_of_license": {"type": "string", "description": "Data usage license"},
207
+ "array_manufacturer": {"type": "array", "items": {"type": "string"}},
208
+ "_links": {"type": "object", "description": "API links"}
209
+ }
210
+ }
211
+ },
212
+ "metadata": {
213
+ "type": "object",
214
+ "description": "Pagination and navigation metadata",
215
+ "properties": {
216
+ "pagination": {
217
+ "type": "object",
218
+ "properties": {
219
+ "size": {"type": "integer"},
220
+ "totalElements": {"type": "integer"},
221
+ "totalPages": {"type": "integer"},
222
+ "number": {"type": "integer"}
223
+ }
224
+ },
225
+ "links": {"type": "object", "description": "Navigation links"}
226
+ }
227
+ }
228
+ }
229
+ }
230
+ },
231
+ {
232
+ "type": "GWASSNPSearch",
233
+ "name": "gwas_search_snps",
234
+ "description": "Search for GWAS single nucleotide polymorphisms (SNPs) by rs ID or mapped gene.",
235
+ "parameter": {
236
+ "type": "object",
237
+ "properties": {
238
+ "rs_id": {
239
+ "type": "string",
240
+ "description": "dbSNP rs identifier",
241
+ "required": false
242
+ },
243
+ "mapped_gene": {
244
+ "type": "string",
245
+ "description": "Gene name or symbol",
246
+ "required": false
247
+ },
248
+ "size": {
249
+ "type": "integer",
250
+ "description": "Number of results to return",
251
+ "required": false
252
+ },
253
+ "page": {
254
+ "type": "integer",
255
+ "description": "Page number for pagination",
256
+ "required": false
257
+ }
258
+ }
259
+ },
260
+ "label": [
261
+ "GWAS",
262
+ "SNP",
263
+ "Variant",
264
+ "Search"
265
+ ],
266
+ "return_schema": {
267
+ "type": "object",
268
+ "description": "GWAS SNPs search results with pagination metadata",
269
+ "properties": {
270
+ "data": {
271
+ "type": "array",
272
+ "description": "Array of SNP objects",
273
+ "items": {
274
+ "type": "object",
275
+ "properties": {
276
+ "rs_id": {"type": "string", "description": "dbSNP rs identifier"},
277
+ "merged": {"type": "integer", "description": "Merged status"},
278
+ "functional_class": {"type": "string", "description": "Functional classification"},
279
+ "last_update_date": {"type": "string", "description": "Last update timestamp"},
280
+ "locations": {
281
+ "type": "array",
282
+ "items": {
283
+ "type": "object",
284
+ "properties": {
285
+ "chromosome_name": {"type": "string"},
286
+ "chromosome_position": {"type": "integer"},
287
+ "region": {
288
+ "type": "object",
289
+ "properties": {
290
+ "name": {"type": "string"}
291
+ }
292
+ }
293
+ }
294
+ }
295
+ },
296
+ "alleles": {"type": "string", "description": "Allele information"},
297
+ "most_severe_consequence": {"type": "string", "description": "Most severe functional consequence"},
298
+ "mapped_genes": {"type": "array", "items": {"type": "string"}},
299
+ "maf": {"type": "number", "description": "Minor allele frequency"},
300
+ "minor_allele": {"type": "string", "description": "Minor allele"},
301
+ "_links": {"type": "object", "description": "API links"}
302
+ }
303
+ }
304
+ },
305
+ "metadata": {
306
+ "type": "object",
307
+ "description": "Pagination and navigation metadata",
308
+ "properties": {
309
+ "pagination": {
310
+ "type": "object",
311
+ "properties": {
312
+ "size": {"type": "integer"},
313
+ "totalElements": {"type": "integer"},
314
+ "totalPages": {"type": "integer"},
315
+ "number": {"type": "integer"}
316
+ }
317
+ },
318
+ "links": {"type": "object", "description": "Navigation links"}
319
+ }
320
+ }
321
+ }
322
+ }
323
+ },
324
+ {
325
+ "type": "GWASAssociationByID",
326
+ "name": "gwas_get_association_by_id",
327
+ "description": "Get a specific GWAS association by its unique identifier.",
328
+ "parameter": {
329
+ "type": "object",
330
+ "properties": {
331
+ "association_id": {
332
+ "type": "string",
333
+ "description": "GWAS association identifier",
334
+ "required": true
335
+ }
336
+ }
337
+ },
338
+ "label": [
339
+ "GWAS",
340
+ "Association",
341
+ "Lookup"
342
+ ],
343
+ "return_schema": {
344
+ "type": "object",
345
+ "description": "Single GWAS association object",
346
+ "properties": {
347
+ "association_id": {"type": "integer", "description": "Unique association identifier"},
348
+ "p_value": {"type": "number", "description": "Statistical p-value"},
349
+ "beta": {"type": "string", "description": "Effect size (beta coefficient)"},
350
+ "efo_traits": {
351
+ "type": "array",
352
+ "items": {
353
+ "type": "object",
354
+ "properties": {
355
+ "efo_id": {"type": "string"},
356
+ "efo_trait": {"type": "string"}
357
+ }
358
+ }
359
+ },
360
+ "reported_trait": {"type": "array", "items": {"type": "string"}},
361
+ "accession_id": {"type": "string", "description": "Study accession ID"},
362
+ "pubmed_id": {"type": "string", "description": "PubMed reference"},
363
+ "first_author": {"type": "string", "description": "First author name"},
364
+ "snp_effect_allele": {"type": "array", "items": {"type": "string"}},
365
+ "snp_allele": {
366
+ "type": "array",
367
+ "items": {
368
+ "type": "object",
369
+ "properties": {
370
+ "rs_id": {"type": "string"},
371
+ "effect_allele": {"type": "string"}
372
+ }
373
+ }
374
+ },
375
+ "locations": {"type": "array", "items": {"type": "string"}},
376
+ "mapped_genes": {"type": "array", "items": {"type": "string"}},
377
+ "ci_lower": {"type": "number", "description": "Lower confidence interval"},
378
+ "ci_upper": {"type": "number", "description": "Upper confidence interval"},
379
+ "risk_frequency": {"type": "string", "description": "Risk allele frequency"},
380
+ "range": {"type": "string", "description": "Effect size range"},
381
+ "_links": {"type": "object", "description": "API links"}
382
+ }
383
+ }
384
+ },
385
+ {
386
+ "type": "GWASStudyByID",
387
+ "name": "gwas_get_study_by_id",
388
+ "description": "Get a specific GWAS study by its unique identifier.",
389
+ "parameter": {
390
+ "type": "object",
391
+ "properties": {
392
+ "study_id": {
393
+ "type": "string",
394
+ "description": "GWAS study identifier",
395
+ "required": true
396
+ }
397
+ }
398
+ },
399
+ "label": [
400
+ "GWAS",
401
+ "Study",
402
+ "Lookup"
403
+ ],
404
+ "return_schema": {
405
+ "type": "object",
406
+ "description": "Single GWAS study object",
407
+ "properties": {
408
+ "accession_id": {"type": "string", "description": "Study accession identifier"},
409
+ "disease_trait": {"type": "string", "description": "Disease or trait name"},
410
+ "efo_traits": {
411
+ "type": "array",
412
+ "items": {
413
+ "type": "object",
414
+ "properties": {
415
+ "efo_id": {"type": "string"},
416
+ "efo_trait": {"type": "string"}
417
+ }
418
+ }
419
+ },
420
+ "initial_sample_size": {"type": "string", "description": "Initial sample size description"},
421
+ "replication_sample_size": {"type": "string", "description": "Replication sample size"},
422
+ "discovery_ancestry": {"type": "array", "items": {"type": "string"}},
423
+ "replication_ancestry": {"type": "array", "items": {"type": "string"}},
424
+ "cohort": {"type": "array", "items": {"type": "string"}},
425
+ "genotyping_technologies": {"type": "array", "items": {"type": "string"}},
426
+ "platforms": {"type": "string", "description": "Genotyping platforms used"},
427
+ "snp_count": {"type": "integer", "description": "Number of SNPs analyzed"},
428
+ "imputed": {"type": "boolean", "description": "Whether data was imputed"},
429
+ "pooled": {"type": "boolean", "description": "Whether data was pooled"},
430
+ "gxe": {"type": "boolean", "description": "Gene-environment interaction study"},
431
+ "gxg": {"type": "boolean", "description": "Gene-gene interaction study"},
432
+ "full_summary_stats_available": {"type": "boolean", "description": "Full summary statistics available"},
433
+ "full_summary_stats": {"type": "string", "description": "URL to full summary statistics"},
434
+ "pubmed_id": {"type": "string", "description": "PubMed reference"},
435
+ "terms_of_license": {"type": "string", "description": "Data usage license"},
436
+ "array_manufacturer": {"type": "array", "items": {"type": "string"}},
437
+ "_links": {"type": "object", "description": "API links"}
438
+ }
439
+ }
440
+ },
441
+ {
442
+ "type": "GWASSNPByID",
443
+ "name": "gwas_get_snp_by_id",
444
+ "description": "Get a specific GWAS SNP by its rs ID.",
445
+ "parameter": {
446
+ "type": "object",
447
+ "properties": {
448
+ "rs_id": {
449
+ "type": "string",
450
+ "description": "dbSNP rs identifier",
451
+ "required": true
452
+ }
453
+ }
454
+ },
455
+ "label": [
456
+ "GWAS",
457
+ "SNP",
458
+ "Lookup"
459
+ ],
460
+ "return_schema": {
461
+ "type": "object",
462
+ "description": "Single SNP object",
463
+ "properties": {
464
+ "rs_id": {"type": "string", "description": "dbSNP rs identifier"},
465
+ "merged": {"type": "integer", "description": "Merged status"},
466
+ "functional_class": {"type": "string", "description": "Functional classification"},
467
+ "last_update_date": {"type": "string", "description": "Last update timestamp"},
468
+ "locations": {
469
+ "type": "array",
470
+ "items": {
471
+ "type": "object",
472
+ "properties": {
473
+ "chromosome_name": {"type": "string"},
474
+ "chromosome_position": {"type": "integer"},
475
+ "region": {
476
+ "type": "object",
477
+ "properties": {
478
+ "name": {"type": "string"}
479
+ }
480
+ }
481
+ }
482
+ }
483
+ },
484
+ "alleles": {"type": "string", "description": "Allele information"},
485
+ "most_severe_consequence": {"type": "string", "description": "Most severe functional consequence"},
486
+ "mapped_genes": {"type": "array", "items": {"type": "string"}},
487
+ "maf": {"type": "number", "description": "Minor allele frequency"},
488
+ "minor_allele": {"type": "string", "description": "Minor allele"},
489
+ "_links": {"type": "object", "description": "API links"}
490
+ }
491
+ }
492
+ },
493
+ {
494
+ "type": "GWASVariantsForTrait",
495
+ "name": "gwas_get_variants_for_trait",
496
+ "description": "Get all variants associated with a specific trait with pagination support.",
497
+ "parameter": {
498
+ "type": "object",
499
+ "properties": {
500
+ "efo_trait": {
501
+ "type": "string",
502
+ "description": "EFO trait identifier or name",
503
+ "required": true
504
+ },
505
+ "size": {
506
+ "type": "integer",
507
+ "description": "Number of results to return per page",
508
+ "required": false
509
+ },
510
+ "page": {
511
+ "type": "integer",
512
+ "description": "Page number for pagination",
513
+ "required": false
514
+ }
515
+ }
516
+ },
517
+ "label": [
518
+ "GWAS",
519
+ "Variants",
520
+ "Trait",
521
+ "Genetics"
522
+ ],
523
+ "return_schema": {
524
+ "type": "object",
525
+ "description": "GWAS variants for trait results with pagination metadata",
526
+ "properties": {
527
+ "data": {
528
+ "type": "array",
529
+ "description": "Array of variant objects",
530
+ "items": {
531
+ "type": "object",
532
+ "properties": {
533
+ "rs_id": {"type": "string", "description": "dbSNP rs identifier"},
534
+ "merged": {"type": "integer", "description": "Merged status"},
535
+ "functional_class": {"type": "string", "description": "Functional classification"},
536
+ "last_update_date": {"type": "string", "description": "Last update timestamp"},
537
+ "locations": {
538
+ "type": "array",
539
+ "items": {
540
+ "type": "object",
541
+ "properties": {
542
+ "chromosome_name": {"type": "string"},
543
+ "chromosome_position": {"type": "integer"},
544
+ "region": {
545
+ "type": "object",
546
+ "properties": {
547
+ "name": {"type": "string"}
548
+ }
549
+ }
550
+ }
551
+ }
552
+ },
553
+ "alleles": {"type": "string", "description": "Allele information"},
554
+ "most_severe_consequence": {"type": "string", "description": "Most severe functional consequence"},
555
+ "mapped_genes": {"type": "array", "items": {"type": "string"}},
556
+ "maf": {"type": "number", "description": "Minor allele frequency"},
557
+ "minor_allele": {"type": "string", "description": "Minor allele"},
558
+ "_links": {"type": "object", "description": "API links"}
559
+ }
560
+ }
561
+ },
562
+ "metadata": {
563
+ "type": "object",
564
+ "description": "Pagination and navigation metadata",
565
+ "properties": {
566
+ "pagination": {
567
+ "type": "object",
568
+ "properties": {
569
+ "size": {"type": "integer"},
570
+ "totalElements": {"type": "integer"},
571
+ "totalPages": {"type": "integer"},
572
+ "number": {"type": "integer"}
573
+ }
574
+ },
575
+ "links": {"type": "object", "description": "Navigation links"}
576
+ }
577
+ }
578
+ }
579
+ }
580
+ },
581
+ {
582
+ "type": "GWASAssociationsForTrait",
583
+ "name": "gwas_get_associations_for_trait",
584
+ "description": "Get all associations for a specific trait, sorted by p-value (most significant first).",
585
+ "parameter": {
586
+ "type": "object",
587
+ "properties": {
588
+ "efo_trait": {
589
+ "type": "string",
590
+ "description": "EFO trait identifier or name",
591
+ "required": true
592
+ },
593
+ "size": {
594
+ "type": "integer",
595
+ "description": "Number of results to return per page",
596
+ "required": false
597
+ },
598
+ "page": {
599
+ "type": "integer",
600
+ "description": "Page number for pagination",
601
+ "required": false
602
+ }
603
+ }
604
+ },
605
+ "label": [
606
+ "GWAS",
607
+ "Associations",
608
+ "Trait",
609
+ "Significance"
610
+ ],
611
+ "return_schema": {
612
+ "type": "object",
613
+ "description": "GWAS associations for trait results with pagination metadata",
614
+ "properties": {
615
+ "data": {
616
+ "type": "array",
617
+ "description": "Array of GWAS association objects",
618
+ "items": {
619
+ "type": "object",
620
+ "properties": {
621
+ "association_id": {"type": "integer", "description": "Unique association identifier"},
622
+ "p_value": {"type": "number", "description": "Statistical p-value"},
623
+ "beta": {"type": "string", "description": "Effect size (beta coefficient)"},
624
+ "efo_traits": {
625
+ "type": "array",
626
+ "items": {
627
+ "type": "object",
628
+ "properties": {
629
+ "efo_id": {"type": "string"},
630
+ "efo_trait": {"type": "string"}
631
+ }
632
+ }
633
+ },
634
+ "reported_trait": {"type": "array", "items": {"type": "string"}},
635
+ "accession_id": {"type": "string", "description": "Study accession ID"},
636
+ "pubmed_id": {"type": "string", "description": "PubMed reference"},
637
+ "first_author": {"type": "string", "description": "First author name"},
638
+ "snp_effect_allele": {"type": "array", "items": {"type": "string"}},
639
+ "snp_allele": {
640
+ "type": "array",
641
+ "items": {
642
+ "type": "object",
643
+ "properties": {
644
+ "rs_id": {"type": "string"},
645
+ "effect_allele": {"type": "string"}
646
+ }
647
+ }
648
+ },
649
+ "locations": {"type": "array", "items": {"type": "string"}},
650
+ "mapped_genes": {"type": "array", "items": {"type": "string"}},
651
+ "ci_lower": {"type": "number", "description": "Lower confidence interval"},
652
+ "ci_upper": {"type": "number", "description": "Upper confidence interval"},
653
+ "risk_frequency": {"type": "string", "description": "Risk allele frequency"},
654
+ "range": {"type": "string", "description": "Effect size range"},
655
+ "_links": {"type": "object", "description": "API links"}
656
+ }
657
+ }
658
+ },
659
+ "metadata": {
660
+ "type": "object",
661
+ "description": "Pagination and navigation metadata",
662
+ "properties": {
663
+ "pagination": {
664
+ "type": "object",
665
+ "properties": {
666
+ "size": {"type": "integer"},
667
+ "totalElements": {"type": "integer"},
668
+ "totalPages": {"type": "integer"},
669
+ "number": {"type": "integer"}
670
+ }
671
+ },
672
+ "links": {"type": "object", "description": "Navigation links"}
673
+ }
674
+ }
675
+ }
676
+ }
677
+ },
678
+ {
679
+ "type": "GWASAssociationsForSNP",
680
+ "name": "gwas_get_associations_for_snp",
681
+ "description": "Get all associations for a specific SNP with optional sorting.",
682
+ "parameter": {
683
+ "type": "object",
684
+ "properties": {
685
+ "rs_id": {
686
+ "type": "string",
687
+ "description": "dbSNP rs identifier",
688
+ "required": true
689
+ },
690
+ "sort": {
691
+ "type": "string",
692
+ "description": "Sort field (e.g., 'p_value', 'or_value')",
693
+ "required": false
694
+ },
695
+ "direction": {
696
+ "type": "string",
697
+ "description": "Sort direction ('asc' or 'desc')",
698
+ "required": false
699
+ },
700
+ "size": {
701
+ "type": "integer",
702
+ "description": "Number of results to return per page",
703
+ "required": false
704
+ },
705
+ "page": {
706
+ "type": "integer",
707
+ "description": "Page number for pagination",
708
+ "required": false
709
+ }
710
+ }
711
+ },
712
+ "label": [
713
+ "GWAS",
714
+ "Associations",
715
+ "SNP",
716
+ "Traits"
717
+ ],
718
+ "return_schema": {
719
+ "type": "object",
720
+ "description": "GWAS associations for SNP results with pagination metadata",
721
+ "properties": {
722
+ "data": {
723
+ "type": "array",
724
+ "description": "Array of GWAS association objects",
725
+ "items": {
726
+ "type": "object",
727
+ "properties": {
728
+ "association_id": {"type": "integer", "description": "Unique association identifier"},
729
+ "p_value": {"type": "number", "description": "Statistical p-value"},
730
+ "beta": {"type": "string", "description": "Effect size (beta coefficient)"},
731
+ "efo_traits": {
732
+ "type": "array",
733
+ "items": {
734
+ "type": "object",
735
+ "properties": {
736
+ "efo_id": {"type": "string"},
737
+ "efo_trait": {"type": "string"}
738
+ }
739
+ }
740
+ },
741
+ "reported_trait": {"type": "array", "items": {"type": "string"}},
742
+ "accession_id": {"type": "string", "description": "Study accession ID"},
743
+ "pubmed_id": {"type": "string", "description": "PubMed reference"},
744
+ "first_author": {"type": "string", "description": "First author name"},
745
+ "snp_effect_allele": {"type": "array", "items": {"type": "string"}},
746
+ "snp_allele": {
747
+ "type": "array",
748
+ "items": {
749
+ "type": "object",
750
+ "properties": {
751
+ "rs_id": {"type": "string"},
752
+ "effect_allele": {"type": "string"}
753
+ }
754
+ }
755
+ },
756
+ "locations": {"type": "array", "items": {"type": "string"}},
757
+ "mapped_genes": {"type": "array", "items": {"type": "string"}},
758
+ "ci_lower": {"type": "number", "description": "Lower confidence interval"},
759
+ "ci_upper": {"type": "number", "description": "Upper confidence interval"},
760
+ "risk_frequency": {"type": "string", "description": "Risk allele frequency"},
761
+ "range": {"type": "string", "description": "Effect size range"},
762
+ "_links": {"type": "object", "description": "API links"}
763
+ }
764
+ }
765
+ },
766
+ "metadata": {
767
+ "type": "object",
768
+ "description": "Pagination and navigation metadata",
769
+ "properties": {
770
+ "pagination": {
771
+ "type": "object",
772
+ "properties": {
773
+ "size": {"type": "integer"},
774
+ "totalElements": {"type": "integer"},
775
+ "totalPages": {"type": "integer"},
776
+ "number": {"type": "integer"}
777
+ }
778
+ },
779
+ "links": {"type": "object", "description": "Navigation links"}
780
+ }
781
+ }
782
+ }
783
+ }
784
+ },
785
+ {
786
+ "type": "GWASStudiesForTrait",
787
+ "name": "gwas_get_studies_for_trait",
788
+ "description": "Get studies for a specific trait with optional filters for cohort, GxE interactions, and summary statistics.",
789
+ "parameter": {
790
+ "type": "object",
791
+ "properties": {
792
+ "efo_trait": {
793
+ "type": "string",
794
+ "description": "EFO trait identifier or name",
795
+ "required": false
796
+ },
797
+ "disease_trait": {
798
+ "type": "string",
799
+ "description": "Disease trait name",
800
+ "required": false
801
+ },
802
+ "cohort": {
803
+ "type": "string",
804
+ "description": "Cohort name (e.g., 'UKB' for UK Biobank)",
805
+ "required": false
806
+ },
807
+ "gxe": {
808
+ "type": "boolean",
809
+ "description": "Filter for Gene-by-Environment interaction studies",
810
+ "required": false
811
+ },
812
+ "full_pvalue_set": {
813
+ "type": "boolean",
814
+ "description": "Filter for studies with full summary statistics",
815
+ "required": false
816
+ },
817
+ "size": {
818
+ "type": "integer",
819
+ "description": "Number of results to return per page",
820
+ "required": false
821
+ },
822
+ "page": {
823
+ "type": "integer",
824
+ "description": "Page number for pagination",
825
+ "required": false
826
+ }
827
+ }
828
+ },
829
+ "label": [
830
+ "GWAS",
831
+ "Studies",
832
+ "Trait",
833
+ "Research"
834
+ ],
835
+ "return_schema": {
836
+ "type": "object",
837
+ "description": "GWAS studies for trait results with pagination metadata",
838
+ "properties": {
839
+ "data": {
840
+ "type": "array",
841
+ "description": "Array of GWAS study objects",
842
+ "items": {
843
+ "type": "object",
844
+ "properties": {
845
+ "accession_id": {"type": "string", "description": "Study accession identifier"},
846
+ "disease_trait": {"type": "string", "description": "Disease or trait name"},
847
+ "efo_traits": {
848
+ "type": "array",
849
+ "items": {
850
+ "type": "object",
851
+ "properties": {
852
+ "efo_id": {"type": "string"},
853
+ "efo_trait": {"type": "string"}
854
+ }
855
+ }
856
+ },
857
+ "initial_sample_size": {"type": "string", "description": "Initial sample size description"},
858
+ "replication_sample_size": {"type": "string", "description": "Replication sample size"},
859
+ "discovery_ancestry": {"type": "array", "items": {"type": "string"}},
860
+ "replication_ancestry": {"type": "array", "items": {"type": "string"}},
861
+ "cohort": {"type": "array", "items": {"type": "string"}},
862
+ "genotyping_technologies": {"type": "array", "items": {"type": "string"}},
863
+ "platforms": {"type": "string", "description": "Genotyping platforms used"},
864
+ "snp_count": {"type": "integer", "description": "Number of SNPs analyzed"},
865
+ "imputed": {"type": "boolean", "description": "Whether data was imputed"},
866
+ "pooled": {"type": "boolean", "description": "Whether data was pooled"},
867
+ "gxe": {"type": "boolean", "description": "Gene-environment interaction study"},
868
+ "gxg": {"type": "boolean", "description": "Gene-gene interaction study"},
869
+ "full_summary_stats_available": {"type": "boolean", "description": "Full summary statistics available"},
870
+ "full_summary_stats": {"type": "string", "description": "URL to full summary statistics"},
871
+ "pubmed_id": {"type": "string", "description": "PubMed reference"},
872
+ "terms_of_license": {"type": "string", "description": "Data usage license"},
873
+ "array_manufacturer": {"type": "array", "items": {"type": "string"}},
874
+ "_links": {"type": "object", "description": "API links"}
875
+ }
876
+ }
877
+ },
878
+ "metadata": {
879
+ "type": "object",
880
+ "description": "Pagination and navigation metadata",
881
+ "properties": {
882
+ "pagination": {
883
+ "type": "object",
884
+ "properties": {
885
+ "size": {"type": "integer"},
886
+ "totalElements": {"type": "integer"},
887
+ "totalPages": {"type": "integer"},
888
+ "number": {"type": "integer"}
889
+ }
890
+ },
891
+ "links": {"type": "object", "description": "Navigation links"}
892
+ }
893
+ }
894
+ }
895
+ }
896
+ },
897
+ {
898
+ "type": "GWASSNPsForGene",
899
+ "name": "gwas_get_snps_for_gene",
900
+ "description": "Get all SNPs mapped to a specific gene.",
901
+ "parameter": {
902
+ "type": "object",
903
+ "properties": {
904
+ "mapped_gene": {
905
+ "type": "string",
906
+ "description": "Gene name or symbol",
907
+ "required": true
908
+ },
909
+ "size": {
910
+ "type": "integer",
911
+ "description": "Number of results to return per page",
912
+ "required": false
913
+ },
914
+ "page": {
915
+ "type": "integer",
916
+ "description": "Page number for pagination",
917
+ "required": false
918
+ }
919
+ }
920
+ },
921
+ "label": [
922
+ "GWAS",
923
+ "SNPs",
924
+ "Gene",
925
+ "Mapping"
926
+ ],
927
+ "return_schema": {
928
+ "type": "object",
929
+ "description": "GWAS SNPs for gene results with pagination metadata",
930
+ "properties": {
931
+ "data": {
932
+ "type": "array",
933
+ "description": "Array of SNP objects",
934
+ "items": {
935
+ "type": "object",
936
+ "properties": {
937
+ "rs_id": {"type": "string", "description": "dbSNP rs identifier"},
938
+ "merged": {"type": "integer", "description": "Merged status"},
939
+ "functional_class": {"type": "string", "description": "Functional classification"},
940
+ "last_update_date": {"type": "string", "description": "Last update timestamp"},
941
+ "locations": {
942
+ "type": "array",
943
+ "items": {
944
+ "type": "object",
945
+ "properties": {
946
+ "chromosome_name": {"type": "string"},
947
+ "chromosome_position": {"type": "integer"},
948
+ "region": {
949
+ "type": "object",
950
+ "properties": {
951
+ "name": {"type": "string"}
952
+ }
953
+ }
954
+ }
955
+ }
956
+ },
957
+ "alleles": {"type": "string", "description": "Allele information"},
958
+ "most_severe_consequence": {"type": "string", "description": "Most severe functional consequence"},
959
+ "mapped_genes": {"type": "array", "items": {"type": "string"}},
960
+ "maf": {"type": "number", "description": "Minor allele frequency"},
961
+ "minor_allele": {"type": "string", "description": "Minor allele"},
962
+ "_links": {"type": "object", "description": "API links"}
963
+ }
964
+ }
965
+ },
966
+ "metadata": {
967
+ "type": "object",
968
+ "description": "Pagination and navigation metadata",
969
+ "properties": {
970
+ "pagination": {
971
+ "type": "object",
972
+ "properties": {
973
+ "size": {"type": "integer"},
974
+ "totalElements": {"type": "integer"},
975
+ "totalPages": {"type": "integer"},
976
+ "number": {"type": "integer"}
977
+ }
978
+ },
979
+ "links": {"type": "object", "description": "Navigation links"}
980
+ }
981
+ }
982
+ }
983
+ }
984
+ },
985
+ {
986
+ "type": "GWASAssociationsForStudy",
987
+ "name": "gwas_get_associations_for_study",
988
+ "description": "Get all associations for a specific study, sorted by p-value.",
989
+ "parameter": {
990
+ "type": "object",
991
+ "properties": {
992
+ "accession_id": {
993
+ "type": "string",
994
+ "description": "Study accession identifier",
995
+ "required": true
996
+ },
997
+ "size": {
998
+ "type": "integer",
999
+ "description": "Number of results to return per page",
1000
+ "required": false
1001
+ },
1002
+ "page": {
1003
+ "type": "integer",
1004
+ "description": "Page number for pagination",
1005
+ "required": false
1006
+ }
1007
+ }
1008
+ },
1009
+ "label": [
1010
+ "GWAS",
1011
+ "Associations",
1012
+ "Study",
1013
+ "Results"
1014
+ ],
1015
+ "return_schema": {
1016
+ "type": "object",
1017
+ "description": "GWAS associations for study results with pagination metadata",
1018
+ "properties": {
1019
+ "data": {
1020
+ "type": "array",
1021
+ "description": "Array of GWAS association objects",
1022
+ "items": {
1023
+ "type": "object",
1024
+ "properties": {
1025
+ "association_id": {"type": "integer", "description": "Unique association identifier"},
1026
+ "p_value": {"type": "number", "description": "Statistical p-value"},
1027
+ "beta": {"type": "string", "description": "Effect size (beta coefficient)"},
1028
+ "efo_traits": {
1029
+ "type": "array",
1030
+ "items": {
1031
+ "type": "object",
1032
+ "properties": {
1033
+ "efo_id": {"type": "string"},
1034
+ "efo_trait": {"type": "string"}
1035
+ }
1036
+ }
1037
+ },
1038
+ "reported_trait": {"type": "array", "items": {"type": "string"}},
1039
+ "accession_id": {"type": "string", "description": "Study accession ID"},
1040
+ "pubmed_id": {"type": "string", "description": "PubMed reference"},
1041
+ "first_author": {"type": "string", "description": "First author name"},
1042
+ "snp_effect_allele": {"type": "array", "items": {"type": "string"}},
1043
+ "snp_allele": {
1044
+ "type": "array",
1045
+ "items": {
1046
+ "type": "object",
1047
+ "properties": {
1048
+ "rs_id": {"type": "string"},
1049
+ "effect_allele": {"type": "string"}
1050
+ }
1051
+ }
1052
+ },
1053
+ "locations": {"type": "array", "items": {"type": "string"}},
1054
+ "mapped_genes": {"type": "array", "items": {"type": "string"}},
1055
+ "ci_lower": {"type": "number", "description": "Lower confidence interval"},
1056
+ "ci_upper": {"type": "number", "description": "Upper confidence interval"},
1057
+ "risk_frequency": {"type": "string", "description": "Risk allele frequency"},
1058
+ "range": {"type": "string", "description": "Effect size range"},
1059
+ "_links": {"type": "object", "description": "API links"}
1060
+ }
1061
+ }
1062
+ },
1063
+ "metadata": {
1064
+ "type": "object",
1065
+ "description": "Pagination and navigation metadata",
1066
+ "properties": {
1067
+ "pagination": {
1068
+ "type": "object",
1069
+ "properties": {
1070
+ "size": {"type": "integer"},
1071
+ "totalElements": {"type": "integer"},
1072
+ "totalPages": {"type": "integer"},
1073
+ "number": {"type": "integer"}
1074
+ }
1075
+ },
1076
+ "links": {"type": "object", "description": "Navigation links"}
1077
+ }
1078
+ }
1079
+ }
1080
+ }
1081
+ }
1082
+ ]