@yangfei_93sky/biocli 0.2.0

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.
Files changed (177) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +197 -0
  3. package/dist/batch.d.ts +20 -0
  4. package/dist/batch.js +69 -0
  5. package/dist/build-manifest.d.ts +38 -0
  6. package/dist/build-manifest.js +186 -0
  7. package/dist/cache.d.ts +28 -0
  8. package/dist/cache.js +126 -0
  9. package/dist/cli-manifest.json +1500 -0
  10. package/dist/cli.d.ts +7 -0
  11. package/dist/cli.js +336 -0
  12. package/dist/clis/_shared/common.d.ts +8 -0
  13. package/dist/clis/_shared/common.js +13 -0
  14. package/dist/clis/_shared/eutils.d.ts +9 -0
  15. package/dist/clis/_shared/eutils.js +9 -0
  16. package/dist/clis/_shared/organism-db.d.ts +23 -0
  17. package/dist/clis/_shared/organism-db.js +58 -0
  18. package/dist/clis/_shared/xml-helpers.d.ts +58 -0
  19. package/dist/clis/_shared/xml-helpers.js +266 -0
  20. package/dist/clis/aggregate/enrichment.d.ts +7 -0
  21. package/dist/clis/aggregate/enrichment.js +105 -0
  22. package/dist/clis/aggregate/gene-dossier.d.ts +13 -0
  23. package/dist/clis/aggregate/gene-dossier.js +248 -0
  24. package/dist/clis/aggregate/gene-profile.d.ts +16 -0
  25. package/dist/clis/aggregate/gene-profile.js +305 -0
  26. package/dist/clis/aggregate/literature-brief.d.ts +7 -0
  27. package/dist/clis/aggregate/literature-brief.js +79 -0
  28. package/dist/clis/aggregate/variant-dossier.d.ts +11 -0
  29. package/dist/clis/aggregate/variant-dossier.js +161 -0
  30. package/dist/clis/aggregate/variant-interpret.d.ts +10 -0
  31. package/dist/clis/aggregate/variant-interpret.js +210 -0
  32. package/dist/clis/aggregate/workflow-prepare.d.ts +12 -0
  33. package/dist/clis/aggregate/workflow-prepare.js +228 -0
  34. package/dist/clis/aggregate/workflow-scout.d.ts +13 -0
  35. package/dist/clis/aggregate/workflow-scout.js +175 -0
  36. package/dist/clis/clinvar/search.d.ts +8 -0
  37. package/dist/clis/clinvar/search.js +61 -0
  38. package/dist/clis/clinvar/variant.d.ts +7 -0
  39. package/dist/clis/clinvar/variant.js +53 -0
  40. package/dist/clis/enrichr/analyze.d.ts +7 -0
  41. package/dist/clis/enrichr/analyze.js +48 -0
  42. package/dist/clis/ensembl/lookup.d.ts +6 -0
  43. package/dist/clis/ensembl/lookup.js +38 -0
  44. package/dist/clis/ensembl/vep.d.ts +7 -0
  45. package/dist/clis/ensembl/vep.js +86 -0
  46. package/dist/clis/ensembl/xrefs.d.ts +6 -0
  47. package/dist/clis/ensembl/xrefs.js +36 -0
  48. package/dist/clis/gene/fetch.d.ts +10 -0
  49. package/dist/clis/gene/fetch.js +96 -0
  50. package/dist/clis/gene/info.d.ts +7 -0
  51. package/dist/clis/gene/info.js +37 -0
  52. package/dist/clis/gene/search.d.ts +7 -0
  53. package/dist/clis/gene/search.js +71 -0
  54. package/dist/clis/geo/dataset.d.ts +7 -0
  55. package/dist/clis/geo/dataset.js +55 -0
  56. package/dist/clis/geo/download.d.ts +17 -0
  57. package/dist/clis/geo/download.js +115 -0
  58. package/dist/clis/geo/samples.d.ts +7 -0
  59. package/dist/clis/geo/samples.js +57 -0
  60. package/dist/clis/geo/search.d.ts +8 -0
  61. package/dist/clis/geo/search.js +66 -0
  62. package/dist/clis/kegg/convert.d.ts +7 -0
  63. package/dist/clis/kegg/convert.js +37 -0
  64. package/dist/clis/kegg/disease.d.ts +6 -0
  65. package/dist/clis/kegg/disease.js +57 -0
  66. package/dist/clis/kegg/link.d.ts +7 -0
  67. package/dist/clis/kegg/link.js +36 -0
  68. package/dist/clis/kegg/pathway.d.ts +6 -0
  69. package/dist/clis/kegg/pathway.js +37 -0
  70. package/dist/clis/pubmed/abstract.d.ts +7 -0
  71. package/dist/clis/pubmed/abstract.js +42 -0
  72. package/dist/clis/pubmed/cited-by.d.ts +7 -0
  73. package/dist/clis/pubmed/cited-by.js +77 -0
  74. package/dist/clis/pubmed/fetch.d.ts +6 -0
  75. package/dist/clis/pubmed/fetch.js +36 -0
  76. package/dist/clis/pubmed/info.yaml +22 -0
  77. package/dist/clis/pubmed/related.d.ts +7 -0
  78. package/dist/clis/pubmed/related.js +81 -0
  79. package/dist/clis/pubmed/search.d.ts +8 -0
  80. package/dist/clis/pubmed/search.js +63 -0
  81. package/dist/clis/snp/lookup.d.ts +7 -0
  82. package/dist/clis/snp/lookup.js +57 -0
  83. package/dist/clis/sra/download.d.ts +18 -0
  84. package/dist/clis/sra/download.js +217 -0
  85. package/dist/clis/sra/run.d.ts +8 -0
  86. package/dist/clis/sra/run.js +77 -0
  87. package/dist/clis/sra/search.d.ts +8 -0
  88. package/dist/clis/sra/search.js +83 -0
  89. package/dist/clis/string/enrichment.d.ts +7 -0
  90. package/dist/clis/string/enrichment.js +50 -0
  91. package/dist/clis/string/network.d.ts +7 -0
  92. package/dist/clis/string/network.js +47 -0
  93. package/dist/clis/string/partners.d.ts +4 -0
  94. package/dist/clis/string/partners.js +44 -0
  95. package/dist/clis/taxonomy/lookup.d.ts +8 -0
  96. package/dist/clis/taxonomy/lookup.js +54 -0
  97. package/dist/clis/uniprot/fetch.d.ts +7 -0
  98. package/dist/clis/uniprot/fetch.js +82 -0
  99. package/dist/clis/uniprot/search.d.ts +6 -0
  100. package/dist/clis/uniprot/search.js +65 -0
  101. package/dist/clis/uniprot/sequence.d.ts +7 -0
  102. package/dist/clis/uniprot/sequence.js +51 -0
  103. package/dist/commander-adapter.d.ts +27 -0
  104. package/dist/commander-adapter.js +286 -0
  105. package/dist/completion.d.ts +19 -0
  106. package/dist/completion.js +117 -0
  107. package/dist/config.d.ts +57 -0
  108. package/dist/config.js +94 -0
  109. package/dist/databases/enrichr.d.ts +28 -0
  110. package/dist/databases/enrichr.js +131 -0
  111. package/dist/databases/ensembl.d.ts +14 -0
  112. package/dist/databases/ensembl.js +106 -0
  113. package/dist/databases/index.d.ts +45 -0
  114. package/dist/databases/index.js +49 -0
  115. package/dist/databases/kegg.d.ts +26 -0
  116. package/dist/databases/kegg.js +136 -0
  117. package/dist/databases/ncbi.d.ts +28 -0
  118. package/dist/databases/ncbi.js +144 -0
  119. package/dist/databases/string-db.d.ts +19 -0
  120. package/dist/databases/string-db.js +105 -0
  121. package/dist/databases/uniprot.d.ts +13 -0
  122. package/dist/databases/uniprot.js +110 -0
  123. package/dist/discovery.d.ts +32 -0
  124. package/dist/discovery.js +235 -0
  125. package/dist/doctor.d.ts +19 -0
  126. package/dist/doctor.js +151 -0
  127. package/dist/errors.d.ts +68 -0
  128. package/dist/errors.js +105 -0
  129. package/dist/execution.d.ts +15 -0
  130. package/dist/execution.js +178 -0
  131. package/dist/hooks.d.ts +48 -0
  132. package/dist/hooks.js +58 -0
  133. package/dist/main.d.ts +13 -0
  134. package/dist/main.js +31 -0
  135. package/dist/ncbi-fetch.d.ts +10 -0
  136. package/dist/ncbi-fetch.js +10 -0
  137. package/dist/output.d.ts +18 -0
  138. package/dist/output.js +394 -0
  139. package/dist/pipeline/executor.d.ts +22 -0
  140. package/dist/pipeline/executor.js +40 -0
  141. package/dist/pipeline/index.d.ts +6 -0
  142. package/dist/pipeline/index.js +6 -0
  143. package/dist/pipeline/registry.d.ts +16 -0
  144. package/dist/pipeline/registry.js +31 -0
  145. package/dist/pipeline/steps/fetch.d.ts +21 -0
  146. package/dist/pipeline/steps/fetch.js +160 -0
  147. package/dist/pipeline/steps/transform.d.ts +26 -0
  148. package/dist/pipeline/steps/transform.js +92 -0
  149. package/dist/pipeline/steps/xml-parse.d.ts +12 -0
  150. package/dist/pipeline/steps/xml-parse.js +27 -0
  151. package/dist/pipeline/template.d.ts +35 -0
  152. package/dist/pipeline/template.js +312 -0
  153. package/dist/rate-limiter.d.ts +56 -0
  154. package/dist/rate-limiter.js +120 -0
  155. package/dist/registry-api.d.ts +15 -0
  156. package/dist/registry-api.js +13 -0
  157. package/dist/registry.d.ts +90 -0
  158. package/dist/registry.js +100 -0
  159. package/dist/schema.d.ts +80 -0
  160. package/dist/schema.js +72 -0
  161. package/dist/spinner.d.ts +19 -0
  162. package/dist/spinner.js +37 -0
  163. package/dist/types.d.ts +101 -0
  164. package/dist/types.js +27 -0
  165. package/dist/utils.d.ts +16 -0
  166. package/dist/utils.js +40 -0
  167. package/dist/validate.d.ts +29 -0
  168. package/dist/validate.js +136 -0
  169. package/dist/verify.d.ts +20 -0
  170. package/dist/verify.js +131 -0
  171. package/dist/version.d.ts +13 -0
  172. package/dist/version.js +36 -0
  173. package/dist/xml-parser.d.ts +19 -0
  174. package/dist/xml-parser.js +119 -0
  175. package/dist/yaml-schema.d.ts +40 -0
  176. package/dist/yaml-schema.js +62 -0
  177. package/package.json +68 -0
