@bgicli/bgicli 2.1.1 → 2.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 (1266) hide show
  1. package/data/skills/aav-vector-design-agent/SKILL.md +198 -0
  2. package/data/skills/adaptyv/SKILL.md +112 -0
  3. package/data/skills/adhd-daily-planner/SKILL.md +271 -0
  4. package/data/skills/aeon/SKILL.md +372 -0
  5. package/data/skills/agent-browser/SKILL.md +159 -0
  6. package/data/skills/agentd-drug-discovery/SKILL.md +52 -0
  7. package/data/skills/ai-analyzer/SKILL.md +218 -0
  8. package/data/skills/alphafold/SKILL.md +183 -0
  9. package/data/skills/alphafold-database/SKILL.md +500 -0
  10. package/data/skills/anndata/SKILL.md +394 -0
  11. package/data/skills/antibody-design-agent/SKILL.md +64 -0
  12. package/data/skills/arboreto/SKILL.md +237 -0
  13. package/data/skills/armored-cart-design-agent/SKILL.md +225 -0
  14. package/data/skills/arxiv-search/SKILL.md +224 -0
  15. package/data/skills/autonomous-oncology-agent/SKILL.md +77 -0
  16. package/data/skills/bayesian-optimizer/SKILL.md +60 -0
  17. package/data/skills/benchling-integration/SKILL.md +473 -0
  18. package/data/skills/bgpt-paper-search/SKILL.md +81 -0
  19. package/data/skills/bindcraft/SKILL.md +198 -0
  20. package/data/skills/binder-design/SKILL.md +182 -0
  21. package/data/skills/binding-characterization/SKILL.md +234 -0
  22. package/data/skills/bindingdb-database/SKILL.md +332 -0
  23. package/data/skills/bio-admet-prediction/SKILL.md +224 -0
  24. package/data/skills/bio-alignment-files-bam-statistics/SKILL.md +340 -0
  25. package/data/skills/bio-alignment-filtering/SKILL.md +322 -0
  26. package/data/skills/bio-alignment-indexing/SKILL.md +249 -0
  27. package/data/skills/bio-alignment-io/SKILL.md +301 -0
  28. package/data/skills/bio-alignment-msa-parsing/SKILL.md +366 -0
  29. package/data/skills/bio-alignment-msa-statistics/SKILL.md +375 -0
  30. package/data/skills/bio-alignment-pairwise/SKILL.md +277 -0
  31. package/data/skills/bio-alignment-sorting/SKILL.md +296 -0
  32. package/data/skills/bio-alignment-validation/SKILL.md +374 -0
  33. package/data/skills/bio-atac-seq-atac-peak-calling/SKILL.md +221 -0
  34. package/data/skills/bio-atac-seq-atac-qc/SKILL.md +292 -0
  35. package/data/skills/bio-atac-seq-differential-accessibility/SKILL.md +268 -0
  36. package/data/skills/bio-atac-seq-footprinting/SKILL.md +256 -0
  37. package/data/skills/bio-atac-seq-motif-deviation/SKILL.md +319 -0
  38. package/data/skills/bio-atac-seq-nucleosome-positioning/SKILL.md +321 -0
  39. package/data/skills/bio-basecalling/SKILL.md +368 -0
  40. package/data/skills/bio-batch-downloads/SKILL.md +384 -0
  41. package/data/skills/bio-batch-processing/SKILL.md +303 -0
  42. package/data/skills/bio-bedgraph-handling/SKILL.md +336 -0
  43. package/data/skills/bio-blast-searches/SKILL.md +354 -0
  44. package/data/skills/bio-causal-genomics-colocalization-analysis/SKILL.md +264 -0
  45. package/data/skills/bio-causal-genomics-fine-mapping/SKILL.md +267 -0
  46. package/data/skills/bio-causal-genomics-mediation-analysis/SKILL.md +264 -0
  47. package/data/skills/bio-causal-genomics-mendelian-randomization/SKILL.md +221 -0
  48. package/data/skills/bio-causal-genomics-pleiotropy-detection/SKILL.md +292 -0
  49. package/data/skills/bio-cfdna-preprocessing/SKILL.md +200 -0
  50. package/data/skills/bio-chipseq-differential-binding/SKILL.md +262 -0
  51. package/data/skills/bio-chipseq-motif-analysis/SKILL.md +387 -0
  52. package/data/skills/bio-chipseq-peak-annotation/SKILL.md +239 -0
  53. package/data/skills/bio-chipseq-peak-calling/SKILL.md +277 -0
  54. package/data/skills/bio-chipseq-qc/SKILL.md +391 -0
  55. package/data/skills/bio-chipseq-super-enhancers/SKILL.md +288 -0
  56. package/data/skills/bio-chipseq-visualization/SKILL.md +289 -0
  57. package/data/skills/bio-clinical-databases-clinvar-lookup/SKILL.md +188 -0
  58. package/data/skills/bio-clinical-databases-dbsnp-queries/SKILL.md +171 -0
  59. package/data/skills/bio-clinical-databases-gnomad-frequencies/SKILL.md +205 -0
  60. package/data/skills/bio-clinical-databases-hla-typing/SKILL.md +248 -0
  61. package/data/skills/bio-clinical-databases-myvariant-queries/SKILL.md +174 -0
  62. package/data/skills/bio-clinical-databases-pharmacogenomics/SKILL.md +232 -0
  63. package/data/skills/bio-clinical-databases-polygenic-risk/SKILL.md +276 -0
  64. package/data/skills/bio-clinical-databases-somatic-signatures/SKILL.md +261 -0
  65. package/data/skills/bio-clinical-databases-tumor-mutational-burden/SKILL.md +301 -0
  66. package/data/skills/bio-clinical-databases-variant-prioritization/SKILL.md +225 -0
  67. package/data/skills/bio-clip-seq-binding-site-annotation/SKILL.md +66 -0
  68. package/data/skills/bio-clip-seq-clip-alignment/SKILL.md +70 -0
  69. package/data/skills/bio-clip-seq-clip-motif-analysis/SKILL.md +62 -0
  70. package/data/skills/bio-clip-seq-clip-peak-calling/SKILL.md +282 -0
  71. package/data/skills/bio-clip-seq-clip-preprocessing/SKILL.md +142 -0
  72. package/data/skills/bio-codon-usage/SKILL.md +353 -0
  73. package/data/skills/bio-comparative-genomics-ancestral-reconstruction/SKILL.md +312 -0
  74. package/data/skills/bio-comparative-genomics-hgt-detection/SKILL.md +341 -0
  75. package/data/skills/bio-comparative-genomics-ortholog-inference/SKILL.md +308 -0
  76. package/data/skills/bio-comparative-genomics-positive-selection/SKILL.md +354 -0
  77. package/data/skills/bio-comparative-genomics-synteny-analysis/SKILL.md +315 -0
  78. package/data/skills/bio-compressed-files/SKILL.md +263 -0
  79. package/data/skills/bio-consensus-sequences/SKILL.md +340 -0
  80. package/data/skills/bio-copy-number-cnv-annotation/SKILL.md +307 -0
  81. package/data/skills/bio-copy-number-cnv-visualization/SKILL.md +294 -0
  82. package/data/skills/bio-copy-number-cnvkit-analysis/SKILL.md +290 -0
  83. package/data/skills/bio-copy-number-gatk-cnv/SKILL.md +270 -0
  84. package/data/skills/bio-crispr-screens-base-editing-analysis/SKILL.md +110 -0
  85. package/data/skills/bio-crispr-screens-batch-correction/SKILL.md +316 -0
  86. package/data/skills/bio-crispr-screens-crispresso-editing/SKILL.md +205 -0
  87. package/data/skills/bio-crispr-screens-hit-calling/SKILL.md +264 -0
  88. package/data/skills/bio-crispr-screens-jacks-analysis/SKILL.md +313 -0
  89. package/data/skills/bio-crispr-screens-library-design/SKILL.md +417 -0
  90. package/data/skills/bio-crispr-screens-mageck-analysis/SKILL.md +222 -0
  91. package/data/skills/bio-crispr-screens-screen-qc/SKILL.md +243 -0
  92. package/data/skills/bio-ctdna-mutation-detection/SKILL.md +234 -0
  93. package/data/skills/bio-data-visualization-circos-plots/SKILL.md +405 -0
  94. package/data/skills/bio-data-visualization-color-palettes/SKILL.md +244 -0
  95. package/data/skills/bio-data-visualization-genome-browser-tracks/SKILL.md +328 -0
  96. package/data/skills/bio-data-visualization-genome-tracks/SKILL.md +249 -0
  97. package/data/skills/bio-data-visualization-ggplot2-fundamentals/SKILL.md +313 -0
  98. package/data/skills/bio-data-visualization-heatmaps-clustering/SKILL.md +227 -0
  99. package/data/skills/bio-data-visualization-interactive-visualization/SKILL.md +210 -0
  100. package/data/skills/bio-data-visualization-multipanel-figures/SKILL.md +274 -0
  101. package/data/skills/bio-data-visualization-specialized-omics-plots/SKILL.md +251 -0
  102. package/data/skills/bio-data-visualization-upset-plots/SKILL.md +228 -0
  103. package/data/skills/bio-data-visualization-volcano-customization/SKILL.md +233 -0
  104. package/data/skills/bio-de-deseq2-basics/SKILL.md +376 -0
  105. package/data/skills/bio-de-edger-basics/SKILL.md +418 -0
  106. package/data/skills/bio-de-results/SKILL.md +378 -0
  107. package/data/skills/bio-de-visualization/SKILL.md +408 -0
  108. package/data/skills/bio-differential-expression-batch-correction/SKILL.md +253 -0
  109. package/data/skills/bio-differential-expression-timeseries-de/SKILL.md +370 -0
  110. package/data/skills/bio-differential-splicing/SKILL.md +177 -0
  111. package/data/skills/bio-duplicate-handling/SKILL.md +292 -0
  112. package/data/skills/bio-entrez-fetch/SKILL.md +334 -0
  113. package/data/skills/bio-entrez-link/SKILL.md +325 -0
  114. package/data/skills/bio-entrez-search/SKILL.md +311 -0
  115. package/data/skills/bio-epidemiological-genomics-amr-surveillance/SKILL.md +233 -0
  116. package/data/skills/bio-epidemiological-genomics-pathogen-typing/SKILL.md +202 -0
  117. package/data/skills/bio-epidemiological-genomics-phylodynamics/SKILL.md +207 -0
  118. package/data/skills/bio-epidemiological-genomics-transmission-inference/SKILL.md +237 -0
  119. package/data/skills/bio-epidemiological-genomics-variant-surveillance/SKILL.md +237 -0
  120. package/data/skills/bio-epitranscriptomics-m6a-differential/SKILL.md +88 -0
  121. package/data/skills/bio-epitranscriptomics-m6a-peak-calling/SKILL.md +89 -0
  122. package/data/skills/bio-epitranscriptomics-m6anet-analysis/SKILL.md +101 -0
  123. package/data/skills/bio-epitranscriptomics-merip-preprocessing/SKILL.md +81 -0
  124. package/data/skills/bio-epitranscriptomics-modification-visualization/SKILL.md +98 -0
  125. package/data/skills/bio-experimental-design-batch-design/SKILL.md +110 -0
  126. package/data/skills/bio-experimental-design-multiple-testing/SKILL.md +98 -0
  127. package/data/skills/bio-experimental-design-power-analysis/SKILL.md +84 -0
  128. package/data/skills/bio-experimental-design-sample-size/SKILL.md +93 -0
  129. package/data/skills/bio-expression-matrix-counts-ingest/SKILL.md +220 -0
  130. package/data/skills/bio-expression-matrix-gene-id-mapping/SKILL.md +256 -0
  131. package/data/skills/bio-expression-matrix-metadata-joins/SKILL.md +271 -0
  132. package/data/skills/bio-expression-matrix-sparse-handling/SKILL.md +247 -0
  133. package/data/skills/bio-fastq-quality/SKILL.md +279 -0
  134. package/data/skills/bio-filter-sequences/SKILL.md +265 -0
  135. package/data/skills/bio-flow-cytometry-bead-normalization/SKILL.md +315 -0
  136. package/data/skills/bio-flow-cytometry-clustering-phenotyping/SKILL.md +237 -0
  137. package/data/skills/bio-flow-cytometry-compensation-transformation/SKILL.md +196 -0
  138. package/data/skills/bio-flow-cytometry-cytometry-qc/SKILL.md +382 -0
  139. package/data/skills/bio-flow-cytometry-differential-analysis/SKILL.md +217 -0
  140. package/data/skills/bio-flow-cytometry-doublet-detection/SKILL.md +288 -0
  141. package/data/skills/bio-flow-cytometry-fcs-handling/SKILL.md +221 -0
  142. package/data/skills/bio-flow-cytometry-gating-analysis/SKILL.md +193 -0
  143. package/data/skills/bio-format-conversion/SKILL.md +193 -0
  144. package/data/skills/bio-fragment-analysis/SKILL.md +214 -0
  145. package/data/skills/bio-gatk-variant-calling/SKILL.md +422 -0
  146. package/data/skills/bio-genome-assembly-assembly-polishing/SKILL.md +333 -0
  147. package/data/skills/bio-genome-assembly-assembly-qc/SKILL.md +344 -0
  148. package/data/skills/bio-genome-assembly-contamination-detection/SKILL.md +235 -0
  149. package/data/skills/bio-genome-assembly-hifi-assembly/SKILL.md +178 -0
  150. package/data/skills/bio-genome-assembly-long-read-assembly/SKILL.md +307 -0
  151. package/data/skills/bio-genome-assembly-metagenome-assembly/SKILL.md +227 -0
  152. package/data/skills/bio-genome-assembly-scaffolding/SKILL.md +204 -0
  153. package/data/skills/bio-genome-assembly-short-read-assembly/SKILL.md +319 -0
  154. package/data/skills/bio-genome-engineering-base-editing-design/SKILL.md +277 -0
  155. package/data/skills/bio-genome-engineering-grna-design/SKILL.md +221 -0
  156. package/data/skills/bio-genome-engineering-hdr-template-design/SKILL.md +264 -0
  157. package/data/skills/bio-genome-engineering-off-target-prediction/SKILL.md +232 -0
  158. package/data/skills/bio-genome-engineering-prime-editing-design/SKILL.md +275 -0
  159. package/data/skills/bio-genome-intervals-bed-file-basics/SKILL.md +357 -0
  160. package/data/skills/bio-genome-intervals-bigwig-tracks/SKILL.md +351 -0
  161. package/data/skills/bio-genome-intervals-coverage-analysis/SKILL.md +300 -0
  162. package/data/skills/bio-genome-intervals-gtf-gff-handling/SKILL.md +345 -0
  163. package/data/skills/bio-genome-intervals-interval-arithmetic/SKILL.md +485 -0
  164. package/data/skills/bio-genome-intervals-proximity-operations/SKILL.md +337 -0
  165. package/data/skills/bio-geo-data/SKILL.md +380 -0
  166. package/data/skills/bio-hi-c-analysis-compartment-analysis/SKILL.md +261 -0
  167. package/data/skills/bio-hi-c-analysis-contact-pairs/SKILL.md +278 -0
  168. package/data/skills/bio-hi-c-analysis-hic-data-io/SKILL.md +260 -0
  169. package/data/skills/bio-hi-c-analysis-hic-differential/SKILL.md +328 -0
  170. package/data/skills/bio-hi-c-analysis-hic-visualization/SKILL.md +297 -0
  171. package/data/skills/bio-hi-c-analysis-loop-calling/SKILL.md +284 -0
  172. package/data/skills/bio-hi-c-analysis-matrix-operations/SKILL.md +274 -0
  173. package/data/skills/bio-hi-c-analysis-tad-detection/SKILL.md +239 -0
  174. package/data/skills/bio-imaging-mass-cytometry-cell-segmentation/SKILL.md +241 -0
  175. package/data/skills/bio-imaging-mass-cytometry-data-preprocessing/SKILL.md +279 -0
  176. package/data/skills/bio-imaging-mass-cytometry-interactive-annotation/SKILL.md +304 -0
  177. package/data/skills/bio-imaging-mass-cytometry-phenotyping/SKILL.md +231 -0
  178. package/data/skills/bio-imaging-mass-cytometry-quality-metrics/SKILL.md +316 -0
  179. package/data/skills/bio-imaging-mass-cytometry-spatial-analysis/SKILL.md +246 -0
  180. package/data/skills/bio-immunoinformatics-epitope-prediction/SKILL.md +259 -0
  181. package/data/skills/bio-immunoinformatics-immunogenicity-scoring/SKILL.md +275 -0
  182. package/data/skills/bio-immunoinformatics-mhc-binding-prediction/SKILL.md +260 -0
  183. package/data/skills/bio-immunoinformatics-neoantigen-prediction/SKILL.md +277 -0
  184. package/data/skills/bio-immunoinformatics-tcr-epitope-binding/SKILL.md +257 -0
  185. package/data/skills/bio-isoform-switching/SKILL.md +192 -0
  186. package/data/skills/bio-liquid-biopsy-pipeline/SKILL.md +311 -0
  187. package/data/skills/bio-local-blast/SKILL.md +350 -0
  188. package/data/skills/bio-long-read-sequencing-clair3-variants/SKILL.md +252 -0
  189. package/data/skills/bio-long-read-sequencing-isoseq-analysis/SKILL.md +334 -0
  190. package/data/skills/bio-long-read-sequencing-nanopore-methylation/SKILL.md +110 -0
  191. package/data/skills/bio-longitudinal-monitoring/SKILL.md +271 -0
  192. package/data/skills/bio-longread-alignment/SKILL.md +193 -0
  193. package/data/skills/bio-longread-medaka/SKILL.md +176 -0
  194. package/data/skills/bio-longread-qc/SKILL.md +224 -0
  195. package/data/skills/bio-longread-structural-variants/SKILL.md +201 -0
  196. package/data/skills/bio-machine-learning-atlas-mapping/SKILL.md +139 -0
  197. package/data/skills/bio-machine-learning-biomarker-discovery/SKILL.md +157 -0
  198. package/data/skills/bio-machine-learning-model-validation/SKILL.md +148 -0
  199. package/data/skills/bio-machine-learning-omics-classifiers/SKILL.md +146 -0
  200. package/data/skills/bio-machine-learning-prediction-explanation/SKILL.md +162 -0
  201. package/data/skills/bio-machine-learning-survival-analysis/SKILL.md +176 -0
  202. package/data/skills/bio-metabolomics-lipidomics/SKILL.md +265 -0
  203. package/data/skills/bio-metabolomics-metabolite-annotation/SKILL.md +241 -0
  204. package/data/skills/bio-metabolomics-msdial-preprocessing/SKILL.md +308 -0
  205. package/data/skills/bio-metabolomics-normalization-qc/SKILL.md +283 -0
  206. package/data/skills/bio-metabolomics-pathway-mapping/SKILL.md +237 -0
  207. package/data/skills/bio-metabolomics-statistical-analysis/SKILL.md +276 -0
  208. package/data/skills/bio-metabolomics-targeted-analysis/SKILL.md +314 -0
  209. package/data/skills/bio-metabolomics-xcms-preprocessing/SKILL.md +268 -0
  210. package/data/skills/bio-metagenomics-abundance/SKILL.md +203 -0
  211. package/data/skills/bio-metagenomics-amr-detection/SKILL.md +293 -0
  212. package/data/skills/bio-metagenomics-functional-profiling/SKILL.md +252 -0
  213. package/data/skills/bio-metagenomics-kraken/SKILL.md +204 -0
  214. package/data/skills/bio-metagenomics-metaphlan/SKILL.md +214 -0
  215. package/data/skills/bio-metagenomics-strain-tracking/SKILL.md +292 -0
  216. package/data/skills/bio-metagenomics-visualization/SKILL.md +240 -0
  217. package/data/skills/bio-methylation-based-detection/SKILL.md +223 -0
  218. package/data/skills/bio-methylation-bismark-alignment/SKILL.md +195 -0
  219. package/data/skills/bio-methylation-calling/SKILL.md +200 -0
  220. package/data/skills/bio-methylation-dmr-detection/SKILL.md +211 -0
  221. package/data/skills/bio-methylation-methylkit/SKILL.md +219 -0
  222. package/data/skills/bio-microbiome-amplicon-processing/SKILL.md +137 -0
  223. package/data/skills/bio-microbiome-differential-abundance/SKILL.md +147 -0
  224. package/data/skills/bio-microbiome-diversity-analysis/SKILL.md +188 -0
  225. package/data/skills/bio-microbiome-functional-prediction/SKILL.md +153 -0
  226. package/data/skills/bio-microbiome-qiime2-workflow/SKILL.md +219 -0
  227. package/data/skills/bio-microbiome-taxonomy-assignment/SKILL.md +168 -0
  228. package/data/skills/bio-molecular-descriptors/SKILL.md +200 -0
  229. package/data/skills/bio-molecular-io/SKILL.md +188 -0
  230. package/data/skills/bio-motif-search/SKILL.md +354 -0
  231. package/data/skills/bio-multi-omics-data-harmonization/SKILL.md +228 -0
  232. package/data/skills/bio-multi-omics-mixomics-analysis/SKILL.md +221 -0
  233. package/data/skills/bio-multi-omics-mofa-integration/SKILL.md +225 -0
  234. package/data/skills/bio-multi-omics-similarity-network/SKILL.md +235 -0
  235. package/data/skills/bio-orchestrator/SKILL.md +133 -0
  236. package/data/skills/bio-paired-end-fastq/SKILL.md +334 -0
  237. package/data/skills/bio-pathway-enrichment-visualization/SKILL.md +278 -0
  238. package/data/skills/bio-pathway-go-enrichment/SKILL.md +218 -0
  239. package/data/skills/bio-pathway-gsea/SKILL.md +227 -0
  240. package/data/skills/bio-pathway-kegg-pathways/SKILL.md +234 -0
  241. package/data/skills/bio-pathway-reactome/SKILL.md +215 -0
  242. package/data/skills/bio-pathway-wikipathways/SKILL.md +255 -0
  243. package/data/skills/bio-pdb-geometric-analysis/SKILL.md +475 -0
  244. package/data/skills/bio-pdb-structure-io/SKILL.md +296 -0
  245. package/data/skills/bio-pdb-structure-modification/SKILL.md +448 -0
  246. package/data/skills/bio-pdb-structure-navigation/SKILL.md +335 -0
  247. package/data/skills/bio-phasing-imputation-genotype-imputation/SKILL.md +201 -0
  248. package/data/skills/bio-phasing-imputation-haplotype-phasing/SKILL.md +190 -0
  249. package/data/skills/bio-phasing-imputation-imputation-qc/SKILL.md +265 -0
  250. package/data/skills/bio-phasing-imputation-reference-panels/SKILL.md +203 -0
  251. package/data/skills/bio-phylo-distance-calculations/SKILL.md +307 -0
  252. package/data/skills/bio-phylo-modern-tree-inference/SKILL.md +274 -0
  253. package/data/skills/bio-phylo-tree-io/SKILL.md +252 -0
  254. package/data/skills/bio-phylo-tree-manipulation/SKILL.md +375 -0
  255. package/data/skills/bio-phylo-tree-visualization/SKILL.md +275 -0
  256. package/data/skills/bio-pileup-generation/SKILL.md +314 -0
  257. package/data/skills/bio-population-genetics-association-testing/SKILL.md +293 -0
  258. package/data/skills/bio-population-genetics-linkage-disequilibrium/SKILL.md +260 -0
  259. package/data/skills/bio-population-genetics-plink-basics/SKILL.md +338 -0
  260. package/data/skills/bio-population-genetics-population-structure/SKILL.md +352 -0
  261. package/data/skills/bio-population-genetics-scikit-allel-analysis/SKILL.md +306 -0
  262. package/data/skills/bio-population-genetics-selection-statistics/SKILL.md +251 -0
  263. package/data/skills/bio-primer-design-primer-basics/SKILL.md +289 -0
  264. package/data/skills/bio-primer-design-primer-validation/SKILL.md +344 -0
  265. package/data/skills/bio-primer-design-qpcr-primers/SKILL.md +273 -0
  266. package/data/skills/bio-proteomics-data-import/SKILL.md +122 -0
  267. package/data/skills/bio-proteomics-dia-analysis/SKILL.md +246 -0
  268. package/data/skills/bio-proteomics-differential-abundance/SKILL.md +129 -0
  269. package/data/skills/bio-proteomics-peptide-identification/SKILL.md +122 -0
  270. package/data/skills/bio-proteomics-protein-inference/SKILL.md +174 -0
  271. package/data/skills/bio-proteomics-proteomics-qc/SKILL.md +208 -0
  272. package/data/skills/bio-proteomics-ptm-analysis/SKILL.md +139 -0
  273. package/data/skills/bio-proteomics-quantification/SKILL.md +141 -0
  274. package/data/skills/bio-proteomics-spectral-libraries/SKILL.md +270 -0
  275. package/data/skills/bio-reaction-enumeration/SKILL.md +251 -0
  276. package/data/skills/bio-read-alignment-bowtie2-alignment/SKILL.md +189 -0
  277. package/data/skills/bio-read-alignment-bwa-alignment/SKILL.md +166 -0
  278. package/data/skills/bio-read-alignment-hisat2-alignment/SKILL.md +205 -0
  279. package/data/skills/bio-read-alignment-star-alignment/SKILL.md +204 -0
  280. package/data/skills/bio-read-qc-adapter-trimming/SKILL.md +222 -0
  281. package/data/skills/bio-read-qc-contamination-screening/SKILL.md +252 -0
  282. package/data/skills/bio-read-qc-fastp-workflow/SKILL.md +278 -0
  283. package/data/skills/bio-read-qc-quality-filtering/SKILL.md +231 -0
  284. package/data/skills/bio-read-qc-quality-reports/SKILL.md +204 -0
  285. package/data/skills/bio-read-qc-umi-processing/SKILL.md +391 -0
  286. package/data/skills/bio-read-sequences/SKILL.md +319 -0
  287. package/data/skills/bio-reference-operations/SKILL.md +302 -0
  288. package/data/skills/bio-reporting-automated-qc-reports/SKILL.md +103 -0
  289. package/data/skills/bio-reporting-figure-export/SKILL.md +112 -0
  290. package/data/skills/bio-reporting-jupyter-reports/SKILL.md +98 -0
  291. package/data/skills/bio-reporting-quarto-reports/SKILL.md +295 -0
  292. package/data/skills/bio-reporting-rmarkdown-reports/SKILL.md +276 -0
  293. package/data/skills/bio-research-tools-biomarker-signature-studio/SKILL.md +99 -0
  294. package/data/skills/bio-restriction-enzyme-selection/SKILL.md +342 -0
  295. package/data/skills/bio-restriction-fragment-analysis/SKILL.md +259 -0
  296. package/data/skills/bio-restriction-mapping/SKILL.md +239 -0
  297. package/data/skills/bio-restriction-sites/SKILL.md +222 -0
  298. package/data/skills/bio-reverse-complement/SKILL.md +250 -0
  299. package/data/skills/bio-ribo-seq-orf-detection/SKILL.md +303 -0
  300. package/data/skills/bio-ribo-seq-riboseq-preprocessing/SKILL.md +176 -0
  301. package/data/skills/bio-ribo-seq-ribosome-periodicity/SKILL.md +182 -0
  302. package/data/skills/bio-ribo-seq-ribosome-stalling/SKILL.md +217 -0
  303. package/data/skills/bio-ribo-seq-translation-efficiency/SKILL.md +183 -0
  304. package/data/skills/bio-rna-quantification-alignment-free-quant/SKILL.md +226 -0
  305. package/data/skills/bio-rna-quantification-count-matrix-qc/SKILL.md +310 -0
  306. package/data/skills/bio-rna-quantification-featurecounts-counting/SKILL.md +190 -0
  307. package/data/skills/bio-rna-quantification-tximport-workflow/SKILL.md +240 -0
  308. package/data/skills/bio-rnaseq-qc/SKILL.md +320 -0
  309. package/data/skills/bio-sam-bam-basics/SKILL.md +248 -0
  310. package/data/skills/bio-sashimi-plots/SKILL.md +175 -0
  311. package/data/skills/bio-seq-objects/SKILL.md +240 -0
  312. package/data/skills/bio-sequence-properties/SKILL.md +397 -0
  313. package/data/skills/bio-sequence-similarity/SKILL.md +335 -0
  314. package/data/skills/bio-sequence-slicing/SKILL.md +232 -0
  315. package/data/skills/bio-sequence-statistics/SKILL.md +318 -0
  316. package/data/skills/bio-similarity-searching/SKILL.md +200 -0
  317. package/data/skills/bio-single-cell-batch-integration/SKILL.md +317 -0
  318. package/data/skills/bio-single-cell-cell-annotation/SKILL.md +259 -0
  319. package/data/skills/bio-single-cell-cell-communication/SKILL.md +257 -0
  320. package/data/skills/bio-single-cell-clustering/SKILL.md +330 -0
  321. package/data/skills/bio-single-cell-data-io/SKILL.md +315 -0
  322. package/data/skills/bio-single-cell-doublet-detection/SKILL.md +362 -0
  323. package/data/skills/bio-single-cell-lineage-tracing/SKILL.md +319 -0
  324. package/data/skills/bio-single-cell-markers-annotation/SKILL.md +317 -0
  325. package/data/skills/bio-single-cell-metabolite-communication/SKILL.md +258 -0
  326. package/data/skills/bio-single-cell-multimodal-integration/SKILL.md +242 -0
  327. package/data/skills/bio-single-cell-perturb-seq/SKILL.md +258 -0
  328. package/data/skills/bio-single-cell-preprocessing/SKILL.md +338 -0
  329. package/data/skills/bio-single-cell-scatac-analysis/SKILL.md +326 -0
  330. package/data/skills/bio-single-cell-splicing/SKILL.md +199 -0
  331. package/data/skills/bio-single-cell-trajectory-inference/SKILL.md +225 -0
  332. package/data/skills/bio-small-rna-seq-differential-mirna/SKILL.md +194 -0
  333. package/data/skills/bio-small-rna-seq-mirdeep2-analysis/SKILL.md +180 -0
  334. package/data/skills/bio-small-rna-seq-mirge3-analysis/SKILL.md +178 -0
  335. package/data/skills/bio-small-rna-seq-smrna-preprocessing/SKILL.md +174 -0
  336. package/data/skills/bio-small-rna-seq-target-prediction/SKILL.md +202 -0
  337. package/data/skills/bio-spatial-transcriptomics-image-analysis/SKILL.md +283 -0
  338. package/data/skills/bio-spatial-transcriptomics-spatial-communication/SKILL.md +299 -0
  339. package/data/skills/bio-spatial-transcriptomics-spatial-data-io/SKILL.md +272 -0
  340. package/data/skills/bio-spatial-transcriptomics-spatial-deconvolution/SKILL.md +314 -0
  341. package/data/skills/bio-spatial-transcriptomics-spatial-domains/SKILL.md +254 -0
  342. package/data/skills/bio-spatial-transcriptomics-spatial-multiomics/SKILL.md +181 -0
  343. package/data/skills/bio-spatial-transcriptomics-spatial-neighbors/SKILL.md +198 -0
  344. package/data/skills/bio-spatial-transcriptomics-spatial-preprocessing/SKILL.md +269 -0
  345. package/data/skills/bio-spatial-transcriptomics-spatial-proteomics/SKILL.md +124 -0
  346. package/data/skills/bio-spatial-transcriptomics-spatial-statistics/SKILL.md +237 -0
  347. package/data/skills/bio-spatial-transcriptomics-spatial-visualization/SKILL.md +287 -0
  348. package/data/skills/bio-splicing-pipeline/SKILL.md +253 -0
  349. package/data/skills/bio-splicing-qc/SKILL.md +190 -0
  350. package/data/skills/bio-splicing-quantification/SKILL.md +145 -0
  351. package/data/skills/bio-sra-data/SKILL.md +363 -0
  352. package/data/skills/bio-structural-biology-alphafold-predictions/SKILL.md +258 -0
  353. package/data/skills/bio-structural-biology-modern-structure-prediction/SKILL.md +346 -0
  354. package/data/skills/bio-substructure-search/SKILL.md +206 -0
  355. package/data/skills/bio-systems-biology-context-specific-models/SKILL.md +241 -0
  356. package/data/skills/bio-systems-biology-flux-balance-analysis/SKILL.md +206 -0
  357. package/data/skills/bio-systems-biology-gene-essentiality/SKILL.md +235 -0
  358. package/data/skills/bio-systems-biology-metabolic-reconstruction/SKILL.md +215 -0
  359. package/data/skills/bio-systems-biology-model-curation/SKILL.md +243 -0
  360. package/data/skills/bio-tcr-bcr-analysis-immcantation-analysis/SKILL.md +195 -0
  361. package/data/skills/bio-tcr-bcr-analysis-mixcr-analysis/SKILL.md +167 -0
  362. package/data/skills/bio-tcr-bcr-analysis-repertoire-visualization/SKILL.md +224 -0
  363. package/data/skills/bio-tcr-bcr-analysis-scirpy-analysis/SKILL.md +168 -0
  364. package/data/skills/bio-tcr-bcr-analysis-vdjtools-analysis/SKILL.md +188 -0
  365. package/data/skills/bio-transcription-translation/SKILL.md +237 -0
  366. package/data/skills/bio-tumor-fraction-estimation/SKILL.md +211 -0
  367. package/data/skills/bio-uniprot-access/SKILL.md +239 -0
  368. package/data/skills/bio-variant-annotation/SKILL.md +410 -0
  369. package/data/skills/bio-variant-calling/SKILL.md +266 -0
  370. package/data/skills/bio-variant-calling-clinical-interpretation/SKILL.md +355 -0
  371. package/data/skills/bio-variant-calling-deepvariant/SKILL.md +315 -0
  372. package/data/skills/bio-variant-calling-filtering-best-practices/SKILL.md +403 -0
  373. package/data/skills/bio-variant-calling-joint-calling/SKILL.md +338 -0
  374. package/data/skills/bio-variant-calling-structural-variant-calling/SKILL.md +253 -0
  375. package/data/skills/bio-variant-normalization/SKILL.md +325 -0
  376. package/data/skills/bio-vcf-basics/SKILL.md +342 -0
  377. package/data/skills/bio-vcf-manipulation/SKILL.md +429 -0
  378. package/data/skills/bio-vcf-statistics/SKILL.md +445 -0
  379. package/data/skills/bio-virtual-screening/SKILL.md +263 -0
  380. package/data/skills/bio-workflow-management-cwl-workflows/SKILL.md +433 -0
  381. package/data/skills/bio-workflow-management-nextflow-pipelines/SKILL.md +386 -0
  382. package/data/skills/bio-workflow-management-snakemake-workflows/SKILL.md +383 -0
  383. package/data/skills/bio-workflow-management-wdl-workflows/SKILL.md +500 -0
  384. package/data/skills/bio-workflows-atacseq-pipeline/SKILL.md +362 -0
  385. package/data/skills/bio-workflows-biomarker-pipeline/SKILL.md +272 -0
  386. package/data/skills/bio-workflows-chipseq-pipeline/SKILL.md +282 -0
  387. package/data/skills/bio-workflows-clip-pipeline/SKILL.md +268 -0
  388. package/data/skills/bio-workflows-cnv-pipeline/SKILL.md +324 -0
  389. package/data/skills/bio-workflows-crispr-editing-pipeline/SKILL.md +455 -0
  390. package/data/skills/bio-workflows-crispr-screen-pipeline/SKILL.md +278 -0
  391. package/data/skills/bio-workflows-cytometry-pipeline/SKILL.md +328 -0
  392. package/data/skills/bio-workflows-expression-to-pathways/SKILL.md +329 -0
  393. package/data/skills/bio-workflows-fastq-to-variants/SKILL.md +374 -0
  394. package/data/skills/bio-workflows-genome-assembly-pipeline/SKILL.md +290 -0
  395. package/data/skills/bio-workflows-gwas-pipeline/SKILL.md +323 -0
  396. package/data/skills/bio-workflows-hic-pipeline/SKILL.md +304 -0
  397. package/data/skills/bio-workflows-imc-pipeline/SKILL.md +304 -0
  398. package/data/skills/bio-workflows-longread-sv-pipeline/SKILL.md +281 -0
  399. package/data/skills/bio-workflows-merip-pipeline/SKILL.md +222 -0
  400. package/data/skills/bio-workflows-metabolic-modeling-pipeline/SKILL.md +408 -0
  401. package/data/skills/bio-workflows-metabolomics-pipeline/SKILL.md +297 -0
  402. package/data/skills/bio-workflows-metagenomics-pipeline/SKILL.md +283 -0
  403. package/data/skills/bio-workflows-methylation-pipeline/SKILL.md +274 -0
  404. package/data/skills/bio-workflows-microbiome-pipeline/SKILL.md +221 -0
  405. package/data/skills/bio-workflows-multi-omics-pipeline/SKILL.md +362 -0
  406. package/data/skills/bio-workflows-multiome-pipeline/SKILL.md +298 -0
  407. package/data/skills/bio-workflows-neoantigen-pipeline/SKILL.md +325 -0
  408. package/data/skills/bio-workflows-outbreak-pipeline/SKILL.md +341 -0
  409. package/data/skills/bio-workflows-proteomics-pipeline/SKILL.md +226 -0
  410. package/data/skills/bio-workflows-riboseq-pipeline/SKILL.md +94 -0
  411. package/data/skills/bio-workflows-rnaseq-to-de/SKILL.md +345 -0
  412. package/data/skills/bio-workflows-scrnaseq-pipeline/SKILL.md +354 -0
  413. package/data/skills/bio-workflows-smrna-pipeline/SKILL.md +86 -0
  414. package/data/skills/bio-workflows-somatic-variant-pipeline/SKILL.md +313 -0
  415. package/data/skills/bio-workflows-spatial-pipeline/SKILL.md +267 -0
  416. package/data/skills/bio-workflows-tcr-pipeline/SKILL.md +84 -0
  417. package/data/skills/bio-write-sequences/SKILL.md +205 -0
  418. package/data/skills/bioinformatics-singlecell/SKILL.md +143 -0
  419. package/data/skills/biokernel/SKILL.md +61 -0
  420. package/data/skills/biologist-analyst/SKILL.md +799 -0
  421. package/data/skills/biomaster-workflows/SKILL.md +55 -0
  422. package/data/skills/biomcp-server/SKILL.md +65 -0
  423. package/data/skills/biomedical-data-analysis/SKILL.md +56 -0
  424. package/data/skills/biomedical-search/SKILL.md +214 -0
  425. package/data/skills/biomni/SKILL.md +309 -0
  426. package/data/skills/biomni-general-agent/SKILL.md +43 -0
  427. package/data/skills/biomni-research-agent/SKILL.md +76 -0
  428. package/data/skills/biopython/SKILL.md +437 -0
  429. package/data/skills/biorxiv-database/SKILL.md +477 -0
  430. package/data/skills/bioservices/SKILL.md +355 -0
  431. package/data/skills/boltz/SKILL.md +188 -0
  432. package/data/skills/boltzgen/SKILL.md +287 -0
  433. package/data/skills/bone-marrow-ai-agent/SKILL.md +163 -0
  434. package/data/skills/brainstorming/SKILL.md +96 -0
  435. package/data/skills/brenda-database/SKILL.md +714 -0
  436. package/data/skills/bulk-combat-correction/SKILL.md +54 -0
  437. package/data/skills/bulk-deg-analysis/SKILL.md +61 -0
  438. package/data/skills/bulk-deseq2-analysis/SKILL.md +50 -0
  439. package/data/skills/bulk-stringdb-ppi/SKILL.md +49 -0
  440. package/data/skills/bulk-to-single-deconvolution/SKILL.md +50 -0
  441. package/data/skills/bulk-trajblend-interpolation/SKILL.md +52 -0
  442. package/data/skills/bulk-wgcna-analysis/SKILL.md +56 -0
  443. package/data/skills/cancer-metabolism-agent/SKILL.md +180 -0
  444. package/data/skills/care-coordination/SKILL.md +35 -0
  445. package/data/skills/cart-design-optimizer-agent/SKILL.md +162 -0
  446. package/data/skills/cbioportal-database/SKILL.md +367 -0
  447. package/data/skills/cell-free-expression/SKILL.md +291 -0
  448. package/data/skills/cellagent-annotation/SKILL.md +69 -0
  449. package/data/skills/cellfree-rna-agent/SKILL.md +182 -0
  450. package/data/skills/cellular-senescence-agent/SKILL.md +183 -0
  451. package/data/skills/cellxgene-census/SKILL.md +505 -0
  452. package/data/skills/chai/SKILL.md +272 -0
  453. package/data/skills/chatehr-clinician-assistant/SKILL.md +67 -0
  454. package/data/skills/chematagent-drug-discovery/SKILL.md +68 -0
  455. package/data/skills/chembl-database/SKILL.md +383 -0
  456. package/data/skills/chembl-search/SKILL.md +211 -0
  457. package/data/skills/chemcrow-drug-discovery/SKILL.md +61 -0
  458. package/data/skills/chemical-property-lookup/SKILL.md +42 -0
  459. package/data/skills/chemist-analyst/SKILL.md +1603 -0
  460. package/data/skills/chemistry-agent/SKILL.md +62 -0
  461. package/data/skills/chip-clonal-hematopoiesis-agent/SKILL.md +224 -0
  462. package/data/skills/chromosomal-instability-agent/SKILL.md +187 -0
  463. package/data/skills/citation-management/SKILL.md +1081 -0
  464. package/data/skills/claims-appeals/SKILL.md +35 -0
  465. package/data/skills/claw-ancestry-pca/SKILL.md +145 -0
  466. package/data/skills/claw-metagenomics/SKILL.md +238 -0
  467. package/data/skills/claw-semantic-sim/SKILL.md +151 -0
  468. package/data/skills/clinical-decision-support/SKILL.md +504 -0
  469. package/data/skills/clinical-diagnostic-reasoning/SKILL.md +222 -0
  470. package/data/skills/clinical-nlp-extractor/SKILL.md +59 -0
  471. package/data/skills/clinical-note-summarization/SKILL.md +52 -0
  472. package/data/skills/clinical-reports/SKILL.md +1127 -0
  473. package/data/skills/clinical-trial-protocol-skill/SKILL.md +508 -0
  474. package/data/skills/clinical-trials-search/SKILL.md +211 -0
  475. package/data/skills/clinicaltrials-database/SKILL.md +501 -0
  476. package/data/skills/clinpgx/SKILL.md +96 -0
  477. package/data/skills/clinpgx-database/SKILL.md +632 -0
  478. package/data/skills/clinvar-database/SKILL.md +356 -0
  479. package/data/skills/cnv-caller-agent/SKILL.md +171 -0
  480. package/data/skills/coagulation-thrombosis-agent/SKILL.md +141 -0
  481. package/data/skills/cobrapy/SKILL.md +457 -0
  482. package/data/skills/compbioagent-explorer/SKILL.md +67 -0
  483. package/data/skills/computational-pathology-agent/SKILL.md +72 -0
  484. package/data/skills/convergence-study/SKILL.md +98 -0
  485. package/data/skills/cosmic-database/SKILL.md +330 -0
  486. package/data/skills/crisis-detection-intervention-ai/SKILL.md +569 -0
  487. package/data/skills/crisis-response-protocol/SKILL.md +456 -0
  488. package/data/skills/crispr-guide-design/SKILL.md +72 -0
  489. package/data/skills/crispr-offtarget-predictor/SKILL.md +56 -0
  490. package/data/skills/cryoem-ai-drug-design-agent/SKILL.md +216 -0
  491. package/data/skills/ctdna-dynamics-mrd-agent/SKILL.md +206 -0
  492. package/data/skills/cytokine-storm-analysis-agent/SKILL.md +180 -0
  493. package/data/skills/dask/SKILL.md +454 -0
  494. package/data/skills/data-stats-analysis/SKILL.md +477 -0
  495. package/data/skills/data-transform/SKILL.md +576 -0
  496. package/data/skills/data-visualization-biomedical/SKILL.md +252 -0
  497. package/data/skills/data-visualization-expert/SKILL.md +72 -0
  498. package/data/skills/data-viz-plots/SKILL.md +461 -0
  499. package/data/skills/datacommons-client/SKILL.md +253 -0
  500. package/data/skills/datamol/SKILL.md +700 -0
  501. package/data/skills/deep-research/SKILL.md +111 -0
  502. package/data/skills/deep-research-swarm/SKILL.md +62 -0
  503. package/data/skills/deep-visual-proteomics-agent/SKILL.md +149 -0
  504. package/data/skills/deepchem/SKILL.md +591 -0
  505. package/data/skills/deeptools/SKILL.md +525 -0
  506. package/data/skills/depmap/SKILL.md +300 -0
  507. package/data/skills/diffdock/SKILL.md +477 -0
  508. package/data/skills/differentiation-schemes/SKILL.md +159 -0
  509. package/data/skills/digital-twin-clinical-agent/SKILL.md +228 -0
  510. package/data/skills/dispatching-parallel-agents/SKILL.md +180 -0
  511. package/data/skills/dnanexus-integration/SKILL.md +376 -0
  512. package/data/skills/doc-coauthoring/SKILL.md +375 -0
  513. package/data/skills/docx/SKILL.md +590 -0
  514. package/data/skills/docx-official/SKILL.md +197 -0
  515. package/data/skills/drug-discovery-search/SKILL.md +214 -0
  516. package/data/skills/drug-interaction-checker/SKILL.md +56 -0
  517. package/data/skills/drug-labels-search/SKILL.md +211 -0
  518. package/data/skills/drug-photo/SKILL.md +149 -0
  519. package/data/skills/drugbank-database/SKILL.md +184 -0
  520. package/data/skills/drugbank-search/SKILL.md +211 -0
  521. package/data/skills/ehr-fhir-integration/SKILL.md +60 -0
  522. package/data/skills/emergency-card/SKILL.md +426 -0
  523. package/data/skills/ena-database/SKILL.md +198 -0
  524. package/data/skills/ensembl-database/SKILL.md +305 -0
  525. package/data/skills/epidemiologist-analyst/SKILL.md +1844 -0
  526. package/data/skills/epigenomics-methylgpt-agent/SKILL.md +111 -0
  527. package/data/skills/equity-scorer/SKILL.md +182 -0
  528. package/data/skills/esm/SKILL.md +300 -0
  529. package/data/skills/etetoolkit/SKILL.md +617 -0
  530. package/data/skills/executing-plans/SKILL.md +84 -0
  531. package/data/skills/exosome-ev-analysis-agent/SKILL.md +171 -0
  532. package/data/skills/exploratory-data-analysis/SKILL.md +440 -0
  533. package/data/skills/family-health-analyzer/SKILL.md +137 -0
  534. package/data/skills/fastq-analysis/SKILL.md +191 -0
  535. package/data/skills/fda-database/SKILL.md +512 -0
  536. package/data/skills/fhir-developer-skill/SKILL.md +294 -0
  537. package/data/skills/fhir-development/SKILL.md +35 -0
  538. package/data/skills/find-skills/SKILL.md +133 -0
  539. package/data/skills/finishing-a-development-branch/SKILL.md +200 -0
  540. package/data/skills/fitness-analyzer/SKILL.md +431 -0
  541. package/data/skills/flowio/SKILL.md +602 -0
  542. package/data/skills/foldseek/SKILL.md +179 -0
  543. package/data/skills/galaxy-bridge/SKILL.md +215 -0
  544. package/data/skills/gene-database/SKILL.md +173 -0
  545. package/data/skills/gene-panel-design-agent/SKILL.md +192 -0
  546. package/data/skills/geniml/SKILL.md +312 -0
  547. package/data/skills/genome-compare/SKILL.md +127 -0
  548. package/data/skills/geo-database/SKILL.md +809 -0
  549. package/data/skills/geopandas/SKILL.md +245 -0
  550. package/data/skills/gget/SKILL.md +865 -0
  551. package/data/skills/ginkgo-cloud-lab/SKILL.md +56 -0
  552. package/data/skills/glycoengineering/SKILL.md +338 -0
  553. package/data/skills/gnomad-database/SKILL.md +395 -0
  554. package/data/skills/goal-analyzer/SKILL.md +605 -0
  555. package/data/skills/grief-companion/SKILL.md +250 -0
  556. package/data/skills/gsea-enrichment/SKILL.md +151 -0
  557. package/data/skills/gtars/SKILL.md +279 -0
  558. package/data/skills/gtex-database/SKILL.md +315 -0
  559. package/data/skills/gwas-database/SKILL.md +602 -0
  560. package/data/skills/gwas-lookup/SKILL.md +122 -0
  561. package/data/skills/gwas-prs/SKILL.md +178 -0
  562. package/data/skills/health-trend-analyzer/SKILL.md +451 -0
  563. package/data/skills/hemoglobinopathy-analysis-agent/SKILL.md +167 -0
  564. package/data/skills/hipaa-compliance/SKILL.md +230 -0
  565. package/data/skills/histolab/SKILL.md +672 -0
  566. package/data/skills/hmdb-database/SKILL.md +190 -0
  567. package/data/skills/hrd-analysis-agent/SKILL.md +184 -0
  568. package/data/skills/hrv-alexithymia-expert/SKILL.md +151 -0
  569. package/data/skills/hypogenic/SKILL.md +649 -0
  570. package/data/skills/hypothesis-generation/SKILL.md +286 -0
  571. package/data/skills/imaging-data-commons/SKILL.md +843 -0
  572. package/data/skills/immune-checkpoint-combination-agent/SKILL.md +170 -0
  573. package/data/skills/infographics/SKILL.md +563 -0
  574. package/data/skills/instrument-data-to-allotrope/SKILL.md +280 -0
  575. package/data/skills/interpro-database/SKILL.md +305 -0
  576. package/data/skills/ipsae/SKILL.md +190 -0
  577. package/data/skills/iso-13485-certification/SKILL.md +678 -0
  578. package/data/skills/jaspar-database/SKILL.md +351 -0
  579. package/data/skills/jungian-psychologist/SKILL.md +191 -0
  580. package/data/skills/kegg-database/SKILL.md +371 -0
  581. package/data/skills/knowledge-synthesis/SKILL.md +283 -0
  582. package/data/skills/kragen-knowledge-graph/SKILL.md +68 -0
  583. package/data/skills/lab-results/SKILL.md +35 -0
  584. package/data/skills/labarchive-integration/SKILL.md +262 -0
  585. package/data/skills/labstep/SKILL.md +208 -0
  586. package/data/skills/lamindb/SKILL.md +384 -0
  587. package/data/skills/latchbio-integration/SKILL.md +347 -0
  588. package/data/skills/latex-posters/SKILL.md +1602 -0
  589. package/data/skills/leads-literature-mining/SKILL.md +68 -0
  590. package/data/skills/ligandmpnn/SKILL.md +170 -0
  591. package/data/skills/linear-solvers/SKILL.md +165 -0
  592. package/data/skills/liquid-biopsy-analytics-agent/SKILL.md +171 -0
  593. package/data/skills/lit-synthesizer/SKILL.md +53 -0
  594. package/data/skills/literature-review/SKILL.md +584 -0
  595. package/data/skills/literature-search/SKILL.md +214 -0
  596. package/data/skills/lobster-bioinformatics/SKILL.md +305 -0
  597. package/data/skills/long-read-sequencing-agent/SKILL.md +181 -0
  598. package/data/skills/mage-antibody-generator/SKILL.md +54 -0
  599. package/data/skills/markdown-mermaid-writing/SKILL.md +327 -0
  600. package/data/skills/markitdown/SKILL.md +486 -0
  601. package/data/skills/matchms/SKILL.md +197 -0
  602. package/data/skills/matplotlib/SKILL.md +359 -0
  603. package/data/skills/mcpmed-bioinformatics-server/SKILL.md +42 -0
  604. package/data/skills/medchem/SKILL.md +400 -0
  605. package/data/skills/medea-therapeutic-discovery/SKILL.md +45 -0
  606. package/data/skills/medical-entity-extractor/SKILL.md +144 -0
  607. package/data/skills/medical-imaging-review/SKILL.md +170 -0
  608. package/data/skills/medical-research-toolkit/SKILL.md +273 -0
  609. package/data/skills/medrxiv-search/SKILL.md +211 -0
  610. package/data/skills/mental-health-analyzer/SKILL.md +981 -0
  611. package/data/skills/mesh-generation/SKILL.md +149 -0
  612. package/data/skills/metabolomics-workbench-database/SKILL.md +253 -0
  613. package/data/skills/microbiome-cancer-agent/SKILL.md +180 -0
  614. package/data/skills/modern-drug-rehab-computer/SKILL.md +392 -0
  615. package/data/skills/molecular-dynamics/SKILL.md +457 -0
  616. package/data/skills/molecular-glue-discovery-agent/SKILL.md +224 -0
  617. package/data/skills/molecule-evolution-agent/SKILL.md +62 -0
  618. package/data/skills/molfeat/SKILL.md +505 -0
  619. package/data/skills/monarch-database/SKILL.md +372 -0
  620. package/data/skills/mpn-progression-monitor-agent/SKILL.md +228 -0
  621. package/data/skills/mpn-research-assistant/SKILL.md +197 -0
  622. package/data/skills/mrd-edge-detection-agent/SKILL.md +213 -0
  623. package/data/skills/multi-ancestry-prs-agent/SKILL.md +224 -0
  624. package/data/skills/multi-search-engine/SKILL.md +110 -0
  625. package/data/skills/multimodal-medical-imaging/SKILL.md +59 -0
  626. package/data/skills/multimodal-radpath-fusion-agent/SKILL.md +213 -0
  627. package/data/skills/myeloma-mrd-agent/SKILL.md +184 -0
  628. package/data/skills/networkx/SKILL.md +435 -0
  629. package/data/skills/neurokit2/SKILL.md +350 -0
  630. package/data/skills/neuropixels-analysis/SKILL.md +344 -0
  631. package/data/skills/nextflow-development/SKILL.md +290 -0
  632. package/data/skills/ngs-analysis/SKILL.md +183 -0
  633. package/data/skills/nicheformer-spatial-agent/SKILL.md +197 -0
  634. package/data/skills/nk-cell-therapy-agent/SKILL.md +186 -0
  635. package/data/skills/nonlinear-solvers/SKILL.md +180 -0
  636. package/data/skills/numerical-integration/SKILL.md +166 -0
  637. package/data/skills/numerical-stability/SKILL.md +149 -0
  638. package/data/skills/nutrition-analyzer/SKILL.md +775 -0
  639. package/data/skills/occupational-health-analyzer/SKILL.md +386 -0
  640. package/data/skills/omero-integration/SKILL.md +245 -0
  641. package/data/skills/ontology-explorer/SKILL.md +168 -0
  642. package/data/skills/ontology-mapper/SKILL.md +171 -0
  643. package/data/skills/ontology-validator/SKILL.md +136 -0
  644. package/data/skills/open-notebook/SKILL.md +289 -0
  645. package/data/skills/open-targets-search/SKILL.md +211 -0
  646. package/data/skills/openalex-database/SKILL.md +488 -0
  647. package/data/skills/opentargets-database/SKILL.md +367 -0
  648. package/data/skills/opentrons-integration/SKILL.md +567 -0
  649. package/data/skills/opentrons-protocol-agent/SKILL.md +58 -0
  650. package/data/skills/organoid-drug-response-agent/SKILL.md +189 -0
  651. package/data/skills/pan-cancer-multiomics-agent/SKILL.md +159 -0
  652. package/data/skills/paper-2-web/SKILL.md +495 -0
  653. package/data/skills/parameter-optimization/SKILL.md +141 -0
  654. package/data/skills/patents-search/SKILL.md +211 -0
  655. package/data/skills/pathml/SKILL.md +160 -0
  656. package/data/skills/patiently-ai/SKILL.md +103 -0
  657. package/data/skills/pdb/SKILL.md +217 -0
  658. package/data/skills/pdb-database/SKILL.md +303 -0
  659. package/data/skills/pdf/SKILL.md +314 -0
  660. package/data/skills/pdf-anthropic/SKILL.md +294 -0
  661. package/data/skills/pdf-processing/SKILL.md +149 -0
  662. package/data/skills/pdf-processing-pro/SKILL.md +296 -0
  663. package/data/skills/pdx-model-analysis-agent/SKILL.md +169 -0
  664. package/data/skills/peer-review/SKILL.md +565 -0
  665. package/data/skills/performance-profiling/SKILL.md +255 -0
  666. package/data/skills/perplexity-search/SKILL.md +441 -0
  667. package/data/skills/pharmacogenomics-agent/SKILL.md +143 -0
  668. package/data/skills/pharmgx-reporter/SKILL.md +134 -0
  669. package/data/skills/phylogenetics/SKILL.md +404 -0
  670. package/data/skills/plotly/SKILL.md +265 -0
  671. package/data/skills/polars/SKILL.md +385 -0
  672. package/data/skills/popeve-variant-predictor-agent/SKILL.md +213 -0
  673. package/data/skills/post-processing/SKILL.md +338 -0
  674. package/data/skills/pptx/SKILL.md +232 -0
  675. package/data/skills/pptx-official/SKILL.md +484 -0
  676. package/data/skills/pptx-posters/SKILL.md +414 -0
  677. package/data/skills/precision-oncology-agent/SKILL.md +53 -0
  678. package/data/skills/prior-auth-coworker/SKILL.md +60 -0
  679. package/data/skills/prior-auth-review-skill/SKILL.md +360 -0
  680. package/data/skills/profile-report/SKILL.md +120 -0
  681. package/data/skills/protac-design-agent/SKILL.md +220 -0
  682. package/data/skills/protein-design-workflow/SKILL.md +199 -0
  683. package/data/skills/protein-qc/SKILL.md +300 -0
  684. package/data/skills/protein-structure-prediction/SKILL.md +59 -0
  685. package/data/skills/proteinmpnn/SKILL.md +279 -0
  686. package/data/skills/protocolsio-integration/SKILL.md +415 -0
  687. package/data/skills/prs-net-deep-learning-agent/SKILL.md +232 -0
  688. package/data/skills/psychologist-analyst/SKILL.md +1888 -0
  689. package/data/skills/pubchem-database/SKILL.md +568 -0
  690. package/data/skills/pubmed-database/SKILL.md +454 -0
  691. package/data/skills/pubmed-search/SKILL.md +103 -0
  692. package/data/skills/pydeseq2/SKILL.md +553 -0
  693. package/data/skills/pydicom/SKILL.md +428 -0
  694. package/data/skills/pyhealth/SKILL.md +485 -0
  695. package/data/skills/pylabrobot/SKILL.md +179 -0
  696. package/data/skills/pymc/SKILL.md +566 -0
  697. package/data/skills/pymoo/SKILL.md +565 -0
  698. package/data/skills/pyopenms/SKILL.md +211 -0
  699. package/data/skills/pysam/SKILL.md +259 -0
  700. package/data/skills/pytdc/SKILL.md +454 -0
  701. package/data/skills/pytorch-lightning/SKILL.md +172 -0
  702. package/data/skills/pyzotero/SKILL.md +111 -0
  703. package/data/skills/radgpt-radiology-reporter/SKILL.md +67 -0
  704. package/data/skills/radiomics-pathomics-fusion-agent/SKILL.md +221 -0
  705. package/data/skills/rdkit/SKILL.md +763 -0
  706. package/data/skills/reactome-database/SKILL.md +272 -0
  707. package/data/skills/receiving-code-review/SKILL.md +213 -0
  708. package/data/skills/recovery-community-moderator/SKILL.md +175 -0
  709. package/data/skills/regulatory-drafter/SKILL.md +56 -0
  710. package/data/skills/regulatory-drafting/SKILL.md +35 -0
  711. package/data/skills/rehabilitation-analyzer/SKILL.md +636 -0
  712. package/data/skills/repro-enforcer/SKILL.md +50 -0
  713. package/data/skills/requesting-code-review/SKILL.md +105 -0
  714. package/data/skills/research-grants/SKILL.md +935 -0
  715. package/data/skills/research-literature/SKILL.md +35 -0
  716. package/data/skills/research-lookup/SKILL.md +502 -0
  717. package/data/skills/rfdiffusion/SKILL.md +306 -0
  718. package/data/skills/rna-velocity-agent/SKILL.md +174 -0
  719. package/data/skills/scanpy/SKILL.md +380 -0
  720. package/data/skills/scfoundation-model-agent/SKILL.md +210 -0
  721. package/data/skills/scientific-brainstorming/SKILL.md +185 -0
  722. package/data/skills/scientific-critical-thinking/SKILL.md +566 -0
  723. package/data/skills/scientific-manuscript/SKILL.md +181 -0
  724. package/data/skills/scientific-problem-selection/SKILL.md +269 -0
  725. package/data/skills/scientific-schematics/SKILL.md +619 -0
  726. package/data/skills/scientific-slides/SKILL.md +1154 -0
  727. package/data/skills/scientific-visualization/SKILL.md +773 -0
  728. package/data/skills/scientific-writing/SKILL.md +483 -0
  729. package/data/skills/scikit-bio/SKILL.md +431 -0
  730. package/data/skills/scikit-learn/SKILL.md +515 -0
  731. package/data/skills/scikit-survival/SKILL.md +393 -0
  732. package/data/skills/scrna-orchestrator/SKILL.md +204 -0
  733. package/data/skills/scrna-qc/SKILL.md +43 -0
  734. package/data/skills/scvelo/SKILL.md +321 -0
  735. package/data/skills/scvi-tools/SKILL.md +184 -0
  736. package/data/skills/seaborn/SKILL.md +671 -0
  737. package/data/skills/search-strategy/SKILL.md +247 -0
  738. package/data/skills/seq-wrangler/SKILL.md +58 -0
  739. package/data/skills/shap/SKILL.md +560 -0
  740. package/data/skills/simo-multiomics-integration-agent/SKILL.md +178 -0
  741. package/data/skills/simpy/SKILL.md +423 -0
  742. package/data/skills/simulation-orchestrator/SKILL.md +230 -0
  743. package/data/skills/simulation-validator/SKILL.md +195 -0
  744. package/data/skills/single-annotation/SKILL.md +129 -0
  745. package/data/skills/single-cell-rna-qc/SKILL.md +175 -0
  746. package/data/skills/single-cellphone-db/SKILL.md +68 -0
  747. package/data/skills/single-clustering/SKILL.md +75 -0
  748. package/data/skills/single-downstream-analysis/SKILL.md +150 -0
  749. package/data/skills/single-multiomics/SKILL.md +44 -0
  750. package/data/skills/single-preprocessing/SKILL.md +184 -0
  751. package/data/skills/single-to-spatial-mapping/SKILL.md +48 -0
  752. package/data/skills/single-trajectory/SKILL.md +62 -0
  753. package/data/skills/sleep-analyzer/SKILL.md +773 -0
  754. package/data/skills/slurm-job-script-generator/SKILL.md +135 -0
  755. package/data/skills/solublempnn/SKILL.md +165 -0
  756. package/data/skills/spatial-agent/SKILL.md +56 -0
  757. package/data/skills/spatial-epigenomics-agent/SKILL.md +163 -0
  758. package/data/skills/spatial-transcriptomics-agent/SKILL.md +75 -0
  759. package/data/skills/spatial-transcriptomics-analysis/SKILL.md +72 -0
  760. package/data/skills/spatial-transcriptomics-analysis/STAgent/SKILL.md +75 -0
  761. package/data/skills/spatial-transcriptomics-analysis/SpatialAgent/SKILL.md +56 -0
  762. package/data/skills/spatial-transcriptomics-analysis/bioSkills/image-analysis/SKILL.md +266 -0
  763. package/data/skills/spatial-transcriptomics-analysis/bioSkills/spatial-communication/SKILL.md +287 -0
  764. package/data/skills/spatial-transcriptomics-analysis/bioSkills/spatial-data-io/SKILL.md +243 -0
  765. package/data/skills/spatial-transcriptomics-analysis/bioSkills/spatial-deconvolution/SKILL.md +298 -0
  766. package/data/skills/spatial-transcriptomics-analysis/bioSkills/spatial-domains/SKILL.md +229 -0
  767. package/data/skills/spatial-transcriptomics-analysis/bioSkills/spatial-multiomics/SKILL.md +172 -0
  768. package/data/skills/spatial-transcriptomics-analysis/bioSkills/spatial-neighbors/SKILL.md +189 -0
  769. package/data/skills/spatial-transcriptomics-analysis/bioSkills/spatial-preprocessing/SKILL.md +232 -0
  770. package/data/skills/spatial-transcriptomics-analysis/bioSkills/spatial-proteomics/SKILL.md +127 -0
  771. package/data/skills/spatial-transcriptomics-analysis/bioSkills/spatial-statistics/SKILL.md +225 -0
  772. package/data/skills/spatial-transcriptomics-analysis/bioSkills/spatial-visualization/SKILL.md +270 -0
  773. package/data/skills/spatial-tutorials/SKILL.md +87 -0
  774. package/data/skills/speech-pathology-ai/SKILL.md +184 -0
  775. package/data/skills/statistical-analysis/SKILL.md +626 -0
  776. package/data/skills/statsmodels/SKILL.md +608 -0
  777. package/data/skills/string-database/SKILL.md +528 -0
  778. package/data/skills/struct-predictor/SKILL.md +52 -0
  779. package/data/skills/subagent-driven-development/SKILL.md +242 -0
  780. package/data/skills/systematic-debugging/SKILL.md +296 -0
  781. package/data/skills/tcell-exhaustion-analysis-agent/SKILL.md +139 -0
  782. package/data/skills/tcga-preprocessing/SKILL.md +49 -0
  783. package/data/skills/tcm-constitution-analyzer/SKILL.md +664 -0
  784. package/data/skills/tcr-pmhc-prediction-agent/SKILL.md +226 -0
  785. package/data/skills/tcr-repertoire-analysis-agent/SKILL.md +218 -0
  786. package/data/skills/test-driven-development/SKILL.md +371 -0
  787. package/data/skills/tiledbvcf/SKILL.md +459 -0
  788. package/data/skills/time-resolved-cryoem-agent/SKILL.md +223 -0
  789. package/data/skills/time-stepping/SKILL.md +140 -0
  790. package/data/skills/timesfm-forecasting/SKILL.md +785 -0
  791. package/data/skills/tme-immune-profiling-agent/SKILL.md +220 -0
  792. package/data/skills/tooluniverse-adverse-event-detection/SKILL.md +1115 -0
  793. package/data/skills/tooluniverse-antibody-engineering/SKILL.md +1581 -0
  794. package/data/skills/tooluniverse-binder-discovery/SKILL.md +1459 -0
  795. package/data/skills/tooluniverse-cancer-variant-interpretation/SKILL.md +971 -0
  796. package/data/skills/tooluniverse-chemical-compound-retrieval/SKILL.md +322 -0
  797. package/data/skills/tooluniverse-chemical-safety/SKILL.md +733 -0
  798. package/data/skills/tooluniverse-clinical-guidelines/SKILL.md +399 -0
  799. package/data/skills/tooluniverse-clinical-trial-design/SKILL.md +1195 -0
  800. package/data/skills/tooluniverse-clinical-trial-matching/SKILL.md +1333 -0
  801. package/data/skills/tooluniverse-crispr-screen-analysis/SKILL.md +900 -0
  802. package/data/skills/tooluniverse-disease-research/SKILL.md +630 -0
  803. package/data/skills/tooluniverse-drug-drug-interaction/SKILL.md +73 -0
  804. package/data/skills/tooluniverse-drug-repurposing/SKILL.md +595 -0
  805. package/data/skills/tooluniverse-drug-research/SKILL.md +1642 -0
  806. package/data/skills/tooluniverse-drug-target-validation/SKILL.md +1206 -0
  807. package/data/skills/tooluniverse-epigenomics/SKILL.md +1489 -0
  808. package/data/skills/tooluniverse-expression-data-retrieval/SKILL.md +389 -0
  809. package/data/skills/tooluniverse-gene-enrichment/SKILL.md +402 -0
  810. package/data/skills/tooluniverse-gwas-drug-discovery/SKILL.md +576 -0
  811. package/data/skills/tooluniverse-gwas-finemapping/SKILL.md +309 -0
  812. package/data/skills/tooluniverse-gwas-snp-interpretation/SKILL.md +223 -0
  813. package/data/skills/tooluniverse-gwas-study-explorer/SKILL.md +342 -0
  814. package/data/skills/tooluniverse-gwas-trait-to-gene/SKILL.md +236 -0
  815. package/data/skills/tooluniverse-image-analysis/SKILL.md +439 -0
  816. package/data/skills/tooluniverse-immune-repertoire-analysis/SKILL.md +949 -0
  817. package/data/skills/tooluniverse-immunotherapy-response-prediction/SKILL.md +865 -0
  818. package/data/skills/tooluniverse-infectious-disease/SKILL.md +749 -0
  819. package/data/skills/tooluniverse-literature-deep-research/SKILL.md +1050 -0
  820. package/data/skills/tooluniverse-metabolomics/SKILL.md +298 -0
  821. package/data/skills/tooluniverse-metabolomics-analysis/SKILL.md +764 -0
  822. package/data/skills/tooluniverse-multi-omics-integration/SKILL.md +703 -0
  823. package/data/skills/tooluniverse-multiomic-disease-characterization/SKILL.md +1138 -0
  824. package/data/skills/tooluniverse-network-pharmacology/SKILL.md +1312 -0
  825. package/data/skills/tooluniverse-pharmacovigilance/SKILL.md +807 -0
  826. package/data/skills/tooluniverse-phylogenetics/SKILL.md +461 -0
  827. package/data/skills/tooluniverse-polygenic-risk-score/SKILL.md +397 -0
  828. package/data/skills/tooluniverse-precision-medicine-stratification/SKILL.md +1143 -0
  829. package/data/skills/tooluniverse-precision-oncology/SKILL.md +1091 -0
  830. package/data/skills/tooluniverse-protein-interactions/SKILL.md +446 -0
  831. package/data/skills/tooluniverse-protein-structure-retrieval/SKILL.md +416 -0
  832. package/data/skills/tooluniverse-protein-therapeutic-design/SKILL.md +637 -0
  833. package/data/skills/tooluniverse-proteomics-analysis/SKILL.md +843 -0
  834. package/data/skills/tooluniverse-rare-disease-diagnosis/SKILL.md +1257 -0
  835. package/data/skills/tooluniverse-rnaseq-deseq2/SKILL.md +536 -0
  836. package/data/skills/tooluniverse-sequence-retrieval/SKILL.md +419 -0
  837. package/data/skills/tooluniverse-single-cell/SKILL.md +719 -0
  838. package/data/skills/tooluniverse-spatial-omics-analysis/SKILL.md +1102 -0
  839. package/data/skills/tooluniverse-spatial-transcriptomics/SKILL.md +788 -0
  840. package/data/skills/tooluniverse-statistical-modeling/SKILL.md +557 -0
  841. package/data/skills/tooluniverse-structural-variant-analysis/SKILL.md +1356 -0
  842. package/data/skills/tooluniverse-systems-biology/SKILL.md +374 -0
  843. package/data/skills/tooluniverse-target-research/SKILL.md +1510 -0
  844. package/data/skills/tooluniverse-variant-analysis/SKILL.md +448 -0
  845. package/data/skills/tooluniverse-variant-interpretation/SKILL.md +1118 -0
  846. package/data/skills/torch-geometric/SKILL.md +674 -0
  847. package/data/skills/torch_geometric/SKILL.md +670 -0
  848. package/data/skills/torchdrug/SKILL.md +444 -0
  849. package/data/skills/tpd-ternary-complex-agent/SKILL.md +226 -0
  850. package/data/skills/transformers/SKILL.md +157 -0
  851. package/data/skills/travel-health-analyzer/SKILL.md +421 -0
  852. package/data/skills/treatment-plans/SKILL.md +1576 -0
  853. package/data/skills/trial-eligibility-agent/SKILL.md +54 -0
  854. package/data/skills/trialgpt-matching/SKILL.md +66 -0
  855. package/data/skills/tumor-clonal-evolution-agent/SKILL.md +134 -0
  856. package/data/skills/tumor-heterogeneity-agent/SKILL.md +216 -0
  857. package/data/skills/tumor-mutational-burden-agent/SKILL.md +188 -0
  858. package/data/skills/ukb-navigator/SKILL.md +113 -0
  859. package/data/skills/umap-learn/SKILL.md +473 -0
  860. package/data/skills/uniprot-database/SKILL.md +189 -0
  861. package/data/skills/universal-single-cell-annotator/SKILL.md +72 -0
  862. package/data/skills/using-git-worktrees/SKILL.md +218 -0
  863. package/data/skills/using-superpowers/SKILL.md +95 -0
  864. package/data/skills/usmle/SKILL.md +62 -0
  865. package/data/skills/uspto-database/SKILL.md +597 -0
  866. package/data/skills/vaex/SKILL.md +180 -0
  867. package/data/skills/varcadd-pathogenicity/SKILL.md +68 -0
  868. package/data/skills/variant-interpretation-acmg/SKILL.md +58 -0
  869. package/data/skills/variant-interpretation-acmg/bioSkills/clinical-interpretation/SKILL.md +334 -0
  870. package/data/skills/variant-interpretation-acmg/bioSkills/consensus-sequences/SKILL.md +343 -0
  871. package/data/skills/variant-interpretation-acmg/bioSkills/deepvariant/SKILL.md +279 -0
  872. package/data/skills/variant-interpretation-acmg/bioSkills/filtering-best-practices/SKILL.md +362 -0
  873. package/data/skills/variant-interpretation-acmg/bioSkills/gatk-variant-calling/SKILL.md +398 -0
  874. package/data/skills/variant-interpretation-acmg/bioSkills/joint-calling/SKILL.md +343 -0
  875. package/data/skills/variant-interpretation-acmg/bioSkills/structural-variant-calling/SKILL.md +256 -0
  876. package/data/skills/variant-interpretation-acmg/bioSkills/variant-annotation/SKILL.md +387 -0
  877. package/data/skills/variant-interpretation-acmg/bioSkills/variant-calling/SKILL.md +258 -0
  878. package/data/skills/variant-interpretation-acmg/bioSkills/variant-normalization/SKILL.md +304 -0
  879. package/data/skills/variant-interpretation-acmg/bioSkills/vcf-basics/SKILL.md +329 -0
  880. package/data/skills/variant-interpretation-acmg/bioSkills/vcf-manipulation/SKILL.md +398 -0
  881. package/data/skills/variant-interpretation-acmg/bioSkills/vcf-statistics/SKILL.md +424 -0
  882. package/data/skills/variant-interpretation-acmg/varCADD/SKILL.md +68 -0
  883. package/data/skills/vcf-annotator/SKILL.md +55 -0
  884. package/data/skills/verification-before-completion/SKILL.md +139 -0
  885. package/data/skills/virtual-lab-agent/SKILL.md +240 -0
  886. package/data/skills/wearable-analysis-agent/SKILL.md +70 -0
  887. package/data/skills/weightloss-analyzer/SKILL.md +320 -0
  888. package/data/skills/wellally-tech/SKILL.md +685 -0
  889. package/data/skills/wikipedia-search/SKILL.md +481 -0
  890. package/data/skills/writing-plans/SKILL.md +116 -0
  891. package/data/skills/writing-skills/SKILL.md +655 -0
  892. package/data/skills/xlsx/SKILL.md +292 -0
  893. package/data/skills/xlsx-official/SKILL.md +289 -0
  894. package/data/skills/zarr-python/SKILL.md +777 -0
  895. package/data/skills/zinc-database/SKILL.md +398 -0
  896. package/data/tools/__init__.py +8 -0
  897. package/data/tools/hpc.py +71 -0
  898. package/data/tools/hpc_client/__init__.py +8 -0
  899. package/data/tools/hpc_client/builders/__init__.py +12 -0
  900. package/data/tools/hpc_client/builders/alphafold.py +36 -0
  901. package/data/tools/hpc_client/builders/boltz.py +33 -0
  902. package/data/tools/hpc_client/builders/chai.py +30 -0
  903. package/data/tools/hpc_client/builders/immunebuilder.py +31 -0
  904. package/data/tools/hpc_client/builders/rfantibody.py +58 -0
  905. package/data/tools/hpc_client/builders/thermompnn.py +16 -0
  906. package/data/tools/hpc_client/hpc_api.py +41 -0
  907. package/data/tools/hpc_client/hpc_tools.py +218 -0
  908. package/data/tools/hpc_dynamic.py +71 -0
  909. package/data/tools/integrations/__init__.py +14 -0
  910. package/data/tools/integrations/adaptyv.py +107 -0
  911. package/data/tools/integrations/addgene.py +52 -0
  912. package/data/tools/integrations/api_internal.py +33 -0
  913. package/data/tools/molecular_biology.py +688 -0
  914. package/data/tools/pharmacology.py +67 -0
  915. package/data/workflows/bulk-omics-clustering/SKILL.md +501 -0
  916. package/data/workflows/bulk-omics-clustering/references/best_practices.md +395 -0
  917. package/data/workflows/bulk-omics-clustering/references/clustering_methods_comparison.md +288 -0
  918. package/data/workflows/bulk-omics-clustering/references/common-patterns.md +1136 -0
  919. package/data/workflows/bulk-omics-clustering/references/decision-guide.md +819 -0
  920. package/data/workflows/bulk-omics-clustering/references/distance_metrics_guide.md +388 -0
  921. package/data/workflows/bulk-omics-clustering/references/parameter_guide.md +396 -0
  922. package/data/workflows/bulk-omics-clustering/references/r-quick-start.md +105 -0
  923. package/data/workflows/bulk-omics-clustering/references/validation_metrics_guide.md +315 -0
  924. package/data/workflows/bulk-omics-clustering/scripts/characterize_clusters.py +255 -0
  925. package/data/workflows/bulk-omics-clustering/scripts/cluster_validation.py +449 -0
  926. package/data/workflows/bulk-omics-clustering/scripts/density_clustering.py +321 -0
  927. package/data/workflows/bulk-omics-clustering/scripts/dimensionality_reduction.py +328 -0
  928. package/data/workflows/bulk-omics-clustering/scripts/distance_metrics.py +251 -0
  929. package/data/workflows/bulk-omics-clustering/scripts/export_results.py +456 -0
  930. package/data/workflows/bulk-omics-clustering/scripts/hierarchical_clustering.R +229 -0
  931. package/data/workflows/bulk-omics-clustering/scripts/hierarchical_clustering.py +269 -0
  932. package/data/workflows/bulk-omics-clustering/scripts/kmeans_clustering.py +346 -0
  933. package/data/workflows/bulk-omics-clustering/scripts/load_example_data.R +171 -0
  934. package/data/workflows/bulk-omics-clustering/scripts/load_example_data.py +171 -0
  935. package/data/workflows/bulk-omics-clustering/scripts/model_based_clustering.py +370 -0
  936. package/data/workflows/bulk-omics-clustering/scripts/optimal_clusters.py +381 -0
  937. package/data/workflows/bulk-omics-clustering/scripts/plot_cluster_heatmap.R +141 -0
  938. package/data/workflows/bulk-omics-clustering/scripts/plot_clustering_results.py +452 -0
  939. package/data/workflows/bulk-omics-clustering/scripts/prepare_data.py +250 -0
  940. package/data/workflows/bulk-omics-clustering/scripts/stability_analysis.py +434 -0
  941. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/SKILL.md +505 -0
  942. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/references/comprehensive-reference.md +440 -0
  943. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/references/decision-guide.md +327 -0
  944. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/references/troubleshooting.md +456 -0
  945. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/references/usage-guide.md +75 -0
  946. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/scripts/basic_workflow.R +149 -0
  947. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/scripts/batch_correction.R +44 -0
  948. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/scripts/export_results.R +190 -0
  949. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/scripts/extract_results.R +242 -0
  950. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/scripts/load_example_data.R +250 -0
  951. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/scripts/multi_condition.R +50 -0
  952. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/scripts/qc_plots.R +410 -0
  953. package/data/workflows/bulk-rnaseq-counts-to-de-deseq2/scripts/transformations.R +218 -0
  954. package/data/workflows/chip-atlas-diff-analysis/SKILL.md +222 -0
  955. package/data/workflows/chip-atlas-diff-analysis/references/chipatlas_diff_api_format.md +106 -0
  956. package/data/workflows/chip-atlas-diff-analysis/references/diff_analysis_methods.md +89 -0
  957. package/data/workflows/chip-atlas-diff-analysis/references/output_format.md +78 -0
  958. package/data/workflows/chip-atlas-diff-analysis/scripts/__init__.py +1 -0
  959. package/data/workflows/chip-atlas-diff-analysis/scripts/annotate_genes.py +144 -0
  960. package/data/workflows/chip-atlas-diff-analysis/scripts/export_all.py +498 -0
  961. package/data/workflows/chip-atlas-diff-analysis/scripts/filter_regions.py +176 -0
  962. package/data/workflows/chip-atlas-diff-analysis/scripts/generate_all_plots.py +321 -0
  963. package/data/workflows/chip-atlas-diff-analysis/scripts/load_example_data.py +149 -0
  964. package/data/workflows/chip-atlas-diff-analysis/scripts/load_user_data.py +211 -0
  965. package/data/workflows/chip-atlas-diff-analysis/scripts/parse_bed_results.py +240 -0
  966. package/data/workflows/chip-atlas-diff-analysis/scripts/qc_checks.py +621 -0
  967. package/data/workflows/chip-atlas-diff-analysis/scripts/query_chipatlas_api.py +329 -0
  968. package/data/workflows/chip-atlas-diff-analysis/scripts/run_diff_workflow.py +256 -0
  969. package/data/workflows/chip-atlas-peak-enrichment/SKILL.md +212 -0
  970. package/data/workflows/chip-atlas-peak-enrichment/references/chipatlas_metadata_format.md +115 -0
  971. package/data/workflows/chip-atlas-peak-enrichment/references/enrichment_statistics.md +145 -0
  972. package/data/workflows/chip-atlas-peak-enrichment/references/peak_thresholds.md +63 -0
  973. package/data/workflows/chip-atlas-peak-enrichment/references/promoter_definitions.md +69 -0
  974. package/data/workflows/chip-atlas-peak-enrichment/scripts/__init__.py +1 -0
  975. package/data/workflows/chip-atlas-peak-enrichment/scripts/convert_genes_to_regions.py +271 -0
  976. package/data/workflows/chip-atlas-peak-enrichment/scripts/export_all.py +456 -0
  977. package/data/workflows/chip-atlas-peak-enrichment/scripts/filter_experiments.py +116 -0
  978. package/data/workflows/chip-atlas-peak-enrichment/scripts/generate_all_plots.py +280 -0
  979. package/data/workflows/chip-atlas-peak-enrichment/scripts/load_example_data.py +96 -0
  980. package/data/workflows/chip-atlas-peak-enrichment/scripts/load_user_data.py +183 -0
  981. package/data/workflows/chip-atlas-peak-enrichment/scripts/query_chipatlas_api.py +349 -0
  982. package/data/workflows/chip-atlas-peak-enrichment/scripts/run_enrichment_workflow.py +271 -0
  983. package/data/workflows/chip-atlas-target-genes/SKILL.md +230 -0
  984. package/data/workflows/chip-atlas-target-genes/references/macs2_binding_scores.md +89 -0
  985. package/data/workflows/chip-atlas-target-genes/references/string_scores.md +58 -0
  986. package/data/workflows/chip-atlas-target-genes/references/target_genes_data_format.md +73 -0
  987. package/data/workflows/chip-atlas-target-genes/scripts/__init__.py +0 -0
  988. package/data/workflows/chip-atlas-target-genes/scripts/download_target_genes.py +200 -0
  989. package/data/workflows/chip-atlas-target-genes/scripts/export_all.py +340 -0
  990. package/data/workflows/chip-atlas-target-genes/scripts/filter_targets.py +205 -0
  991. package/data/workflows/chip-atlas-target-genes/scripts/generate_all_plots.py +330 -0
  992. package/data/workflows/chip-atlas-target-genes/scripts/load_example_query.py +61 -0
  993. package/data/workflows/chip-atlas-target-genes/scripts/load_user_query.py +47 -0
  994. package/data/workflows/chip-atlas-target-genes/scripts/run_target_genes_workflow.py +141 -0
  995. package/data/workflows/clinicaltrials-landscape/SKILL.md +257 -0
  996. package/data/workflows/clinicaltrials-landscape/references/api-parameters.md +181 -0
  997. package/data/workflows/clinicaltrials-landscape/references/mechanisms.md +141 -0
  998. package/data/workflows/clinicaltrials-landscape/references/output-schema.md +184 -0
  999. package/data/workflows/clinicaltrials-landscape/scripts/__init__.py +1 -0
  1000. package/data/workflows/clinicaltrials-landscape/scripts/classify_mechanisms.py +359 -0
  1001. package/data/workflows/clinicaltrials-landscape/scripts/compile_trials.py +579 -0
  1002. package/data/workflows/clinicaltrials-landscape/scripts/disease_config.py +161 -0
  1003. package/data/workflows/clinicaltrials-landscape/scripts/export_all.py +242 -0
  1004. package/data/workflows/clinicaltrials-landscape/scripts/generate_landscape_plots.py +761 -0
  1005. package/data/workflows/clinicaltrials-landscape/scripts/generate_pdf_report.py +1465 -0
  1006. package/data/workflows/clinicaltrials-landscape/scripts/generate_report.py +1813 -0
  1007. package/data/workflows/clinicaltrials-landscape/scripts/query_clinicaltrials.py +307 -0
  1008. package/data/workflows/coexpression-network/SKILL.md +344 -0
  1009. package/data/workflows/coexpression-network/references/parameter-tuning-guide.md +591 -0
  1010. package/data/workflows/coexpression-network/references/troubleshooting.md +483 -0
  1011. package/data/workflows/coexpression-network/references/wgcna-best-practices.md +563 -0
  1012. package/data/workflows/coexpression-network/references/wgcna-reference.md +538 -0
  1013. package/data/workflows/coexpression-network/scripts/build_network.R +43 -0
  1014. package/data/workflows/coexpression-network/scripts/correlate_modules_traits.R +92 -0
  1015. package/data/workflows/coexpression-network/scripts/export_wgcna_results.R +117 -0
  1016. package/data/workflows/coexpression-network/scripts/identify_hub_genes.R +63 -0
  1017. package/data/workflows/coexpression-network/scripts/load_example_data.R +214 -0
  1018. package/data/workflows/coexpression-network/scripts/module_enrichment.R +159 -0
  1019. package/data/workflows/coexpression-network/scripts/pick_soft_power.R +70 -0
  1020. package/data/workflows/coexpression-network/scripts/plot_all_wgcna.R +104 -0
  1021. package/data/workflows/coexpression-network/scripts/plot_eigengene_heatmap.R +65 -0
  1022. package/data/workflows/coexpression-network/scripts/plot_hub_genes.R +70 -0
  1023. package/data/workflows/coexpression-network/scripts/plot_module_dendrogram.R +50 -0
  1024. package/data/workflows/coexpression-network/scripts/plotting_helpers.R +87 -0
  1025. package/data/workflows/coexpression-network/scripts/prepare_wgcna_data.R +73 -0
  1026. package/data/workflows/coexpression-network/scripts/wgcna_workflow.R +93 -0
  1027. package/data/workflows/experimental-design-statistics/SKILL.md +408 -0
  1028. package/data/workflows/experimental-design-statistics/references/batch_effect_mitigation.md +756 -0
  1029. package/data/workflows/experimental-design-statistics/references/cv_tissue_database.csv +30 -0
  1030. package/data/workflows/experimental-design-statistics/references/experimental_design_best_practices.md +515 -0
  1031. package/data/workflows/experimental-design-statistics/references/multiple_testing_guide.md +730 -0
  1032. package/data/workflows/experimental-design-statistics/references/power_analysis_guidelines.md +635 -0
  1033. package/data/workflows/experimental-design-statistics/references/qc_guidelines.md +310 -0
  1034. package/data/workflows/experimental-design-statistics/references/software_requirements.md +328 -0
  1035. package/data/workflows/experimental-design-statistics/references/troubleshooting_guide.md +510 -0
  1036. package/data/workflows/experimental-design-statistics/scripts/batch_assignment.R +302 -0
  1037. package/data/workflows/experimental-design-statistics/scripts/batch_validation.R +342 -0
  1038. package/data/workflows/experimental-design-statistics/scripts/export_design.R +352 -0
  1039. package/data/workflows/experimental-design-statistics/scripts/load_example_data.R +204 -0
  1040. package/data/workflows/experimental-design-statistics/scripts/multiple_testing.R +417 -0
  1041. package/data/workflows/experimental-design-statistics/scripts/plot_power_curves.R +317 -0
  1042. package/data/workflows/experimental-design-statistics/scripts/power_atacseq.R +229 -0
  1043. package/data/workflows/experimental-design-statistics/scripts/power_pilot_based.R +289 -0
  1044. package/data/workflows/experimental-design-statistics/scripts/power_rnaseq.R +247 -0
  1045. package/data/workflows/experimental-design-statistics/scripts/sample_size_de.R +327 -0
  1046. package/data/workflows/experimental-design-statistics/scripts/sample_size_scrna.R +304 -0
  1047. package/data/workflows/functional-enrichment-from-degs/SKILL.md +387 -0
  1048. package/data/workflows/functional-enrichment-from-degs/references/database_guide.md +354 -0
  1049. package/data/workflows/functional-enrichment-from-degs/references/decision-guide.md +546 -0
  1050. package/data/workflows/functional-enrichment-from-degs/references/gsea_ora_comparison.md +213 -0
  1051. package/data/workflows/functional-enrichment-from-degs/references/gsea_ora_validation_framework.md +483 -0
  1052. package/data/workflows/functional-enrichment-from-degs/references/interpretation_guidelines.md +374 -0
  1053. package/data/workflows/functional-enrichment-from-degs/references/method-reference.md +742 -0
  1054. package/data/workflows/functional-enrichment-from-degs/scripts/export_results.R +190 -0
  1055. package/data/workflows/functional-enrichment-from-degs/scripts/generate_plots.R +240 -0
  1056. package/data/workflows/functional-enrichment-from-degs/scripts/get_msigdb_genesets.R +75 -0
  1057. package/data/workflows/functional-enrichment-from-degs/scripts/load_de_results.R +60 -0
  1058. package/data/workflows/functional-enrichment-from-degs/scripts/load_example_data.R +212 -0
  1059. package/data/workflows/functional-enrichment-from-degs/scripts/prepare_gene_lists.R +92 -0
  1060. package/data/workflows/functional-enrichment-from-degs/scripts/run_gsea.R +44 -0
  1061. package/data/workflows/functional-enrichment-from-degs/scripts/run_ora.R +53 -0
  1062. package/data/workflows/genetic-variant-annotation/SKILL.md +440 -0
  1063. package/data/workflows/genetic-variant-annotation/references/auto_installation_implementation.md +274 -0
  1064. package/data/workflows/genetic-variant-annotation/references/consequence_terms.md +392 -0
  1065. package/data/workflows/genetic-variant-annotation/references/filtering_strategies.md +808 -0
  1066. package/data/workflows/genetic-variant-annotation/references/installation_guide.md +557 -0
  1067. package/data/workflows/genetic-variant-annotation/references/pathogenicity_interpretation.md +473 -0
  1068. package/data/workflows/genetic-variant-annotation/references/qc_guidelines.md +524 -0
  1069. package/data/workflows/genetic-variant-annotation/references/snpeff_best_practices.md +481 -0
  1070. package/data/workflows/genetic-variant-annotation/references/tool_selection_guide.md +433 -0
  1071. package/data/workflows/genetic-variant-annotation/references/troubleshooting_guide.md +678 -0
  1072. package/data/workflows/genetic-variant-annotation/references/vep_best_practices.md +450 -0
  1073. package/data/workflows/genetic-variant-annotation/scripts/annotate_genes.py +243 -0
  1074. package/data/workflows/genetic-variant-annotation/scripts/export_results.py +450 -0
  1075. package/data/workflows/genetic-variant-annotation/scripts/filter_variants.py +365 -0
  1076. package/data/workflows/genetic-variant-annotation/scripts/install_tools.py +246 -0
  1077. package/data/workflows/genetic-variant-annotation/scripts/load_example_data.py +166 -0
  1078. package/data/workflows/genetic-variant-annotation/scripts/parse_snpeff_output.py +283 -0
  1079. package/data/workflows/genetic-variant-annotation/scripts/parse_vep_output.py +257 -0
  1080. package/data/workflows/genetic-variant-annotation/scripts/plot_variant_distribution.py +372 -0
  1081. package/data/workflows/genetic-variant-annotation/scripts/prioritize_variants.py +287 -0
  1082. package/data/workflows/genetic-variant-annotation/scripts/run_snpeff.py +418 -0
  1083. package/data/workflows/genetic-variant-annotation/scripts/run_vep.py +358 -0
  1084. package/data/workflows/genetic-variant-annotation/scripts/select_tool.py +203 -0
  1085. package/data/workflows/genetic-variant-annotation/scripts/test_complete_workflow.py +312 -0
  1086. package/data/workflows/genetic-variant-annotation/scripts/test_pickle_load.py +118 -0
  1087. package/data/workflows/genetic-variant-annotation/scripts/validate_vcf.py +351 -0
  1088. package/data/workflows/genetic-variant-annotation/scripts/verify_changes.py +212 -0
  1089. package/data/workflows/grn-pyscenic/SKILL.md +331 -0
  1090. package/data/workflows/grn-pyscenic/references/cli_interface.md +222 -0
  1091. package/data/workflows/grn-pyscenic/references/database_downloads.md +245 -0
  1092. package/data/workflows/grn-pyscenic/scripts/export_all.py +192 -0
  1093. package/data/workflows/grn-pyscenic/scripts/generate_report.py +512 -0
  1094. package/data/workflows/grn-pyscenic/scripts/integrate_with_adata.py +54 -0
  1095. package/data/workflows/grn-pyscenic/scripts/load_example_data.py +200 -0
  1096. package/data/workflows/grn-pyscenic/scripts/load_expression_data.py +61 -0
  1097. package/data/workflows/grn-pyscenic/scripts/plot_regulon_visualizations.py +263 -0
  1098. package/data/workflows/grn-pyscenic/scripts/run_grn_workflow.py +184 -0
  1099. package/data/workflows/gwas-to-function-twas/SKILL.md +394 -0
  1100. package/data/workflows/gwas-to-function-twas/references/fusion_best_practices.md +120 -0
  1101. package/data/workflows/gwas-to-function-twas/references/installation-guide.md +414 -0
  1102. package/data/workflows/gwas-to-function-twas/references/ldsc_qc_guidelines.md +287 -0
  1103. package/data/workflows/gwas-to-function-twas/references/spredixxcan_best_practices.md +166 -0
  1104. package/data/workflows/gwas-to-function-twas/references/therapeutic_interpretation_guide.md +717 -0
  1105. package/data/workflows/gwas-to-function-twas/references/tissue_reference_guide.md +182 -0
  1106. package/data/workflows/gwas-to-function-twas/references/troubleshooting_guide.md +317 -0
  1107. package/data/workflows/gwas-to-function-twas/references/twas_hub_validation_guide.md +88 -0
  1108. package/data/workflows/gwas-to-function-twas/scripts/colocalization_analysis.py +187 -0
  1109. package/data/workflows/gwas-to-function-twas/scripts/druggability_scoring.py +199 -0
  1110. package/data/workflows/gwas-to-function-twas/scripts/export_results.py +220 -0
  1111. package/data/workflows/gwas-to-function-twas/scripts/integrate_variant_annotation.py +194 -0
  1112. package/data/workflows/gwas-to-function-twas/scripts/interpret_therapeutic_direction.py +418 -0
  1113. package/data/workflows/gwas-to-function-twas/scripts/mendelian_randomization.py +749 -0
  1114. package/data/workflows/gwas-to-function-twas/scripts/multilayer_direction_analysis.py +471 -0
  1115. package/data/workflows/gwas-to-function-twas/scripts/plot_twas_results.py +252 -0
  1116. package/data/workflows/gwas-to-function-twas/scripts/run_fusion.py +155 -0
  1117. package/data/workflows/gwas-to-function-twas/scripts/run_smultixcan.py +102 -0
  1118. package/data/workflows/gwas-to-function-twas/scripts/run_spredixxcan.py +138 -0
  1119. package/data/workflows/gwas-to-function-twas/scripts/select_reference_panel.py +253 -0
  1120. package/data/workflows/gwas-to-function-twas/scripts/validate_gwas_sumstats.py +214 -0
  1121. package/data/workflows/gwas-to-function-twas/scripts/validate_with_twas_hub.py +439 -0
  1122. package/data/workflows/lasso-biomarker-panel/SKILL.md +322 -0
  1123. package/data/workflows/lasso-biomarker-panel/references/decision-guide.md +64 -0
  1124. package/data/workflows/lasso-biomarker-panel/references/lasso-reference.md +110 -0
  1125. package/data/workflows/lasso-biomarker-panel/references/validation-guide.md +105 -0
  1126. package/data/workflows/lasso-biomarker-panel/scripts/biological_interpretation.R +1560 -0
  1127. package/data/workflows/lasso-biomarker-panel/scripts/biomarker_plots.R +350 -0
  1128. package/data/workflows/lasso-biomarker-panel/scripts/export_results.R +1492 -0
  1129. package/data/workflows/lasso-biomarker-panel/scripts/lasso_workflow.R +328 -0
  1130. package/data/workflows/lasso-biomarker-panel/scripts/load_example_data.R +1903 -0
  1131. package/data/workflows/lasso-biomarker-panel/scripts/plotting_helpers.R +78 -0
  1132. package/data/workflows/lasso-biomarker-panel/scripts/prepare_features.R +225 -0
  1133. package/data/workflows/lasso-biomarker-panel/scripts/query_cellxgene.py +107 -0
  1134. package/data/workflows/lasso-biomarker-panel/scripts/validate_external.R +174 -0
  1135. package/data/workflows/literature-preclinical/SKILL.md +276 -0
  1136. package/data/workflows/literature-preclinical/assets/eval/simple_test.py +386 -0
  1137. package/data/workflows/literature-preclinical/references/experiment-extraction-guide.md +147 -0
  1138. package/data/workflows/literature-preclinical/references/full-text-enrichment-guide.md +121 -0
  1139. package/data/workflows/literature-preclinical/references/preclinical-search-guide.md +117 -0
  1140. package/data/workflows/literature-preclinical/scripts/extract_experiments.py +401 -0
  1141. package/data/workflows/literature-preclinical/scripts/generate_plots.R +303 -0
  1142. package/data/workflows/literature-preclinical/scripts/narrative_synthesis.py +653 -0
  1143. package/data/workflows/literature-preclinical/scripts/preclinical_search.py +332 -0
  1144. package/data/workflows/literature-preclinical/scripts/preclinical_synthesis.py +237 -0
  1145. package/data/workflows/literature-preclinical/scripts/report_generation.py +326 -0
  1146. package/data/workflows/mendelian-randomization-twosamplemr/SKILL.md +210 -0
  1147. package/data/workflows/mendelian-randomization-twosamplemr/references/interpretation-guide.md +239 -0
  1148. package/data/workflows/mendelian-randomization-twosamplemr/references/method-reference.md +190 -0
  1149. package/data/workflows/mendelian-randomization-twosamplemr/scripts/export_results.R +123 -0
  1150. package/data/workflows/mendelian-randomization-twosamplemr/scripts/generate_report.R +411 -0
  1151. package/data/workflows/mendelian-randomization-twosamplemr/scripts/load_data.R +281 -0
  1152. package/data/workflows/mendelian-randomization-twosamplemr/scripts/mr_plots.R +163 -0
  1153. package/data/workflows/mendelian-randomization-twosamplemr/scripts/run_mr_analysis.R +322 -0
  1154. package/data/workflows/pcr-primer-design/SKILL.md +397 -0
  1155. package/data/workflows/pcr-primer-design/references/code_examples.md +594 -0
  1156. package/data/workflows/pcr-primer-design/references/miqe_guidelines.md +453 -0
  1157. package/data/workflows/pcr-primer-design/references/parameter_ranges.md +356 -0
  1158. package/data/workflows/pcr-primer-design/references/primer_design_best_practices.md +451 -0
  1159. package/data/workflows/pcr-primer-design/references/troubleshooting_guide.md +477 -0
  1160. package/data/workflows/pcr-primer-design/scripts/__init__.py +2 -0
  1161. package/data/workflows/pcr-primer-design/scripts/calculate_tm.py +306 -0
  1162. package/data/workflows/pcr-primer-design/scripts/check_dimers.py +298 -0
  1163. package/data/workflows/pcr-primer-design/scripts/check_secondary_structures.py +343 -0
  1164. package/data/workflows/pcr-primer-design/scripts/design_qpcr_primers.py +233 -0
  1165. package/data/workflows/pcr-primer-design/scripts/design_standard_primers.py +197 -0
  1166. package/data/workflows/pcr-primer-design/scripts/design_taqman_probes.py +226 -0
  1167. package/data/workflows/pcr-primer-design/scripts/export_results.py +382 -0
  1168. package/data/workflows/pcr-primer-design/scripts/generate_reports.py +379 -0
  1169. package/data/workflows/pcr-primer-design/scripts/validate_specificity.py +311 -0
  1170. package/data/workflows/pcr-primer-design/scripts/visualize_primers.py +379 -0
  1171. package/data/workflows/polygenic-risk-score-prs-catalog/SKILL.md +195 -0
  1172. package/data/workflows/polygenic-risk-score-prs-catalog/references/interpretation-guide.md +80 -0
  1173. package/data/workflows/polygenic-risk-score-prs-catalog/references/pgs-catalog-guide.md +109 -0
  1174. package/data/workflows/polygenic-risk-score-prs-catalog/scripts/export_results.R +186 -0
  1175. package/data/workflows/polygenic-risk-score-prs-catalog/scripts/generate_plots.R +283 -0
  1176. package/data/workflows/polygenic-risk-score-prs-catalog/scripts/load_pgs_weights.R +228 -0
  1177. package/data/workflows/polygenic-risk-score-prs-catalog/scripts/load_reference_data.R +191 -0
  1178. package/data/workflows/polygenic-risk-score-prs-catalog/scripts/score_traits.R +216 -0
  1179. package/data/workflows/pooled-crispr-screens/SKILL.md +362 -0
  1180. package/data/workflows/pooled-crispr-screens/references/crispr_screen_best_practices.md +349 -0
  1181. package/data/workflows/pooled-crispr-screens/references/qc_guidelines.md +722 -0
  1182. package/data/workflows/pooled-crispr-screens/references/statistical_methods.md +644 -0
  1183. package/data/workflows/pooled-crispr-screens/references/troubleshooting_guide.md +684 -0
  1184. package/data/workflows/pooled-crispr-screens/references/umi_optimization.md +297 -0
  1185. package/data/workflows/pooled-crispr-screens/scripts/concatenate_libraries.py +132 -0
  1186. package/data/workflows/pooled-crispr-screens/scripts/detect_perturbed_cells.py +255 -0
  1187. package/data/workflows/pooled-crispr-screens/scripts/differential_expression.py +202 -0
  1188. package/data/workflows/pooled-crispr-screens/scripts/differential_expression_glmgampoi.py +320 -0
  1189. package/data/workflows/pooled-crispr-screens/scripts/export_results.py +261 -0
  1190. package/data/workflows/pooled-crispr-screens/scripts/expression_filtering.py +159 -0
  1191. package/data/workflows/pooled-crispr-screens/scripts/gene_name_corrections.py +188 -0
  1192. package/data/workflows/pooled-crispr-screens/scripts/generate_report.py +485 -0
  1193. package/data/workflows/pooled-crispr-screens/scripts/load_10x_libraries.py +69 -0
  1194. package/data/workflows/pooled-crispr-screens/scripts/load_example_data.py +257 -0
  1195. package/data/workflows/pooled-crispr-screens/scripts/map_sgrna_to_cells.py +119 -0
  1196. package/data/workflows/pooled-crispr-screens/scripts/normalize_and_scale.py +140 -0
  1197. package/data/workflows/pooled-crispr-screens/scripts/qc_filtering.py +185 -0
  1198. package/data/workflows/pooled-crispr-screens/scripts/run_glmgampoi.R +181 -0
  1199. package/data/workflows/pooled-crispr-screens/scripts/screen_all_perturbations.py +306 -0
  1200. package/data/workflows/pooled-crispr-screens/scripts/validate_perturbations.py +314 -0
  1201. package/data/workflows/pooled-crispr-screens/scripts/visualize_perturbations.py +314 -0
  1202. package/data/workflows/scrnaseq-scanpy-core-analysis/SKILL.md +425 -0
  1203. package/data/workflows/scrnaseq-scanpy-core-analysis/references/ambient_rna_correction.md +422 -0
  1204. package/data/workflows/scrnaseq-scanpy-core-analysis/references/common-patterns.md +533 -0
  1205. package/data/workflows/scrnaseq-scanpy-core-analysis/references/integration_methods.md +820 -0
  1206. package/data/workflows/scrnaseq-scanpy-core-analysis/references/marker_gene_database.md +471 -0
  1207. package/data/workflows/scrnaseq-scanpy-core-analysis/references/pseudobulk_de_guide.md +408 -0
  1208. package/data/workflows/scrnaseq-scanpy-core-analysis/references/qc_guidelines.md +535 -0
  1209. package/data/workflows/scrnaseq-scanpy-core-analysis/references/scanpy_best_practices.md +496 -0
  1210. package/data/workflows/scrnaseq-scanpy-core-analysis/references/troubleshooting_guide.md +668 -0
  1211. package/data/workflows/scrnaseq-scanpy-core-analysis/references/workflow-details.md +727 -0
  1212. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/annotate_celltypes.py +431 -0
  1213. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/cluster_cells.py +293 -0
  1214. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/export_results.py +423 -0
  1215. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/filter_cells.py +531 -0
  1216. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/find_markers.py +391 -0
  1217. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/find_variable_genes.py +222 -0
  1218. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/integrate_scvi.py +665 -0
  1219. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/integration_diagnostics.py +678 -0
  1220. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/load_example_data.py +68 -0
  1221. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/normalize_data.py +325 -0
  1222. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/plot_dimreduction.py +389 -0
  1223. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/plot_qc.py +320 -0
  1224. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/pseudobulk_de.py +553 -0
  1225. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/qc_metrics.py +477 -0
  1226. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/remove_ambient_rna.py +347 -0
  1227. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/run_umap.py +188 -0
  1228. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/scale_and_pca.py +365 -0
  1229. package/data/workflows/scrnaseq-scanpy-core-analysis/scripts/setup_and_import.py +334 -0
  1230. package/data/workflows/scrnaseq-seurat-core-analysis/SKILL.md +585 -0
  1231. package/data/workflows/scrnaseq-seurat-core-analysis/references/ambient_rna_correction.md +422 -0
  1232. package/data/workflows/scrnaseq-seurat-core-analysis/references/common-patterns.md +667 -0
  1233. package/data/workflows/scrnaseq-seurat-core-analysis/references/decision-guide.md +456 -0
  1234. package/data/workflows/scrnaseq-seurat-core-analysis/references/integration_methods.md +864 -0
  1235. package/data/workflows/scrnaseq-seurat-core-analysis/references/marker_gene_database.md +471 -0
  1236. package/data/workflows/scrnaseq-seurat-core-analysis/references/pseudobulk_de_guide.md +408 -0
  1237. package/data/workflows/scrnaseq-seurat-core-analysis/references/qc_guidelines.md +452 -0
  1238. package/data/workflows/scrnaseq-seurat-core-analysis/references/seurat_best_practices.md +417 -0
  1239. package/data/workflows/scrnaseq-seurat-core-analysis/references/troubleshooting_guide.md +566 -0
  1240. package/data/workflows/scrnaseq-seurat-core-analysis/references/workflow-details.md +801 -0
  1241. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/annotate_celltypes.R +306 -0
  1242. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/cluster_cells.R +223 -0
  1243. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/export_results.R +292 -0
  1244. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/filter_cells.R +576 -0
  1245. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/find_markers.R +325 -0
  1246. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/find_variable_features.R +106 -0
  1247. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/integrate_batches.R +504 -0
  1248. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/integration_diagnostics.R +596 -0
  1249. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/load_example_data.R +89 -0
  1250. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/normalize_data.R +184 -0
  1251. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/plot_dimreduction.R +273 -0
  1252. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/plot_qc.R +250 -0
  1253. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/pseudobulk_de.R +324 -0
  1254. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/qc_metrics.R +358 -0
  1255. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/remove_ambient_rna.R +281 -0
  1256. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/run_umap.R +116 -0
  1257. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/scale_and_pca.R +243 -0
  1258. package/data/workflows/scrnaseq-seurat-core-analysis/scripts/setup_and_import.R +193 -0
  1259. package/data/workflows/spatial-transcriptomics/SKILL.md +256 -0
  1260. package/data/workflows/spatial-transcriptomics/references/spatial-analysis-guide.md +216 -0
  1261. package/data/workflows/spatial-transcriptomics/scripts/export_results.py +214 -0
  1262. package/data/workflows/spatial-transcriptomics/scripts/generate_all_plots.py +397 -0
  1263. package/data/workflows/spatial-transcriptomics/scripts/load_example_data.py +175 -0
  1264. package/data/workflows/spatial-transcriptomics/scripts/spatial_workflow.py +206 -0
  1265. package/dist/bgi.js +28 -1
  1266. package/package.json +2 -1
