@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,1510 @@
1
+ ---
2
+ name: tooluniverse-target-research
3
+ description: Gather comprehensive biological target intelligence from 9 parallel research paths covering protein info, structure, interactions, pathways, expression, variants, drug interactions, and literature. Features collision-aware searches, evidence grading (T1-T4), explicit Open Targets coverage, and mandatory completeness auditing. Use when users ask about drug targets, proteins, genes, or need target validation, druggability assessment, or comprehensive target profiling.
4
+ ---
5
+
6
+ # Comprehensive Target Intelligence Gatherer
7
+
8
+ Gather complete target intelligence by exploring 9 parallel research paths. Supports targets identified by gene symbol, UniProt accession, Ensembl ID, or gene name.
9
+
10
+ **KEY PRINCIPLES**:
11
+ 1. **Report-first approach** - Create report file FIRST, then populate progressively
12
+ 2. **Tool parameter verification** - Verify params via `get_tool_info` before calling unfamiliar tools
13
+ 3. **Evidence grading** - Grade all claims by evidence strength (T1-T4)
14
+ 4. **Citation requirements** - Every fact must have inline source attribution
15
+ 5. **Mandatory completeness** - All sections must exist with data minimums or explicit "No data" notes
16
+ 6. **Disambiguation first** - Resolve all identifiers before research
17
+ 7. **Negative results documented** - "No drugs found" is data; empty sections are failures
18
+ 8. **Collision-aware literature search** - Detect and filter naming collisions
19
+ 9. **English-first queries** - Always use English terms in tool calls, even if the user writes in another language. Translate gene names, disease names, and search terms to English. Only try original-language terms as a fallback if English returns no results. Respond in the user's language
20
+
21
+ ---
22
+
23
+ ## Phase 0: Tool Parameter Verification (CRITICAL)
24
+
25
+ **BEFORE calling ANY tool for the first time**, verify its parameters:
26
+
27
+ ```python
28
+ # Always check tool params to prevent silent failures
29
+ tool_info = tu.tools.get_tool_info(tool_name="Reactome_map_uniprot_to_pathways")
30
+ # Reveals: takes `id` not `uniprot_id`
31
+ ```
32
+
33
+ ### Known Parameter Corrections (Updated)
34
+
35
+ | Tool | WRONG Parameter | CORRECT Parameter |
36
+ |------|-----------------|-------------------|
37
+ | `Reactome_map_uniprot_to_pathways` | `uniprot_id` | `id` |
38
+ | `ensembl_get_xrefs` | `gene_id` | `id` |
39
+ | `GTEx_get_median_gene_expression` | `gencode_id` only | `gencode_id` + `operation="median"` |
40
+ | `OpenTargets_*` | `ensemblID` | `ensemblId` (camelCase) |
41
+
42
+ ### GTEx Versioned ID Fallback (CRITICAL)
43
+
44
+ GTEx often requires versioned Ensembl IDs. If `ENSG00000123456` returns empty:
45
+
46
+ ```python
47
+ # Step 1: Get gene info with version
48
+ gene_info = tu.tools.ensembl_lookup_gene(id=ensembl_id, species="human")
49
+ version = gene_info.get('version', 1)
50
+
51
+ # Step 2: Try versioned ID
52
+ versioned_id = f"{ensembl_id}.{version}" # e.g., "ENSG00000123456.12"
53
+ result = tu.tools.GTEx_get_median_gene_expression(
54
+ gencode_id=versioned_id,
55
+ operation="median"
56
+ )
57
+ ```
58
+
59
+ ---
60
+
61
+ ## When to Use This Skill
62
+
63
+ Apply when users:
64
+ - Ask about a drug target, protein, or gene
65
+ - Need target validation or assessment
66
+ - Request druggability analysis
67
+ - Want comprehensive target profiling
68
+ - Ask "what do we know about [target]?"
69
+ - Need target-disease associations
70
+ - Request safety profile for a target
71
+
72
+ ---
73
+
74
+ ## Critical Workflow Requirements
75
+
76
+ ### 1. Report-First Approach (MANDATORY)
77
+
78
+ **DO NOT** show the search process or tool outputs to the user. Instead:
79
+
80
+ 1. **Create the report file FIRST** - Before any data collection:
81
+ - File name: `[TARGET]_target_report.md`
82
+ - Initialize with all 14 section headers
83
+ - Add placeholder: `[Researching...]` in each section
84
+
85
+ 2. **Progressively update the report** - As you gather data:
86
+ - Update each section immediately after retrieving data
87
+ - Replace `[Researching...]` with actual content
88
+ - Include "No data returned" when tools return empty results
89
+
90
+ 3. **Methodology in appendix only** - If user requests methodology details, create separate `[TARGET]_methods_appendix.md`
91
+
92
+ ### 2. Evidence Grading System (MANDATORY)
93
+
94
+ **CRITICAL**: Grade every claim by evidence strength.
95
+
96
+ #### Evidence Tiers
97
+
98
+ | Tier | Symbol | Criteria | Examples |
99
+ |------|--------|----------|----------|
100
+ | **T1** | ★★★ | Direct mechanistic evidence, human genetic proof | CRISPR KO, patient mutations, crystal structure with mechanism |
101
+ | **T2** | ★★☆ | Functional studies, model organism validation | siRNA phenotype, mouse KO, biochemical assay |
102
+ | **T3** | ★☆☆ | Association, screen hits, computational | GWAS hit, DepMap essentiality, expression correlation |
103
+ | **T4** | ☆☆☆ | Mention, review, text-mined, predicted | Review article, database annotation, computational prediction |
104
+
105
+ #### Required Evidence Grading Locations
106
+
107
+ Evidence grades MUST appear in:
108
+ 1. **Executive Summary** - Key disease claims graded
109
+ 2. **Section 8.2 Disease Associations** - Every disease link graded with source type
110
+ 3. **Section 11 Literature** - Key papers table with evidence tier
111
+ 4. **Section 13 Recommendations** - Scorecard items reference evidence quality
112
+
113
+ #### Per-Section Evidence Summary
114
+
115
+ ```markdown
116
+ ---
117
+ **Evidence Quality for this Section**: Strong
118
+ - Mechanistic (T1): 12 papers
119
+ - Functional (T2): 8 papers
120
+ - Association (T3): 15 papers
121
+ - Mention (T4): 23 papers
122
+ **Data Gaps**: No CRISPR data; mouse KO phenotypes limited
123
+ ---
124
+ ```
125
+
126
+ ### 3. Citation Requirements (MANDATORY)
127
+
128
+ Every piece of information MUST include its source:
129
+
130
+ ```markdown
131
+ EGFR mutations cause lung adenocarcinoma [★★★: PMID:15118125, activating mutations
132
+ in patients]. *Source: ClinVar, CIViC*
133
+ ```
134
+
135
+ ---
136
+
137
+ ## Core Strategy: 9 Research Paths
138
+
139
+ Execute 9 research paths (Path 0 is always first):
140
+
141
+ ```
142
+ Target Query (e.g., "EGFR" or "P00533")
143
+
144
+ ├─ IDENTIFIER RESOLUTION (always first)
145
+ │ └─ Check if GPCR → GPCRdb_get_protein
146
+
147
+ ├─ PATH 0: Open Targets Foundation (ALWAYS FIRST - fills gaps in all other paths)
148
+
149
+ ├─ PATH 1: Core Identity (names, IDs, sequence, organism)
150
+ │ └─ InterProScan_scan_sequence for novel domain prediction (NEW)
151
+ ├─ PATH 2: Structure & Domains (3D structure, domains, binding sites)
152
+ │ └─ If GPCR: GPCRdb_get_structures (active/inactive states)
153
+ ├─ PATH 3: Function & Pathways (GO terms, pathways, biological role)
154
+ ├─ PATH 4: Protein Interactions (PPI network, complexes)
155
+ ├─ PATH 5: Expression Profile (tissue expression, single-cell)
156
+ ├─ PATH 6: Variants & Disease (mutations, clinical significance)
157
+ │ └─ DisGeNET_search_gene for curated gene-disease associations
158
+ ├─ PATH 7: Drug Interactions (known drugs, druggability, safety)
159
+ │ ├─ Pharos_get_target for TDL classification (Tclin/Tchem/Tbio/Tdark)
160
+ │ ├─ BindingDB_get_ligands_by_uniprot for known ligands (NEW)
161
+ │ ├─ PubChem_search_assays_by_target_gene for HTS data (NEW)
162
+ │ ├─ If GPCR: GPCRdb_get_ligands (curated agonists/antagonists)
163
+ │ └─ DepMap_get_gene_dependencies for target essentiality
164
+ └─ PATH 8: Literature & Research (publications, trends)
165
+ ```
166
+
167
+ ---
168
+
169
+ ## Identifier Resolution (Phase 1)
170
+
171
+ **CRITICAL**: Resolve ALL identifiers before any research path.
172
+
173
+ ```python
174
+ def resolve_target_ids(tu, query):
175
+ """
176
+ Resolve target query to ALL needed identifiers.
177
+ Returns dict with: query, uniprot, ensembl, ensembl_version, symbol,
178
+ entrez, chembl_target, hgnc
179
+ """
180
+ ids = {
181
+ 'query': query,
182
+ 'uniprot': None,
183
+ 'ensembl': None,
184
+ 'ensembl_versioned': None, # For GTEx
185
+ 'symbol': None,
186
+ 'entrez': None,
187
+ 'chembl_target': None,
188
+ 'hgnc': None,
189
+ 'full_name': None,
190
+ 'synonyms': []
191
+ }
192
+
193
+ # [Resolution logic based on input type]
194
+ # ... (see current implementation)
195
+
196
+ # CRITICAL: Get versioned Ensembl ID for GTEx
197
+ if ids['ensembl']:
198
+ gene_info = tu.tools.ensembl_lookup_gene(id=ids['ensembl'], species="human")
199
+ if gene_info and gene_info.get('version'):
200
+ ids['ensembl_versioned'] = f"{ids['ensembl']}.{gene_info['version']}"
201
+
202
+ # Also get synonyms for literature collision detection
203
+ ids['full_name'] = gene_info.get('description', '').split(' [')[0]
204
+
205
+ # Get UniProt alternative names for synonyms
206
+ if ids['uniprot']:
207
+ alt_names = tu.tools.UniProt_get_alternative_names_by_accession(accession=ids['uniprot'])
208
+ if alt_names:
209
+ ids['synonyms'].extend(alt_names)
210
+
211
+ return ids
212
+ ```
213
+
214
+ ### GPCR Target Detection (NEW)
215
+
216
+ ~35% of approved drugs target GPCRs. After identifier resolution, check if target is a GPCR:
217
+
218
+ ```python
219
+ def check_gpcr_target(tu, ids):
220
+ """
221
+ Check if target is a GPCR and retrieve specialized data.
222
+ Call after identifier resolution.
223
+ """
224
+ symbol = ids.get('symbol', '')
225
+
226
+ # Build GPCRdb entry name
227
+ entry_name = f"{symbol.lower()}_human"
228
+
229
+ gpcr_info = tu.tools.GPCRdb_get_protein(
230
+ operation="get_protein",
231
+ protein=entry_name
232
+ )
233
+
234
+ if gpcr_info.get('status') == 'success':
235
+ # Target is a GPCR - get specialized data
236
+
237
+ # Get structures with receptor state
238
+ structures = tu.tools.GPCRdb_get_structures(
239
+ operation="get_structures",
240
+ protein=entry_name
241
+ )
242
+
243
+ # Get known ligands (critical for binder projects)
244
+ ligands = tu.tools.GPCRdb_get_ligands(
245
+ operation="get_ligands",
246
+ protein=entry_name
247
+ )
248
+
249
+ # Get mutation data
250
+ mutations = tu.tools.GPCRdb_get_mutations(
251
+ operation="get_mutations",
252
+ protein=entry_name
253
+ )
254
+
255
+ return {
256
+ 'is_gpcr': True,
257
+ 'gpcr_family': gpcr_info['data'].get('family'),
258
+ 'gpcr_class': gpcr_info['data'].get('receptor_class'),
259
+ 'structures': structures.get('data', {}).get('structures', []),
260
+ 'ligands': ligands.get('data', {}).get('ligands', []),
261
+ 'mutations': mutations.get('data', {}).get('mutations', []),
262
+ 'ballesteros_numbering': True # GPCRdb provides this
263
+ }
264
+
265
+ return {'is_gpcr': False}
266
+ ```
267
+
268
+ **GPCRdb Report Section** (add to Section 2 for GPCR targets):
269
+
270
+ ```markdown
271
+ ### 2.x GPCR-Specific Data (GPCRdb)
272
+
273
+ **Receptor Class**: Class A (Rhodopsin-like)
274
+ **GPCR Family**: Adrenoceptors
275
+
276
+ **Structures by State**:
277
+ | PDB ID | State | Resolution | Ligand | Year |
278
+ |--------|-------|------------|--------|------|
279
+ | 3SN6 | Active | 3.2Å | Agonist (BI-167107) | 2011 |
280
+ | 2RH1 | Inactive | 2.4Å | Antagonist (carazolol) | 2007 |
281
+
282
+ **Known Ligands**: 45 agonists, 32 antagonists, 8 allosteric modulators
283
+ **Key Binding Site Residues** (Ballesteros-Weinstein): 3.32, 5.42, 6.48, 7.39
284
+ ```
285
+
286
+ ### Collision Detection for Literature Search
287
+
288
+ Before literature search, detect naming collisions:
289
+
290
+ ```python
291
+ def detect_collisions(tu, symbol, full_name):
292
+ """
293
+ Detect if gene symbol has naming collisions in literature.
294
+ Returns negative filter terms if collisions found.
295
+ """
296
+ # Search by symbol in title
297
+ results = tu.tools.PubMed_search_articles(
298
+ query=f'"{symbol}"[Title]',
299
+ limit=20
300
+ )
301
+
302
+ # Check if >20% are off-topic
303
+ off_topic_terms = []
304
+ for paper in results.get('articles', []):
305
+ title = paper.get('title', '').lower()
306
+ # Check if title mentions biology/protein/gene context
307
+ bio_terms = ['protein', 'gene', 'cell', 'expression', 'mutation', 'kinase', 'receptor']
308
+ if not any(term in title for term in bio_terms):
309
+ # Extract potential collision terms
310
+ # e.g., "JAK" might collide with "Just Another Kinase" jokes
311
+ # e.g., "WDR7" might collide with other WDR family members in certain contexts
312
+ pass
313
+
314
+ # Build negative filter
315
+ collision_filter = ""
316
+ if off_topic_terms:
317
+ collision_filter = " NOT " + " NOT ".join(off_topic_terms)
318
+
319
+ return collision_filter
320
+ ```
321
+
322
+ ---
323
+
324
+ ## PATH 0: Open Targets Foundation (ALWAYS FIRST)
325
+
326
+ **Objective**: Populate baseline data for Sections 5, 8, 9, 10, 11 before specialized queries.
327
+
328
+ **CRITICAL**: Open Targets provides the most comprehensive aggregated data. Query ALL these endpoints:
329
+
330
+ | Endpoint | Section | Data Type |
331
+ |----------|---------|-----------|
332
+ | `OpenTargets_get_diseases_phenotypes_by_target_ensemblId` | 8 | Diseases/phenotypes |
333
+ | `OpenTargets_get_target_tractability_by_ensemblId` | 9 | Druggability assessment |
334
+ | `OpenTargets_get_target_safety_profile_by_ensemblId` | 10 | Safety liabilities |
335
+ | `OpenTargets_get_target_interactions_by_ensemblId` | 6 | PPI network |
336
+ | `OpenTargets_get_target_gene_ontology_by_ensemblId` | 5 | GO annotations |
337
+ | `OpenTargets_get_publications_by_target_ensemblId` | 11 | Literature |
338
+ | `OpenTargets_get_biological_mouse_models_by_ensemblId` | 8/10 | Mouse KO phenotypes |
339
+ | `OpenTargets_get_chemical_probes_by_target_ensemblId` | 9 | Chemical probes |
340
+ | `OpenTargets_get_associated_drugs_by_target_ensemblId` | 9 | Known drugs |
341
+
342
+ ### Path 0 Implementation
343
+
344
+ ```python
345
+ def path_0_open_targets(tu, ids):
346
+ """
347
+ Open Targets foundation data - fills gaps for sections 5, 6, 8, 9, 10, 11.
348
+ ALWAYS run this first.
349
+ """
350
+ ensembl_id = ids['ensembl']
351
+ if not ensembl_id:
352
+ return {'status': 'skipped', 'reason': 'No Ensembl ID'}
353
+
354
+ results = {}
355
+
356
+ # 1. Diseases & Phenotypes (Section 8)
357
+ diseases = tu.tools.OpenTargets_get_diseases_phenotypes_by_target_ensemblId(
358
+ ensemblId=ensembl_id
359
+ )
360
+ results['diseases'] = diseases if diseases else {'note': 'No disease associations returned'}
361
+
362
+ # 2. Tractability (Section 9)
363
+ tractability = tu.tools.OpenTargets_get_target_tractability_by_ensemblId(
364
+ ensemblId=ensembl_id
365
+ )
366
+ results['tractability'] = tractability if tractability else {'note': 'No tractability data returned'}
367
+
368
+ # 3. Safety Profile (Section 10)
369
+ safety = tu.tools.OpenTargets_get_target_safety_profile_by_ensemblId(
370
+ ensemblId=ensembl_id
371
+ )
372
+ results['safety'] = safety if safety else {'note': 'No safety liabilities identified'}
373
+
374
+ # 4. Interactions (Section 6)
375
+ interactions = tu.tools.OpenTargets_get_target_interactions_by_ensemblId(
376
+ ensemblId=ensembl_id
377
+ )
378
+ results['interactions'] = interactions if interactions else {'note': 'No interactions returned'}
379
+
380
+ # 5. GO Annotations (Section 5)
381
+ go_terms = tu.tools.OpenTargets_get_target_gene_ontology_by_ensemblId(
382
+ ensemblId=ensembl_id
383
+ )
384
+ results['go_terms'] = go_terms if go_terms else {'note': 'No GO annotations returned'}
385
+
386
+ # 6. Publications (Section 11)
387
+ publications = tu.tools.OpenTargets_get_publications_by_target_ensemblId(
388
+ ensemblId=ensembl_id
389
+ )
390
+ results['publications'] = publications if publications else {'note': 'No publications returned'}
391
+
392
+ # 7. Mouse Models (Section 8/10)
393
+ mouse_models = tu.tools.OpenTargets_get_biological_mouse_models_by_ensemblId(
394
+ ensemblId=ensembl_id
395
+ )
396
+ results['mouse_models'] = mouse_models if mouse_models else {'note': 'No mouse model data returned'}
397
+
398
+ # 8. Chemical Probes (Section 9)
399
+ probes = tu.tools.OpenTargets_get_chemical_probes_by_target_ensemblId(
400
+ ensemblId=ensembl_id
401
+ )
402
+ results['chemical_probes'] = probes if probes else {'note': 'No chemical probes available'}
403
+
404
+ # 9. Associated Drugs (Section 9)
405
+ drugs = tu.tools.OpenTargets_get_associated_drugs_by_target_ensemblId(
406
+ ensemblId=ensembl_id
407
+ )
408
+ results['drugs'] = drugs if drugs else {'note': 'No approved/trial drugs found'}
409
+
410
+ return results
411
+ ```
412
+
413
+ ### Negative Results Are Data
414
+
415
+ **CRITICAL**: Always document when a query returns empty:
416
+
417
+ ```markdown
418
+ ### 9.3 Chemical Probes
419
+
420
+ **Status**: No validated chemical probes available for this target.
421
+ *Source: OpenTargets_get_chemical_probes_by_target_ensemblId returned empty*
422
+
423
+ **Implication**: Tool compound development would be needed for chemical biology studies.
424
+ ```
425
+
426
+ ---
427
+
428
+ ## PATH 2: Structure & Domains (Enhanced)
429
+
430
+ **Objective**: Robust structure coverage using 3-step chain.
431
+
432
+ ### 3-Step Structure Search Chain
433
+
434
+ **Do NOT rely solely on PDB text search.** Use this chain:
435
+
436
+ ```python
437
+ def path_structure_robust(tu, ids):
438
+ """
439
+ Robust structure search using 3-step chain.
440
+ """
441
+ structures = {'pdb': [], 'alphafold': None, 'domains': [], 'method_notes': []}
442
+
443
+ # STEP 1: UniProt PDB Cross-References (most reliable)
444
+ if ids['uniprot']:
445
+ entry = tu.tools.UniProt_get_entry_by_accession(accession=ids['uniprot'])
446
+ pdb_xrefs = [x for x in entry.get('uniProtKBCrossReferences', [])
447
+ if x.get('database') == 'PDB']
448
+ for xref in pdb_xrefs:
449
+ pdb_id = xref.get('id')
450
+ # Get details for each PDB
451
+ pdb_info = tu.tools.get_protein_metadata_by_pdb_id(pdb_id=pdb_id)
452
+ if pdb_info:
453
+ structures['pdb'].append(pdb_info)
454
+ structures['method_notes'].append(f"Step 1: {len(pdb_xrefs)} PDB cross-refs from UniProt")
455
+
456
+ # STEP 2: Sequence-based PDB Search (catches missing annotations)
457
+ if ids['uniprot'] and len(structures['pdb']) < 5:
458
+ sequence = tu.tools.UniProt_get_sequence_by_accession(accession=ids['uniprot'])
459
+ if sequence and len(sequence) < 1000: # Reasonable length for search
460
+ similar = tu.tools.PDB_search_similar_structures(
461
+ sequence=sequence[:500], # Use first 500 AA if long
462
+ identity_cutoff=0.7
463
+ )
464
+ if similar:
465
+ for hit in similar[:10]: # Top 10 similar
466
+ if hit['pdb_id'] not in [s.get('pdb_id') for s in structures['pdb']]:
467
+ structures['pdb'].append(hit)
468
+ structures['method_notes'].append(f"Step 2: Sequence search (identity ≥70%)")
469
+
470
+ # STEP 3: Domain-based Search (for multi-domain proteins)
471
+ if ids['uniprot']:
472
+ domains = tu.tools.InterPro_get_protein_domains(uniprot_accession=ids['uniprot'])
473
+ structures['domains'] = domains if domains else []
474
+
475
+ # For large proteins with domains, search by domain sequence windows
476
+ if len(structures['pdb']) < 3 and domains:
477
+ for domain in domains[:3]: # Top 3 domains
478
+ domain_name = domain.get('name', '')
479
+ # Could search PDB by domain name
480
+ domain_hits = tu.tools.PDB_search_by_keyword(query=domain_name, limit=5)
481
+ if domain_hits:
482
+ structures['method_notes'].append(f"Step 3: Domain '{domain_name}' search")
483
+
484
+ # AlphaFold (always check)
485
+ alphafold = tu.tools.alphafold_get_prediction(uniprot_accession=ids['uniprot'])
486
+ structures['alphafold'] = alphafold if alphafold else {'note': 'No AlphaFold prediction'}
487
+
488
+ # IMPORTANT: Document limitations
489
+ if not structures['pdb']:
490
+ structures['limitation'] = "No direct PDB hit does NOT mean no structure exists. Check: (1) structures under different UniProt entries, (2) homolog structures, (3) domain-only structures."
491
+
492
+ return structures
493
+ ```
494
+
495
+ ### Structure Section Output Format
496
+
497
+ ```markdown
498
+ ### 4.1 Experimental Structures (PDB)
499
+
500
+ **Total PDB Entries**: 23 structures *(Source: UniProt cross-references)*
501
+ **Search Method**: 3-step chain (UniProt xrefs → sequence search → domain search)
502
+
503
+ | PDB ID | Resolution | Method | Ligand | Coverage | Year |
504
+ |--------|------------|--------|--------|----------|------|
505
+ | 1M17 | 2.6Å | X-ray | Erlotinib | 672-998 | 2002 |
506
+ | 3POZ | 2.8Å | X-ray | Gefitinib | 696-1022 | 2010 |
507
+
508
+ **Note**: "No direct PDB hit" ≠ "no structure exists". Check homologs and domain structures.
509
+ ```
510
+
511
+ ---
512
+
513
+ ## PATH 5: Expression Profile (Enhanced)
514
+
515
+ ### GTEx with Versioned ID Fallback
516
+
517
+ ```python
518
+ def path_expression(tu, ids):
519
+ """
520
+ Expression data with GTEx versioned ID fallback.
521
+ """
522
+ results = {'gtex': None, 'hpa': None, 'failed_tools': []}
523
+
524
+ # GTEx with fallback
525
+ ensembl_id = ids['ensembl']
526
+ versioned_id = ids.get('ensembl_versioned')
527
+
528
+ # Try unversioned first
529
+ gtex_result = tu.tools.GTEx_get_median_gene_expression(
530
+ gencode_id=ensembl_id,
531
+ operation="median"
532
+ )
533
+
534
+ # Fallback to versioned if empty
535
+ if not gtex_result or gtex_result.get('data') == []:
536
+ if versioned_id:
537
+ gtex_result = tu.tools.GTEx_get_median_gene_expression(
538
+ gencode_id=versioned_id,
539
+ operation="median"
540
+ )
541
+ if gtex_result and gtex_result.get('data'):
542
+ results['gtex'] = gtex_result
543
+ results['gtex_note'] = f"Used versioned ID: {versioned_id}"
544
+
545
+ if not results.get('gtex'):
546
+ results['failed_tools'].append({
547
+ 'tool': 'GTEx_get_median_gene_expression',
548
+ 'tried': [ensembl_id, versioned_id],
549
+ 'fallback': 'See HPA data below'
550
+ })
551
+ else:
552
+ results['gtex'] = gtex_result
553
+
554
+ # HPA (always query as backup)
555
+ hpa_result = tu.tools.HPA_get_rna_expression_by_source(ensembl_id=ensembl_id)
556
+ results['hpa'] = hpa_result if hpa_result else {'note': 'No HPA RNA data'}
557
+
558
+ return results
559
+ ```
560
+
561
+ ### Human Protein Atlas - Extended Expression (NEW)
562
+
563
+ HPA provides comprehensive protein expression data including tissue-level, cell-level, and cell line expression.
564
+
565
+ ```python
566
+ def get_hpa_comprehensive_expression(tu, gene_symbol):
567
+ """
568
+ Get comprehensive expression data from Human Protein Atlas.
569
+
570
+ Provides:
571
+ - Tissue expression (protein and RNA)
572
+ - Subcellular localization
573
+ - Cell line expression comparison
574
+ - Tissue specificity
575
+ """
576
+
577
+ # 1. Search for gene to get IDs
578
+ gene_info = tu.tools.HPA_search_genes_by_query(search_query=gene_symbol)
579
+
580
+ if not gene_info:
581
+ return {'error': f'Gene {gene_symbol} not found in HPA'}
582
+
583
+ # 2. Get tissue expression with specificity
584
+ tissue_search = tu.tools.HPA_generic_search(
585
+ search_query=gene_symbol,
586
+ columns="g,gs,rnat,rnatsm,scml,scal", # Gene, synonyms, tissue specificity, subcellular
587
+ format="json"
588
+ )
589
+
590
+ # 3. Compare expression in cancer cell lines vs normal tissue
591
+ cell_lines = ['a549', 'mcf7', 'hela', 'hepg2', 'pc3']
592
+ cell_line_expression = {}
593
+
594
+ for cell_line in cell_lines:
595
+ try:
596
+ expr = tu.tools.HPA_get_comparative_expression_by_gene_and_cellline(
597
+ gene_name=gene_symbol,
598
+ cell_line=cell_line
599
+ )
600
+ cell_line_expression[cell_line] = expr
601
+ except:
602
+ continue
603
+
604
+ return {
605
+ 'gene_info': gene_info,
606
+ 'tissue_data': tissue_search,
607
+ 'cell_line_expression': cell_line_expression,
608
+ 'source': 'Human Protein Atlas'
609
+ }
610
+ ```
611
+
612
+ **HPA Expression Output for Report**:
613
+ ```markdown
614
+ ### Tissue Expression Profile (Human Protein Atlas)
615
+
616
+ | Tissue | Protein Level | RNA nTPM | Specificity |
617
+ |--------|---------------|----------|-------------|
618
+ | Brain | High | 45.2 | Enriched |
619
+ | Liver | Medium | 23.1 | Enhanced |
620
+ | Kidney | Low | 8.4 | Not detected |
621
+
622
+ **Subcellular Localization**: Cytoplasm, Plasma membrane
623
+
624
+ ### Cancer Cell Line Expression
625
+
626
+ | Cell Line | Cancer Type | Expression | vs Normal |
627
+ |-----------|-------------|------------|-----------|
628
+ | A549 | Lung | High | Elevated |
629
+ | MCF7 | Breast | Medium | Similar |
630
+ | HeLa | Cervical | High | Elevated |
631
+
632
+ *Source: Human Protein Atlas via `HPA_search_genes_by_query`, `HPA_get_comparative_expression_by_gene_and_cellline`*
633
+ ```
634
+
635
+ **Why HPA for Target Research**:
636
+ - **Drug target validation** - Confirm expression in target tissue
637
+ - **Safety assessment** - Expression in essential organs
638
+ - **Biomarker potential** - Tissue-specific expression
639
+ - **Cell line selection** - Choose appropriate models
640
+
641
+ ---
642
+
643
+ ## PATH 6: Variants & Disease (Enhanced)
644
+
645
+ ### 6.1 ClinVar SNV vs CNV Separation
646
+
647
+ ```markdown
648
+ ### 8.3 Clinical Variants (ClinVar)
649
+
650
+ #### Single Nucleotide Variants (SNVs)
651
+ | Variant | Clinical Significance | Condition | Review Status | PMID |
652
+ |---------|----------------------|-----------|---------------|------|
653
+ | p.L858R | Pathogenic | Lung cancer | 4 stars | 15118125 |
654
+ | p.T790M | Pathogenic | Drug resistance | 4 stars | 15737014 |
655
+
656
+ **Total Pathogenic SNVs**: 47
657
+
658
+ #### Copy Number Variants (CNVs) - Reported Separately
659
+ | Type | Region | Clinical Significance | Frequency |
660
+ |------|--------|----------------------|-----------|
661
+ | Amplification | 7p11.2 | Pathogenic | Common in cancer |
662
+
663
+ *Note: CNV data separated as it represents different mutation mechanism*
664
+ ```
665
+
666
+ ### 6.2 DisGeNET Integration (NEW)
667
+
668
+ DisGeNET provides curated gene-disease associations with evidence scores. **Requires**: `DISGENET_API_KEY`
669
+
670
+ ```python
671
+ def get_disgenet_associations(tu, ids):
672
+ """
673
+ Get gene-disease associations from DisGeNET.
674
+ Complements Open Targets with curated association scores.
675
+ """
676
+ symbol = ids.get('symbol')
677
+ if not symbol:
678
+ return {'status': 'skipped', 'reason': 'No gene symbol'}
679
+
680
+ # Get all disease associations for gene
681
+ gda = tu.tools.DisGeNET_search_gene(
682
+ operation="search_gene",
683
+ gene=symbol,
684
+ limit=50
685
+ )
686
+
687
+ if gda.get('status') != 'success':
688
+ return {'status': 'error', 'message': 'DisGeNET query failed'}
689
+
690
+ associations = gda.get('data', {}).get('associations', [])
691
+
692
+ # Categorize by evidence strength
693
+ strong = [] # score >= 0.7
694
+ moderate = [] # score 0.4-0.7
695
+ weak = [] # score < 0.4
696
+
697
+ for assoc in associations:
698
+ score = assoc.get('score', 0)
699
+ disease_name = assoc.get('disease_name', '')
700
+ umls_cui = assoc.get('disease_id', '')
701
+
702
+ entry = {
703
+ 'disease': disease_name,
704
+ 'umls_cui': umls_cui,
705
+ 'score': score,
706
+ 'evidence_index': assoc.get('ei'),
707
+ 'dsi': assoc.get('dsi'), # Disease Specificity Index
708
+ 'dpi': assoc.get('dpi') # Disease Pleiotropy Index
709
+ }
710
+
711
+ if score >= 0.7:
712
+ strong.append(entry)
713
+ elif score >= 0.4:
714
+ moderate.append(entry)
715
+ else:
716
+ weak.append(entry)
717
+
718
+ return {
719
+ 'total_associations': len(associations),
720
+ 'strong_associations': strong,
721
+ 'moderate_associations': moderate,
722
+ 'weak_associations': weak[:10], # Limit weak
723
+ 'disease_pleiotropy': len(associations) # How many diseases linked
724
+ }
725
+ ```
726
+
727
+ **DisGeNET Report Section** (add to Section 8 - Disease Associations):
728
+
729
+ ```markdown
730
+ ### 8.x DisGeNET Gene-Disease Associations (NEW)
731
+
732
+ **Total Diseases Associated**: 47
733
+ **Disease Pleiotropy Index**: High (gene linked to many disease types)
734
+
735
+ #### Strong Associations (Score ≥0.7)
736
+ | Disease | UMLS CUI | Score | Evidence Index |
737
+ |---------|----------|-------|----------------|
738
+ | Non-small cell lung cancer | C0007131 | 0.85 | 0.92 |
739
+ | Glioblastoma | C0017636 | 0.78 | 0.88 |
740
+
741
+ #### Moderate Associations (Score 0.4-0.7)
742
+ | Disease | UMLS CUI | Score | DSI |
743
+ |---------|----------|-------|-----|
744
+ | Breast cancer | C0006142 | 0.62 | 0.45 |
745
+
746
+ *Note: DisGeNET score integrates curated databases, GWAS, animal models, and literature*
747
+ ```
748
+
749
+ **Evidence Tier Assignment**:
750
+ - DisGeNET Score ≥0.7 → Consider T2 evidence (multiple validated sources)
751
+ - DisGeNET Score 0.4-0.7 → Consider T3 evidence
752
+ - DisGeNET Score <0.4 → T4 evidence only
753
+
754
+ ---
755
+
756
+ ## PATH 7: Druggability & Target Validation (ENHANCED)
757
+
758
+ ### 7.1 Pharos/TCRD - Target Development Level (NEW)
759
+
760
+ NIH's Illuminating the Druggable Genome (IDG) portal provides TDL classification for all human proteins:
761
+
762
+ ```python
763
+ def get_pharos_target_info(tu, ids):
764
+ """
765
+ Get Pharos/TCRD target development level and druggability.
766
+
767
+ TDL Classification:
768
+ - Tclin: Approved drug targets
769
+ - Tchem: Targets with small molecule activities (IC50 < 30nM)
770
+ - Tbio: Targets with biological annotations
771
+ - Tdark: Understudied proteins
772
+ """
773
+ gene_symbol = ids.get('symbol')
774
+ uniprot = ids.get('uniprot')
775
+
776
+ # Try by gene symbol first
777
+ if gene_symbol:
778
+ result = tu.tools.Pharos_get_target(
779
+ gene=gene_symbol
780
+ )
781
+ elif uniprot:
782
+ result = tu.tools.Pharos_get_target(
783
+ uniprot=uniprot
784
+ )
785
+ else:
786
+ return {'status': 'error', 'message': 'Need gene symbol or UniProt'}
787
+
788
+ if result.get('status') == 'success' and result.get('data'):
789
+ target = result['data']
790
+ return {
791
+ 'name': target.get('name'),
792
+ 'symbol': target.get('sym'),
793
+ 'tdl': target.get('tdl'), # Tclin/Tchem/Tbio/Tdark
794
+ 'family': target.get('fam'), # Kinase, GPCR, etc.
795
+ 'novelty': target.get('novelty'),
796
+ 'description': target.get('description'),
797
+ 'publications': target.get('publicationCount'),
798
+ 'interpretation': interpret_tdl(target.get('tdl'))
799
+ }
800
+ return None
801
+
802
+ def interpret_tdl(tdl):
803
+ """Interpret Target Development Level for druggability."""
804
+ interpretations = {
805
+ 'Tclin': 'Approved drug target - highest confidence for druggability',
806
+ 'Tchem': 'Small molecule active - good chemical tractability',
807
+ 'Tbio': 'Biologically characterized - may require novel modalities',
808
+ 'Tdark': 'Understudied - limited data, high novelty potential'
809
+ }
810
+ return interpretations.get(tdl, 'Unknown')
811
+
812
+ def search_disease_targets(tu, disease_name):
813
+ """Find targets associated with a disease via Pharos."""
814
+
815
+ result = tu.tools.Pharos_get_disease_targets(
816
+ disease=disease_name,
817
+ top=50
818
+ )
819
+
820
+ if result.get('status') == 'success':
821
+ targets = result['data'].get('targets', [])
822
+ # Group by TDL for prioritization
823
+ by_tdl = {'Tclin': [], 'Tchem': [], 'Tbio': [], 'Tdark': []}
824
+ for t in targets:
825
+ tdl = t.get('tdl', 'Unknown')
826
+ if tdl in by_tdl:
827
+ by_tdl[tdl].append(t)
828
+ return by_tdl
829
+ return None
830
+ ```
831
+
832
+ **Pharos Report Section** (add to Section 9 - Druggability):
833
+
834
+ ```markdown
835
+ ### 9.x Pharos/TCRD Target Classification (NEW)
836
+
837
+ **Target Development Level**: Tchem
838
+ **Protein Family**: Kinase
839
+ **Novelty Score**: 0.35 (moderately studied)
840
+ **Publication Count**: 12,456
841
+
842
+ **TDL Interpretation**: Target has validated small molecule activities with IC50 < 30nM. Good chemical starting points exist.
843
+
844
+ **Disease Targets Analysis** (for disease-centric queries):
845
+ | TDL | Count | Examples |
846
+ |-----|-------|----------|
847
+ | Tclin | 12 | EGFR, ALK, RET |
848
+ | Tchem | 45 | KRAS, SHP2, CDK4 |
849
+ | Tbio | 78 | Novel kinases |
850
+ | Tdark | 23 | Understudied |
851
+
852
+ *Source: Pharos/TCRD via `Pharos_get_target`*
853
+ ```
854
+
855
+ ### 7.2 DepMap - Target Essentiality Validation (NEW)
856
+
857
+ CRISPR knockout data from cancer cell lines to validate target essentiality:
858
+
859
+ ```python
860
+ def assess_target_essentiality(tu, ids):
861
+ """
862
+ Is this target essential for cancer cell survival?
863
+
864
+ Negative effect scores = gene is essential (cells die upon KO)
865
+ """
866
+ gene_symbol = ids.get('symbol')
867
+
868
+ if not gene_symbol:
869
+ return {'status': 'error', 'message': 'Need gene symbol'}
870
+
871
+ deps = tu.tools.DepMap_get_gene_dependencies(
872
+ gene_symbol=gene_symbol
873
+ )
874
+
875
+ if deps.get('status') == 'success':
876
+ return {
877
+ 'gene': gene_symbol,
878
+ 'data': deps.get('data', {}),
879
+ 'interpretation': 'Negative scores indicate gene is essential for cell survival',
880
+ 'note': 'Score < -0.5 is strongly essential, < -1.0 is extremely essential'
881
+ }
882
+ return None
883
+
884
+ def get_cancer_type_essentiality(tu, gene_symbol, cancer_type):
885
+ """Check if gene is essential in specific cancer type."""
886
+
887
+ # Get cell lines for cancer type
888
+ cell_lines = tu.tools.DepMap_get_cell_lines(
889
+ cancer_type=cancer_type,
890
+ page_size=20
891
+ )
892
+
893
+ return {
894
+ 'gene': gene_symbol,
895
+ 'cancer_type': cancer_type,
896
+ 'cell_lines': cell_lines.get('data', {}).get('cell_lines', []),
897
+ 'note': 'Query individual cell lines for dependency scores via DepMap portal'
898
+ }
899
+ ```
900
+
901
+ **DepMap Report Section** (add to Section 9 - Druggability):
902
+
903
+ ```markdown
904
+ ### 9.x Target Essentiality (DepMap) (NEW)
905
+
906
+ **Gene Essentiality Assessment**:
907
+ | Context | Effect Score | Interpretation |
908
+ |---------|--------------|----------------|
909
+ | Pan-cancer | -0.42 | Moderately essential |
910
+ | Lung cancer | -0.78 | Strongly essential |
911
+ | Breast cancer | -0.21 | Weakly essential |
912
+
913
+ **Selectivity**: Differential essentiality suggests cancer-type selective target
914
+
915
+ **Cell Lines Tested**: 1,054 cancer cell lines from DepMap
916
+
917
+ *Interpretation*: Score < -0.5 indicates strong dependency. This target is more essential in lung cancer than other cancer types - suggesting lung-selective targeting may be feasible.
918
+
919
+ *Source: DepMap via `DepMap_get_gene_dependencies`*
920
+ ```
921
+
922
+ ### 7.3 InterProScan - Novel Domain Prediction (NEW)
923
+
924
+ For uncharacterized proteins, run InterProScan to predict domains and function:
925
+
926
+ ```python
927
+ def predict_protein_domains(tu, sequence, title="Query protein"):
928
+ """
929
+ Run InterProScan for de novo domain prediction.
930
+
931
+ Use when:
932
+ - Protein has no InterPro annotations
933
+ - Novel/uncharacterized protein
934
+ - Custom sequence analysis
935
+ """
936
+
937
+ result = tu.tools.InterProScan_scan_sequence(
938
+ sequence=sequence,
939
+ title=title,
940
+ go_terms=True,
941
+ pathways=True
942
+ )
943
+
944
+ if result.get('status') == 'success':
945
+ data = result.get('data', {})
946
+
947
+ # Job may still be running
948
+ if data.get('job_status') == 'RUNNING':
949
+ return {
950
+ 'job_id': data.get('job_id'),
951
+ 'status': 'running',
952
+ 'note': 'Use InterProScan_get_job_results to retrieve when ready'
953
+ }
954
+
955
+ # Parse completed results
956
+ return {
957
+ 'domains': data.get('domains', []),
958
+ 'domain_count': data.get('domain_count', 0),
959
+ 'go_annotations': data.get('go_annotations', []),
960
+ 'pathways': data.get('pathways', []),
961
+ 'sequence_length': data.get('sequence_length')
962
+ }
963
+ return None
964
+
965
+ def check_interproscan_job(tu, job_id):
966
+ """Check status and get results for InterProScan job."""
967
+
968
+ status = tu.tools.InterProScan_get_job_status(job_id=job_id)
969
+
970
+ if status.get('data', {}).get('is_finished'):
971
+ results = tu.tools.InterProScan_get_job_results(job_id=job_id)
972
+ return results.get('data', {})
973
+
974
+ return status.get('data', {})
975
+ ```
976
+
977
+ **When to use InterProScan**:
978
+ - Novel/uncharacterized proteins (Tdark in Pharos)
979
+ - Custom sequences (e.g., protein variants)
980
+ - Proteins with outdated/sparse InterPro annotations
981
+ - Validating domain predictions
982
+
983
+ **InterProScan Report Section** (for novel proteins):
984
+
985
+ ```markdown
986
+ ### Domain Prediction (InterProScan) (NEW)
987
+
988
+ *Used for uncharacterized protein analysis*
989
+
990
+ **Predicted Domains**:
991
+ | Domain | Database | Start-End | E-value | InterPro Entry |
992
+ |--------|----------|-----------|---------|----------------|
993
+ | Protein kinase domain | Pfam | 45-305 | 1.2e-89 | IPR000719 |
994
+ | SH2 domain | SMART | 320-410 | 3.4e-45 | IPR000980 |
995
+
996
+ **Predicted GO Terms**:
997
+ - GO:0004672 protein kinase activity
998
+ - GO:0005524 ATP binding
999
+
1000
+ **Predicted Pathways**:
1001
+ - Reactome: Signal Transduction
1002
+
1003
+ *Source: InterProScan via `InterProScan_scan_sequence`*
1004
+ ```
1005
+
1006
+ ### 7.4 BindingDB - Known Ligands & Binding Data (NEW)
1007
+
1008
+ BindingDB provides experimental binding affinity data (Ki, IC50, Kd) for target-ligand pairs:
1009
+
1010
+ ```python
1011
+ def get_bindingdb_ligands(tu, uniprot_id, affinity_cutoff=10000):
1012
+ """
1013
+ Get ligands with measured binding affinities from BindingDB.
1014
+
1015
+ Critical for:
1016
+ - Identifying chemical starting points
1017
+ - Understanding existing chemical matter
1018
+ - Assessing tractability with small molecules
1019
+
1020
+ Args:
1021
+ uniprot_id: UniProt accession (e.g., P00533 for EGFR)
1022
+ affinity_cutoff: Maximum affinity in nM (lower = more potent)
1023
+ """
1024
+
1025
+ # Get ligands by UniProt
1026
+ result = tu.tools.BindingDB_get_ligands_by_uniprot(
1027
+ uniprot=uniprot_id,
1028
+ affinity_cutoff=affinity_cutoff
1029
+ )
1030
+
1031
+ if result:
1032
+ ligands = []
1033
+ for entry in result:
1034
+ ligands.append({
1035
+ 'smiles': entry.get('smile'),
1036
+ 'affinity_type': entry.get('affinity_type'), # Ki, IC50, Kd
1037
+ 'affinity_nM': entry.get('affinity'),
1038
+ 'monomer_id': entry.get('monomerid'),
1039
+ 'pmid': entry.get('pmid')
1040
+ })
1041
+
1042
+ # Sort by affinity (most potent first)
1043
+ ligands.sort(key=lambda x: float(x['affinity_nM']) if x['affinity_nM'] else float('inf'))
1044
+
1045
+ return {
1046
+ 'total_ligands': len(ligands),
1047
+ 'ligands': ligands[:20], # Top 20 most potent
1048
+ 'best_affinity': ligands[0]['affinity_nM'] if ligands else None
1049
+ }
1050
+
1051
+ return {'total_ligands': 0, 'ligands': [], 'note': 'No ligands found in BindingDB'}
1052
+
1053
+ def get_ligands_by_structure(tu, pdb_id, affinity_cutoff=10000):
1054
+ """Get ligands for a protein by PDB structure ID."""
1055
+
1056
+ result = tu.tools.BindingDB_get_ligands_by_pdb(
1057
+ pdb_ids=pdb_id,
1058
+ affinity_cutoff=affinity_cutoff,
1059
+ sequence_identity=100
1060
+ )
1061
+
1062
+ return result
1063
+
1064
+ def find_compound_targets(tu, smiles, similarity_cutoff=0.85):
1065
+ """Find other targets for a compound (polypharmacology)."""
1066
+
1067
+ result = tu.tools.BindingDB_get_targets_by_compound(
1068
+ smiles=smiles,
1069
+ similarity_cutoff=similarity_cutoff
1070
+ )
1071
+
1072
+ return result
1073
+ ```
1074
+
1075
+ **BindingDB Report Section** (add to Section 9 - Druggability):
1076
+
1077
+ ```markdown
1078
+ ### Known Ligands (BindingDB) (NEW)
1079
+
1080
+ **Total Ligands with Binding Data**: 156
1081
+ **Best Reported Affinity**: 0.3 nM (Ki)
1082
+
1083
+ #### Most Potent Ligands
1084
+
1085
+ | SMILES | Affinity Type | Value (nM) | Source PMID |
1086
+ |--------|---------------|------------|-------------|
1087
+ | CC(=O)Nc1ccc(cc1)c2... | Ki | 0.3 | 15737014 |
1088
+ | CN(C)C/C=C/C(=O)Nc1... | IC50 | 0.8 | 15896103 |
1089
+ | COc1cc2ncnc(Nc3ccc... | Kd | 2.1 | 16460808 |
1090
+
1091
+ **Chemical Tractability Assessment**:
1092
+ - ✅ **Tchem-level target**: Multiple ligands with <30nM affinity
1093
+ - ✅ **Diverse chemotypes**: Multiple scaffolds identified
1094
+ - ✅ **Published literature**: Ligands have PMID references
1095
+
1096
+ *Source: BindingDB via `BindingDB_get_ligands_by_uniprot`*
1097
+ ```
1098
+
1099
+ **Affinity Interpretation for Druggability**:
1100
+ | Affinity Range | Interpretation | Drug Development Potential |
1101
+ |----------------|----------------|---------------------------|
1102
+ | <1 nM | Ultra-potent | Clinical compound likely |
1103
+ | 1-10 nM | Highly potent | Drug-like |
1104
+ | 10-100 nM | Potent | Good starting point |
1105
+ | 100-1000 nM | Moderate | Needs optimization |
1106
+ | >1000 nM | Weak | Early hit only |
1107
+
1108
+ ### 7.5 PubChem BioAssay - Screening Data (NEW)
1109
+
1110
+ PubChem BioAssay provides HTS screening data and dose-response curves:
1111
+
1112
+ ```python
1113
+ def get_pubchem_assays_for_target(tu, gene_symbol):
1114
+ """
1115
+ Get bioassays targeting a gene from PubChem.
1116
+
1117
+ Provides:
1118
+ - HTS screening results
1119
+ - Dose-response data (IC50/EC50)
1120
+ - Active compound counts
1121
+ """
1122
+
1123
+ # Search assays by target gene
1124
+ assays = tu.tools.PubChem_search_assays_by_target_gene(
1125
+ gene_symbol=gene_symbol
1126
+ )
1127
+
1128
+ assay_info = []
1129
+ if assays.get('data', {}).get('aids'):
1130
+ for aid in assays['data']['aids'][:10]: # Top 10 assays
1131
+ # Get assay details
1132
+ summary = tu.tools.PubChem_get_assay_summary(aid=aid)
1133
+ targets = tu.tools.PubChem_get_assay_targets(aid=aid)
1134
+
1135
+ assay_info.append({
1136
+ 'aid': aid,
1137
+ 'summary': summary.get('data', {}),
1138
+ 'targets': targets.get('data', {})
1139
+ })
1140
+
1141
+ return {
1142
+ 'total_assays': len(assays.get('data', {}).get('aids', [])),
1143
+ 'assay_details': assay_info
1144
+ }
1145
+
1146
+ def get_active_compounds_from_assay(tu, aid):
1147
+ """Get active compounds from a specific bioassay."""
1148
+
1149
+ actives = tu.tools.PubChem_get_assay_active_compounds(aid=aid)
1150
+
1151
+ return {
1152
+ 'aid': aid,
1153
+ 'active_cids': actives.get('data', {}).get('cids', []),
1154
+ 'count': len(actives.get('data', {}).get('cids', []))
1155
+ }
1156
+ ```
1157
+
1158
+ **PubChem BioAssay Report Section**:
1159
+
1160
+ ```markdown
1161
+ ### PubChem BioAssay Data (NEW)
1162
+
1163
+ **Assays Targeting This Gene**: 45
1164
+
1165
+ | AID | Assay Type | Active Compounds | Target Info |
1166
+ |-----|------------|------------------|-------------|
1167
+ | 1053104 | Dose-response | 12 | EGFR kinase |
1168
+ | 504526 | HTS | 234 | EGFR binding |
1169
+ | 651564 | Confirmatory | 8 | EGFR cellular |
1170
+
1171
+ **Total Active Compounds Across Assays**: ~500
1172
+
1173
+ *Source: PubChem via `PubChem_search_assays_by_target_gene`, `PubChem_get_assay_active_compounds`*
1174
+ ```
1175
+
1176
+ ---
1177
+
1178
+ ## PATH 8: Literature & Research (Collision-Aware)
1179
+
1180
+ ### Collision-Aware Query Strategy
1181
+
1182
+ ```python
1183
+ def path_literature_collision_aware(tu, ids):
1184
+ """
1185
+ Literature search with collision detection and filtering.
1186
+ """
1187
+ symbol = ids['symbol']
1188
+ full_name = ids.get('full_name', '')
1189
+ uniprot = ids['uniprot']
1190
+ synonyms = ids.get('synonyms', [])
1191
+
1192
+ # Step 1: Detect collisions
1193
+ collision_filter = detect_collisions(tu, symbol, full_name)
1194
+
1195
+ # Step 2: Build high-precision seed queries
1196
+ seed_queries = [
1197
+ f'"{symbol}"[Title] AND (protein OR gene OR expression)', # Symbol in title
1198
+ f'"{full_name}"[Title]' if full_name else None, # Full name in title
1199
+ f'"UniProt:{uniprot}"' if uniprot else None, # UniProt accession
1200
+ ]
1201
+ seed_queries = [q for q in seed_queries if q]
1202
+
1203
+ # Add key synonyms
1204
+ for syn in synonyms[:3]:
1205
+ seed_queries.append(f'"{syn}"[Title]')
1206
+
1207
+ # Step 3: Execute seed queries and collect PMIDs
1208
+ seed_pmids = set()
1209
+ for query in seed_queries:
1210
+ if collision_filter:
1211
+ query = f"({query}){collision_filter}"
1212
+ results = tu.tools.PubMed_search_articles(query=query, limit=30)
1213
+ for article in results.get('articles', []):
1214
+ seed_pmids.add(article.get('pmid'))
1215
+
1216
+ # Step 4: Expand via citation network (for sparse targets)
1217
+ if len(seed_pmids) < 30:
1218
+ expanded_pmids = set()
1219
+ for pmid in list(seed_pmids)[:10]: # Top 10 seeds
1220
+ # Get related articles
1221
+ related = tu.tools.PubMed_get_related(pmid=pmid, limit=20)
1222
+ for r in related.get('articles', []):
1223
+ expanded_pmids.add(r.get('pmid'))
1224
+
1225
+ # Get citing articles
1226
+ citing = tu.tools.EuropePMC_get_citations(pmid=pmid, limit=20)
1227
+ for c in citing.get('citations', []):
1228
+ expanded_pmids.add(c.get('pmid'))
1229
+
1230
+ seed_pmids.update(expanded_pmids)
1231
+
1232
+ # Step 5: Classify papers by evidence tier
1233
+ papers_by_tier = {'T1': [], 'T2': [], 'T3': [], 'T4': []}
1234
+ # ... classification logic based on title/abstract keywords
1235
+
1236
+ return {
1237
+ 'total_papers': len(seed_pmids),
1238
+ 'collision_filter_applied': collision_filter if collision_filter else 'None needed',
1239
+ 'seed_queries': seed_queries,
1240
+ 'papers_by_tier': papers_by_tier
1241
+ }
1242
+ ```
1243
+
1244
+ ---
1245
+
1246
+ ## Retry Logic & Fallback Chains
1247
+
1248
+ ### Retry Policy
1249
+
1250
+ For each critical tool, implement retry with exponential backoff:
1251
+
1252
+ ```python
1253
+ def call_with_retry(tu, tool_name, params, max_retries=3):
1254
+ """
1255
+ Call tool with retry logic.
1256
+ """
1257
+ for attempt in range(max_retries):
1258
+ try:
1259
+ result = getattr(tu.tools, tool_name)(**params)
1260
+ if result and not result.get('error'):
1261
+ return result
1262
+ except Exception as e:
1263
+ if attempt < max_retries - 1:
1264
+ time.sleep(2 ** attempt) # Exponential backoff
1265
+ else:
1266
+ return {'error': str(e), 'tool': tool_name, 'attempts': max_retries}
1267
+ return None
1268
+ ```
1269
+
1270
+ ### Fallback Chains (CRITICAL)
1271
+
1272
+ | Primary Tool | Fallback 1 | Fallback 2 | Failure Action |
1273
+ |--------------|------------|------------|----------------|
1274
+ | `ChEMBL_get_target_activities` | `GtoPdb_get_target_ligands` | `OpenTargets drugs` | Note in report |
1275
+ | `intact_get_interactions` | `STRING_get_protein_interactions` | `OpenTargets interactions` | Note in report |
1276
+ | `GO_get_annotations_for_gene` | `OpenTargets GO` | `MyGene GO` | Note in report |
1277
+ | `GTEx_get_median_gene_expression` | `HPA_get_rna_expression` | Note as unavailable | Document in report |
1278
+ | `gnomad_get_gene_constraints` | `OpenTargets constraint` | - | Note in report |
1279
+ | `DGIdb_get_drug_gene_interactions` | `OpenTargets drugs` | `GtoPdb` | Note in report |
1280
+
1281
+ ### Failure Surfacing Rule
1282
+
1283
+ **NEVER silently skip failed tools.** Always document:
1284
+
1285
+ ```markdown
1286
+ ### 7.1 Tissue Expression
1287
+
1288
+ **GTEx Data**: Unavailable (API timeout after 3 attempts)
1289
+ **Fallback Data (HPA)**:
1290
+ | Tissue | Expression Level | Specificity |
1291
+ |--------|-----------------|-------------|
1292
+ | Liver | High | Enhanced |
1293
+ | Kidney | Medium | - |
1294
+
1295
+ *Note: For complete GTEx data, query directly at gtexportal.org*
1296
+ ```
1297
+
1298
+ ---
1299
+
1300
+ ## Per-Section Data Minimums & Completeness Audit
1301
+
1302
+ ### Minimum Data Requirements (Enforced)
1303
+
1304
+ | Section | Minimum Data | If Not Met |
1305
+ |---------|--------------|------------|
1306
+ | **6. PPIs** | ≥20 interactors | Document which tools failed + why |
1307
+ | **7. Expression** | Top 10 tissues with TPM + HPA RNA summary | Note "limited data" with specific gaps |
1308
+ | **8. Disease** | Top 10 OT diseases + gnomAD constraints + ClinVar summary | Separate SNV/CNV; note if constraint unavailable |
1309
+ | **9. Druggability** | OT tractability + probes + drugs + DGIdb + GtoPdb fallback | "No drugs/probes" is valid data |
1310
+ | **11. Literature** | Total count + 5-year trend + 3-5 key papers with evidence tiers | Note if sparse (<50 papers) |
1311
+
1312
+ ### Post-Run Completeness Audit
1313
+
1314
+ Before finalizing the report, run this checklist:
1315
+
1316
+ ```markdown
1317
+ ## Completeness Audit (REQUIRED)
1318
+
1319
+ ### Data Minimums Check
1320
+ - [ ] PPIs: ≥20 interactors OR explanation why fewer
1321
+ - [ ] Expression: Top 10 tissues with values OR explicit "unavailable"
1322
+ - [ ] Diseases: Top 10 associations with scores OR "no associations"
1323
+ - [ ] Constraints: All 4 scores (pLI, LOEUF, missense Z, pRec) OR "unavailable"
1324
+ - [ ] Druggability: All modalities assessed; probes + drugs listed OR "none"
1325
+
1326
+ ### Negative Results Documented
1327
+ - [ ] Empty tool results noted explicitly (not left blank)
1328
+ - [ ] Failed tools with fallbacks documented
1329
+ - [ ] "No data" sections have implications noted
1330
+
1331
+ ### Evidence Quality
1332
+ - [ ] T1-T4 grades in Executive Summary disease claims
1333
+ - [ ] T1-T4 grades in Disease Associations table
1334
+ - [ ] Key papers table has evidence tiers
1335
+ - [ ] Per-section evidence summaries included
1336
+
1337
+ ### Source Attribution
1338
+ - [ ] Every data point has source tool/database cited
1339
+ - [ ] Section-end source summaries present
1340
+ ```
1341
+
1342
+ ### Data Gap Table (Required if minimums not met)
1343
+
1344
+ ```markdown
1345
+ ## 15. Data Gaps & Limitations
1346
+
1347
+ | Section | Expected Data | Actual | Reason | Alternative Source |
1348
+ |---------|---------------|--------|--------|-------------------|
1349
+ | 6. PPIs | ≥20 interactors | 8 | Novel target, limited studies | Literature review needed |
1350
+ | 7. Expression | GTEx TPM | None | Versioned ID not recognized | See HPA data |
1351
+ | 9. Probes | Chemical probes | None | No validated probes exist | Consider tool compound dev |
1352
+
1353
+ **Recommendations for Data Gaps**:
1354
+ 1. For PPIs: Query BioGRID with broader parameters; check yeast-2-hybrid studies
1355
+ 2. For Expression: Query GEO directly for tissue-specific datasets
1356
+ ```
1357
+
1358
+ ---
1359
+
1360
+ ## Report Template (Initial File)
1361
+
1362
+ **File**: `[TARGET]_target_report.md`
1363
+
1364
+ ```markdown
1365
+ # Target Intelligence Report: [TARGET NAME]
1366
+
1367
+ **Generated**: [Date] | **Query**: [Original query] | **Status**: In Progress
1368
+
1369
+ ---
1370
+
1371
+ ## 1. Executive Summary
1372
+ [Researching...]
1373
+ <!-- REQUIRED: 2-3 sentences, disease claims must have T1-T4 grades -->
1374
+
1375
+ ## 2. Target Identifiers
1376
+ [Researching...]
1377
+ <!-- REQUIRED: UniProt, Ensembl (versioned), Entrez, ChEMBL, HGNC, Symbol -->
1378
+
1379
+ ## 3. Basic Information
1380
+ ### 3.1 Protein Description
1381
+ [Researching...]
1382
+ ### 3.2 Protein Function
1383
+ [Researching...]
1384
+ ### 3.3 Subcellular Localization
1385
+ [Researching...]
1386
+
1387
+ ## 4. Structural Biology
1388
+ ### 4.1 Experimental Structures (PDB)
1389
+ [Researching...]
1390
+ <!-- METHOD: 3-step chain (UniProt xrefs → sequence search → domain search) -->
1391
+ ### 4.2 AlphaFold Prediction
1392
+ [Researching...]
1393
+ ### 4.3 Domain Architecture
1394
+ [Researching...]
1395
+ ### 4.4 Key Structural Features
1396
+ [Researching...]
1397
+
1398
+ ## 5. Function & Pathways
1399
+ ### 5.1 Gene Ontology Annotations
1400
+ [Researching...]
1401
+ <!-- REQUIRED: Evidence codes mapped to T1-T4 -->
1402
+ ### 5.2 Pathway Involvement
1403
+ [Researching...]
1404
+
1405
+ ## 6. Protein-Protein Interactions
1406
+ [Researching...]
1407
+ <!-- MINIMUM: ≥20 interactors OR explanation -->
1408
+
1409
+ ## 7. Expression Profile
1410
+ ### 7.1 Tissue Expression (GTEx/HPA)
1411
+ [Researching...]
1412
+ <!-- NOTE: Use versioned Ensembl ID for GTEx if needed -->
1413
+ ### 7.2 Tissue Specificity
1414
+ [Researching...]
1415
+ <!-- MINIMUM: Top 10 tissues with TPM values -->
1416
+
1417
+ ## 8. Genetic Variation & Disease
1418
+ ### 8.1 Constraint Scores
1419
+ [Researching...]
1420
+ <!-- REQUIRED: pLI, LOEUF, missense Z, pRec with interpretations -->
1421
+ ### 8.2 Disease Associations
1422
+ [Researching...]
1423
+ <!-- REQUIRED: Top 10 with OT scores; T1-T4 evidence grades -->
1424
+ ### 8.3 Clinical Variants (ClinVar)
1425
+ [Researching...]
1426
+ <!-- REQUIRED: Separate SNV and CNV tables -->
1427
+ ### 8.4 Mouse Model Phenotypes
1428
+ [Researching...]
1429
+
1430
+ ## 9. Druggability & Pharmacology
1431
+ ### 9.1 Tractability Assessment
1432
+ [Researching...]
1433
+ <!-- REQUIRED: All modalities (SM, Ab, PROTAC, other) -->
1434
+ ### 9.2 Known Drugs
1435
+ [Researching...]
1436
+ ### 9.3 Chemical Probes
1437
+ [Researching...]
1438
+ <!-- NOTE: "No probes" is valid data - document explicitly -->
1439
+ ### 9.4 Clinical Pipeline
1440
+ [Researching...]
1441
+ ### 9.5 ChEMBL Bioactivity
1442
+ [Researching...]
1443
+
1444
+ ## 10. Safety Profile
1445
+ ### 10.1 Safety Liabilities
1446
+ [Researching...]
1447
+ ### 10.2 Expression-Based Toxicity Risk
1448
+ [Researching...]
1449
+ ### 10.3 Mouse KO Phenotypes
1450
+ [Researching...]
1451
+
1452
+ ## 11. Literature & Research Landscape
1453
+ ### 11.1 Publication Metrics
1454
+ [Researching...]
1455
+ <!-- REQUIRED: Total, 5y, 1y, drug-related, clinical -->
1456
+ ### 11.2 Research Trend
1457
+ [Researching...]
1458
+ ### 11.3 Key Publications
1459
+ [Researching...]
1460
+ <!-- REQUIRED: Table with PMID, title, year, evidence tier -->
1461
+ ### 11.4 Evidence Summary by Theme
1462
+ [Researching...]
1463
+ <!-- REQUIRED: T1-T4 breakdown per research theme -->
1464
+
1465
+ ## 12. Competitive Landscape
1466
+ [Researching...]
1467
+
1468
+ ## 13. Summary & Recommendations
1469
+ ### 13.1 Target Validation Scorecard
1470
+ [Researching...]
1471
+ <!-- REQUIRED: 6 criteria, 1-5 scores, evidence quality noted -->
1472
+ ### 13.2 Strengths
1473
+ [Researching...]
1474
+ ### 13.3 Challenges & Risks
1475
+ [Researching...]
1476
+ ### 13.4 Recommendations
1477
+ [Researching...]
1478
+ <!-- REQUIRED: ≥3 prioritized (HIGH/MEDIUM/LOW) -->
1479
+
1480
+ ## 14. Data Sources & Methodology
1481
+ [Will be populated as research progresses...]
1482
+
1483
+ ## 15. Data Gaps & Limitations
1484
+ [To be populated post-audit...]
1485
+ ```
1486
+
1487
+ ---
1488
+
1489
+ ## Quick Reference: Tool Parameters
1490
+
1491
+ | Tool | Parameter | Notes |
1492
+ |------|-----------|-------|
1493
+ | `Reactome_map_uniprot_to_pathways` | `id` | NOT `uniprot_id` |
1494
+ | `ensembl_get_xrefs` | `id` | NOT `gene_id` |
1495
+ | `GTEx_get_median_gene_expression` | `gencode_id`, `operation` | Try versioned ID if empty |
1496
+ | `OpenTargets_*` | `ensemblId` | camelCase, not `ensemblID` |
1497
+ | `STRING_get_protein_interactions` | `protein_ids`, `species` | List format for IDs |
1498
+ | `intact_get_interactions` | `identifier` | UniProt accession |
1499
+
1500
+ ---
1501
+
1502
+ ## When NOT to Use This Skill
1503
+
1504
+ - Simple protein lookup → Use `UniProt_get_entry_by_accession` directly
1505
+ - Drug information only → Use drug-focused tools
1506
+ - Disease-centric query → Use disease-intelligence-gatherer skill
1507
+ - Sequence retrieval → Use sequence-retrieval skill
1508
+ - Structure download → Use protein-structure-retrieval skill
1509
+
1510
+ Use this skill for comprehensive, multi-angle target analysis with guaranteed data completeness.