@@ -0,0 +1,1500 @@
1
+ [
2
+ {
3
+ "site": "aggregate",
4
+ "name": "enrichment",
5
+ "description": "Combined pathway enrichment from Enrichr + STRING",
6
+ "database": "aggregate",
7
+ "strategy": "public",
8
+ "args": [
9
+ {
10
+ "name": "genes",
11
+ "type": "str",
12
+ "required": true,
13
+ "positional": true,
14
+ "help": "Comma-separated gene symbols (e.g. TP53,BRCA1,EGFR,MYC,CDK2)"
15
+ },
16
+ {
17
+ "name": "library",
18
+ "type": "str",
19
+ "default": "KEGG_2021_Human",
20
+ "required": false,
21
+ "help": "Enrichr library (e.g. GO_Biological_Process_2023, Reactome_2022)"
22
+ },
23
+ {
24
+ "name": "limit",
25
+ "type": "int",
26
+ "default": 20,
27
+ "required": false,
28
+ "help": "Max results per source (1-50)"
29
+ },
30
+ {
31
+ "name": "species",
32
+ "type": "int",
33
+ "default": 9606,
34
+ "required": false,
35
+ "help": "NCBI taxonomy ID for STRING (default: 9606)"
36
+ }
37
+ ],
38
+ "columns": [
39
+ "term",
40
+ "category",
41
+ "source",
42
+ "pValue",
43
+ "genes"
44
+ ],
45
+ "timeout": 60,
46
+ "type": "ts",
47
+ "modulePath": "aggregate/enrichment.js"
48
+ },
49
+ {
50
+ "site": "aggregate",
51
+ "name": "gene-dossier",
52
+ "description": "Complete gene intelligence report (profile + literature + clinical)",
53
+ "database": "aggregate",
54
+ "strategy": "public",
55
+ "args": [
56
+ {
57
+ "name": "gene",
58
+ "type": "str",
59
+ "required": true,
60
+ "positional": true,
61
+ "help": "Gene symbol (e.g. TP53)"
62
+ },
63
+ {
64
+ "name": "organism",
65
+ "type": "str",
66
+ "default": "human",
67
+ "required": false,
68
+ "help": "Organism (e.g. human, mouse)"
69
+ },
70
+ {
71
+ "name": "papers",
72
+ "type": "int",
73
+ "default": 5,
74
+ "required": false,
75
+ "help": "Number of recent papers to include"
76
+ }
77
+ ],
78
+ "columns": [
79
+ "symbol",
80
+ "name",
81
+ "pathways",
82
+ "interactions",
83
+ "literature",
84
+ "clinvar"
85
+ ],
86
+ "timeout": 90,
87
+ "type": "ts",
88
+ "modulePath": "aggregate/gene-dossier.js"
89
+ },
90
+ {
91
+ "site": "aggregate",
92
+ "name": "gene-profile",
93
+ "description": "Complete gene profile from NCBI + UniProt + KEGG + STRING",
94
+ "database": "aggregate",
95
+ "strategy": "public",
96
+ "args": [
97
+ {
98
+ "name": "genes",
99
+ "type": "str",
100
+ "required": true,
101
+ "positional": true,
102
+ "help": "Gene symbol(s), comma-separated (e.g. TP53 or TP53,BRCA1,EGFR)"
103
+ },
104
+ {
105
+ "name": "organism",
106
+ "type": "str",
107
+ "default": "human",
108
+ "required": false,
109
+ "help": "Organism (e.g. human, mouse, 9606)"
110
+ }
111
+ ],
112
+ "columns": [
113
+ "symbol",
114
+ "name",
115
+ "organism",
116
+ "pathways",
117
+ "goTerms",
118
+ "interactions"
119
+ ],
120
+ "timeout": 60,
121
+ "type": "ts",
122
+ "modulePath": "aggregate/gene-profile.js"
123
+ },
124
+ {
125
+ "site": "aggregate",
126
+ "name": "literature-brief",
127
+ "description": "Literature summary with abstracts for a research topic",
128
+ "database": "aggregate",
129
+ "strategy": "public",
130
+ "args": [
131
+ {
132
+ "name": "query",
133
+ "type": "str",
134
+ "required": true,
135
+ "positional": true,
136
+ "help": "Search query (e.g. \"TP53 immunotherapy\", \"CRISPR cancer\")"
137
+ },
138
+ {
139
+ "name": "limit",
140
+ "type": "int",
141
+ "default": 10,
142
+ "required": false,
143
+ "help": "Number of papers (1-50)"
144
+ },
145
+ {
146
+ "name": "sort",
147
+ "type": "str",
148
+ "default": "relevance",
149
+ "required": false,
150
+ "help": "Sort order",
151
+ "choices": [
152
+ "relevance",
153
+ "date"
154
+ ]
155
+ },
156
+ {
157
+ "name": "years",
158
+ "type": "int",
159
+ "default": 5,
160
+ "required": false,
161
+ "help": "Limit to last N years"
162
+ }
163
+ ],
164
+ "columns": [
165
+ "pmid",
166
+ "title",
167
+ "journal",
168
+ "year",
169
+ "abstract"
170
+ ],
171
+ "timeout": 60,
172
+ "type": "ts",
173
+ "modulePath": "aggregate/literature-brief.js"
174
+ },
175
+ {
176
+ "site": "aggregate",
177
+ "name": "variant-dossier",
178
+ "description": "Comprehensive variant interpretation (dbSNP + ClinVar + VEP)",
179
+ "database": "aggregate",
180
+ "strategy": "public",
181
+ "args": [
182
+ {
183
+ "name": "variant",
184
+ "type": "str",
185
+ "required": true,
186
+ "positional": true,
187
+ "help": "Variant ID: rsID (rs334), HGVS, or genomic coordinate"
188
+ }
189
+ ],
190
+ "columns": [
191
+ "variant",
192
+ "gene",
193
+ "consequence",
194
+ "clinicalSignificance",
195
+ "condition"
196
+ ],
197
+ "timeout": 60,
198
+ "type": "ts",
199
+ "modulePath": "aggregate/variant-dossier.js"
200
+ },
201
+ {
202
+ "site": "aggregate",
203
+ "name": "variant-interpret",
204
+ "description": "Variant interpretation with clinical context (dbSNP + ClinVar + VEP + UniProt)",
205
+ "database": "aggregate",
206
+ "strategy": "public",
207
+ "args": [
208
+ {
209
+ "name": "variant",
210
+ "type": "str",
211
+ "required": true,
212
+ "positional": true,
213
+ "help": "Variant ID: rsID (rs334), HGVS, or genomic coordinate"
214
+ }
215
+ ],
216
+ "columns": [
217
+ "variant",
218
+ "gene",
219
+ "consequence",
220
+ "clinicalSignificance",
221
+ "interpretation"
222
+ ],
223
+ "timeout": 90,
224
+ "type": "ts",
225
+ "modulePath": "aggregate/variant-interpret.js"
226
+ },
227
+ {
228
+ "site": "aggregate",
229
+ "name": "workflow-prepare",
230
+ "description": "Prepare a research-ready directory from a selected dataset",
231
+ "database": "aggregate",
232
+ "strategy": "public",
233
+ "args": [
234
+ {
235
+ "name": "dataset",
236
+ "type": "str",
237
+ "required": true,
238
+ "positional": true,
239
+ "help": "GEO accession (GSE*) or SRA accession (SRR*)"
240
+ },
241
+ {
242
+ "name": "gene",
243
+ "type": "str",
244
+ "required": false,
245
+ "help": "Focus gene symbol(s), comma-separated (e.g. TP53,BRCA1)"
246
+ },
247
+ {
248
+ "name": "outdir",
249
+ "type": "str",
250
+ "required": true,
251
+ "help": "Output directory for the prepared workspace"
252
+ },
253
+ {
254
+ "name": "skip-download",
255
+ "type": "boolean",
256
+ "default": false,
257
+ "required": false,
258
+ "help": "Skip data download, only fetch annotations"
259
+ }
260
+ ],
261
+ "columns": [
262
+ "step",
263
+ "status",
264
+ "detail"
265
+ ],
266
+ "timeout": 300,
267
+ "type": "ts",
268
+ "modulePath": "aggregate/workflow-prepare.js"
269
+ },
270
+ {
271
+ "site": "aggregate",
272
+ "name": "workflow-scout",
273
+ "description": "Scout GEO/SRA datasets for a research question",
274
+ "database": "aggregate",
275
+ "strategy": "public",
276
+ "args": [
277
+ {
278
+ "name": "query",
279
+ "type": "str",
280
+ "required": true,
281
+ "positional": true,
282
+ "help": "Research topic (e.g. \"TP53 breast cancer RNA-seq\")"
283
+ },
284
+ {
285
+ "name": "gene",
286
+ "type": "str",
287
+ "required": false,
288
+ "help": "Focus gene symbol (refines search)"
289
+ },
290
+ {
291
+ "name": "organism",
292
+ "type": "str",
293
+ "default": "Homo sapiens",
294
+ "required": false,
295
+ "help": "Organism filter"
296
+ },
297
+ {
298
+ "name": "limit",
299
+ "type": "int",
300
+ "default": 10,
301
+ "required": false,
302
+ "help": "Max candidates per source"
303
+ },
304
+ {
305
+ "name": "type",
306
+ "type": "str",
307
+ "default": "gse",
308
+ "required": false,
309
+ "help": "GEO entry type filter",
310
+ "choices": [
311
+ "gse",
312
+ "gds",
313
+ "all"
314
+ ]
315
+ }
316
+ ],
317
+ "columns": [
318
+ "rank",
319
+ "accession",
320
+ "title",
321
+ "type",
322
+ "samples",
323
+ "date",
324
+ "source"
325
+ ],
326
+ "timeout": 60,
327
+ "type": "ts",
328
+ "modulePath": "aggregate/workflow-scout.js"
329
+ },
330
+ {
331
+ "site": "clinvar",
332
+ "name": "search",
333
+ "description": "Search ClinVar clinical variants",
334
+ "database": "clinvar",
335
+ "strategy": "public",
336
+ "args": [
337
+ {
338
+ "name": "query",
339
+ "type": "str",
340
+ "required": true,
341
+ "positional": true,
342
+ "help": "Search query (e.g. \"BRCA1\", \"rs80357906\", \"breast cancer\")"
343
+ },
344
+ {
345
+ "name": "limit",
346
+ "type": "int",
347
+ "default": 10,
348
+ "required": false,
349
+ "help": "Max results (1-200)"
350
+ }
351
+ ],
352
+ "columns": [
353
+ "uid",
354
+ "title",
355
+ "gene",
356
+ "significance",
357
+ "condition",
358
+ "accession"
359
+ ],
360
+ "type": "ts",
361
+ "modulePath": "clinvar/search.js"
362
+ },
363
+ {
364
+ "site": "clinvar",
365
+ "name": "variant",
366
+ "description": "Get ClinVar variant details by ID",
367
+ "database": "clinvar",
368
+ "strategy": "public",
369
+ "args": [
370
+ {
371
+ "name": "id",
372
+ "type": "str",
373
+ "required": true,
374
+ "positional": true,
375
+ "help": "ClinVar variation ID or accession (e.g. 37722, VCV000037722)"
376
+ }
377
+ ],
378
+ "columns": [
379
+ "uid",
380
+ "title",
381
+ "gene",
382
+ "significance",
383
+ "condition",
384
+ "accession",
385
+ "type",
386
+ "assembly"
387
+ ],
388
+ "type": "ts",
389
+ "modulePath": "clinvar/variant.js"
390
+ },
391
+ {
392
+ "site": "enrichr",
393
+ "name": "analyze",
394
+ "description": "Run gene set enrichment analysis",
395
+ "database": "enrichr",
396
+ "strategy": "public",
397
+ "args": [
398
+ {
399
+ "name": "genes",
400
+ "type": "str",
401
+ "required": true,
402
+ "positional": true,
403
+ "help": "Comma-separated gene symbols (e.g. TP53,BRCA1,EGFR,MYC,CDK2)"
404
+ },
405
+ {
406
+ "name": "library",
407
+ "type": "str",
408
+ "default": "KEGG_2021_Human",
409
+ "required": false,
410
+ "help": "Gene set library (e.g. KEGG_2021_Human, GO_Biological_Process_2023, Reactome_2022)"
411
+ },
412
+ {
413
+ "name": "limit",
414
+ "type": "int",
415
+ "default": 20,
416
+ "required": false,
417
+ "help": "Max results to show (1-100)"
418
+ }
419
+ ],
420
+ "columns": [
421
+ "rank",
422
+ "term",
423
+ "adjustedPValue",
424
+ "combinedScore",
425
+ "genes"
426
+ ],
427
+ "type": "ts",
428
+ "modulePath": "enrichr/analyze.js"
429
+ },
430
+ {
431
+ "site": "ensembl",
432
+ "name": "lookup",
433
+ "description": "Look up a gene by symbol in Ensembl",
434
+ "database": "ensembl",
435
+ "strategy": "public",
436
+ "args": [
437
+ {
438
+ "name": "symbol",
439
+ "type": "str",
440
+ "required": true,
441
+ "positional": true,
442
+ "help": "Gene symbol (e.g. BRCA2, TP53)"
443
+ },
444
+ {
445
+ "name": "species",
446
+ "type": "str",
447
+ "default": "homo_sapiens",
448
+ "required": false,
449
+ "help": "Species name (e.g. homo_sapiens, mus_musculus)"
450
+ }
451
+ ],
452
+ "columns": [
453
+ "ensemblId",
454
+ "symbol",
455
+ "biotype",
456
+ "chromosome",
457
+ "start",
458
+ "end",
459
+ "strand",
460
+ "description"
461
+ ],
462
+ "type": "ts",
463
+ "modulePath": "ensembl/lookup.js"
464
+ },
465
+ {
466
+ "site": "ensembl",
467
+ "name": "vep",
468
+ "description": "Predict variant effects (VEP)",
469
+ "database": "ensembl",
470
+ "strategy": "public",
471
+ "args": [
472
+ {
473
+ "name": "variant",
474
+ "type": "str",
475
+ "required": true,
476
+ "positional": true,
477
+ "help": "Variant in HGVS (e.g. \"NM_000518.5:c.20A>T\") or rsID (e.g. rs334)"
478
+ },
479
+ {
480
+ "name": "species",
481
+ "type": "str",
482
+ "default": "human",
483
+ "required": false,
484
+ "help": "Species (default: human)"
485
+ }
486
+ ],
487
+ "columns": [
488
+ "input",
489
+ "gene",
490
+ "consequence",
491
+ "impact",
492
+ "biotype",
493
+ "aminoAcid",
494
+ "codons"
495
+ ],
496
+ "type": "ts",
497
+ "modulePath": "ensembl/vep.js"
498
+ },
499
+ {
500
+ "site": "ensembl",
501
+ "name": "xrefs",
502
+ "description": "Get cross-references for a gene",
503
+ "database": "ensembl",
504
+ "strategy": "public",
505
+ "args": [
506
+ {
507
+ "name": "symbol",
508
+ "type": "str",
509
+ "required": true,
510
+ "positional": true,
511
+ "help": "Gene symbol (e.g. BRCA2)"
512
+ },
513
+ {
514
+ "name": "species",
515
+ "type": "str",
516
+ "default": "homo_sapiens",
517
+ "required": false,
518
+ "help": "Species name"
519
+ }
520
+ ],
521
+ "columns": [
522
+ "database",
523
+ "primaryId",
524
+ "displayId",
525
+ "description"
526
+ ],
527
+ "type": "ts",
528
+ "modulePath": "ensembl/xrefs.js"
529
+ },
530
+ {
531
+ "site": "gene",
532
+ "name": "fetch",
533
+ "description": "Download gene sequence (nucleotide or protein) in FASTA format",
534
+ "database": "gene",
535
+ "strategy": "public",
536
+ "args": [
537
+ {
538
+ "name": "id",
539
+ "type": "str",
540
+ "required": true,
541
+ "positional": true,
542
+ "help": "NCBI Gene ID (e.g. 7157) or gene symbol with --search"
543
+ },
544
+ {
545
+ "name": "type",
546
+ "type": "str",
547
+ "default": "nucleotide",
548
+ "required": false,
549
+ "help": "Sequence type to download",
550
+ "choices": [
551
+ "nucleotide",
552
+ "protein"
553
+ ]
554
+ },
555
+ {
556
+ "name": "output",
557
+ "type": "str",
558
+ "required": false,
559
+ "help": "Output file path (default: stdout)"
560
+ }
561
+ ],
562
+ "columns": [
563
+ "content"
564
+ ],
565
+ "type": "ts",
566
+ "modulePath": "gene/fetch.js"
567
+ },
568
+ {
569
+ "site": "gene",
570
+ "name": "info",
571
+ "description": "Get gene details by NCBI Gene ID",
572
+ "database": "gene",
573
+ "strategy": "public",
574
+ "args": [
575
+ {
576
+ "name": "id",
577
+ "type": "str",
578
+ "required": true,
579
+ "positional": true,
580
+ "help": "NCBI Gene ID (e.g. 7157 for TP53)"
581
+ }
582
+ ],
583
+ "columns": [
584
+ "geneId",
585
+ "symbol",
586
+ "name",
587
+ "organism",
588
+ "summary",
589
+ "chromosome",
590
+ "location"
591
+ ],
592
+ "type": "ts",
593
+ "modulePath": "gene/info.js"
594
+ },
595
+ {
596
+ "site": "gene",
597
+ "name": "search",
598
+ "description": "Search NCBI Gene database",
599
+ "database": "gene",
600
+ "strategy": "public",
601
+ "args": [
602
+ {
603
+ "name": "query",
604
+ "type": "str",
605
+ "required": true,
606
+ "positional": true,
607
+ "help": "Gene symbol or keyword (e.g. TP53, BRCA1)"
608
+ },
609
+ {
610
+ "name": "limit",
611
+ "type": "int",
612
+ "default": 10,
613
+ "required": false,
614
+ "help": "Max results (1-200)"
615
+ },
616
+ {
617
+ "name": "organism",
618
+ "type": "str",
619
+ "default": "human",
620
+ "required": false,
621
+ "help": "Organism name (e.g. human, mouse, rat, zebrafish)"
622
+ }
623
+ ],
624
+ "columns": [
625
+ "geneId",
626
+ "symbol",
627
+ "name",
628
+ "organism"
629
+ ],
630
+ "type": "ts",
631
+ "modulePath": "gene/search.js"
632
+ },
633
+ {
634
+ "site": "geo",
635
+ "name": "dataset",
636
+ "description": "Get GEO dataset details by accession",
637
+ "database": "gds",
638
+ "strategy": "public",
639
+ "args": [
640
+ {
641
+ "name": "accession",
642
+ "type": "str",
643
+ "required": true,
644
+ "positional": true,
645
+ "help": "GEO accession (e.g. GSE12345, GDS1234)"
646
+ }
647
+ ],
648
+ "columns": [
649
+ "accession",
650
+ "title",
651
+ "organism",
652
+ "type",
653
+ "platform",
654
+ "samples",
655
+ "summary",
656
+ "date"
657
+ ],
658
+ "type": "ts",
659
+ "modulePath": "geo/dataset.js"
660
+ },
661
+ {
662
+ "site": "geo",
663
+ "name": "download",
664
+ "description": "Download GEO supplementary files (expression matrices, etc.)",
665
+ "database": "gds",
666
+ "strategy": "public",
667
+ "args": [
668
+ {
669
+ "name": "accession",
670
+ "type": "str",
671
+ "required": true,
672
+ "positional": true,
673
+ "help": "GEO Series accession (e.g. GSE12345)"
674
+ },
675
+ {
676
+ "name": "outdir",
677
+ "type": "str",
678
+ "default": ".",
679
+ "required": false,
680
+ "help": "Output directory (default: current directory)"
681
+ },
682
+ {
683
+ "name": "list-only",
684
+ "type": "boolean",
685
+ "default": false,
686
+ "required": false,
687
+ "help": "Only list available files, do not download"
688
+ },
689
+ {
690
+ "name": "dry-run",
691
+ "type": "boolean",
692
+ "default": false,
693
+ "required": false,
694
+ "help": "Same as --list-only: show files without downloading"
695
+ },
696
+ {
697
+ "name": "pattern",
698
+ "type": "str",
699
+ "required": false,
700
+ "help": "Filter files by pattern (e.g. \"counts\", \"matrix\", \"tar.gz\")"
701
+ }
702
+ ],
703
+ "columns": [
704
+ "file",
705
+ "size",
706
+ "status"
707
+ ],
708
+ "type": "ts",
709
+ "modulePath": "geo/download.js"
710
+ },
711
+ {
712
+ "site": "geo",
713
+ "name": "samples",
714
+ "description": "List samples in a GEO dataset",
715
+ "database": "gds",
716
+ "strategy": "public",
717
+ "args": [
718
+ {
719
+ "name": "accession",
720
+ "type": "str",
721
+ "required": true,
722
+ "positional": true,
723
+ "help": "GEO series accession (e.g. GSE12345)"
724
+ },
725
+ {
726
+ "name": "limit",
727
+ "type": "int",
728
+ "default": 20,
729
+ "required": false,
730
+ "help": "Max results (1-200)"
731
+ }
732
+ ],
733
+ "columns": [
734
+ "accession",
735
+ "title",
736
+ "organism",
737
+ "type"
738
+ ],
739
+ "type": "ts",
740
+ "modulePath": "geo/samples.js"
741
+ },
742
+ {
743
+ "site": "geo",
744
+ "name": "search",
745
+ "description": "Search GEO datasets",
746
+ "database": "gds",
747
+ "strategy": "public",
748
+ "args": [
749
+ {
750
+ "name": "query",
751
+ "type": "str",
752
+ "required": true,
753
+ "positional": true,
754
+ "help": "Search query (e.g. \"breast cancer RNA-seq\")"
755
+ },
756
+ {
757
+ "name": "limit",
758
+ "type": "int",
759
+ "default": 10,
760
+ "required": false,
761
+ "help": "Max results (1-200)"
762
+ },
763
+ {
764
+ "name": "type",
765
+ "type": "str",
766
+ "default": "gse",
767
+ "required": false,
768
+ "help": "Entry type filter",
769
+ "choices": [
770
+ "gse",
771
+ "gds",
772
+ "gpl",
773
+ "gsm"
774
+ ]
775
+ }
776
+ ],
777
+ "columns": [
778
+ "accession",
779
+ "title",
780
+ "organism",
781
+ "type",
782
+ "samples",
783
+ "date"
784
+ ],
785
+ "type": "ts",
786
+ "modulePath": "geo/search.js"
787
+ },
788
+ {
789
+ "site": "kegg",
790
+ "name": "convert",
791
+ "description": "Convert IDs between KEGG and external databases",
792
+ "database": "kegg",
793
+ "strategy": "public",
794
+ "args": [
795
+ {
796
+ "name": "id",
797
+ "type": "str",
798
+ "required": true,
799
+ "positional": true,
800
+ "help": "ID to convert (e.g. hsa:7157, ncbi-geneid:7157)"
801
+ },
802
+ {
803
+ "name": "to",
804
+ "type": "str",
805
+ "default": "ncbi-geneid",
806
+ "required": false,
807
+ "help": "Target database",
808
+ "choices": [
809
+ "ncbi-geneid",
810
+ "ncbi-proteinid",
811
+ "uniprot"
812
+ ]
813
+ }
814
+ ],
815
+ "columns": [
816
+ "source",
817
+ "target"
818
+ ],
819
+ "type": "ts",
820
+ "modulePath": "kegg/convert.js"
821
+ },
822
+ {
823
+ "site": "kegg",
824
+ "name": "disease",
825
+ "description": "Find diseases linked to a KEGG gene",
826
+ "database": "kegg",
827
+ "strategy": "public",
828
+ "args": [
829
+ {
830
+ "name": "gene",
831
+ "type": "str",
832
+ "required": true,
833
+ "positional": true,
834
+ "help": "KEGG gene ID (e.g. hsa:7157)"
835
+ }
836
+ ],
837
+ "columns": [
838
+ "geneId",
839
+ "diseaseId",
840
+ "diseaseName"
841
+ ],
842
+ "type": "ts",
843
+ "modulePath": "kegg/disease.js"
844
+ },
845
+ {
846
+ "site": "kegg",
847
+ "name": "link",
848
+ "description": "Find KEGG cross-references for a gene",
849
+ "database": "kegg",
850
+ "strategy": "public",
851
+ "args": [
852
+ {
853
+ "name": "gene",
854
+ "type": "str",
855
+ "required": true,
856
+ "positional": true,
857
+ "help": "KEGG gene ID (e.g. hsa:7157) or comma-separated list"
858
+ },
859
+ {
860
+ "name": "target",
861
+ "type": "str",
862
+ "default": "pathway",
863
+ "required": false,
864
+ "help": "Target database to link to",
865
+ "choices": [
866
+ "pathway",
867
+ "disease",
868
+ "drug",
869
+ "compound"
870
+ ]
871
+ }
872
+ ],
873
+ "columns": [
874
+ "source",
875
+ "target"
876
+ ],
877
+ "type": "ts",
878
+ "modulePath": "kegg/link.js"
879
+ },
880
+ {
881
+ "site": "kegg",
882
+ "name": "pathway",
883
+ "description": "Get KEGG pathway details",
884
+ "database": "kegg",
885
+ "strategy": "public",
886
+ "args": [
887
+ {
888
+ "name": "id",
889
+ "type": "str",
890
+ "required": true,
891
+ "positional": true,
892
+ "help": "KEGG pathway ID (e.g. hsa05200, hsa00600)"
893
+ }
894
+ ],
895
+ "columns": [
896
+ "id",
897
+ "name",
898
+ "description",
899
+ "class",
900
+ "genes",
901
+ "diseases"
902
+ ],
903
+ "type": "ts",
904
+ "modulePath": "kegg/pathway.js"
905
+ },
906
+ {
907
+ "site": "pubmed",
908
+ "name": "abstract",
909
+ "description": "Get abstract text for a PubMed article",
910
+ "database": "pubmed",
911
+ "strategy": "public",
912
+ "args": [
913
+ {
914
+ "name": "pmid",
915
+ "type": "str",
916
+ "required": true,
917
+ "positional": true,
918
+ "help": "PubMed ID"
919
+ }
920
+ ],
921
+ "columns": [
922
+ "pmid",
923
+ "abstract"
924
+ ],
925
+ "type": "ts",
926
+ "modulePath": "pubmed/abstract.js"
927
+ },
928
+ {
929
+ "site": "pubmed",
930
+ "name": "cited-by",
931
+ "description": "Articles that cite a PubMed article",
932
+ "database": "pubmed",
933
+ "strategy": "public",
934
+ "args": [
935
+ {
936
+ "name": "pmid",
937
+ "type": "str",
938
+ "required": true,
939
+ "positional": true,
940
+ "help": "PubMed ID"
941
+ },
942
+ {
943
+ "name": "limit",
944
+ "type": "int",
945
+ "default": 10,
946
+ "required": false,
947
+ "help": "Max results (1-100)"
948
+ }
949
+ ],
950
+ "columns": [
951
+ "pmid",
952
+ "title",
953
+ "authors",
954
+ "journal",
955
+ "year",
956
+ "doi"
957
+ ],
958
+ "type": "ts",
959
+ "modulePath": "pubmed/cited-by.js"
960
+ },
961
+ {
962
+ "site": "pubmed",
963
+ "name": "fetch",
964
+ "description": "Get PubMed article details by PMID",
965
+ "database": "pubmed",
966
+ "strategy": "public",
967
+ "args": [
968
+ {
969
+ "name": "pmid",
970
+ "type": "str",
971
+ "required": true,
972
+ "positional": true,
973
+ "help": "PubMed ID (e.g. 39088800)"
974
+ }
975
+ ],
976
+ "columns": [
977
+ "pmid",
978
+ "title",
979
+ "authors",
980
+ "journal",
981
+ "year",
982
+ "doi",
983
+ "abstract"
984
+ ],
985
+ "type": "ts",
986
+ "modulePath": "pubmed/fetch.js"
987
+ },
988
+ {
989
+ "site": "pubmed",
990
+ "name": "info",
991
+ "description": "PubMed database statistics",
992
+ "database": "pubmed",
993
+ "strategy": "public",
994
+ "args": [],
995
+ "columns": [
996
+ "database",
997
+ "description",
998
+ "count",
999
+ "last_update"
1000
+ ],
1001
+ "pipeline": [
1002
+ {
1003
+ "fetch": {
1004
+ "url": "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi",
1005
+ "params": {
1006
+ "db": "pubmed",
1007
+ "retmode": "json"
1008
+ }
1009
+ }
1010
+ },
1011
+ {
1012
+ "select": "einforesult.dbinfo"
1013
+ },
1014
+ {
1015
+ "map": {
1016
+ "database": "${{ item.dbname }}",
1017
+ "description": "${{ item.description }}",
1018
+ "count": "${{ item.count }}",
1019
+ "last_update": "${{ item.lastupdate }}"
1020
+ }
1021
+ }
1022
+ ],
1023
+ "type": "yaml"
1024
+ },
1025
+ {
1026
+ "site": "pubmed",
1027
+ "name": "related",
1028
+ "description": "Find related PubMed articles",
1029
+ "database": "pubmed",
1030
+ "strategy": "public",
1031
+ "args": [
1032
+ {
1033
+ "name": "pmid",
1034
+ "type": "str",
1035
+ "required": true,
1036
+ "positional": true,
1037
+ "help": "PubMed ID"
1038
+ },
1039
+ {
1040
+ "name": "limit",
1041
+ "type": "int",
1042
+ "default": 10,
1043
+ "required": false,
1044
+ "help": "Max results (1-100)"
1045
+ }
1046
+ ],
1047
+ "columns": [
1048
+ "pmid",
1049
+ "title",
1050
+ "authors",
1051
+ "journal",
1052
+ "year",
1053
+ "doi"
1054
+ ],
1055
+ "type": "ts",
1056
+ "modulePath": "pubmed/related.js"
1057
+ },
1058
+ {
1059
+ "site": "pubmed",
1060
+ "name": "search",
1061
+ "description": "Search PubMed articles",
1062
+ "database": "pubmed",
1063
+ "strategy": "public",
1064
+ "args": [
1065
+ {
1066
+ "name": "query",
1067
+ "type": "str",
1068
+ "required": true,
1069
+ "positional": true,
1070
+ "help": "Search query (e.g. \"CRISPR cancer therapy\")"
1071
+ },
1072
+ {
1073
+ "name": "limit",
1074
+ "type": "int",
1075
+ "default": 10,
1076
+ "required": false,
1077
+ "help": "Max results (1-200)"
1078
+ },
1079
+ {
1080
+ "name": "sort",
1081
+ "type": "str",
1082
+ "default": "relevance",
1083
+ "required": false,
1084
+ "help": "Sort order",
1085
+ "choices": [
1086
+ "relevance",
1087
+ "date",
1088
+ "author",
1089
+ "journal"
1090
+ ]
1091
+ }
1092
+ ],
1093
+ "columns": [
1094
+ "pmid",
1095
+ "title",
1096
+ "authors",
1097
+ "journal",
1098
+ "year",
1099
+ "doi"
1100
+ ],
1101
+ "type": "ts",
1102
+ "modulePath": "pubmed/search.js"
1103
+ },
1104
+ {
1105
+ "site": "snp",
1106
+ "name": "lookup",
1107
+ "description": "Look up SNP details by rsID",
1108
+ "database": "snp",
1109
+ "strategy": "public",
1110
+ "args": [
1111
+ {
1112
+ "name": "rsid",
1113
+ "type": "str",
1114
+ "required": true,
1115
+ "positional": true,
1116
+ "help": "dbSNP rsID (e.g. rs334, rs7412, rs429358)"
1117
+ }
1118
+ ],
1119
+ "columns": [
1120
+ "rsid",
1121
+ "gene",
1122
+ "chromosome",
1123
+ "position",
1124
+ "alleles",
1125
+ "maf",
1126
+ "clinical",
1127
+ "function"
1128
+ ],
1129
+ "type": "ts",
1130
+ "modulePath": "snp/lookup.js"
1131
+ },
1132
+ {
1133
+ "site": "sra",
1134
+ "name": "download",
1135
+ "description": "Download FASTQ files for an SRA run (via ENA or sra-tools)",
1136
+ "database": "sra",
1137
+ "strategy": "public",
1138
+ "args": [
1139
+ {
1140
+ "name": "accession",
1141
+ "type": "str",
1142
+ "required": true,
1143
+ "positional": true,
1144
+ "help": "SRA run accession (e.g. SRR1234567)"
1145
+ },
1146
+ {
1147
+ "name": "outdir",
1148
+ "type": "str",
1149
+ "default": ".",
1150
+ "required": false,
1151
+ "help": "Output directory (default: current directory)"
1152
+ },
1153
+ {
1154
+ "name": "method",
1155
+ "type": "str",
1156
+ "default": "ena",
1157
+ "required": false,
1158
+ "help": "Download method",
1159
+ "choices": [
1160
+ "ena",
1161
+ "sra-tools"
1162
+ ]
1163
+ },
1164
+ {
1165
+ "name": "dry-run",
1166
+ "type": "boolean",
1167
+ "default": false,
1168
+ "required": false,
1169
+ "help": "Show download URLs without downloading"
1170
+ },
1171
+ {
1172
+ "name": "max-size",
1173
+ "type": "str",
1174
+ "required": false,
1175
+ "help": "Max file size to download (e.g. \"500M\", \"2G\"). Larger files are skipped."
1176
+ }
1177
+ ],
1178
+ "columns": [
1179
+ "file",
1180
+ "size",
1181
+ "status"
1182
+ ],
1183
+ "timeout": 600,
1184
+ "type": "ts",
1185
+ "modulePath": "sra/download.js"
1186
+ },
1187
+ {
1188
+ "site": "sra",
1189
+ "name": "run",
1190
+ "description": "Get SRA run details by accession",
1191
+ "database": "sra",
1192
+ "strategy": "public",
1193
+ "args": [
1194
+ {
1195
+ "name": "accession",
1196
+ "type": "str",
1197
+ "required": true,
1198
+ "positional": true,
1199
+ "help": "SRA accession (e.g. SRR1234567, SRX1234567)"
1200
+ }
1201
+ ],
1202
+ "columns": [
1203
+ "accession",
1204
+ "title",
1205
+ "platform",
1206
+ "organism",
1207
+ "strategy",
1208
+ "source",
1209
+ "layout",
1210
+ "date"
1211
+ ],
1212
+ "type": "ts",
1213
+ "modulePath": "sra/run.js"
1214
+ },
1215
+ {
1216
+ "site": "sra",
1217
+ "name": "search",
1218
+ "description": "Search SRA sequencing runs",
1219
+ "database": "sra",
1220
+ "strategy": "public",
1221
+ "args": [
1222
+ {
1223
+ "name": "query",
1224
+ "type": "str",
1225
+ "required": true,
1226
+ "positional": true,
1227
+ "help": "Search query (e.g. \"RNA-seq human liver\")"
1228
+ },
1229
+ {
1230
+ "name": "limit",
1231
+ "type": "int",
1232
+ "default": 10,
1233
+ "required": false,
1234
+ "help": "Max results (1-200)"
1235
+ }
1236
+ ],
1237
+ "columns": [
1238
+ "accession",
1239
+ "title",
1240
+ "platform",
1241
+ "organism",
1242
+ "samples",
1243
+ "date"
1244
+ ],
1245
+ "type": "ts",
1246
+ "modulePath": "sra/search.js"
1247
+ },
1248
+ {
1249
+ "site": "string",
1250
+ "name": "enrichment",
1251
+ "description": "Functional enrichment analysis for a gene set",
1252
+ "database": "string",
1253
+ "strategy": "public",
1254
+ "args": [
1255
+ {
1256
+ "name": "proteins",
1257
+ "type": "str",
1258
+ "required": true,
1259
+ "positional": true,
1260
+ "help": "Comma-separated protein/gene names (e.g. TP53,BRCA1,EGFR,MYC)"
1261
+ },
1262
+ {
1263
+ "name": "species",
1264
+ "type": "int",
1265
+ "default": 9606,
1266
+ "required": false,
1267
+ "help": "NCBI taxonomy ID (default: 9606 human)"
1268
+ }
1269
+ ],
1270
+ "columns": [
1271
+ "category",
1272
+ "term",
1273
+ "description",
1274
+ "fdr",
1275
+ "genes"
1276
+ ],
1277
+ "type": "ts",
1278
+ "modulePath": "string/enrichment.js"
1279
+ },
1280
+ {
1281
+ "site": "string",
1282
+ "name": "network",
1283
+ "description": "Get protein interaction network",
1284
+ "database": "string",
1285
+ "strategy": "public",
1286
+ "args": [
1287
+ {
1288
+ "name": "proteins",
1289
+ "type": "str",
1290
+ "required": true,
1291
+ "positional": true,
1292
+ "help": "Comma-separated protein/gene names (e.g. TP53,BRCA1,EGFR)"
1293
+ },
1294
+ {
1295
+ "name": "species",
1296
+ "type": "int",
1297
+ "default": 9606,
1298
+ "required": false,
1299
+ "help": "NCBI taxonomy ID (default: 9606 human)"
1300
+ },
1301
+ {
1302
+ "name": "score",
1303
+ "type": "int",
1304
+ "default": 400,
1305
+ "required": false,
1306
+ "help": "Minimum combined score (0-1000)"
1307
+ }
1308
+ ],
1309
+ "columns": [
1310
+ "proteinA",
1311
+ "proteinB",
1312
+ "score",
1313
+ "experimentalScore",
1314
+ "databaseScore"
1315
+ ],
1316
+ "type": "ts",
1317
+ "modulePath": "string/network.js"
1318
+ },
1319
+ {
1320
+ "site": "string",
1321
+ "name": "partners",
1322
+ "description": "Find protein interaction partners",
1323
+ "database": "string",
1324
+ "strategy": "public",
1325
+ "args": [
1326
+ {
1327
+ "name": "protein",
1328
+ "type": "str",
1329
+ "required": true,
1330
+ "positional": true,
1331
+ "help": "Protein/gene name (e.g. TP53)"
1332
+ },
1333
+ {
1334
+ "name": "limit",
1335
+ "type": "int",
1336
+ "default": 10,
1337
+ "required": false,
1338
+ "help": "Max partners (1-50)"
1339
+ },
1340
+ {
1341
+ "name": "species",
1342
+ "type": "int",
1343
+ "default": 9606,
1344
+ "required": false,
1345
+ "help": "NCBI taxonomy ID (default: 9606 human)"
1346
+ },
1347
+ {
1348
+ "name": "score",
1349
+ "type": "int",
1350
+ "default": 400,
1351
+ "required": false,
1352
+ "help": "Minimum combined score (0-1000)"
1353
+ }
1354
+ ],
1355
+ "columns": [
1356
+ "partnerA",
1357
+ "partnerB",
1358
+ "score",
1359
+ "experimentalScore",
1360
+ "databaseScore"
1361
+ ],
1362
+ "type": "ts",
1363
+ "modulePath": "string/partners.js"
1364
+ },
1365
+ {
1366
+ "site": "taxonomy",
1367
+ "name": "lookup",
1368
+ "description": "Look up NCBI Taxonomy by name or ID",
1369
+ "database": "taxonomy",
1370
+ "strategy": "public",
1371
+ "args": [
1372
+ {
1373
+ "name": "query",
1374
+ "type": "str",
1375
+ "required": true,
1376
+ "positional": true,
1377
+ "help": "Organism name or Taxonomy ID (e.g. \"Homo sapiens\", 9606)"
1378
+ },
1379
+ {
1380
+ "name": "limit",
1381
+ "type": "int",
1382
+ "default": 5,
1383
+ "required": false,
1384
+ "help": "Max results"
1385
+ }
1386
+ ],
1387
+ "columns": [
1388
+ "taxId",
1389
+ "name",
1390
+ "commonName",
1391
+ "rank",
1392
+ "division",
1393
+ "lineage"
1394
+ ],
1395
+ "type": "ts",
1396
+ "modulePath": "taxonomy/lookup.js"
1397
+ },
1398
+ {
1399
+ "site": "uniprot",
1400
+ "name": "fetch",
1401
+ "description": "Get UniProt protein details by accession",
1402
+ "database": "uniprot",
1403
+ "strategy": "public",
1404
+ "args": [
1405
+ {
1406
+ "name": "accession",
1407
+ "type": "str",
1408
+ "required": true,
1409
+ "positional": true,
1410
+ "help": "UniProt accession (e.g. P04637)"
1411
+ }
1412
+ ],
1413
+ "columns": [
1414
+ "accession",
1415
+ "gene",
1416
+ "protein",
1417
+ "organism",
1418
+ "function",
1419
+ "subcellularLocation",
1420
+ "goTerms",
1421
+ "domains"
1422
+ ],
1423
+ "type": "ts",
1424
+ "modulePath": "uniprot/fetch.js"
1425
+ },
1426
+ {
1427
+ "site": "uniprot",
1428
+ "name": "search",
1429
+ "description": "Search UniProt proteins",
1430
+ "database": "uniprot",
1431
+ "strategy": "public",
1432
+ "args": [
1433
+ {
1434
+ "name": "query",
1435
+ "type": "str",
1436
+ "required": true,
1437
+ "positional": true,
1438
+ "help": "Search query (e.g. \"TP53\", \"kinase human\")"
1439
+ },
1440
+ {
1441
+ "name": "limit",
1442
+ "type": "int",
1443
+ "default": 10,
1444
+ "required": false,
1445
+ "help": "Max results (1-100)"
1446
+ },
1447
+ {
1448
+ "name": "organism",
1449
+ "type": "str",
1450
+ "default": "9606",
1451
+ "required": false,
1452
+ "help": "Organism taxonomy ID (default: 9606 for human)"
1453
+ },
1454
+ {
1455
+ "name": "reviewed",
1456
+ "type": "str",
1457
+ "default": "true",
1458
+ "required": false,
1459
+ "help": "Only Swiss-Prot reviewed entries (true/false)"
1460
+ }
1461
+ ],
1462
+ "columns": [
1463
+ "accession",
1464
+ "gene",
1465
+ "protein",
1466
+ "organism",
1467
+ "length",
1468
+ "reviewed"
1469
+ ],
1470
+ "type": "ts",
1471
+ "modulePath": "uniprot/search.js"
1472
+ },
1473
+ {
1474
+ "site": "uniprot",
1475
+ "name": "sequence",
1476
+ "description": "Download protein sequence in FASTA format",
1477
+ "database": "uniprot",
1478
+ "strategy": "public",
1479
+ "args": [
1480
+ {
1481
+ "name": "accession",
1482
+ "type": "str",
1483
+ "required": true,
1484
+ "positional": true,
1485
+ "help": "UniProt accession (e.g. P04637) or multiple comma-separated"
1486
+ },
1487
+ {
1488
+ "name": "output",
1489
+ "type": "str",
1490
+ "required": false,
1491
+ "help": "Output file path (default: stdout)"
1492
+ }
1493
+ ],
1494
+ "columns": [
1495
+ "content"
1496
+ ],
1497
+ "type": "ts",
1498
+ "modulePath": "uniprot/sequence.js"
1499
+ }
1500
+ ]