@@ -0,0 +1,1333 @@
1
+ ---
2
+ name: tooluniverse-clinical-trial-matching
3
+ description: AI-driven patient-to-trial matching for precision medicine and oncology. Given a patient profile (disease, molecular alterations, stage, prior treatments), discovers and ranks clinical trials from ClinicalTrials.gov using multi-dimensional matching across molecular eligibility, clinical criteria, drug-biomarker alignment, evidence strength, and geographic feasibility. Produces a quantitative Trial Match Score (0-100) per trial with tiered recommendations and a comprehensive markdown report. Use when oncologists, molecular tumor boards, or patients ask about clinical trial options for specific cancer types, biomarker profiles, or post-progression scenarios.
4
+ ---
5
+
6
+ # Clinical Trial Matching for Precision Medicine
7
+
8
+ Transform patient molecular profiles and clinical characteristics into prioritized clinical trial recommendations. Searches ClinicalTrials.gov and cross-references with molecular databases (CIViC, OpenTargets, ChEMBL, FDA) to produce evidence-graded, scored trial matches.
9
+
10
+ **KEY PRINCIPLES**:
11
+ 1. **Report-first approach** - Create report file FIRST, then populate progressively
12
+ 2. **Patient-centric** - Every recommendation considers the individual patient's profile
13
+ 3. **Molecular-first matching** - Prioritize trials targeting patient's specific biomarkers
14
+ 4. **Evidence-graded** - Every recommendation has an evidence tier (T1-T4)
15
+ 5. **Quantitative scoring** - Trial Match Score (0-100) for every trial
16
+ 6. **Eligibility-aware** - Parse and evaluate inclusion/exclusion criteria
17
+ 7. **Actionable output** - Clear next steps, contact info, enrollment status
18
+ 8. **Source-referenced** - Every statement cites the tool/database source
19
+ 9. **Completeness checklist** - Mandatory section showing analysis coverage
20
+ 10. **English-first queries** - Always use English terms in tool calls. Respond in user's language
21
+
22
+ ---
23
+
24
+ ## When to Use
25
+
26
+ Apply when user asks:
27
+ - "What clinical trials are available for my NSCLC with EGFR L858R?"
28
+ - "Patient has BRAF V600E melanoma, failed ipilimumab - what trials?"
29
+ - "Find basket trials for NTRK fusion"
30
+ - "Breast cancer with HER2 amplification, post-CDK4/6 inhibitor trials"
31
+ - "KRAS G12C colorectal cancer clinical trials"
32
+ - "Immunotherapy trials for TMB-high solid tumors"
33
+ - "Clinical trials near Boston for lung cancer"
34
+ - "What are my options after failing osimertinib for EGFR+ NSCLC?"
35
+
36
+ **NOT for** (use other skills instead):
37
+ - Single variant interpretation without trial focus -> Use `tooluniverse-cancer-variant-interpretation`
38
+ - Drug safety profiling -> Use `tooluniverse-adverse-event-detection`
39
+ - Target validation -> Use `tooluniverse-drug-target-validation`
40
+ - General disease research -> Use `tooluniverse-disease-research`
41
+
42
+ ---
43
+
44
+ ## Input Parsing
45
+
46
+ ### Required Input
47
+ - **Disease/cancer type**: Free-text disease name (e.g., "non-small cell lung cancer", "melanoma")
48
+
49
+ ### Strongly Recommended
50
+ - **Molecular alterations**: One or more biomarkers (e.g., "EGFR L858R", "KRAS G12C", "PD-L1 50%", "TMB-high")
51
+ - **Stage/grade**: Disease stage (e.g., "Stage IV", "metastatic", "locally advanced")
52
+ - **Prior treatments**: Previous therapies and outcomes (e.g., "failed platinum chemotherapy", "progressed on osimertinib")
53
+
54
+ ### Optional
55
+ - **Performance status**: ECOG or Karnofsky score (e.g., "ECOG 0-1")
56
+ - **Geographic location**: City/state for proximity filtering (e.g., "Boston, MA")
57
+ - **Trial phase preference**: I, II, III, IV, or "any"
58
+ - **Intervention type**: drug, biological, device, etc.
59
+ - **Recruiting status preference**: recruiting, not yet recruiting, active
60
+
61
+ ### Biomarker Parsing Rules
62
+
63
+ | Input Format | Parsed As | Example |
64
+ |-------------|-----------|---------|
65
+ | Gene + amino acid change | Specific mutation | EGFR L858R |
66
+ | Gene + exon notation | Exon-level alteration | EGFR exon 19 deletion |
67
+ | Gene + fusion partner | Fusion | EML4-ALK fusion |
68
+ | Gene + amplification | Copy number gain | HER2 amplification |
69
+ | Gene + expression level | Expression biomarker | PD-L1 50% |
70
+ | Gene + status | Status biomarker | MSI-high, TMB-high |
71
+ | Gene + resistance | Resistance mutation | EGFR T790M |
72
+
73
+ ### Gene Symbol Normalization
74
+
75
+ | Common Alias | Official Symbol | Notes |
76
+ |-------------|----------------|-------|
77
+ | HER2 | ERBB2 | Search both in trials |
78
+ | PD-L1 | CD274 | Often searched as "PD-L1" in trials |
79
+ | ALK | ALK | EML4-ALK is a fusion |
80
+ | VEGF | VEGFA | Often searched as "VEGF" |
81
+ | PD-1 | PDCD1 | Search as "PD-1" in trials |
82
+ | BRCA | BRCA1/BRCA2 | Specify which BRCA gene |
83
+
84
+ ---
85
+
86
+ ## Phase 0: Tool Parameter Reference (CRITICAL)
87
+
88
+ **BEFORE calling ANY tool**, verify its parameters from this reference table.
89
+
90
+ ### Clinical Trial Tools
91
+
92
+ | Tool | Parameters | Notes |
93
+ |------|-----------|-------|
94
+ | `search_clinical_trials` | `query_term` (REQUIRED str), `condition` (str), `intervention` (str), `pageSize` (int, default 10), `pageToken` (str) | Main search. Returns `{studies: [{NCT ID, brief_title, brief_summary, overall_status, condition, phase}], nextPageToken, total_count}` |
95
+ | `clinical_trials_search` | `action` (REQUIRED, must be `"search_studies"`), `condition` (str), `intervention` (str), `limit` (int) | Alternative search. Returns `{total_count, studies: [{nctId, title, status, conditions}]}` |
96
+ | `clinical_trials_get_details` | `action` (REQUIRED, must be `"get_study_details"`), `nct_id` (REQUIRED str) | Full trial details. Returns `{nctId, title, summary, eligibility: {eligibilityCriteria}, ...}` |
97
+ | `get_clinical_trial_eligibility_criteria` | `nct_ids` (REQUIRED array), `eligibility_criteria` (REQUIRED str, use `"all"`) | Returns `[{NCT ID, eligibility_criteria}]` |
98
+ | `get_clinical_trial_locations` | `nct_ids` (REQUIRED array), `location` (REQUIRED str, use `"all"`) | Returns `[{NCT ID, locations: [{facility, city, state, country}]}]` |
99
+ | `get_clinical_trial_descriptions` | `nct_ids` (REQUIRED array), `description_type` (REQUIRED str: `"brief"` or `"full"`) | Returns `[{NCT ID, brief_title, official_title, brief_summary, detailed_description}]` |
100
+ | `get_clinical_trial_status_and_dates` | `nct_ids` (REQUIRED array), `status_and_date` (REQUIRED str, use `"all"`) | Returns `[{NCT ID, overall_status, start_date, primary_completion_date, completion_date}]` |
101
+ | `get_clinical_trial_conditions_and_interventions` | `nct_ids` (REQUIRED array), `condition_and_intervention` (REQUIRED str, use `"all"`) | Returns `[{NCT ID, condition, arm_groups, interventions}]` |
102
+ | `get_clinical_trial_outcome_measures` | `nct_ids` (REQUIRED array), `outcome_measures` (str: `"primary"`, `"secondary"`, `"all"`) | Returns `[{NCT ID, primary_outcomes, secondary_outcomes}]` |
103
+ | `extract_clinical_trial_outcomes` | `nct_ids` (REQUIRED array), `outcome_measure` (str) | Returns trial outcome results |
104
+ | `extract_clinical_trial_adverse_events` | `nct_ids` (REQUIRED array), `adverse_event_type` (str) | Returns adverse event data |
105
+
106
+ ### Molecular/Disease Tools
107
+
108
+ | Tool | Parameters | Notes |
109
+ |------|-----------|-------|
110
+ | `MyGene_query_genes` | `query` (str), `species` (str) | Returns `{hits: [{symbol, entrezgene, ensembl: {gene}, name}]}` |
111
+ | `OpenTargets_get_target_id_description_by_name` | `targetName` (str) | Returns `{data: {search: {hits: [{id, name, description}]}}}` |
112
+ | `OpenTargets_get_disease_id_description_by_name` | `diseaseName` (str) | Returns `{data: {search: {hits: [{id, name, description}]}}}` |
113
+ | `OpenTargets_get_associated_drugs_by_target_ensemblID` | `ensemblId` (str), `size` (int) | Returns `{data: {target: {knownDrugs: {count, rows: [{drug: {id, name, isApproved}, phase, mechanismOfAction, disease: {id, name}}]}}}}` |
114
+ | `OpenTargets_get_associated_drugs_by_disease_efoId` | `efoId` (str), `size` (int) | Returns `{data: {disease: {knownDrugs: {count, rows: [...]}}}}` |
115
+ | `OpenTargets_get_drug_id_description_by_name` | `drugName` (str) | Returns `{data: {search: {hits: [{id, name, description}]}}}` |
116
+ | `OpenTargets_get_drug_mechanisms_of_action_by_chemblId` | `chemblId` (str) | Returns `{data: {drug: {mechanismsOfAction: {rows: [{mechanismOfAction, actionType, targetName, targets}]}}}}` |
117
+ | `OpenTargets_get_approved_indications_by_drug_chemblId` | `chemblId` (str) | Returns `{data: {drug: {approvedIndications: [efoIds]}}}` |
118
+ | `OpenTargets_target_disease_evidence` | `ensemblId` (str), `efoId` (str), `size` (int) | Returns target-disease evidence rows |
119
+
120
+ ### CIViC Tools
121
+
122
+ | Tool | Parameters | Notes |
123
+ |------|-----------|-------|
124
+ | `civic_search_variants` | `query` (str), `limit` (int) | Does NOT filter by query. Returns alphabetically sorted variants |
125
+ | `civic_get_variants_by_gene` | `gene_id` (int, CIViC gene ID), `limit` (int) | Returns `{data: {gene: {variants: {nodes: [{id, name}]}}}}`. Max 100 per call |
126
+ | `civic_search_evidence_items` | `query` (str), `limit` (int) | Does NOT filter by query. Returns evidence alphabetically |
127
+ | `civic_get_variant` | `variant_id` (int) | Returns `{data: {variant: {id, name}}}` |
128
+ | `civic_search_therapies` | `query` (str), `limit` (int) | Search therapies |
129
+ | `civic_search_diseases` | `query` (str), `limit` (int) | Search diseases |
130
+
131
+ **Known CIViC Gene IDs**: EGFR=19, BRAF=5, ALK=1, ABL1=4, KRAS=30, TP53=45, ERBB2=20, NTRK1=197, NTRK2=560, NTRK3=561, PIK3CA=37, MET=52, ROS1=118, RET=122, BRCA1=2370, BRCA2=2371
132
+
133
+ ### Drug Information Tools
134
+
135
+ | Tool | Parameters | Notes |
136
+ |------|-----------|-------|
137
+ | `drugbank_get_targets_by_drug_name_or_drugbank_id` | `query`, `case_sensitive`, `exact_match`, `limit` (ALL REQUIRED) | Returns `{results: [{drug_name, drugbank_id, targets: [{name, organism, actions}]}]}` |
138
+ | `drugbank_get_indications_by_drug_name_or_drugbank_id` | `query`, `case_sensitive`, `exact_match`, `limit` (ALL REQUIRED) | Returns drug indications |
139
+ | `ChEMBL_search_drugs` | `query` (str), `limit` (int) | Returns `{status, data: {drugs: [...]}}` |
140
+ | `ChEMBL_get_drug_mechanisms` | `drug_chembl_id__exact` (str) | Returns drug mechanisms |
141
+ | `fda_pharmacogenomic_biomarkers` | `drug_name` (opt str), `biomarker` (opt str), `limit` (opt int, default 10) | Returns `{count, shown, results: [{Drug, TherapeuticArea, Biomarker, LabelingSection}]}`. Use `limit=1000` to get all. |
142
+ | `FDA_get_indications_by_drug_name` | `drug_name` (str), `limit` (int) | Returns FDA indications text |
143
+ | `FDA_get_mechanism_of_action_by_drug_name` | `drug_name` (str), `limit` (int) | Returns FDA MoA text |
144
+ | `FDA_get_clinical_studies_info_by_drug_name` | `drug_name` (str), `limit` (int) | Returns FDA clinical study info |
145
+ | `FDA_get_adverse_reactions_by_drug_name` | `drug_name` (str), `limit` (int) | Returns adverse reactions |
146
+
147
+ ### Disease Ontology Tools
148
+
149
+ | Tool | Parameters | Notes |
150
+ |------|-----------|-------|
151
+ | `ols_search_efo_terms` | `query` (str), `limit` (int) | Returns `{data: {terms: [{iri, obo_id, short_form, label, description}]}}` |
152
+ | `ols_get_efo_term` | `term_id` (str) | Get specific EFO term details |
153
+ | `ols_get_efo_term_children` | `term_id` (str) | Get child terms |
154
+
155
+ ### Literature Tools
156
+
157
+ | Tool | Parameters | Notes |
158
+ |------|-----------|-------|
159
+ | `PubMed_search_articles` | `query` (str), `max_results` (int) | Returns list of `{pmid, title, abstract, authors, journal, pub_date}` |
160
+ | `openalex_literature_search` | `query` (str), `limit` (int) | Returns literature results |
161
+
162
+ ### PharmGKB Tools
163
+
164
+ | Tool | Parameters | Notes |
165
+ |------|-----------|-------|
166
+ | `PharmGKB_search_genes` | `query` (str) | Returns gene pharmacogenomics data |
167
+ | `PharmGKB_get_clinical_annotations` | `query` (str) | Returns clinical annotations |
168
+
169
+ ---
170
+
171
+ ## Workflow Overview
172
+
173
+ ```
174
+ Input: Patient profile (disease + biomarkers + stage + prior treatments)
175
+
176
+ Phase 1: Patient Profile Standardization
177
+ - Resolve disease to EFO/ontology IDs
178
+ - Parse molecular alterations to gene + variant
179
+ - Resolve gene symbols to Ensembl/Entrez IDs
180
+ - Classify biomarker actionability (FDA-approved vs investigational)
181
+
182
+ Phase 2: Broad Trial Discovery
183
+ - Disease-based trial search (ClinicalTrials.gov)
184
+ - Biomarker-specific trial search
185
+ - Intervention-based search (for known drugs targeting patient's biomarkers)
186
+ - Collect NCT IDs for detailed analysis
187
+
188
+ Phase 3: Trial Characterization
189
+ - Get eligibility criteria for top candidate trials
190
+ - Get conditions and interventions
191
+ - Get locations and status
192
+ - Get trial descriptions and phase information
193
+
194
+ Phase 4: Molecular Eligibility Matching
195
+ - Parse eligibility criteria text for biomarker requirements
196
+ - Match patient's molecular profile to trial requirements
197
+ - Score molecular eligibility
198
+
199
+ Phase 5: Drug-Biomarker Alignment
200
+ - Identify trial intervention drugs
201
+ - Check drug mechanisms against patient biomarkers (OpenTargets, ChEMBL)
202
+ - FDA approval status for biomarker-drug combinations
203
+ - Classify drugs (targeted therapy, immunotherapy, chemotherapy)
204
+
205
+ Phase 6: Evidence Assessment
206
+ - FDA-approved biomarker-drug combinations
207
+ - Clinical trial results for similar patients (PubMed)
208
+ - CIViC clinical evidence
209
+ - PharmGKB pharmacogenomics
210
+ - Drug safety profiles
211
+
212
+ Phase 7: Geographic & Feasibility Analysis
213
+ - Trial site locations
214
+ - Enrollment status and dates
215
+ - Distance from patient location (if provided)
216
+
217
+ Phase 8: Alternative Options
218
+ - Basket trials (biomarker-driven, tumor-agnostic)
219
+ - Expanded access and compassionate use
220
+ - Related trials with different study designs
221
+
222
+ Phase 9: Scoring & Ranking
223
+ - Calculate Trial Match Score (0-100) for each trial
224
+ - Tier classification (Optimal/Good/Possible/Exploratory)
225
+ - Rank by composite score
226
+ - Generate recommendations
227
+
228
+ Phase 10: Report Synthesis
229
+ - Executive summary (top 3 trials)
230
+ - Patient profile summary
231
+ - Ranked trial list with detailed analysis
232
+ - Alternative options
233
+ - Evidence grading
234
+ - Completeness checklist
235
+ ```
236
+
237
+ ---
238
+
239
+ ## Phase 1: Patient Profile Standardization
240
+
241
+ **Goal**: Resolve all patient inputs to standardized identifiers for cross-database queries.
242
+
243
+ ### 1.1 Disease Resolution
244
+
245
+ ```python
246
+ def resolve_disease(tu, disease_name):
247
+ """Resolve disease name to EFO ID and standard terminology."""
248
+ # OpenTargets disease search
249
+ result = tu.tools.OpenTargets_get_disease_id_description_by_name(diseaseName=disease_name)
250
+ hits = result.get('data', {}).get('search', {}).get('hits', [])
251
+
252
+ if hits:
253
+ disease_info = hits[0]
254
+ return {
255
+ 'efo_id': disease_info.get('id'),
256
+ 'name': disease_info.get('name'),
257
+ 'description': disease_info.get('description'),
258
+ 'original_input': disease_name
259
+ }
260
+
261
+ # Fallback: OLS EFO search
262
+ ols_result = tu.tools.ols_search_efo_terms(query=disease_name, limit=5)
263
+ ols_terms = ols_result.get('data', {}).get('terms', [])
264
+ if ols_terms:
265
+ term = ols_terms[0]
266
+ return {
267
+ 'efo_id': term.get('short_form'),
268
+ 'name': term.get('label'),
269
+ 'description': term.get('description', [''])[0] if term.get('description') else '',
270
+ 'original_input': disease_name
271
+ }
272
+
273
+ return {'efo_id': None, 'name': disease_name, 'description': '', 'original_input': disease_name}
274
+ ```
275
+
276
+ **Response**: `{efo_id: "EFO_0003060", name: "non-small cell lung carcinoma", description: "...", original_input: "..."}`
277
+
278
+ ### 1.2 Gene/Biomarker Resolution
279
+
280
+ ```python
281
+ def resolve_gene(tu, gene_symbol):
282
+ """Resolve gene symbol to cross-database IDs."""
283
+ # Normalize common aliases
284
+ alias_map = {
285
+ 'HER2': 'ERBB2', 'HER-2': 'ERBB2',
286
+ 'PD-L1': 'CD274', 'PDL1': 'CD274',
287
+ 'PD-1': 'PDCD1', 'PD1': 'PDCD1',
288
+ 'VEGF': 'VEGFA',
289
+ }
290
+ normalized = alias_map.get(gene_symbol.upper(), gene_symbol)
291
+
292
+ # MyGene resolution
293
+ result = tu.tools.MyGene_query_genes(query=normalized, species='human')
294
+ hits = result.get('hits', [])
295
+
296
+ gene_hit = None
297
+ for hit in hits:
298
+ if hit.get('symbol', '').upper() == normalized.upper():
299
+ gene_hit = hit
300
+ break
301
+ if not gene_hit and hits:
302
+ gene_hit = hits[0]
303
+
304
+ if gene_hit:
305
+ ensembl = gene_hit.get('ensembl', {})
306
+ ensembl_id = ensembl.get('gene') if isinstance(ensembl, dict) else (ensembl[0].get('gene') if isinstance(ensembl, list) and ensembl else None)
307
+ return {
308
+ 'symbol': gene_hit.get('symbol'),
309
+ 'entrez_id': gene_hit.get('entrezgene'),
310
+ 'ensembl_id': ensembl_id,
311
+ 'name': gene_hit.get('name'),
312
+ 'original_input': gene_symbol
313
+ }
314
+
315
+ return {'symbol': gene_symbol, 'entrez_id': None, 'ensembl_id': None, 'name': None, 'original_input': gene_symbol}
316
+ ```
317
+
318
+ ### 1.3 Biomarker Actionability Classification
319
+
320
+ Classify each biomarker using FDA pharmacogenomic biomarkers list:
321
+
322
+ ```python
323
+ def classify_biomarker_actionability(tu, gene_symbol, alteration):
324
+ """Classify biomarker as FDA-approved, guideline, or investigational."""
325
+ # Check FDA pharmacogenomic biomarkers
326
+ fda_result = tu.tools.fda_pharmacogenomic_biomarkers()
327
+ fda_biomarkers = fda_result.get('results', [])
328
+
329
+ fda_match = [b for b in fda_biomarkers if gene_symbol.upper() in str(b.get('Biomarker', '')).upper()]
330
+
331
+ if fda_match:
332
+ return {
333
+ 'level': 'FDA-approved',
334
+ 'drugs': [b.get('Drug') for b in fda_match],
335
+ 'labeling_sections': [b.get('LabelingSection') for b in fda_match]
336
+ }
337
+
338
+ # Check OpenTargets for drugs targeting this gene
339
+ # (done in Phase 5)
340
+
341
+ return {'level': 'investigational', 'drugs': [], 'labeling_sections': []}
342
+ ```
343
+
344
+ ### 1.4 Parse Molecular Alterations
345
+
346
+ ```python
347
+ def parse_biomarker(biomarker_text):
348
+ """Parse free-text biomarker into structured components."""
349
+ import re
350
+
351
+ # Pattern: "GENE VARIANT" (e.g., "EGFR L858R")
352
+ mutation_match = re.match(r'(\w+)\s+([A-Z]\d+[A-Z])', biomarker_text, re.IGNORECASE)
353
+ if mutation_match:
354
+ return {'gene': mutation_match.group(1), 'alteration': mutation_match.group(2), 'type': 'mutation'}
355
+
356
+ # Pattern: "GENE exon N deletion/insertion"
357
+ exon_match = re.match(r'(\w+)\s+exon\s+(\d+)\s+(\w+)', biomarker_text, re.IGNORECASE)
358
+ if exon_match:
359
+ return {'gene': exon_match.group(1), 'alteration': f'exon {exon_match.group(2)} {exon_match.group(3)}', 'type': 'exon_alteration'}
360
+
361
+ # Pattern: "GENE1-GENE2 fusion" or "GENE1/GENE2"
362
+ fusion_match = re.match(r'(\w+)[-/](\w+)\s*(fusion)?', biomarker_text, re.IGNORECASE)
363
+ if fusion_match:
364
+ return {'gene': fusion_match.group(2), 'alteration': f'{fusion_match.group(1)}-{fusion_match.group(2)}', 'type': 'fusion', 'partner': fusion_match.group(1)}
365
+
366
+ # Pattern: "GENE amplification"
367
+ amp_match = re.match(r'(\w+)\s+amplification', biomarker_text, re.IGNORECASE)
368
+ if amp_match:
369
+ return {'gene': amp_match.group(1), 'alteration': 'amplification', 'type': 'amplification'}
370
+
371
+ # Pattern: "PD-L1 XX%"
372
+ expression_match = re.match(r'([\w-]+)\s+(\d+%|high|low|positive|negative)', biomarker_text, re.IGNORECASE)
373
+ if expression_match:
374
+ return {'gene': expression_match.group(1), 'alteration': expression_match.group(2), 'type': 'expression'}
375
+
376
+ # Pattern: "MSI-high", "TMB-high"
377
+ status_match = re.match(r'(MSI|TMB|dMMR|MMR)[-\s]*(high|low|stable|deficient|proficient)', biomarker_text, re.IGNORECASE)
378
+ if status_match:
379
+ return {'gene': status_match.group(1), 'alteration': status_match.group(2), 'type': 'status'}
380
+
381
+ # Fallback: treat as gene name
382
+ return {'gene': biomarker_text.split()[0], 'alteration': ' '.join(biomarker_text.split()[1:]), 'type': 'unknown'}
383
+ ```
384
+
385
+ ---
386
+
387
+ ## Phase 2: Broad Trial Discovery
388
+
389
+ **Goal**: Cast a wide net to find all potentially relevant clinical trials.
390
+
391
+ ### 2.1 Disease-Based Trial Search
392
+
393
+ ```python
394
+ def search_trials_by_disease(tu, disease_name, status_filter=None, phase_filter=None, page_size=20):
395
+ """Search ClinicalTrials.gov by disease/condition."""
396
+ query_parts = []
397
+ if status_filter:
398
+ query_parts.append(f'AREA[OverallStatus]{status_filter}')
399
+ if phase_filter:
400
+ query_parts.append(phase_filter)
401
+
402
+ query_term = ' AND '.join(query_parts) if query_parts else disease_name
403
+
404
+ result = tu.tools.search_clinical_trials(
405
+ condition=disease_name,
406
+ query_term=query_term if query_parts else disease_name,
407
+ pageSize=page_size
408
+ )
409
+
410
+ # Response: {studies: [{NCT ID, brief_title, brief_summary, overall_status, condition, phase}], nextPageToken, total_count}
411
+ if isinstance(result, str):
412
+ return [] # No studies found
413
+
414
+ return result.get('studies', [])
415
+ ```
416
+
417
+ ### 2.2 Biomarker-Specific Trial Search
418
+
419
+ ```python
420
+ def search_trials_by_biomarker(tu, gene_symbol, alteration, disease_name=None, page_size=15):
421
+ """Search trials mentioning specific biomarkers."""
422
+ # Search 1: Gene + alteration
423
+ biomarker_query = f'{gene_symbol} {alteration}' if alteration else gene_symbol
424
+
425
+ result = tu.tools.search_clinical_trials(
426
+ condition=disease_name if disease_name else '',
427
+ query_term=biomarker_query,
428
+ pageSize=page_size
429
+ )
430
+
431
+ if isinstance(result, str):
432
+ return []
433
+
434
+ return result.get('studies', [])
435
+ ```
436
+
437
+ ### 2.3 Intervention-Based Trial Search
438
+
439
+ ```python
440
+ def search_trials_by_intervention(tu, drug_name, disease_name=None, page_size=10):
441
+ """Search trials by intervention/drug name."""
442
+ result = tu.tools.search_clinical_trials(
443
+ condition=disease_name if disease_name else '',
444
+ intervention=drug_name,
445
+ query_term=drug_name,
446
+ pageSize=page_size
447
+ )
448
+
449
+ if isinstance(result, str):
450
+ return []
451
+
452
+ return result.get('studies', [])
453
+ ```
454
+
455
+ ### 2.4 Alternative Search (clinical_trials_search)
456
+
457
+ Use as a complement to the main search:
458
+
459
+ ```python
460
+ def search_trials_alternative(tu, condition, intervention=None, limit=10):
461
+ """Alternative trial search with different API endpoint."""
462
+ params = {
463
+ 'action': 'search_studies',
464
+ 'condition': condition,
465
+ 'limit': limit
466
+ }
467
+ if intervention:
468
+ params['intervention'] = intervention
469
+
470
+ result = tu.tools.clinical_trials_search(**params)
471
+
472
+ return result.get('studies', [])
473
+ ```
474
+
475
+ ### 2.5 Deduplication
476
+
477
+ ```python
478
+ def deduplicate_trials(trial_lists):
479
+ """Merge and deduplicate trials from multiple searches."""
480
+ seen_ncts = set()
481
+ unique_trials = []
482
+
483
+ for trials in trial_lists:
484
+ for trial in trials:
485
+ nct = trial.get('NCT ID') or trial.get('nctId', '')
486
+ if nct and nct not in seen_ncts:
487
+ seen_ncts.add(nct)
488
+ unique_trials.append(trial)
489
+
490
+ return unique_trials
491
+ ```
492
+
493
+ ---
494
+
495
+ ## Phase 3: Trial Characterization
496
+
497
+ **Goal**: Get detailed information for the top candidate trials.
498
+
499
+ ### 3.1 Get Eligibility Criteria (Batch)
500
+
501
+ ```python
502
+ def get_trial_eligibility(tu, nct_ids):
503
+ """Get eligibility criteria for multiple trials."""
504
+ # Process in batches of 10
505
+ all_criteria = []
506
+ for i in range(0, len(nct_ids), 10):
507
+ batch = nct_ids[i:i+10]
508
+ result = tu.tools.get_clinical_trial_eligibility_criteria(
509
+ nct_ids=batch,
510
+ eligibility_criteria='all'
511
+ )
512
+ if isinstance(result, list):
513
+ all_criteria.extend(result)
514
+
515
+ return all_criteria
516
+ # Returns: [{NCT ID, eligibility_criteria: "Inclusion Criteria:\n...\nExclusion Criteria:\n..."}]
517
+ ```
518
+
519
+ ### 3.2 Get Conditions and Interventions (Batch)
520
+
521
+ ```python
522
+ def get_trial_interventions(tu, nct_ids):
523
+ """Get conditions, arm groups, and interventions for multiple trials."""
524
+ all_interventions = []
525
+ for i in range(0, len(nct_ids), 10):
526
+ batch = nct_ids[i:i+10]
527
+ result = tu.tools.get_clinical_trial_conditions_and_interventions(
528
+ nct_ids=batch,
529
+ condition_and_intervention='all'
530
+ )
531
+ if isinstance(result, list):
532
+ all_interventions.extend(result)
533
+
534
+ return all_interventions
535
+ # Returns: [{NCT ID, condition, arm_groups: [{label, type, description, interventionNames}], interventions: [{type, name, description}]}]
536
+ ```
537
+
538
+ ### 3.3 Get Locations (Batch)
539
+
540
+ ```python
541
+ def get_trial_locations(tu, nct_ids):
542
+ """Get trial site locations."""
543
+ all_locations = []
544
+ for i in range(0, len(nct_ids), 10):
545
+ batch = nct_ids[i:i+10]
546
+ result = tu.tools.get_clinical_trial_locations(
547
+ nct_ids=batch,
548
+ location='all'
549
+ )
550
+ if isinstance(result, list):
551
+ all_locations.extend(result)
552
+
553
+ return all_locations
554
+ # Returns: [{NCT ID, locations: [{facility, city, state, country}]}]
555
+ ```
556
+
557
+ ### 3.4 Get Status and Dates (Batch)
558
+
559
+ ```python
560
+ def get_trial_status(tu, nct_ids):
561
+ """Get enrollment status and key dates."""
562
+ all_status = []
563
+ for i in range(0, len(nct_ids), 10):
564
+ batch = nct_ids[i:i+10]
565
+ result = tu.tools.get_clinical_trial_status_and_dates(
566
+ nct_ids=batch,
567
+ status_and_date='all'
568
+ )
569
+ if isinstance(result, list):
570
+ all_status.extend(result)
571
+
572
+ return all_status
573
+ # Returns: [{NCT ID, overall_status, start_date, primary_completion_date, completion_date}]
574
+ ```
575
+
576
+ ### 3.5 Get Full Descriptions (Batch)
577
+
578
+ ```python
579
+ def get_trial_descriptions(tu, nct_ids):
580
+ """Get detailed trial descriptions."""
581
+ all_descriptions = []
582
+ for i in range(0, len(nct_ids), 10):
583
+ batch = nct_ids[i:i+10]
584
+ result = tu.tools.get_clinical_trial_descriptions(
585
+ nct_ids=batch,
586
+ description_type='full'
587
+ )
588
+ if isinstance(result, list):
589
+ all_descriptions.extend(result)
590
+
591
+ return all_descriptions
592
+ # Returns: [{NCT ID, brief_title, official_title, brief_summary, detailed_description}]
593
+ ```
594
+
595
+ ---
596
+
597
+ ## Phase 4: Molecular Eligibility Matching
598
+
599
+ **Goal**: Determine how well the patient's molecular profile matches each trial's requirements.
600
+
601
+ ### 4.1 Parse Eligibility Text for Biomarker Requirements
602
+
603
+ ```python
604
+ def extract_biomarker_requirements(eligibility_text):
605
+ """Extract biomarker requirements from eligibility criteria text."""
606
+ import re
607
+
608
+ requirements = {
609
+ 'required_biomarkers': [],
610
+ 'excluded_biomarkers': [],
611
+ 'biomarker_agnostic': False
612
+ }
613
+
614
+ if not eligibility_text:
615
+ return requirements
616
+
617
+ text_upper = eligibility_text.upper()
618
+
619
+ # Common biomarker patterns in eligibility text
620
+ # Required biomarkers (in inclusion criteria)
621
+ inclusion_section = eligibility_text.split('Exclusion Criteria')[0] if 'Exclusion Criteria' in eligibility_text else eligibility_text
622
+ exclusion_section = eligibility_text.split('Exclusion Criteria')[1] if 'Exclusion Criteria' in eligibility_text else ''
623
+
624
+ # Look for gene mutation requirements
625
+ gene_patterns = [
626
+ r'(?:EGFR|KRAS|BRAF|ALK|ROS1|RET|MET|NTRK|HER2|ERBB2|PIK3CA|BRCA|PD-?L1|MSI|TMB|dMMR)',
627
+ ]
628
+
629
+ for pattern in gene_patterns:
630
+ # In inclusion section
631
+ for match in re.finditer(pattern, inclusion_section, re.IGNORECASE):
632
+ gene = match.group(0).upper()
633
+ context = inclusion_section[max(0, match.start()-100):match.end()+100]
634
+ requirements['required_biomarkers'].append({
635
+ 'gene': gene,
636
+ 'context': context.strip()
637
+ })
638
+
639
+ # In exclusion section
640
+ for match in re.finditer(pattern, exclusion_section, re.IGNORECASE):
641
+ gene = match.group(0).upper()
642
+ context = exclusion_section[max(0, match.start()-100):match.end()+100]
643
+ requirements['excluded_biomarkers'].append({
644
+ 'gene': gene,
645
+ 'context': context.strip()
646
+ })
647
+
648
+ # Check for biomarker-agnostic / basket trial language
649
+ basket_terms = ['tumor-agnostic', 'histology-independent', 'basket', 'any solid tumor', 'all comers', 'biomarker-selected']
650
+ if any(term in text_upper.lower() for term in basket_terms):
651
+ requirements['biomarker_agnostic'] = True
652
+
653
+ return requirements
654
+ ```
655
+
656
+ ### 4.2 Score Molecular Match
657
+
658
+ ```python
659
+ def score_molecular_match(patient_biomarkers, trial_requirements):
660
+ """Score molecular match between patient and trial (0-40 points)."""
661
+ if not trial_requirements['required_biomarkers'] and not trial_requirements['excluded_biomarkers']:
662
+ # No molecular criteria - could be open to any
663
+ return 10, 'No specific molecular criteria (general trial)'
664
+
665
+ patient_genes = {b['gene'].upper() for b in patient_biomarkers}
666
+ required_genes = {b['gene'].upper() for b in trial_requirements['required_biomarkers']}
667
+ excluded_genes = {b['gene'].upper() for b in trial_requirements['excluded_biomarkers']}
668
+
669
+ # Check exclusions first
670
+ excluded_match = patient_genes & excluded_genes
671
+ if excluded_match:
672
+ return 0, f'Patient biomarker(s) {excluded_match} are in exclusion criteria'
673
+
674
+ if not required_genes:
675
+ return 10, 'No specific biomarker requirements found'
676
+
677
+ # Check for exact gene match
678
+ matched_genes = patient_genes & required_genes
679
+ if matched_genes:
680
+ # Check for specific variant match
681
+ # Look for specific mutation mentions in context
682
+ exact_variant_match = False
683
+ for req in trial_requirements['required_biomarkers']:
684
+ for pb in patient_biomarkers:
685
+ if pb['gene'].upper() == req['gene'].upper():
686
+ alt = pb.get('alteration', '').upper()
687
+ if alt and alt in req.get('context', '').upper():
688
+ exact_variant_match = True
689
+ break
690
+
691
+ if exact_variant_match:
692
+ return 40, f'Exact biomarker match: {matched_genes} with specific variant'
693
+ else:
694
+ return 30, f'Gene-level match: {matched_genes} (specific variant match unclear)'
695
+
696
+ # Check for pathway-level match (e.g., trial targets EGFR pathway, patient has EGFR mutation)
697
+ # This requires domain knowledge mapping
698
+ return 5, 'No direct biomarker match found'
699
+ ```
700
+
701
+ ---
702
+
703
+ ## Phase 5: Drug-Biomarker Alignment
704
+
705
+ **Goal**: Verify that trial drugs actually target the patient's biomarkers.
706
+
707
+ ### 5.1 Identify Trial Drugs and Mechanisms
708
+
709
+ ```python
710
+ def get_drug_mechanism_info(tu, drug_name):
711
+ """Get drug mechanism, targets, and approval status."""
712
+ # Step 1: Resolve drug in OpenTargets
713
+ result = tu.tools.OpenTargets_get_drug_id_description_by_name(drugName=drug_name)
714
+ hits = result.get('data', {}).get('search', {}).get('hits', [])
715
+
716
+ if not hits:
717
+ return {'drug_name': drug_name, 'chembl_id': None, 'mechanisms': [], 'is_approved': False}
718
+
719
+ drug_info = hits[0]
720
+ chembl_id = drug_info.get('id')
721
+
722
+ # Step 2: Get mechanisms of action
723
+ moa_result = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(chemblId=chembl_id)
724
+ moa_rows = moa_result.get('data', {}).get('drug', {}).get('mechanismsOfAction', {}).get('rows', [])
725
+
726
+ mechanisms = []
727
+ for row in moa_rows:
728
+ targets = row.get('targets', [])
729
+ mechanisms.append({
730
+ 'mechanism': row.get('mechanismOfAction'),
731
+ 'action_type': row.get('actionType'),
732
+ 'target_name': row.get('targetName'),
733
+ 'target_genes': [t.get('approvedSymbol') for t in targets]
734
+ })
735
+
736
+ # Step 3: Check approval
737
+ approval_result = tu.tools.OpenTargets_get_drug_approval_status_by_chemblId(chemblId=chembl_id)
738
+
739
+ return {
740
+ 'drug_name': drug_name,
741
+ 'chembl_id': chembl_id,
742
+ 'description': drug_info.get('description'),
743
+ 'mechanisms': mechanisms,
744
+ 'is_approved': 'approved' in drug_info.get('description', '').lower()
745
+ }
746
+ ```
747
+
748
+ ### 5.2 Score Drug-Biomarker Alignment
749
+
750
+ ```python
751
+ def score_drug_biomarker_alignment(patient_gene_symbols, drug_mechanisms):
752
+ """Check if trial drug targets patient's biomarkers."""
753
+ patient_genes_upper = {g.upper() for g in patient_gene_symbols}
754
+
755
+ for mech in drug_mechanisms:
756
+ target_genes = {g.upper() for g in mech.get('target_genes', [])}
757
+ if patient_genes_upper & target_genes:
758
+ return True, f"Drug targets {patient_genes_upper & target_genes} via {mech.get('mechanism')}"
759
+
760
+ return False, "No direct target overlap with patient biomarkers"
761
+ ```
762
+
763
+ ---
764
+
765
+ ## Phase 6: Evidence Assessment
766
+
767
+ **Goal**: Assess evidence strength for drug efficacy in similar patient populations.
768
+
769
+ ### 6.1 FDA Approval Evidence
770
+
771
+ ```python
772
+ def check_fda_approval(tu, drug_name, disease_name):
773
+ """Check FDA approval status and labeled indications."""
774
+ result = tu.tools.FDA_get_indications_by_drug_name(drug_name=drug_name, limit=3)
775
+
776
+ indications = result.get('results', [])
777
+ for ind in indications:
778
+ ind_text = str(ind.get('indications_and_usage', ''))
779
+ # Check if disease is mentioned in indications
780
+ if any(term.lower() in ind_text.lower() for term in disease_name.split()):
781
+ return {
782
+ 'approved': True,
783
+ 'indication_text': ind_text[:500],
784
+ 'brand_name': ind.get('openfda.brand_name', []),
785
+ 'evidence_tier': 'T1'
786
+ }
787
+
788
+ return {'approved': False, 'indication_text': '', 'brand_name': [], 'evidence_tier': 'T3'}
789
+ ```
790
+
791
+ ### 6.2 Literature Evidence
792
+
793
+ ```python
794
+ def get_literature_evidence(tu, gene, alteration, drug_name, disease_name):
795
+ """Search PubMed for evidence of drug efficacy for this biomarker."""
796
+ query = f'{gene} {alteration} {drug_name} {disease_name} clinical trial'
797
+ result = tu.tools.PubMed_search_articles(query=query, max_results=5)
798
+
799
+ articles = result if isinstance(result, list) else result.get('articles', [])
800
+ return articles
801
+ ```
802
+
803
+ ### 6.3 CIViC Evidence (if available)
804
+
805
+ ```python
806
+ def get_civic_evidence(tu, gene_symbol, civic_gene_id):
807
+ """Get CIViC clinical evidence for gene variants."""
808
+ if not civic_gene_id:
809
+ return []
810
+
811
+ result = tu.tools.civic_get_variants_by_gene(gene_id=civic_gene_id, limit=100)
812
+ variants = result.get('data', {}).get('gene', {}).get('variants', {}).get('nodes', [])
813
+ return variants
814
+ ```
815
+
816
+ ### 6.4 Evidence Tier Classification
817
+
818
+ | Tier | Symbol | Criteria | Score Impact |
819
+ |------|--------|----------|-------------|
820
+ | **T1** | [T1] | FDA-approved biomarker-drug, NCCN guideline | 20 points |
821
+ | **T2** | [T2] | Phase III positive, clinical evidence | 15 points |
822
+ | **T3** | [T3] | Phase I/II results, preclinical | 10 points |
823
+ | **T4** | [T4] | Computational, mechanism inference | 5 points |
824
+
825
+ ---
826
+
827
+ ## Phase 7: Geographic & Feasibility Analysis
828
+
829
+ **Goal**: Assess practical feasibility of trial enrollment.
830
+
831
+ ### 7.1 Location Analysis
832
+
833
+ ```python
834
+ def analyze_trial_locations(locations_data, patient_location=None):
835
+ """Analyze trial site locations and proximity."""
836
+ if not locations_data:
837
+ return {'total_sites': 0, 'countries': [], 'us_states': [], 'nearest': None}
838
+
839
+ locations = locations_data.get('locations', [])
840
+ countries = list(set(loc.get('country', '') for loc in locations if loc.get('country')))
841
+ us_states = list(set(loc.get('state', '') for loc in locations if loc.get('country') == 'United States' and loc.get('state')))
842
+
843
+ return {
844
+ 'total_sites': len(locations),
845
+ 'countries': countries,
846
+ 'us_states': us_states,
847
+ 'has_us_sites': 'United States' in countries,
848
+ 'locations': locations[:10] # First 10 for display
849
+ }
850
+ ```
851
+
852
+ ### 7.2 Geographic Scoring
853
+
854
+ | Criterion | Points |
855
+ |-----------|--------|
856
+ | Trial sites in patient's state/city | 5 |
857
+ | Trial sites within 100 miles | 3 |
858
+ | Trial sites in same country | 1 |
859
+ | No location info or far away | 0 |
860
+
861
+ ---
862
+
863
+ ## Phase 8: Alternative Options
864
+
865
+ **Goal**: Identify basket trials, expanded access, and related studies.
866
+
867
+ ### 8.1 Basket Trial Search
868
+
869
+ **IMPORTANT**: ClinicalTrials.gov search is sensitive to query complexity. Overly specific queries like "NTRK fusion tumor agnostic" may return zero results. Use simpler queries and combine results.
870
+
871
+ ```python
872
+ def search_basket_trials(tu, biomarker, page_size=10):
873
+ """Search for basket/biomarker-driven trials.
874
+
875
+ NOTE: Use simpler queries first (e.g., 'NTRK solid tumor'),
876
+ then more specific ones. Complex multi-word queries often fail.
877
+ """
878
+ # Start with simpler queries (more likely to return results)
879
+ query_terms = [
880
+ f'{biomarker} solid tumor',
881
+ f'{biomarker}',
882
+ f'{biomarker} basket',
883
+ ]
884
+
885
+ all_trials = []
886
+ for query in query_terms:
887
+ result = tu.tools.search_clinical_trials(
888
+ query_term=query,
889
+ pageSize=page_size
890
+ )
891
+ if not isinstance(result, str):
892
+ all_trials.extend(result.get('studies', []))
893
+
894
+ return deduplicate_trials([all_trials])
895
+ ```
896
+
897
+ ### 8.2 Expanded Access Search
898
+
899
+ ```python
900
+ def search_expanded_access(tu, drug_name):
901
+ """Search for expanded access / compassionate use programs."""
902
+ result = tu.tools.search_clinical_trials(
903
+ query_term=f'{drug_name} expanded access',
904
+ pageSize=5
905
+ )
906
+
907
+ if isinstance(result, str):
908
+ return []
909
+
910
+ return result.get('studies', [])
911
+ ```
912
+
913
+ ---
914
+
915
+ ## Phase 9: Trial Match Scoring System
916
+
917
+ ### Score Components (Total: 0-100)
918
+
919
+ **Molecular Match** (0-40 points):
920
+ | Criterion | Points | Description |
921
+ |-----------|--------|-------------|
922
+ | Exact biomarker match | 40 | Trial requires patient's specific variant |
923
+ | Gene-level match | 30 | Trial requires gene mutation, patient has specific variant |
924
+ | Pathway match | 20 | Trial targets same pathway as patient's biomarker |
925
+ | No molecular criteria | 10 | General disease trial |
926
+ | Excluded biomarker | 0 | Patient's biomarker is in exclusion criteria |
927
+
928
+ **Clinical Eligibility** (0-25 points):
929
+ | Criterion | Points | Description |
930
+ |-----------|--------|-------------|
931
+ | All criteria met | 25 | Disease, stage, prior treatment all match |
932
+ | Most criteria met | 18 | 1-2 criteria unclear |
933
+ | Some criteria met | 10 | Several criteria unclear |
934
+ | Clearly ineligible | 0 | Fails major criterion |
935
+
936
+ **Evidence Strength** (0-20 points):
937
+ | Criterion | Points | Description |
938
+ |-----------|--------|-------------|
939
+ | FDA-approved combination | 20 | T1 evidence |
940
+ | Phase III positive | 15 | T2 evidence |
941
+ | Phase II promising | 10 | T3 evidence |
942
+ | Phase I or no results | 5 | T4 evidence |
943
+
944
+ **Trial Phase** (0-10 points):
945
+ | Phase | Points |
946
+ |-------|--------|
947
+ | Phase III | 10 |
948
+ | Phase II | 8 |
949
+ | Phase I/II | 6 |
950
+ | Phase I | 4 |
951
+
952
+ **Geographic Feasibility** (0-5 points):
953
+ | Criterion | Points |
954
+ |-----------|--------|
955
+ | Patient's city/state | 5 |
956
+ | Same country | 3 |
957
+ | International only | 1 |
958
+ | Unknown | 0 |
959
+
960
+ ### Recommendation Tiers
961
+
962
+ | Score | Tier | Label | Action |
963
+ |-------|------|-------|--------|
964
+ | **80-100** | Tier 1 | Optimal Match | Strongly recommend - contact site immediately |
965
+ | **60-79** | Tier 2 | Good Match | Recommend - discuss with care team |
966
+ | **40-59** | Tier 3 | Possible Match | Consider - needs further eligibility review |
967
+ | **0-39** | Tier 4 | Exploratory | Backup option - consider if Tier 1-3 unavailable |
968
+
969
+ ---
970
+
971
+ ## Phase 10: Report Synthesis
972
+
973
+ ### Report Template
974
+
975
+ The final report should follow this structure:
976
+
977
+ ```markdown
978
+ # Clinical Trial Matching Report
979
+
980
+ **Patient**: [Disease type] with [biomarker(s)]
981
+ **Date**: [Current date]
982
+ **Trials Analyzed**: [N total] | **Top Matches**: [N with score >= 60]
983
+
984
+ ---
985
+
986
+ ## Executive Summary
987
+
988
+ **Top 3 Trial Recommendations**:
989
+
990
+ 1. **[NCT ID]** - [Brief title] (Score: XX/100, Tier N)
991
+ - Phase: [Phase], Status: [Status]
992
+ - Why: [Key reason for match]
993
+
994
+ 2. **[NCT ID]** - [Brief title] (Score: XX/100, Tier N)
995
+ ...
996
+
997
+ 3. **[NCT ID]** - [Brief title] (Score: XX/100, Tier N)
998
+ ...
999
+
1000
+ ---
1001
+
1002
+ ## Patient Profile Summary
1003
+
1004
+ | Parameter | Value | Standardized |
1005
+ |-----------|-------|-------------|
1006
+ | Disease | [input] | [EFO name] (EFO_XXXX) |
1007
+ | Biomarker(s) | [input] | [gene: variant, type] |
1008
+ | Stage | [input] | [standardized] |
1009
+ | Prior Treatment | [input] | [standardized] |
1010
+ | Performance Status | [input] | [ECOG score] |
1011
+ | Location | [input] | [city, state] |
1012
+
1013
+ ### Biomarker Actionability
1014
+ | Biomarker | Actionability Level | FDA-Approved Drugs | Evidence |
1015
+ |-----------|--------------------|--------------------|----------|
1016
+ | [gene variant] | [FDA-approved/investigational] | [drugs] | [T1/T2/T3/T4] |
1017
+
1018
+ ---
1019
+
1020
+ ## Ranked Trial Matches
1021
+
1022
+ ### Trial 1: [NCT ID] - [Title]
1023
+
1024
+ **Trial Match Score: XX/100** (Tier N: [Label])
1025
+
1026
+ | Component | Score | Details |
1027
+ |-----------|-------|---------|
1028
+ | Molecular Match | XX/40 | [explanation] |
1029
+ | Clinical Eligibility | XX/25 | [explanation] |
1030
+ | Evidence Strength | XX/20 | [explanation] |
1031
+ | Trial Phase | XX/10 | [phase] |
1032
+ | Geographic | XX/5 | [location info] |
1033
+
1034
+ **Trial Details**:
1035
+ - **Phase**: [Phase]
1036
+ - **Status**: [Recruiting/Active/etc.]
1037
+ - **Sponsor**: [Sponsor]
1038
+ - **Start Date**: [Date]
1039
+ - **Estimated Completion**: [Date]
1040
+
1041
+ **Interventions**:
1042
+ - [Drug name]: [Mechanism] | [Dosing info if available]
1043
+ - [Comparator]: [Description]
1044
+
1045
+ **Molecular Eligibility Match**:
1046
+ - Required biomarkers: [list]
1047
+ - Patient match: [Exact/Gene-level/Pathway/None]
1048
+ - Notes: [details]
1049
+
1050
+ **Clinical Eligibility Assessment**:
1051
+ - Disease type: [Match/Mismatch]
1052
+ - Stage: [Match/Mismatch/Unclear]
1053
+ - Prior treatment: [Match/Mismatch/Unclear]
1054
+ - Performance status: [Match/Mismatch/Unclear]
1055
+
1056
+ **Evidence for Efficacy**:
1057
+ - FDA approval: [Yes/No for this indication]
1058
+ - Clinical results: [Phase III/II/I data if available]
1059
+ - Mechanism alignment: [Drug targets patient's biomarker: Yes/No]
1060
+ - Literature: [Key references]
1061
+
1062
+ **Trial Sites** (first 5):
1063
+ - [City, State, Country]
1064
+ - ...
1065
+
1066
+ **Next Steps**: [Contact info, enrollment instructions]
1067
+
1068
+ [Repeat for each matched trial]
1069
+
1070
+ ---
1071
+
1072
+ ## Trials by Category
1073
+
1074
+ ### Targeted Therapy Trials
1075
+ [List trials with targeted agents matching patient's biomarkers]
1076
+
1077
+ ### Immunotherapy Trials
1078
+ [List immunotherapy trials, noting PD-L1/TMB/MSI requirements]
1079
+
1080
+ ### Combination Therapy Trials
1081
+ [List trials with drug combinations]
1082
+
1083
+ ### Basket/Platform Trials
1084
+ [List biomarker-agnostic or multi-arm trials]
1085
+
1086
+ ---
1087
+
1088
+ ## Additional Testing Recommendations
1089
+
1090
+ If the patient has not been tested for certain biomarkers, these trials would become relevant:
1091
+
1092
+ | Biomarker | Test Needed | Trials Unlocked | Priority |
1093
+ |-----------|-------------|----------------|----------|
1094
+ | [e.g., TMB] | [NGS panel] | [NCT IDs] | [High/Medium/Low] |
1095
+
1096
+ ---
1097
+
1098
+ ## Alternative Options
1099
+
1100
+ ### Expanded Access Programs
1101
+ [List any expanded access or compassionate use programs]
1102
+
1103
+ ### Off-Label Options
1104
+ [FDA-approved drugs for other indications with same biomarker]
1105
+
1106
+ ---
1107
+
1108
+ ## Evidence Grading Summary
1109
+
1110
+ | Evidence Tier | Count | Description |
1111
+ |--------------|-------|-------------|
1112
+ | T1 (FDA/Guideline) | N | FDA-approved biomarker-drug, clinical guideline |
1113
+ | T2 (Clinical) | N | Phase III data, robust clinical evidence |
1114
+ | T3 (Emerging) | N | Phase I/II, preclinical evidence |
1115
+ | T4 (Exploratory) | N | Computational, mechanism inference |
1116
+
1117
+ ---
1118
+
1119
+ ## Completeness Checklist
1120
+
1121
+ | Analysis Step | Status | Source |
1122
+ |--------------|--------|--------|
1123
+ | Disease standardization | [Done/Partial/Failed] | [OpenTargets/OLS] |
1124
+ | Gene resolution | [Done/Partial/Failed] | [MyGene] |
1125
+ | Biomarker actionability | [Done/Partial/Failed] | [FDA biomarkers] |
1126
+ | Disease trial search | [Done/Partial/Failed] | [ClinicalTrials.gov] |
1127
+ | Biomarker trial search | [Done/Partial/Failed] | [ClinicalTrials.gov] |
1128
+ | Intervention trial search | [Done/Partial/Failed] | [ClinicalTrials.gov] |
1129
+ | Eligibility parsing | [Done/Partial/Failed] | [ClinicalTrials.gov] |
1130
+ | Drug mechanism analysis | [Done/Partial/Failed] | [OpenTargets/ChEMBL] |
1131
+ | Evidence assessment | [Done/Partial/Failed] | [FDA/PubMed/CIViC] |
1132
+ | Location analysis | [Done/Partial/Failed] | [ClinicalTrials.gov] |
1133
+ | Basket trial search | [Done/Partial/Failed] | [ClinicalTrials.gov] |
1134
+ | Expanded access search | [Done/Partial/Failed] | [ClinicalTrials.gov] |
1135
+ | Scoring & ranking | [Done/Partial/Failed] | [Composite] |
1136
+
1137
+ ---
1138
+
1139
+ ## Disclaimer
1140
+
1141
+ This report is for informational and research purposes only. Clinical trial eligibility is ultimately determined by the trial investigators based on complete medical records. Patients should discuss all options with their healthcare team. Trial availability and status may change; verify current status at [ClinicalTrials.gov](https://clinicaltrials.gov).
1142
+
1143
+ ## Sources
1144
+
1145
+ All data sourced from:
1146
+ - ClinicalTrials.gov (trial search, eligibility, locations, status)
1147
+ - OpenTargets Platform (drug-target associations, disease ontology)
1148
+ - CIViC (clinical variant interpretations)
1149
+ - ChEMBL (drug mechanisms, targets)
1150
+ - FDA (approved indications, pharmacogenomic biomarkers, drug labels)
1151
+ - DrugBank (drug targets, indications)
1152
+ - PharmGKB (pharmacogenomics)
1153
+ - PubMed/NCBI (literature evidence)
1154
+ - OLS/EFO (disease ontology)
1155
+ - MyGene (gene identifier resolution)
1156
+ ```
1157
+
1158
+ ---
1159
+
1160
+ ## Execution Strategy
1161
+
1162
+ ### Parallelization Opportunities
1163
+
1164
+ Many tool calls can be executed in parallel to speed up the workflow:
1165
+
1166
+ **Parallel Group 1** (Phase 1 - can all run simultaneously):
1167
+ - `MyGene_query_genes` for each gene
1168
+ - `OpenTargets_get_disease_id_description_by_name` for disease
1169
+ - `ols_search_efo_terms` for disease
1170
+ - `fda_pharmacogenomic_biomarkers` (no params)
1171
+
1172
+ **Parallel Group 2** (Phase 2 - can all run simultaneously):
1173
+ - `search_clinical_trials` with disease condition
1174
+ - `search_clinical_trials` with biomarker query
1175
+ - `search_clinical_trials` with intervention query
1176
+ - `clinical_trials_search` as alternative
1177
+
1178
+ **Parallel Group 3** (Phase 3 - can all run simultaneously):
1179
+ - `get_clinical_trial_eligibility_criteria` for all NCT IDs
1180
+ - `get_clinical_trial_conditions_and_interventions` for all NCT IDs
1181
+ - `get_clinical_trial_locations` for all NCT IDs
1182
+ - `get_clinical_trial_status_and_dates` for all NCT IDs
1183
+ - `get_clinical_trial_descriptions` for all NCT IDs
1184
+
1185
+ **Parallel Group 4** (Phases 5-6 - for each drug):
1186
+ - `OpenTargets_get_drug_id_description_by_name` for drug
1187
+ - `OpenTargets_get_drug_mechanisms_of_action_by_chemblId` for drug
1188
+ - `FDA_get_indications_by_drug_name` for drug
1189
+ - `PubMed_search_articles` for evidence
1190
+
1191
+ ### Error Handling
1192
+
1193
+ For each tool call:
1194
+ 1. Wrap in try/except
1195
+ 2. Check for empty results
1196
+ 3. Use fallback tools when primary fails
1197
+ 4. Document what failed in completeness checklist
1198
+ 5. Never let one failure block the entire analysis
1199
+
1200
+ ### Performance Optimization
1201
+
1202
+ - Batch NCT IDs in groups of 10 for detail tools
1203
+ - Limit initial search to 20-30 trials per search strategy
1204
+ - Focus detailed analysis on top 15-20 candidates after initial filtering
1205
+ - Cache gene/disease resolution results for reuse across phases
1206
+
1207
+ ---
1208
+
1209
+ ## Common Use Patterns
1210
+
1211
+ ### Pattern 1: Targeted Therapy Matching (Most Common)
1212
+
1213
+ **Input**: "NSCLC patient with EGFR L858R, failed platinum chemotherapy"
1214
+
1215
+ 1. Resolve: NSCLC -> EFO_0003060, EGFR -> ENSG00000146648
1216
+ 2. Search: "non-small cell lung cancer" + "EGFR mutation" + "EGFR L858R"
1217
+ 3. Filter: Recruiting trials with EGFR molecular requirements
1218
+ 4. Match: Score trials by EGFR L858R specificity
1219
+ 5. Drugs: Identify TKIs (osimertinib, erlotinib, etc.) in trial arms
1220
+ 6. Evidence: Check FDA approval of EGFR TKIs for NSCLC
1221
+ 7. Report: Prioritize targeted therapy trials, include immunotherapy options
1222
+
1223
+ ### Pattern 2: Immunotherapy Selection
1224
+
1225
+ **Input**: "Melanoma, TMB-high, PD-L1 positive, failed ipilimumab"
1226
+
1227
+ 1. Resolve: Melanoma -> EFO_0000756
1228
+ 2. Search: "melanoma" + "TMB" + "PD-L1" + "immunotherapy"
1229
+ 3. Filter: Trials requiring PD-L1 or TMB testing
1230
+ 4. Match: Score by TMB/PD-L1 requirements
1231
+ 5. Drugs: Identify checkpoint inhibitors (pembrolizumab, nivolumab)
1232
+ 6. Evidence: Check FDA approval for TMB-high indications
1233
+ 7. Report: Focus on anti-PD-1/PD-L1 trials, combination immunotherapy
1234
+
1235
+ ### Pattern 3: Basket Trial Identification
1236
+
1237
+ **Input**: "Any solid tumor with NTRK fusion"
1238
+
1239
+ 1. Resolve: NTRK genes (NTRK1, NTRK2, NTRK3)
1240
+ 2. Search: "NTRK fusion" + "tumor agnostic" + "basket"
1241
+ 3. Filter: Biomarker-agnostic trials
1242
+ 4. Match: Score by NTRK-specific inclusion criteria
1243
+ 5. Drugs: Identify larotrectinib, entrectinib
1244
+ 6. Evidence: FDA tissue-agnostic approval for larotrectinib
1245
+ 7. Report: Highlight tumor-agnostic approval, broad eligibility
1246
+
1247
+ ### Pattern 4: Post-Progression Options
1248
+
1249
+ **Input**: "Breast cancer, failed CDK4/6 inhibitors, ESR1 mutation"
1250
+
1251
+ 1. Resolve: Breast cancer -> EFO_0000305, ESR1 -> ENSG00000091831
1252
+ 2. Search: "breast cancer" + "ESR1" + "CDK4/6 resistance"
1253
+ 3. Filter: Trials for post-CDK4/6 setting
1254
+ 4. Match: Score by ESR1 mutation and prior treatment requirements
1255
+ 5. Drugs: Identify novel endocrine agents, SERDs, ESR1-targeting drugs
1256
+ 6. Evidence: Check clinical data for post-CDK4/6 options
1257
+ 7. Report: Focus on resistance-overcoming strategies
1258
+
1259
+ ### Pattern 5: Geographic Search
1260
+
1261
+ **Input**: "Lung cancer trials within 100 miles of Boston"
1262
+
1263
+ 1. Search: "lung cancer" (broad)
1264
+ 2. Get locations for all candidate trials
1265
+ 3. Filter: Sites in Massachusetts and nearby states
1266
+ 4. Score: High geographic feasibility for Boston-area sites
1267
+ 5. Report: Prioritize by proximity, include contact info
1268
+
1269
+ ---
1270
+
1271
+ ## Edge Case Handling
1272
+
1273
+ ### No Matching Trials Found
1274
+
1275
+ If no trials match the patient's biomarker:
1276
+ 1. Broaden search to gene-level (remove specific variant)
1277
+ 2. Search for pathway-level trials
1278
+ 3. Search basket trials
1279
+ 4. Suggest additional biomarker testing
1280
+ 5. Report alternative options (off-label, compassionate use)
1281
+
1282
+ ### Rare Biomarkers
1283
+
1284
+ For uncommon mutations (e.g., unusual EGFR variants):
1285
+ 1. Search gene-level trials (any EGFR mutation)
1286
+ 2. Search mechanism-level trials (TKI trials)
1287
+ 3. Check CIViC for any evidence on this specific variant
1288
+ 4. Note variant rarity in report
1289
+ 5. Suggest discussion with molecular tumor board
1290
+
1291
+ ### Multiple Biomarkers
1292
+
1293
+ For complex molecular profiles:
1294
+ 1. Search for each biomarker independently
1295
+ 2. Search for combination biomarker trials
1296
+ 3. Identify trials that require multiple biomarkers
1297
+ 4. Score based on most actionable biomarker
1298
+ 5. Flag potential synergistic drug targets
1299
+
1300
+ ### Conflicting Eligibility
1301
+
1302
+ When patient meets some criteria but not others:
1303
+ 1. Score partial match transparently
1304
+ 2. Highlight which criteria are met/unmet
1305
+ 3. Note if unmet criteria are waivable
1306
+ 4. Suggest contacting PI for edge cases
1307
+ 5. Provide alternative trials without conflicting criteria
1308
+
1309
+ ---
1310
+
1311
+ ## Known CIViC Gene IDs
1312
+
1313
+ For direct CIViC lookups without search:
1314
+
1315
+ | Gene | CIViC ID | Gene | CIViC ID |
1316
+ |------|----------|------|----------|
1317
+ | ALK | 1 | MET | 52 |
1318
+ | ABL1 | 4 | PIK3CA | 37 |
1319
+ | BRAF | 5 | ROS1 | 118 |
1320
+ | EGFR | 19 | RET | 122 |
1321
+ | ERBB2 | 20 | NTRK1 | 197 |
1322
+ | KRAS | 30 | NTRK2 | 560 |
1323
+ | TP53 | 45 | NTRK3 | 561 |
1324
+
1325
+ ---
1326
+
1327
+ ## Report File Naming Convention
1328
+
1329
+ Save reports as:
1330
+ ```
1331
+ clinical_trial_matching_[DISEASE]_[BIOMARKER]_[DATE].md
1332
+ ```
1333
+ Example: `clinical_trial_matching_NSCLC_EGFR_L858R_2026-02-15.md`