@bgicli/bgicli 2.4.5 → 2.4.7

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 (356) hide show
  1. package/dist/bgi.js +1154 -104
  2. package/package.json +1 -1
  3. /package/data/{workflows → skills}/bulk-omics-clustering/SKILL.md +0 -0
  4. /package/data/{workflows → skills}/bulk-omics-clustering/references/best_practices.md +0 -0
  5. /package/data/{workflows → skills}/bulk-omics-clustering/references/clustering_methods_comparison.md +0 -0
  6. /package/data/{workflows → skills}/bulk-omics-clustering/references/common-patterns.md +0 -0
  7. /package/data/{workflows → skills}/bulk-omics-clustering/references/decision-guide.md +0 -0
  8. /package/data/{workflows → skills}/bulk-omics-clustering/references/distance_metrics_guide.md +0 -0
  9. /package/data/{workflows → skills}/bulk-omics-clustering/references/parameter_guide.md +0 -0
  10. /package/data/{workflows → skills}/bulk-omics-clustering/references/r-quick-start.md +0 -0
  11. /package/data/{workflows → skills}/bulk-omics-clustering/references/validation_metrics_guide.md +0 -0
  12. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/characterize_clusters.py +0 -0
  13. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/cluster_validation.py +0 -0
  14. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/density_clustering.py +0 -0
  15. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/dimensionality_reduction.py +0 -0
  16. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/distance_metrics.py +0 -0
  17. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/export_results.py +0 -0
  18. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/hierarchical_clustering.R +0 -0
  19. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/hierarchical_clustering.py +0 -0
  20. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/kmeans_clustering.py +0 -0
  21. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/load_example_data.R +0 -0
  22. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/load_example_data.py +0 -0
  23. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/model_based_clustering.py +0 -0
  24. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/optimal_clusters.py +0 -0
  25. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/plot_cluster_heatmap.R +0 -0
  26. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/plot_clustering_results.py +0 -0
  27. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/prepare_data.py +0 -0
  28. /package/data/{workflows → skills}/bulk-omics-clustering/scripts/stability_analysis.py +0 -0
  29. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/SKILL.md +0 -0
  30. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/references/comprehensive-reference.md +0 -0
  31. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/references/decision-guide.md +0 -0
  32. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/references/troubleshooting.md +0 -0
  33. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/references/usage-guide.md +0 -0
  34. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/scripts/basic_workflow.R +0 -0
  35. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/scripts/batch_correction.R +0 -0
  36. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/scripts/export_results.R +0 -0
  37. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/scripts/extract_results.R +0 -0
  38. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/scripts/load_example_data.R +0 -0
  39. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/scripts/multi_condition.R +0 -0
  40. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/scripts/qc_plots.R +0 -0
  41. /package/data/{workflows → skills}/bulk-rnaseq-counts-to-de-deseq2/scripts/transformations.R +0 -0
  42. /package/data/{workflows → skills}/chip-atlas-diff-analysis/SKILL.md +0 -0
  43. /package/data/{workflows → skills}/chip-atlas-diff-analysis/references/chipatlas_diff_api_format.md +0 -0
  44. /package/data/{workflows → skills}/chip-atlas-diff-analysis/references/diff_analysis_methods.md +0 -0
  45. /package/data/{workflows → skills}/chip-atlas-diff-analysis/references/output_format.md +0 -0
  46. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/__init__.py +0 -0
  47. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/annotate_genes.py +0 -0
  48. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/export_all.py +0 -0
  49. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/filter_regions.py +0 -0
  50. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/generate_all_plots.py +0 -0
  51. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/load_example_data.py +0 -0
  52. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/load_user_data.py +0 -0
  53. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/parse_bed_results.py +0 -0
  54. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/qc_checks.py +0 -0
  55. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/query_chipatlas_api.py +0 -0
  56. /package/data/{workflows → skills}/chip-atlas-diff-analysis/scripts/run_diff_workflow.py +0 -0
  57. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/SKILL.md +0 -0
  58. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/references/chipatlas_metadata_format.md +0 -0
  59. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/references/enrichment_statistics.md +0 -0
  60. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/references/peak_thresholds.md +0 -0
  61. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/references/promoter_definitions.md +0 -0
  62. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/scripts/__init__.py +0 -0
  63. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/scripts/convert_genes_to_regions.py +0 -0
  64. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/scripts/export_all.py +0 -0
  65. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/scripts/filter_experiments.py +0 -0
  66. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/scripts/generate_all_plots.py +0 -0
  67. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/scripts/load_example_data.py +0 -0
  68. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/scripts/load_user_data.py +0 -0
  69. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/scripts/query_chipatlas_api.py +0 -0
  70. /package/data/{workflows → skills}/chip-atlas-peak-enrichment/scripts/run_enrichment_workflow.py +0 -0
  71. /package/data/{workflows → skills}/chip-atlas-target-genes/SKILL.md +0 -0
  72. /package/data/{workflows → skills}/chip-atlas-target-genes/references/macs2_binding_scores.md +0 -0
  73. /package/data/{workflows → skills}/chip-atlas-target-genes/references/string_scores.md +0 -0
  74. /package/data/{workflows → skills}/chip-atlas-target-genes/references/target_genes_data_format.md +0 -0
  75. /package/data/{workflows → skills}/chip-atlas-target-genes/scripts/__init__.py +0 -0
  76. /package/data/{workflows → skills}/chip-atlas-target-genes/scripts/download_target_genes.py +0 -0
  77. /package/data/{workflows → skills}/chip-atlas-target-genes/scripts/export_all.py +0 -0
  78. /package/data/{workflows → skills}/chip-atlas-target-genes/scripts/filter_targets.py +0 -0
  79. /package/data/{workflows → skills}/chip-atlas-target-genes/scripts/generate_all_plots.py +0 -0
  80. /package/data/{workflows → skills}/chip-atlas-target-genes/scripts/load_example_query.py +0 -0
  81. /package/data/{workflows → skills}/chip-atlas-target-genes/scripts/load_user_query.py +0 -0
  82. /package/data/{workflows → skills}/chip-atlas-target-genes/scripts/run_target_genes_workflow.py +0 -0
  83. /package/data/{workflows → skills}/clinicaltrials-landscape/SKILL.md +0 -0
  84. /package/data/{workflows → skills}/clinicaltrials-landscape/references/api-parameters.md +0 -0
  85. /package/data/{workflows → skills}/clinicaltrials-landscape/references/mechanisms.md +0 -0
  86. /package/data/{workflows → skills}/clinicaltrials-landscape/references/output-schema.md +0 -0
  87. /package/data/{workflows → skills}/clinicaltrials-landscape/scripts/__init__.py +0 -0
  88. /package/data/{workflows → skills}/clinicaltrials-landscape/scripts/classify_mechanisms.py +0 -0
  89. /package/data/{workflows → skills}/clinicaltrials-landscape/scripts/compile_trials.py +0 -0
  90. /package/data/{workflows → skills}/clinicaltrials-landscape/scripts/disease_config.py +0 -0
  91. /package/data/{workflows → skills}/clinicaltrials-landscape/scripts/export_all.py +0 -0
  92. /package/data/{workflows → skills}/clinicaltrials-landscape/scripts/generate_landscape_plots.py +0 -0
  93. /package/data/{workflows → skills}/clinicaltrials-landscape/scripts/generate_pdf_report.py +0 -0
  94. /package/data/{workflows → skills}/clinicaltrials-landscape/scripts/generate_report.py +0 -0
  95. /package/data/{workflows → skills}/clinicaltrials-landscape/scripts/query_clinicaltrials.py +0 -0
  96. /package/data/{workflows → skills}/coexpression-network/SKILL.md +0 -0
  97. /package/data/{workflows → skills}/coexpression-network/references/parameter-tuning-guide.md +0 -0
  98. /package/data/{workflows → skills}/coexpression-network/references/troubleshooting.md +0 -0
  99. /package/data/{workflows → skills}/coexpression-network/references/wgcna-best-practices.md +0 -0
  100. /package/data/{workflows → skills}/coexpression-network/references/wgcna-reference.md +0 -0
  101. /package/data/{workflows → skills}/coexpression-network/scripts/build_network.R +0 -0
  102. /package/data/{workflows → skills}/coexpression-network/scripts/correlate_modules_traits.R +0 -0
  103. /package/data/{workflows → skills}/coexpression-network/scripts/export_wgcna_results.R +0 -0
  104. /package/data/{workflows → skills}/coexpression-network/scripts/identify_hub_genes.R +0 -0
  105. /package/data/{workflows → skills}/coexpression-network/scripts/load_example_data.R +0 -0
  106. /package/data/{workflows → skills}/coexpression-network/scripts/module_enrichment.R +0 -0
  107. /package/data/{workflows → skills}/coexpression-network/scripts/pick_soft_power.R +0 -0
  108. /package/data/{workflows → skills}/coexpression-network/scripts/plot_all_wgcna.R +0 -0
  109. /package/data/{workflows → skills}/coexpression-network/scripts/plot_eigengene_heatmap.R +0 -0
  110. /package/data/{workflows → skills}/coexpression-network/scripts/plot_hub_genes.R +0 -0
  111. /package/data/{workflows → skills}/coexpression-network/scripts/plot_module_dendrogram.R +0 -0
  112. /package/data/{workflows → skills}/coexpression-network/scripts/plotting_helpers.R +0 -0
  113. /package/data/{workflows → skills}/coexpression-network/scripts/prepare_wgcna_data.R +0 -0
  114. /package/data/{workflows → skills}/coexpression-network/scripts/wgcna_workflow.R +0 -0
  115. /package/data/{workflows → skills}/experimental-design-statistics/SKILL.md +0 -0
  116. /package/data/{workflows → skills}/experimental-design-statistics/references/batch_effect_mitigation.md +0 -0
  117. /package/data/{workflows → skills}/experimental-design-statistics/references/cv_tissue_database.csv +0 -0
  118. /package/data/{workflows → skills}/experimental-design-statistics/references/experimental_design_best_practices.md +0 -0
  119. /package/data/{workflows → skills}/experimental-design-statistics/references/multiple_testing_guide.md +0 -0
  120. /package/data/{workflows → skills}/experimental-design-statistics/references/power_analysis_guidelines.md +0 -0
  121. /package/data/{workflows → skills}/experimental-design-statistics/references/qc_guidelines.md +0 -0
  122. /package/data/{workflows → skills}/experimental-design-statistics/references/software_requirements.md +0 -0
  123. /package/data/{workflows → skills}/experimental-design-statistics/references/troubleshooting_guide.md +0 -0
  124. /package/data/{workflows → skills}/experimental-design-statistics/scripts/batch_assignment.R +0 -0
  125. /package/data/{workflows → skills}/experimental-design-statistics/scripts/batch_validation.R +0 -0
  126. /package/data/{workflows → skills}/experimental-design-statistics/scripts/export_design.R +0 -0
  127. /package/data/{workflows → skills}/experimental-design-statistics/scripts/load_example_data.R +0 -0
  128. /package/data/{workflows → skills}/experimental-design-statistics/scripts/multiple_testing.R +0 -0
  129. /package/data/{workflows → skills}/experimental-design-statistics/scripts/plot_power_curves.R +0 -0
  130. /package/data/{workflows → skills}/experimental-design-statistics/scripts/power_atacseq.R +0 -0
  131. /package/data/{workflows → skills}/experimental-design-statistics/scripts/power_pilot_based.R +0 -0
  132. /package/data/{workflows → skills}/experimental-design-statistics/scripts/power_rnaseq.R +0 -0
  133. /package/data/{workflows → skills}/experimental-design-statistics/scripts/sample_size_de.R +0 -0
  134. /package/data/{workflows → skills}/experimental-design-statistics/scripts/sample_size_scrna.R +0 -0
  135. /package/data/{workflows → skills}/functional-enrichment-from-degs/SKILL.md +0 -0
  136. /package/data/{workflows → skills}/functional-enrichment-from-degs/references/database_guide.md +0 -0
  137. /package/data/{workflows → skills}/functional-enrichment-from-degs/references/decision-guide.md +0 -0
  138. /package/data/{workflows → skills}/functional-enrichment-from-degs/references/gsea_ora_comparison.md +0 -0
  139. /package/data/{workflows → skills}/functional-enrichment-from-degs/references/gsea_ora_validation_framework.md +0 -0
  140. /package/data/{workflows → skills}/functional-enrichment-from-degs/references/interpretation_guidelines.md +0 -0
  141. /package/data/{workflows → skills}/functional-enrichment-from-degs/references/method-reference.md +0 -0
  142. /package/data/{workflows → skills}/functional-enrichment-from-degs/scripts/export_results.R +0 -0
  143. /package/data/{workflows → skills}/functional-enrichment-from-degs/scripts/generate_plots.R +0 -0
  144. /package/data/{workflows → skills}/functional-enrichment-from-degs/scripts/get_msigdb_genesets.R +0 -0
  145. /package/data/{workflows → skills}/functional-enrichment-from-degs/scripts/load_de_results.R +0 -0
  146. /package/data/{workflows → skills}/functional-enrichment-from-degs/scripts/load_example_data.R +0 -0
  147. /package/data/{workflows → skills}/functional-enrichment-from-degs/scripts/prepare_gene_lists.R +0 -0
  148. /package/data/{workflows → skills}/functional-enrichment-from-degs/scripts/run_gsea.R +0 -0
  149. /package/data/{workflows → skills}/functional-enrichment-from-degs/scripts/run_ora.R +0 -0
  150. /package/data/{workflows → skills}/genetic-variant-annotation/SKILL.md +0 -0
  151. /package/data/{workflows → skills}/genetic-variant-annotation/references/auto_installation_implementation.md +0 -0
  152. /package/data/{workflows → skills}/genetic-variant-annotation/references/consequence_terms.md +0 -0
  153. /package/data/{workflows → skills}/genetic-variant-annotation/references/filtering_strategies.md +0 -0
  154. /package/data/{workflows → skills}/genetic-variant-annotation/references/installation_guide.md +0 -0
  155. /package/data/{workflows → skills}/genetic-variant-annotation/references/pathogenicity_interpretation.md +0 -0
  156. /package/data/{workflows → skills}/genetic-variant-annotation/references/qc_guidelines.md +0 -0
  157. /package/data/{workflows → skills}/genetic-variant-annotation/references/snpeff_best_practices.md +0 -0
  158. /package/data/{workflows → skills}/genetic-variant-annotation/references/tool_selection_guide.md +0 -0
  159. /package/data/{workflows → skills}/genetic-variant-annotation/references/troubleshooting_guide.md +0 -0
  160. /package/data/{workflows → skills}/genetic-variant-annotation/references/vep_best_practices.md +0 -0
  161. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/annotate_genes.py +0 -0
  162. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/export_results.py +0 -0
  163. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/filter_variants.py +0 -0
  164. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/install_tools.py +0 -0
  165. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/load_example_data.py +0 -0
  166. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/parse_snpeff_output.py +0 -0
  167. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/parse_vep_output.py +0 -0
  168. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/plot_variant_distribution.py +0 -0
  169. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/prioritize_variants.py +0 -0
  170. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/run_snpeff.py +0 -0
  171. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/run_vep.py +0 -0
  172. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/select_tool.py +0 -0
  173. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/test_complete_workflow.py +0 -0
  174. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/test_pickle_load.py +0 -0
  175. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/validate_vcf.py +0 -0
  176. /package/data/{workflows → skills}/genetic-variant-annotation/scripts/verify_changes.py +0 -0
  177. /package/data/{workflows → skills}/grn-pyscenic/SKILL.md +0 -0
  178. /package/data/{workflows → skills}/grn-pyscenic/references/cli_interface.md +0 -0
  179. /package/data/{workflows → skills}/grn-pyscenic/references/database_downloads.md +0 -0
  180. /package/data/{workflows → skills}/grn-pyscenic/scripts/export_all.py +0 -0
  181. /package/data/{workflows → skills}/grn-pyscenic/scripts/generate_report.py +0 -0
  182. /package/data/{workflows → skills}/grn-pyscenic/scripts/integrate_with_adata.py +0 -0
  183. /package/data/{workflows → skills}/grn-pyscenic/scripts/load_example_data.py +0 -0
  184. /package/data/{workflows → skills}/grn-pyscenic/scripts/load_expression_data.py +0 -0
  185. /package/data/{workflows → skills}/grn-pyscenic/scripts/plot_regulon_visualizations.py +0 -0
  186. /package/data/{workflows → skills}/grn-pyscenic/scripts/run_grn_workflow.py +0 -0
  187. /package/data/{workflows → skills}/gwas-to-function-twas/SKILL.md +0 -0
  188. /package/data/{workflows → skills}/gwas-to-function-twas/references/fusion_best_practices.md +0 -0
  189. /package/data/{workflows → skills}/gwas-to-function-twas/references/installation-guide.md +0 -0
  190. /package/data/{workflows → skills}/gwas-to-function-twas/references/ldsc_qc_guidelines.md +0 -0
  191. /package/data/{workflows → skills}/gwas-to-function-twas/references/spredixxcan_best_practices.md +0 -0
  192. /package/data/{workflows → skills}/gwas-to-function-twas/references/therapeutic_interpretation_guide.md +0 -0
  193. /package/data/{workflows → skills}/gwas-to-function-twas/references/tissue_reference_guide.md +0 -0
  194. /package/data/{workflows → skills}/gwas-to-function-twas/references/troubleshooting_guide.md +0 -0
  195. /package/data/{workflows → skills}/gwas-to-function-twas/references/twas_hub_validation_guide.md +0 -0
  196. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/colocalization_analysis.py +0 -0
  197. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/druggability_scoring.py +0 -0
  198. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/export_results.py +0 -0
  199. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/integrate_variant_annotation.py +0 -0
  200. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/interpret_therapeutic_direction.py +0 -0
  201. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/mendelian_randomization.py +0 -0
  202. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/multilayer_direction_analysis.py +0 -0
  203. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/plot_twas_results.py +0 -0
  204. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/run_fusion.py +0 -0
  205. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/run_smultixcan.py +0 -0
  206. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/run_spredixxcan.py +0 -0
  207. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/select_reference_panel.py +0 -0
  208. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/validate_gwas_sumstats.py +0 -0
  209. /package/data/{workflows → skills}/gwas-to-function-twas/scripts/validate_with_twas_hub.py +0 -0
  210. /package/data/{workflows → skills}/lasso-biomarker-panel/SKILL.md +0 -0
  211. /package/data/{workflows → skills}/lasso-biomarker-panel/references/decision-guide.md +0 -0
  212. /package/data/{workflows → skills}/lasso-biomarker-panel/references/lasso-reference.md +0 -0
  213. /package/data/{workflows → skills}/lasso-biomarker-panel/references/validation-guide.md +0 -0
  214. /package/data/{workflows → skills}/lasso-biomarker-panel/scripts/biological_interpretation.R +0 -0
  215. /package/data/{workflows → skills}/lasso-biomarker-panel/scripts/biomarker_plots.R +0 -0
  216. /package/data/{workflows → skills}/lasso-biomarker-panel/scripts/export_results.R +0 -0
  217. /package/data/{workflows → skills}/lasso-biomarker-panel/scripts/lasso_workflow.R +0 -0
  218. /package/data/{workflows → skills}/lasso-biomarker-panel/scripts/load_example_data.R +0 -0
  219. /package/data/{workflows → skills}/lasso-biomarker-panel/scripts/plotting_helpers.R +0 -0
  220. /package/data/{workflows → skills}/lasso-biomarker-panel/scripts/prepare_features.R +0 -0
  221. /package/data/{workflows → skills}/lasso-biomarker-panel/scripts/query_cellxgene.py +0 -0
  222. /package/data/{workflows → skills}/lasso-biomarker-panel/scripts/validate_external.R +0 -0
  223. /package/data/{workflows → skills}/literature-preclinical/SKILL.md +0 -0
  224. /package/data/{workflows → skills}/literature-preclinical/assets/eval/simple_test.py +0 -0
  225. /package/data/{workflows → skills}/literature-preclinical/references/experiment-extraction-guide.md +0 -0
  226. /package/data/{workflows → skills}/literature-preclinical/references/full-text-enrichment-guide.md +0 -0
  227. /package/data/{workflows → skills}/literature-preclinical/references/preclinical-search-guide.md +0 -0
  228. /package/data/{workflows → skills}/literature-preclinical/scripts/extract_experiments.py +0 -0
  229. /package/data/{workflows → skills}/literature-preclinical/scripts/generate_plots.R +0 -0
  230. /package/data/{workflows → skills}/literature-preclinical/scripts/narrative_synthesis.py +0 -0
  231. /package/data/{workflows → skills}/literature-preclinical/scripts/preclinical_search.py +0 -0
  232. /package/data/{workflows → skills}/literature-preclinical/scripts/preclinical_synthesis.py +0 -0
  233. /package/data/{workflows → skills}/literature-preclinical/scripts/report_generation.py +0 -0
  234. /package/data/{workflows → skills}/mendelian-randomization-twosamplemr/SKILL.md +0 -0
  235. /package/data/{workflows → skills}/mendelian-randomization-twosamplemr/references/interpretation-guide.md +0 -0
  236. /package/data/{workflows → skills}/mendelian-randomization-twosamplemr/references/method-reference.md +0 -0
  237. /package/data/{workflows → skills}/mendelian-randomization-twosamplemr/scripts/export_results.R +0 -0
  238. /package/data/{workflows → skills}/mendelian-randomization-twosamplemr/scripts/generate_report.R +0 -0
  239. /package/data/{workflows → skills}/mendelian-randomization-twosamplemr/scripts/load_data.R +0 -0
  240. /package/data/{workflows → skills}/mendelian-randomization-twosamplemr/scripts/mr_plots.R +0 -0
  241. /package/data/{workflows → skills}/mendelian-randomization-twosamplemr/scripts/run_mr_analysis.R +0 -0
  242. /package/data/{workflows → skills}/pcr-primer-design/SKILL.md +0 -0
  243. /package/data/{workflows → skills}/pcr-primer-design/references/code_examples.md +0 -0
  244. /package/data/{workflows → skills}/pcr-primer-design/references/miqe_guidelines.md +0 -0
  245. /package/data/{workflows → skills}/pcr-primer-design/references/parameter_ranges.md +0 -0
  246. /package/data/{workflows → skills}/pcr-primer-design/references/primer_design_best_practices.md +0 -0
  247. /package/data/{workflows → skills}/pcr-primer-design/references/troubleshooting_guide.md +0 -0
  248. /package/data/{workflows → skills}/pcr-primer-design/scripts/__init__.py +0 -0
  249. /package/data/{workflows → skills}/pcr-primer-design/scripts/calculate_tm.py +0 -0
  250. /package/data/{workflows → skills}/pcr-primer-design/scripts/check_dimers.py +0 -0
  251. /package/data/{workflows → skills}/pcr-primer-design/scripts/check_secondary_structures.py +0 -0
  252. /package/data/{workflows → skills}/pcr-primer-design/scripts/design_qpcr_primers.py +0 -0
  253. /package/data/{workflows → skills}/pcr-primer-design/scripts/design_standard_primers.py +0 -0
  254. /package/data/{workflows → skills}/pcr-primer-design/scripts/design_taqman_probes.py +0 -0
  255. /package/data/{workflows → skills}/pcr-primer-design/scripts/export_results.py +0 -0
  256. /package/data/{workflows → skills}/pcr-primer-design/scripts/generate_reports.py +0 -0
  257. /package/data/{workflows → skills}/pcr-primer-design/scripts/validate_specificity.py +0 -0
  258. /package/data/{workflows → skills}/pcr-primer-design/scripts/visualize_primers.py +0 -0
  259. /package/data/{workflows → skills}/polygenic-risk-score-prs-catalog/SKILL.md +0 -0
  260. /package/data/{workflows → skills}/polygenic-risk-score-prs-catalog/references/interpretation-guide.md +0 -0
  261. /package/data/{workflows → skills}/polygenic-risk-score-prs-catalog/references/pgs-catalog-guide.md +0 -0
  262. /package/data/{workflows → skills}/polygenic-risk-score-prs-catalog/scripts/export_results.R +0 -0
  263. /package/data/{workflows → skills}/polygenic-risk-score-prs-catalog/scripts/generate_plots.R +0 -0
  264. /package/data/{workflows → skills}/polygenic-risk-score-prs-catalog/scripts/load_pgs_weights.R +0 -0
  265. /package/data/{workflows → skills}/polygenic-risk-score-prs-catalog/scripts/load_reference_data.R +0 -0
  266. /package/data/{workflows → skills}/polygenic-risk-score-prs-catalog/scripts/score_traits.R +0 -0
  267. /package/data/{workflows → skills}/pooled-crispr-screens/SKILL.md +0 -0
  268. /package/data/{workflows → skills}/pooled-crispr-screens/references/crispr_screen_best_practices.md +0 -0
  269. /package/data/{workflows → skills}/pooled-crispr-screens/references/qc_guidelines.md +0 -0
  270. /package/data/{workflows → skills}/pooled-crispr-screens/references/statistical_methods.md +0 -0
  271. /package/data/{workflows → skills}/pooled-crispr-screens/references/troubleshooting_guide.md +0 -0
  272. /package/data/{workflows → skills}/pooled-crispr-screens/references/umi_optimization.md +0 -0
  273. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/concatenate_libraries.py +0 -0
  274. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/detect_perturbed_cells.py +0 -0
  275. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/differential_expression.py +0 -0
  276. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/differential_expression_glmgampoi.py +0 -0
  277. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/export_results.py +0 -0
  278. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/expression_filtering.py +0 -0
  279. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/gene_name_corrections.py +0 -0
  280. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/generate_report.py +0 -0
  281. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/load_10x_libraries.py +0 -0
  282. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/load_example_data.py +0 -0
  283. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/map_sgrna_to_cells.py +0 -0
  284. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/normalize_and_scale.py +0 -0
  285. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/qc_filtering.py +0 -0
  286. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/run_glmgampoi.R +0 -0
  287. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/screen_all_perturbations.py +0 -0
  288. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/validate_perturbations.py +0 -0
  289. /package/data/{workflows → skills}/pooled-crispr-screens/scripts/visualize_perturbations.py +0 -0
  290. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/SKILL.md +0 -0
  291. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/references/ambient_rna_correction.md +0 -0
  292. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/references/common-patterns.md +0 -0
  293. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/references/integration_methods.md +0 -0
  294. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/references/marker_gene_database.md +0 -0
  295. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/references/pseudobulk_de_guide.md +0 -0
  296. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/references/qc_guidelines.md +0 -0
  297. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/references/scanpy_best_practices.md +0 -0
  298. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/references/troubleshooting_guide.md +0 -0
  299. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/references/workflow-details.md +0 -0
  300. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/annotate_celltypes.py +0 -0
  301. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/cluster_cells.py +0 -0
  302. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/export_results.py +0 -0
  303. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/filter_cells.py +0 -0
  304. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/find_markers.py +0 -0
  305. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/find_variable_genes.py +0 -0
  306. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/integrate_scvi.py +0 -0
  307. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/integration_diagnostics.py +0 -0
  308. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/load_example_data.py +0 -0
  309. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/normalize_data.py +0 -0
  310. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/plot_dimreduction.py +0 -0
  311. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/plot_qc.py +0 -0
  312. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/pseudobulk_de.py +0 -0
  313. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/qc_metrics.py +0 -0
  314. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/remove_ambient_rna.py +0 -0
  315. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/run_umap.py +0 -0
  316. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/scale_and_pca.py +0 -0
  317. /package/data/{workflows → skills}/scrnaseq-scanpy-core-analysis/scripts/setup_and_import.py +0 -0
  318. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/SKILL.md +0 -0
  319. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/references/ambient_rna_correction.md +0 -0
  320. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/references/common-patterns.md +0 -0
  321. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/references/decision-guide.md +0 -0
  322. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/references/integration_methods.md +0 -0
  323. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/references/marker_gene_database.md +0 -0
  324. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/references/pseudobulk_de_guide.md +0 -0
  325. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/references/qc_guidelines.md +0 -0
  326. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/references/seurat_best_practices.md +0 -0
  327. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/references/troubleshooting_guide.md +0 -0
  328. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/references/workflow-details.md +0 -0
  329. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/annotate_celltypes.R +0 -0
  330. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/cluster_cells.R +0 -0
  331. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/export_results.R +0 -0
  332. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/filter_cells.R +0 -0
  333. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/find_markers.R +0 -0
  334. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/find_variable_features.R +0 -0
  335. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/integrate_batches.R +0 -0
  336. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/integration_diagnostics.R +0 -0
  337. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/load_example_data.R +0 -0
  338. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/normalize_data.R +0 -0
  339. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/plot_dimreduction.R +0 -0
  340. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/plot_qc.R +0 -0
  341. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/pseudobulk_de.R +0 -0
  342. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/qc_metrics.R +0 -0
  343. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/remove_ambient_rna.R +0 -0
  344. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/run_umap.R +0 -0
  345. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/scale_and_pca.R +0 -0
  346. /package/data/{workflows → skills}/scrnaseq-seurat-core-analysis/scripts/setup_and_import.R +0 -0
  347. /package/data/{workflows → skills}/spatial-transcriptomics/SKILL.md +0 -0
  348. /package/data/{workflows → skills}/spatial-transcriptomics/references/spatial-analysis-guide.md +0 -0
  349. /package/data/{workflows → skills}/spatial-transcriptomics/scripts/export_results.py +0 -0
  350. /package/data/{workflows → skills}/spatial-transcriptomics/scripts/generate_all_plots.py +0 -0
  351. /package/data/{workflows → skills}/spatial-transcriptomics/scripts/load_example_data.py +0 -0
  352. /package/data/{workflows → skills}/spatial-transcriptomics/scripts/spatial_workflow.py +0 -0
  353. /package/data/{workflows → skills}/survival-analysis-clinical/SKILL.md +0 -0
  354. /package/data/{workflows → skills}/survival-analysis-clinical/scripts/full_workflow.R +0 -0
  355. /package/data/{workflows → skills}/survival-analysis-clinical/scripts/load_example_data.R +0 -0
  356. /package/data/{workflows → skills}/survival-analysis-clinical/scripts/plot_forest.R +0 -0
package/dist/bgi.js CHANGED
@@ -13602,7 +13602,6 @@ var DEFAULT_PROVIDER = "bailian";
13602
13602
 
13603
13603
  // src/config.ts
13604
13604
  var BGI_DIR = (0, import_path2.join)((0, import_os.homedir)(), ".bgicli");
13605
- var WORKFLOWS_DIR = (0, import_path2.join)(BGI_DIR, "workflows");
13606
13605
  var TOOLS_DIR = (0, import_path2.join)(BGI_DIR, "tools");
13607
13606
  var SKILLS_DIR = (0, import_path2.join)(BGI_DIR, "skills");
13608
13607
  var USER_SKILLS_DIR = (0, import_path2.join)(BGI_DIR, "user-skills");
@@ -13610,7 +13609,7 @@ var DATABASES_FILE = (0, import_path2.join)(BGI_DIR, "databases.json");
13610
13609
  var DATA_VERSION_FILE = (0, import_path2.join)(BGI_DIR, ".data-version");
13611
13610
  var CONFIG_FILE = (0, import_path2.join)(BGI_DIR, "config.json");
13612
13611
  function ensureDirs() {
13613
- for (const dir of [BGI_DIR, WORKFLOWS_DIR, TOOLS_DIR, SKILLS_DIR, USER_SKILLS_DIR]) {
13612
+ for (const dir of [BGI_DIR, TOOLS_DIR, SKILLS_DIR, USER_SKILLS_DIR]) {
13614
13613
  if (!(0, import_fs2.existsSync)(dir)) (0, import_fs2.mkdirSync)(dir, { recursive: true });
13615
13614
  }
13616
13615
  }
@@ -14634,7 +14633,7 @@ You have access to these tools:
14634
14633
  > \u662F\u5426\u6FC0\u6D3B\u8FD9\u4E9B\u6280\u80FD\u5F00\u59CB\u5206\u6790\uFF1F
14635
14634
 
14636
14635
  **\u7B2C\u4E09\u6B65 \u2014 \u6FC0\u6D3B\u6280\u80FD\uFF0C\u8BFB\u53D6 SKILL.md**
14637
- \u7528\u6237\u786E\u8BA4\u540E\u7ACB\u5373\u6267\u884C\uFF1A\`cat ${WORKFLOWS_DIR}/<skill-id>/SKILL.md\`
14636
+ \u7528\u6237\u786E\u8BA4\u540E\u7ACB\u5373\u6267\u884C\uFF1A\`cat ${SKILLS_DIR}/<skill-id>/SKILL.md\`
14638
14637
  \u4E25\u683C\u6309\u7167 SKILL.md \u7684\u6BCF\u4E00\u6B65\u6267\u884C\uFF0C\u4E0D\u8DF3\u8FC7\u3001\u4E0D\u81EA\u884C\u53D1\u6325\u3002
14639
14638
 
14640
14639
  **\u7B2C\u56DB\u6B65 \u2014 \u53EA\u95EE\u771F\u6B63\u5FC5\u8981\u7684\u6570\u636E\u95EE\u9898**
@@ -14651,13 +14650,13 @@ SKILL.md \u8BFB\u5B8C\u540E\uFF0C\u53EA\u8BE2\u95EE\u6267\u884C\u6240\u9700\u768
14651
14650
 
14652
14651
  ---
14653
14652
 
14654
- ## Skill Library (22 Bioinformatics Skills)
14653
+ ## Skill Library
14655
14654
 
14656
- All skills are at: **${WORKFLOWS_DIR}**
14655
+ All skills are at: **${SKILLS_DIR}**
14657
14656
 
14658
14657
  For any skill, read its guide first:
14659
14658
  \`\`\`bash
14660
- cat ${WORKFLOWS_DIR}/<skill-id>/SKILL.md
14659
+ cat ${SKILLS_DIR}/<skill-id>/SKILL.md
14661
14660
  \`\`\`
14662
14661
 
14663
14662
  ### \u{1F9EC} Transcriptomics
@@ -14737,16 +14736,9 @@ ${dbSection ?? "\uFF08\u6682\u672A\u6CE8\u518C\u4EFB\u4F55\u6570\u636E\u5E93\u30
14737
14736
 
14738
14737
  ---
14739
14738
 
14740
- ## Extended Skills (979\u4E2A)
14741
-
14742
- \u66F4\u591A\u5185\u7F6E\u6280\u80FD\u4F4D\u4E8E: **${SKILLS_DIR}**
14743
-
14744
- \u6BCF\u4E2A\u6280\u80FD\u76EE\u5F55\u5305\u542B\u4E00\u4E2A \`SKILL.md\` \u6587\u4EF6\uFF0C\u8BFB\u53D6\u65B9\u5F0F:
14745
- \`\`\`bash
14746
- cat ${SKILLS_DIR}/<skill-id>/SKILL.md
14747
- \`\`\`
14739
+ ## More Skills
14748
14740
 
14749
- **\u6DB5\u76D6\u9886\u57DF**\uFF08\u7528\u6237\u901A\u8FC7 /sk \u547D\u4EE4\u52A0\u8F7D\u540E\u81EA\u52A8\u6CE8\u5165\u4E0A\u4E0B\u6587\uFF09:
14741
+ \u6240\u6709\u5185\u7F6E\u6280\u80FD\u5747\u4F4D\u4E8E **${SKILLS_DIR}**\uFF0C\u6DB5\u76D6\u9886\u57DF\uFF08\u7528\u6237\u901A\u8FC7 /sk \u547D\u4EE4\u52A0\u8F7D\u540E\u81EA\u52A8\u6CE8\u5165\u4E0A\u4E0B\u6587\uFF09:
14750
14742
  - \u6587\u732E\u68C0\u7D22: pubmed-search, arxiv-search, bgpt-paper-search
14751
14743
  - \u7ED3\u6784\u751F\u7269\u5B66: alphafold, alphafold-database, bindcraft, binder-design
14752
14744
  - \u5355\u7EC6\u80DE: anndata, cellagent-annotation, scvi-tools
@@ -15180,10 +15172,12 @@ var SKILL_ROUTES = [
15180
15172
  category: "\u8F6C\u5F55\u7EC4",
15181
15173
  tag: "builtin",
15182
15174
  keywords: [
15183
- // exact tool names
15175
+ // tool names
15184
15176
  "deseq2",
15185
15177
  "edger",
15186
15178
  "limma-voom",
15179
+ "limma",
15180
+ "voom",
15187
15181
  // explicit analysis terms
15188
15182
  "rna-seq\u5DEE\u5F02",
15189
15183
  "rnaseq\u5DEE\u5F02",
@@ -15193,7 +15187,25 @@ var SKILL_ROUTES = [
15193
15187
  "count matrix",
15194
15188
  "\u539F\u59CBcounts",
15195
15189
  "raw counts",
15196
- // natural-language synonyms (the main gap in the original)
15190
+ "featurecounts",
15191
+ "htseq-count",
15192
+ "htseq",
15193
+ "rsem",
15194
+ "salmon\u5B9A\u91CF",
15195
+ "kallisto",
15196
+ // data inputs
15197
+ "tpm\u77E9\u9635\u5206\u6790",
15198
+ "fpkm\u77E9\u9635",
15199
+ "\u8868\u8FBE\u77E9\u9635",
15200
+ "star\u6BD4\u5BF9\u7ED3\u679C",
15201
+ "hisat2\u7ED3\u679C",
15202
+ // result types
15203
+ "\u706B\u5C71\u56FE",
15204
+ "volcano plot",
15205
+ "ma\u56FE",
15206
+ "ma plot",
15207
+ "\u5DEE\u5F02\u57FA\u56E0\u70ED\u56FE",
15208
+ // natural-language: what changed
15197
15209
  "\u54EA\u4E9B\u57FA\u56E0\u8868\u8FBE\u91CF\u9AD8",
15198
15210
  "\u54EA\u4E9B\u57FA\u56E0\u4E0A\u8C03",
15199
15211
  "\u54EA\u4E9B\u57FA\u56E0\u4E0B\u8C03",
@@ -15206,7 +15218,37 @@ var SKILL_ROUTES = [
15206
15218
  "differentially expressed",
15207
15219
  "\u5DEE\u5F02\u5206\u6790",
15208
15220
  "\u6BD4\u8F83\u4E24\u7EC4\u57FA\u56E0\u8868\u8FBE",
15209
- "\u80BF\u7624vs\u6B63\u5E38"
15221
+ // comparison contexts
15222
+ "\u80BF\u7624vs\u6B63\u5E38",
15223
+ "\u80BF\u7624\u764C\u65C1",
15224
+ "\u764C\u65C1\u5BF9\u7167",
15225
+ "\u80BF\u7624\u5BF9\u7167\u6BD4\u8F83",
15226
+ "\u5904\u7406vs\u5BF9\u7167",
15227
+ "\u836F\u7269\u5904\u7406\u5DEE\u5F02",
15228
+ "\u6572\u9664vs\u91CE\u751F\u578B",
15229
+ "\u8FC7\u8868\u8FBEvs\u5BF9\u7167",
15230
+ "\u8010\u836Fvs\u654F\u611F",
15231
+ "\u8010\u836F\u5DEE\u5F02\u8868\u8FBE",
15232
+ "\u5206\u5316\u524D\u540E",
15233
+ "\u65F6\u95F4\u70B9\u5DEE\u5F02",
15234
+ // cancer-specific
15235
+ "\u80BA\u764C\u5DEE\u5F02\u57FA\u56E0",
15236
+ "\u4E73\u817A\u764C\u5DEE\u5F02\u8868\u8FBE",
15237
+ "\u809D\u764C\u8F6C\u5F55\u7EC4\u5DEE\u5F02",
15238
+ "\u7ED3\u76F4\u80A0\u764C\u57FA\u56E0\u8868\u8FBE",
15239
+ "\u80C3\u764C\u5DEE\u5F02\u5206\u6790",
15240
+ "\u524D\u5217\u817A\u764C\u5DEE\u5F02",
15241
+ "\u767D\u8840\u75C5\u8F6C\u5F55\u7EC4",
15242
+ "\u6DCB\u5DF4\u7624\u57FA\u56E0\u8868\u8FBE",
15243
+ "\u80F6\u8D28\u7624\u5DEE\u5F02\u57FA\u56E0",
15244
+ // immune/inflammation context
15245
+ "\u514D\u75AB\u7EC6\u80DE\u5DEE\u5F02\u8868\u8FBE",
15246
+ "\u5DE8\u566C\u7EC6\u80DE\u6FC0\u6D3B\u5DEE\u5F02",
15247
+ "\u708E\u75C7\u76F8\u5173\u5DEE\u5F02\u57FA\u56E0",
15248
+ // natural query style
15249
+ "\u54EA\u4E9B\u57FA\u56E0\u6709\u5DEE\u5F02",
15250
+ "\u627E\u5230\u5DEE\u5F02\u57FA\u56E0",
15251
+ "rna-seq\u6570\u636E\u5206\u6790"
15210
15252
  ]
15211
15253
  },
15212
15254
  {
@@ -15215,23 +15257,54 @@ var SKILL_ROUTES = [
15215
15257
  category: "\u8F6C\u5F55\u7EC4",
15216
15258
  tag: "builtin",
15217
15259
  keywords: [
15260
+ // method names
15218
15261
  "wgcna\u805A\u7C7B",
15219
15262
  "\u5C42\u6B21\u805A\u7C7B",
15220
15263
  "hierarchical clustering",
15221
15264
  "kmeans\u805A\u7C7B",
15265
+ "k-means",
15222
15266
  "hdbscan",
15223
15267
  "\u6837\u672C\u805A\u7C7B",
15224
15268
  "\u7279\u5F81\u805A\u7C7B",
15225
15269
  "omics clustering",
15226
- // natural-language synonyms
15270
+ "consensus clustering",
15271
+ "\u5171\u8BC6\u805A\u7C7B",
15272
+ "nmf\u5206\u89E3",
15273
+ "non-negative matrix",
15274
+ // dimensionality reduction
15275
+ "pca\u5206\u6790",
15276
+ "\u4E3B\u6210\u5206\u5206\u6790",
15277
+ "umap\u964D\u7EF4",
15278
+ "t-sne",
15279
+ "tsne",
15280
+ "umap",
15281
+ "pca\u56FE",
15282
+ "umap\u56FE",
15283
+ "\u964D\u7EF4\u53EF\u89C6\u5316",
15284
+ // subtyping
15285
+ "\u5206\u5B50\u4E9A\u578B",
15286
+ "\u5206\u5B50\u4E9A\u578B\u9274\u5B9A",
15287
+ "\u764C\u75C7\u5206\u5B50\u5206\u578B",
15288
+ "\u60A3\u8005\u5206\u5C42",
15289
+ "\u6837\u672C\u5206\u578B",
15290
+ "\u4E9A\u578B\u9274\u5B9A",
15291
+ "\u5185\u5728\u4E9A\u578B",
15292
+ "intrinsic subtype",
15293
+ // multi-omics
15294
+ "\u86CB\u767D\u8D28\u7EC4\u805A\u7C7B",
15295
+ "\u4EE3\u8C22\u7EC4\u805A\u7C7B",
15296
+ "\u591A\u7EC4\u5B66\u805A\u7C7B",
15297
+ "\u591A\u7EC4\u5B66\u6574\u5408",
15298
+ // natural-language
15227
15299
  "\u6837\u672C\u5206\u7EC4",
15228
15300
  "\u6837\u672C\u5206\u7C7B",
15229
15301
  "\u805A\u7C7B\u5206\u6790",
15230
15302
  "\u65E0\u76D1\u7763\u805A\u7C7B",
15231
15303
  "\u70ED\u56FE\u805A\u7C7B",
15232
- "pca\u5206\u6790",
15233
- "\u4E3B\u6210\u5206\u5206\u6790",
15234
- "umap\u964D\u7EF4"
15304
+ "\u6837\u672C\u76F8\u4F3C\u6027",
15305
+ "\u6837\u672C\u95F4\u5173\u7CFB",
15306
+ "\u8FD9\u4E9B\u6837\u672C\u5982\u4F55\u5206\u7EC4",
15307
+ "\u627E\u5230\u6837\u672C\u7684\u4E9A\u7FA4"
15235
15308
  ]
15236
15309
  },
15237
15310
  {
@@ -15240,6 +15313,7 @@ var SKILL_ROUTES = [
15240
15313
  category: "\u5355\u7EC6\u80DE",
15241
15314
  tag: "builtin",
15242
15315
  keywords: [
15316
+ // tools
15243
15317
  "scanpy",
15244
15318
  "scrna-seq",
15245
15319
  "single cell rna",
@@ -15248,7 +15322,9 @@ var SKILL_ROUTES = [
15248
15322
  "leiden\u805A\u7C7B",
15249
15323
  "python\u5355\u7EC6\u80DE",
15250
15324
  "anndata\u5206\u6790",
15251
- // natural-language synonyms
15325
+ "louvain\u805A\u7C7B",
15326
+ "umap\u5355\u7EC6\u80DE",
15327
+ // core analysis
15252
15328
  "\u5355\u7EC6\u80DE\u6D4B\u5E8F",
15253
15329
  "\u5355\u7EC6\u80DE\u5206\u6790",
15254
15330
  "\u5355\u7EC6\u80DE\u6570\u636E",
@@ -15256,7 +15332,60 @@ var SKILL_ROUTES = [
15256
15332
  "\u7EC6\u80DE\u805A\u7C7B",
15257
15333
  "\u7EC6\u80DE\u7C7B\u578B\u9274\u5B9A",
15258
15334
  "scrna",
15259
- "sc-rna"
15335
+ "sc-rna",
15336
+ // quality control
15337
+ "\u5355\u7EC6\u80DEqc",
15338
+ "\u5355\u7EC6\u80DE\u8D28\u63A7",
15339
+ "\u7EBF\u7C92\u4F53\u6BD4\u4F8B",
15340
+ "doublet\u68C0\u6D4B",
15341
+ "doubletfinder",
15342
+ // cell types
15343
+ "T\u7EC6\u80DE\u4E9A\u7FA4",
15344
+ "B\u7EC6\u80DE\u5206\u6790",
15345
+ "NK\u7EC6\u80DE",
15346
+ "\u5DE8\u566C\u7EC6\u80DE\u4E9A\u7FA4",
15347
+ "\u6811\u7A81\u72B6\u7EC6\u80DE",
15348
+ "\u6210\u7EA4\u7EF4\u7EC6\u80DE",
15349
+ "\u5185\u76AE\u7EC6\u80DE",
15350
+ "\u4E0A\u76AE\u7EC6\u80DE",
15351
+ "\u9AD3\u7CFB\u7EC6\u80DE",
15352
+ "\u6D46\u7EC6\u80DE",
15353
+ "\u81EA\u7136\u6740\u4F24\u7EC6\u80DE",
15354
+ // TME / cancer context
15355
+ "\u80BF\u7624\u5FAE\u73AF\u5883",
15356
+ "tme\u5206\u6790",
15357
+ "\u80BF\u7624\u6D78\u6DA6\u6DCB\u5DF4\u7EC6\u80DE",
15358
+ "til\u5206\u6790",
15359
+ "\u80BF\u7624\u5355\u7EC6\u80DE\u56FE\u8C31",
15360
+ "\u514D\u75AB\u7EC6\u80DE\u6D78\u6DA6\u5355\u7EC6\u80DE",
15361
+ "\u764C\u75C7\u5355\u7EC6\u80DE",
15362
+ // trajectory / pseudotime
15363
+ "\u62DF\u65F6\u5E8F\u5206\u6790",
15364
+ "pseudotime",
15365
+ "trajectory analysis",
15366
+ "\u8F68\u8FF9\u5206\u6790",
15367
+ "\u7EC6\u80DE\u5206\u5316\u8F68\u8FF9",
15368
+ "\u53D1\u80B2\u8F68\u8FF9",
15369
+ "monocle",
15370
+ "diffusion pseudotime",
15371
+ // cell communication
15372
+ "\u7EC6\u80DE\u901A\u8BAF",
15373
+ "cellchat",
15374
+ "nichenet",
15375
+ "\u914D\u4F53\u53D7\u4F53",
15376
+ "ligand receptor",
15377
+ "\u7EC6\u80DE\u95F4\u901A\u8BAF",
15378
+ "\u4FE1\u53F7\u4F20\u5BFC\u7F51\u7EDC",
15379
+ // integration
15380
+ "\u591A\u6837\u672C\u6574\u5408",
15381
+ "harmony\u6279\u6B21\u77EB\u6B63",
15382
+ "\u6279\u6B21\u77EB\u6B63\u5355\u7EC6\u80DE",
15383
+ "scanorama",
15384
+ // natural query
15385
+ "\u5355\u7EC6\u80DE\u56FE\u8C31",
15386
+ "\u7EC6\u80DE\u7C7B\u578B\u6709\u54EA\u4E9B",
15387
+ "\u7EC6\u80DE\u4E9A\u7FA4\u5206\u6790",
15388
+ "\u5355\u7EC6\u80DE\u8F6C\u5F55\u7EC4"
15260
15389
  ]
15261
15390
  },
15262
15391
  {
@@ -15265,16 +15394,37 @@ var SKILL_ROUTES = [
15265
15394
  category: "\u5355\u7EC6\u80DE",
15266
15395
  tag: "builtin",
15267
15396
  keywords: [
15397
+ // tools
15268
15398
  "seurat",
15269
15399
  "r\u8BED\u8A00\u5355\u7EC6\u80DE",
15270
15400
  "findclusters",
15271
15401
  "findneighbors",
15272
15402
  "sctransform",
15273
15403
  "r\u5355\u7EC6\u80DE\u5206\u6790",
15274
- // natural-language synonyms
15404
+ "findmarkers",
15405
+ "findallmarkers",
15406
+ "doubletfinder r",
15407
+ "harmony r\u6574\u5408",
15408
+ "cca\u6574\u5408",
15409
+ // core workflow
15275
15410
  "r\u505A\u5355\u7EC6\u80DE",
15276
15411
  "seurat\u5206\u6790",
15277
- "\u7528r\u5206\u6790\u5355\u7EC6\u80DE"
15412
+ "\u7528r\u5206\u6790\u5355\u7EC6\u80DE",
15413
+ "seurat\u5BF9\u8C61",
15414
+ "seurat pipeline",
15415
+ // marker genes
15416
+ "\u6807\u8BB0\u57FA\u56E0",
15417
+ "marker gene",
15418
+ "\u7EC6\u80DEmarker",
15419
+ "\u7EC6\u80DE\u7279\u5F81\u57FA\u56E0",
15420
+ // T/B/NK cells in R
15421
+ "r\u8BED\u8A00t\u7EC6\u80DE",
15422
+ "r\u8BED\u8A00\u80BF\u7624\u5FAE\u73AF\u5883",
15423
+ "\u7528seurat\u505A\u514D\u75AB\u5206\u6790",
15424
+ // integration
15425
+ "rpca\u6574\u5408",
15426
+ "seurat\u6574\u5408",
15427
+ "\u591A\u6837\u672Cseurat"
15278
15428
  ]
15279
15429
  },
15280
15430
  {
@@ -15283,20 +15433,47 @@ var SKILL_ROUTES = [
15283
15433
  category: "\u5355\u7EC6\u80DE",
15284
15434
  tag: "builtin",
15285
15435
  keywords: [
15436
+ // platforms
15286
15437
  "\u7A7A\u95F4\u8F6C\u5F55\u7EC4",
15287
15438
  "spatial transcriptomics",
15288
15439
  "visium",
15440
+ "10x visium",
15441
+ "stereo-seq",
15442
+ "merfish",
15443
+ "seqfish",
15444
+ "slide-seq",
15445
+ "cosmx",
15446
+ "xenium",
15447
+ "dbit-seq",
15448
+ "resolve biosciences",
15449
+ // analysis
15289
15450
  "\u7A7A\u95F4\u89E3\u5377\u79EF",
15290
15451
  "spatial deconvolution",
15291
15452
  "\u914D\u4F53\u53D7\u4F53\u5206\u6790",
15292
15453
  "\u7A7A\u95F4\u57FA\u56E0\u8868\u8FBE",
15293
- "stereo-seq",
15294
- // natural-language synonyms
15454
+ "\u7A7A\u95F4\u805A\u7C7B",
15455
+ "\u7A7A\u95F4\u53D8\u5F02\u57FA\u56E0",
15456
+ "spatially variable genes",
15457
+ "\u7A7A\u95F4\u81EA\u76F8\u5173",
15458
+ "moran\u6307\u6570",
15459
+ // deconvolution tools
15460
+ "rctd",
15461
+ "spotlight",
15462
+ "cell2location",
15463
+ "stereoscope",
15464
+ // cell communication spatial
15465
+ "\u7A7A\u95F4\u914D\u4F53\u53D7\u4F53",
15466
+ "\u7A7A\u95F4\u7EC6\u80DE\u901A\u8BAF",
15467
+ "\u7A7A\u95F4\u4E92\u4F5C",
15468
+ // natural-language
15295
15469
  "\u7A7A\u95F4\u7EC4\u5B66",
15296
15470
  "\u7EC4\u7EC7\u5207\u7247\u6D4B\u5E8F",
15297
15471
  "\u7A7A\u95F4\u5206\u8FA8\u7387\u8F6C\u5F55\u7EC4",
15298
15472
  "\u7EC6\u80DE\u7A7A\u95F4\u5206\u5E03",
15299
- "\u7A7A\u95F4\u5355\u7EC6\u80DE"
15473
+ "\u7A7A\u95F4\u5355\u7EC6\u80DE",
15474
+ "\u7EC4\u7EC7\u7A7A\u95F4\u56FE\u8C31",
15475
+ "\u7EC6\u80DE\u5728\u7EC4\u7EC7\u4E2D\u7684\u4F4D\u7F6E",
15476
+ "\u7A7A\u95F4\u8868\u8FBE\u6A21\u5F0F"
15300
15477
  ]
15301
15478
  },
15302
15479
  {
@@ -15305,17 +15482,38 @@ var SKILL_ROUTES = [
15305
15482
  category: "\u8F6C\u5F55\u7EC4",
15306
15483
  tag: "builtin",
15307
15484
  keywords: [
15485
+ // tool/method
15308
15486
  "wgcna",
15309
15487
  "\u5171\u8868\u8FBE\u7F51\u7EDC",
15310
15488
  "coexpression network",
15311
15489
  "\u57FA\u56E0\u5171\u8868\u8FBE\u6A21\u5757",
15312
15490
  "weighted gene coexpression",
15313
15491
  "\u4E0E\u8868\u578B\u76F8\u5173\u7684\u57FA\u56E0\u6A21\u5757",
15314
- // natural-language synonyms
15492
+ "blockwisemoduless",
15493
+ "\u8F6F\u9608\u503C",
15494
+ "\u6A21\u5757\u989C\u8272",
15495
+ "\u67A2\u7EBD\u57FA\u56E0",
15496
+ "hub gene",
15497
+ // module-trait
15498
+ "\u6A21\u5757\u6027\u72B6\u5173\u8054",
15499
+ "\u6A21\u5757\u4E0E\u4E34\u5E8A\u7279\u5F81",
15500
+ "\u7279\u5F81\u57FA\u56E0\u76F8\u5173\u6027",
15501
+ "\u6A21\u5757\u7279\u5F81\u503C",
15502
+ "module eigengene",
15503
+ // applications
15504
+ "\u514D\u75AB\u6D78\u6DA6\u4E0E\u6A21\u5757",
15505
+ "\u514D\u75AB\u76F8\u5173\u6A21\u5757",
15506
+ "\u9884\u540E\u76F8\u5173\u57FA\u56E0\u6A21\u5757",
15507
+ "\u4EE3\u8C22\u76F8\u5173\u5171\u8868\u8FBE",
15508
+ "\u5171\u8868\u8FBE\u4E0E\u836F\u7269",
15509
+ // natural-language
15315
15510
  "\u57FA\u56E0\u6A21\u5757",
15316
15511
  "\u5171\u8868\u8FBE",
15317
15512
  "\u57FA\u56E0\u7F51\u7EDC",
15318
- "\u57FA\u56E0\u76F8\u5173\u6027\u7F51\u7EDC"
15513
+ "\u57FA\u56E0\u76F8\u5173\u6027\u7F51\u7EDC",
15514
+ "\u54EA\u4E9B\u57FA\u56E0\u4E00\u8D77\u53D8\u5316",
15515
+ "\u57FA\u56E0\u8C03\u63A7\u6A21\u5757",
15516
+ "\u6838\u5FC3\u57FA\u56E0\u7F51\u7EDC"
15319
15517
  ]
15320
15518
  },
15321
15519
  {
@@ -15324,11 +15522,16 @@ var SKILL_ROUTES = [
15324
15522
  category: "\u8F6C\u5F55\u7EC4",
15325
15523
  tag: "builtin",
15326
15524
  keywords: [
15525
+ // databases
15327
15526
  "\u5BCC\u96C6\u5206\u6790",
15328
15527
  "go\u5206\u6790",
15329
15528
  "kegg\u5206\u6790",
15330
15529
  "gsea",
15331
15530
  "\u901A\u8DEF\u5206\u6790",
15531
+ "reactome",
15532
+ "wikipathways",
15533
+ "disgenet",
15534
+ "msigdb",
15332
15535
  "pathway enrichment",
15333
15536
  "\u57FA\u56E0\u672C\u4F53",
15334
15537
  "gene ontology",
@@ -15336,30 +15539,60 @@ var SKILL_ROUTES = [
15336
15539
  "\u529F\u80FD\u5BCC\u96C6",
15337
15540
  "deg\u5BCC\u96C6",
15338
15541
  "\u5DEE\u5F02\u57FA\u56E0\u901A\u8DEF",
15339
- // natural-language synonyms
15340
- "\u8FD9\u4E9B\u57FA\u56E0\u53C2\u4E0E\u4EC0\u4E48\u901A\u8DEF",
15341
- "\u57FA\u56E0\u529F\u80FD\u6CE8\u91CA",
15342
- "\u4FE1\u53F7\u901A\u8DEF",
15343
- "\u751F\u7269\u5B66\u8FC7\u7A0B",
15344
- "\u5206\u5B50\u529F\u80FD",
15345
- "\u7EC6\u80DE\u7EC4\u5206",
15542
+ // analysis types
15346
15543
  "go\u5BCC\u96C6",
15347
15544
  "\u901A\u8DEF\u5BCC\u96C6",
15348
15545
  "\u57FA\u56E0\u96C6\u5206\u6790",
15349
15546
  "ora\u5206\u6790",
15350
15547
  "gsea\u5206\u6790",
15351
- // mutation → pathway → phenotype
15548
+ "ssgsea",
15549
+ "gsva",
15550
+ "\u57FA\u56E0\u96C6\u53D8\u5F02\u5206\u6790",
15551
+ // specific pathways
15552
+ "wnt\u901A\u8DEF",
15553
+ "notch\u901A\u8DEF",
15554
+ "hedgehog\u901A\u8DEF",
15555
+ "mtor\u901A\u8DEF",
15556
+ "jak-stat\u901A\u8DEF",
15557
+ "nf-kb\u901A\u8DEF",
15558
+ "tgf-beta\u901A\u8DEF",
15559
+ "erk\u901A\u8DEF",
15560
+ "mapk\u901A\u8DEF",
15561
+ "pi3k\u901A\u8DEF",
15562
+ "akt\u4FE1\u53F7",
15563
+ "p53\u901A\u8DEF",
15564
+ "hippo\u901A\u8DEF",
15565
+ "vegf\u901A\u8DEF",
15566
+ "egfr\u4FE1\u53F7\u901A\u8DEF",
15567
+ // mutation → pathway
15352
15568
  "\u7A81\u53D8\u901A\u8DEF",
15353
15569
  "\u7A81\u53D8\u5F71\u54CD\u901A\u8DEF",
15354
15570
  "\u7A81\u53D8\u4E0B\u6E38\u901A\u8DEF",
15355
15571
  "\u6851\u57FA\u56FE\u901A\u8DEF",
15356
15572
  "kras\u901A\u8DEF",
15357
15573
  "ras-raf-mek\u901A\u8DEF",
15358
- "mapk\u901A\u8DEF",
15359
- "pi3k\u901A\u8DEF",
15360
- "\u80BA\u764C\u901A\u8DEF",
15361
15574
  "\u9A71\u52A8\u57FA\u56E0\u901A\u8DEF",
15362
- "\u4FE1\u53F7\u901A\u8DEF\u5BCC\u96C6"
15575
+ // cancer pathway contexts
15576
+ "\u80BA\u764C\u901A\u8DEF",
15577
+ "\u4E73\u817A\u764C\u4FE1\u53F7\u901A\u8DEF",
15578
+ "\u809D\u764C\u901A\u8DEF\u5206\u6790",
15579
+ "\u514D\u75AB\u901A\u8DEF",
15580
+ "\u708E\u75C7\u901A\u8DEF",
15581
+ "\u7EC6\u80DE\u5468\u671F\u901A\u8DEF",
15582
+ "\u51CB\u4EA1\u901A\u8DEF",
15583
+ "\u4EE3\u8C22\u901A\u8DEF",
15584
+ "\u7CD6\u9175\u89E3\u901A\u8DEF",
15585
+ "\u6C27\u5316\u78F7\u9178\u5316",
15586
+ // natural-language
15587
+ "\u8FD9\u4E9B\u57FA\u56E0\u53C2\u4E0E\u4EC0\u4E48\u901A\u8DEF",
15588
+ "\u57FA\u56E0\u529F\u80FD\u6CE8\u91CA",
15589
+ "\u4FE1\u53F7\u901A\u8DEF",
15590
+ "\u751F\u7269\u5B66\u8FC7\u7A0B",
15591
+ "\u5206\u5B50\u529F\u80FD",
15592
+ "\u7EC6\u80DE\u7EC4\u5206",
15593
+ "\u4FE1\u53F7\u901A\u8DEF\u5BCC\u96C6",
15594
+ "\u57FA\u56E0\u529F\u80FD\u662F\u4EC0\u4E48",
15595
+ "\u54EA\u4E9B\u901A\u8DEF\u88AB\u6FC0\u6D3B"
15363
15596
  ]
15364
15597
  },
15365
15598
  {
@@ -15368,6 +15601,7 @@ var SKILL_ROUTES = [
15368
15601
  category: "\u5355\u7EC6\u80DE",
15369
15602
  tag: "builtin",
15370
15603
  keywords: [
15604
+ // tools
15371
15605
  "pyscenic",
15372
15606
  "scenic",
15373
15607
  "\u57FA\u56E0\u8C03\u63A7\u7F51\u7EDC",
@@ -15375,11 +15609,22 @@ var SKILL_ROUTES = [
15375
15609
  "\u8F6C\u5F55\u56E0\u5B50\u8C03\u63A7\u5B50",
15376
15610
  "tf regulon",
15377
15611
  "grn\u63A8\u65AD",
15378
- // natural-language synonyms
15612
+ "aucell",
15613
+ "aucell\u8BC4\u5206",
15614
+ "\u8C03\u63A7\u5B50\u6D3B\u6027",
15615
+ // TF analysis
15379
15616
  "\u8F6C\u5F55\u56E0\u5B50\u5206\u6790",
15380
15617
  "\u8F6C\u5F55\u56E0\u5B50\u9776\u57FA\u56E0",
15381
15618
  "tf\u6D3B\u6027",
15382
- "\u8C03\u63A7\u7F51\u7EDC\u63A8\u65AD"
15619
+ "\u8C03\u63A7\u7F51\u7EDC\u63A8\u65AD",
15620
+ "\u5355\u7EC6\u80DE\u8F6C\u5F55\u56E0\u5B50",
15621
+ "\u7EC6\u80DE\u7C7B\u578B\u8F6C\u5F55\u56E0\u5B50",
15622
+ // applications
15623
+ "\u80BF\u7624\u8F6C\u5F55\u56E0\u5B50",
15624
+ "\u53D1\u80B2\u8F68\u8FF9tf",
15625
+ "\u514D\u75AB\u7EC6\u80DE\u8F6C\u5F55\u56E0\u5B50",
15626
+ "\u5E72\u7EC6\u80DE\u8F6C\u5F55\u56E0\u5B50\u8C03\u63A7",
15627
+ "\u5206\u5316\u76F8\u5173\u8F6C\u5F55\u56E0\u5B50"
15383
15628
  ]
15384
15629
  },
15385
15630
  // ── Genomics ──────────────────────────────────────────────────────────────────
@@ -15389,6 +15634,7 @@ var SKILL_ROUTES = [
15389
15634
  category: "\u57FA\u56E0\u7EC4",
15390
15635
  tag: "builtin",
15391
15636
  keywords: [
15637
+ // tools
15392
15638
  "\u53D8\u5F02\u6CE8\u91CA",
15393
15639
  "variant annotation",
15394
15640
  "vcf\u6CE8\u91CA",
@@ -15399,6 +15645,49 @@ var SKILL_ROUTES = [
15399
15645
  "\u53D8\u5F02\u81F4\u75C5\u6027\u9884\u6D4B",
15400
15646
  "\u53D8\u5F02\u529F\u80FD\u9884\u6D4B",
15401
15647
  "clinvar\u6CE8\u91CA",
15648
+ "snpeff",
15649
+ "oncokb\u6CE8\u91CA",
15650
+ "civic\u6570\u636E\u5E93",
15651
+ // variant types
15652
+ "\u4F53\u7EC6\u80DE\u7A81\u53D8",
15653
+ "\u80DA\u7CFB\u53D8\u5F02",
15654
+ "germline variant",
15655
+ "somatic mutation",
15656
+ "\u62F7\u8D1D\u6570\u53D8\u5F02",
15657
+ "cnv\u5206\u6790",
15658
+ "\u57FA\u56E0\u878D\u5408",
15659
+ "fusion gene",
15660
+ "\u57FA\u56E0\u91CD\u6392",
15661
+ "\u526A\u63A5\u53D8\u5F02",
15662
+ "splicing variant",
15663
+ "\u79FB\u7801\u7A81\u53D8",
15664
+ "frameshift",
15665
+ "\u65E0\u4E49\u7A81\u53D8",
15666
+ "nonsense mutation",
15667
+ "\u9519\u4E49\u7A81\u53D8",
15668
+ "missense",
15669
+ "\u540C\u4E49\u7A81\u53D8",
15670
+ "synonymous",
15671
+ "\u542F\u52A8\u5B50\u53D8\u5F02",
15672
+ // clinical classification
15673
+ "\u81F4\u75C5\u6027\u5206\u7C7B",
15674
+ "acmg\u5206\u7C7B",
15675
+ "\u53D8\u5F02\u4E34\u5E8A\u610F\u4E49",
15676
+ "\u53D8\u5F02\u89E3\u8BFB",
15677
+ "\u826F\u6027\u53D8\u5F02",
15678
+ "\u81F4\u75C5\u53D8\u5F02",
15679
+ "\u610F\u4E49\u4E0D\u660E\u53D8\u5F02",
15680
+ "vus",
15681
+ // population genetics
15682
+ "\u4EBA\u7FA4\u9891\u7387",
15683
+ "gnomad",
15684
+ "\u5343\u4EBA\u57FA\u56E0\u7EC4",
15685
+ "\u7B49\u4F4D\u57FA\u56E0\u9891\u7387",
15686
+ "maf",
15687
+ "hapmap",
15688
+ "\u8FDE\u9501\u4E0D\u5E73\u8861",
15689
+ "ld",
15690
+ "linkage disequilibrium",
15402
15691
  // natural-language synonyms
15403
15692
  "\u7A81\u53D8\u6CE8\u91CA",
15404
15693
  "\u53D8\u5F02\u89E3\u8BFB",
@@ -15406,7 +15695,7 @@ var SKILL_ROUTES = [
15406
15695
  "\u9057\u4F20\u53D8\u5F02\u89E3\u6790",
15407
15696
  "\u81F4\u75C5\u6027\u8BC4\u4F30",
15408
15697
  "\u53D8\u5F02\u5F71\u54CD\u9884\u6D4B",
15409
- // specific oncology mutations (KRAS/EGFR/ALK etc.)
15698
+ // oncology mutations
15410
15699
  "kras\u7A81\u53D8",
15411
15700
  "kras g12c",
15412
15701
  "kras g12d",
@@ -15414,11 +15703,28 @@ var SKILL_ROUTES = [
15414
15703
  "kras mutation",
15415
15704
  "egfr\u7A81\u53D8",
15416
15705
  "egfr l858r",
15417
- "egfr\u5916\u663E\u5B5019\u7F3A\u5931",
15706
+ "egfr\u5916\u663E\u5B5019",
15707
+ "egfr t790m",
15418
15708
  "alk\u878D\u5408",
15709
+ "alk\u91CD\u6392",
15419
15710
  "braf v600e",
15711
+ "braf\u7A81\u53D8",
15420
15712
  "tp53\u7A81\u53D8",
15713
+ "tp53",
15421
15714
  "pik3ca\u7A81\u53D8",
15715
+ "pten\u7F3A\u5931",
15716
+ "brca1\u7A81\u53D8",
15717
+ "brca2\u7A81\u53D8",
15718
+ "brca",
15719
+ "her2\u6269\u589E",
15720
+ "her2\u7A81\u53D8",
15721
+ "cdkn2a\u7F3A\u5931",
15722
+ "met\u6269\u589E",
15723
+ "met\u5916\u663E\u5B5014",
15724
+ "ret\u878D\u5408",
15725
+ "ros1\u878D\u5408",
15726
+ "ntrk\u878D\u5408",
15727
+ "pd-l1",
15422
15728
  // cancer contexts
15423
15729
  "nsclc\u7A81\u53D8",
15424
15730
  "\u80BA\u764C\u7A81\u53D8",
@@ -15427,6 +15733,14 @@ var SKILL_ROUTES = [
15427
15733
  "\u80BF\u7624\u4F53\u7EC6\u80DE\u7A81\u53D8",
15428
15734
  "\u9A71\u52A8\u57FA\u56E0\u7A81\u53D8",
15429
15735
  "\u764C\u75C7\u9A71\u52A8\u7A81\u53D8",
15736
+ "\u4E73\u817A\u764C\u7A81\u53D8",
15737
+ "\u7ED3\u76F4\u80A0\u764C\u7A81\u53D8",
15738
+ "\u9ED1\u8272\u7D20\u7624\u7A81\u53D8",
15739
+ "\u80C3\u764C\u7A81\u53D8",
15740
+ "\u809D\u764C\u7A81\u53D8",
15741
+ "\u5375\u5DE2\u764C\u7A81\u53D8",
15742
+ "\u524D\u5217\u817A\u764C\u7A81\u53D8",
15743
+ "\u80F0\u817A\u764C\u7A81\u53D8",
15430
15744
  // mutation landscape
15431
15745
  "\u7A81\u53D8\u9891\u7387",
15432
15746
  "\u8DE8\u764C\u79CD\u7A81\u53D8",
@@ -15434,7 +15748,13 @@ var SKILL_ROUTES = [
15434
15748
  "\u7A81\u53D8\u666F\u89C2\u56FE",
15435
15749
  "\u7011\u5E03\u56FE\u7A81\u53D8",
15436
15750
  "mutation landscape",
15437
- "oncoprint"
15751
+ "oncoprint",
15752
+ "\u80BF\u7624\u7A81\u53D8\u8D1F\u8377",
15753
+ "tmb",
15754
+ "\u5FAE\u536B\u661F\u4E0D\u7A33\u5B9A",
15755
+ "msi",
15756
+ "\u540C\u6E90\u91CD\u7EC4\u7F3A\u9677",
15757
+ "hrd"
15438
15758
  ]
15439
15759
  },
15440
15760
  {
@@ -15443,6 +15763,7 @@ var SKILL_ROUTES = [
15443
15763
  category: "\u57FA\u56E0\u7EC4",
15444
15764
  tag: "builtin",
15445
15765
  keywords: [
15766
+ // methods
15446
15767
  "gwas\u5206\u6790",
15447
15768
  "twas",
15448
15769
  "predixcan",
@@ -15451,13 +15772,49 @@ var SKILL_ROUTES = [
15451
15772
  "genome-wide association",
15452
15773
  "\u56E0\u679C\u57FA\u56E0\u9274\u5B9A",
15453
15774
  "qtl\u6574\u5408",
15454
- // natural-language synonyms
15775
+ "eqtl",
15776
+ "sqtl",
15777
+ "\u8868\u8FBE\u6570\u91CF\u6027\u72B6\u4F4D\u70B9",
15778
+ "coloc",
15779
+ "colocalization",
15780
+ "ld score regression",
15781
+ "ldsc",
15782
+ "\u9057\u4F20\u529B\u5206\u6790",
15783
+ "heritability",
15784
+ "fine mapping",
15785
+ "\u7CBE\u7EC6\u5B9A\u4F4D",
15786
+ "credible set",
15787
+ "susie",
15788
+ // application areas
15789
+ "\u81EA\u8EAB\u514D\u75ABgwas",
15790
+ "\u7C7B\u98CE\u6E7F\u5173\u8282\u708Egwas",
15791
+ "\u7CFB\u7EDF\u6027\u7EA2\u6591\u72FC\u75AEgwas",
15792
+ "\u7CD6\u5C3F\u75C5gwas",
15793
+ "2\u578B\u7CD6\u5C3F\u75C5\u9057\u4F20\u4F4D\u70B9",
15794
+ "\u80A5\u80D6gwas",
15795
+ "bmi\u9057\u4F20",
15796
+ "\u5FC3\u8840\u7BA1\u75BE\u75C5gwas",
15797
+ "\u51A0\u5FC3\u75C5\u9057\u4F20\u53D8\u5F02",
15798
+ "\u8840\u538Bgwas",
15799
+ "\u795E\u7ECF\u7CFB\u7EDFgwas",
15800
+ "\u963F\u5C14\u8328\u6D77\u9ED8\u75C5gwas",
15801
+ "\u7CBE\u795E\u5206\u88C2\u75C7gwas",
15802
+ "\u708E\u75C7\u6027\u80A0\u75C5gwas",
15803
+ "\u514B\u7F57\u6069\u75C5\u9057\u4F20",
15804
+ "\u6E83\u75A1\u6027\u7ED3\u80A0\u708Egwas",
15805
+ "\u80BF\u7624\u6613\u611F\u6027gwas",
15806
+ "\u4E73\u817A\u764C\u6613\u611F\u4F4D\u70B9",
15807
+ "\u524D\u5217\u817A\u764Cgwas",
15808
+ // natural-language
15455
15809
  "gwas\u7ED3\u679C\u89E3\u8BFB",
15456
15810
  "gwas\u529F\u80FD\u6CE8\u91CA",
15457
15811
  "\u5173\u8054\u4F4D\u70B9\u57FA\u56E0",
15458
15812
  "snp\u529F\u80FD",
15459
15813
  "gwas\u4FE1\u53F7",
15460
- "\u9057\u4F20\u5173\u8054\u5206\u6790"
15814
+ "\u9057\u4F20\u5173\u8054\u5206\u6790",
15815
+ "snp\u4E0E\u75BE\u75C5",
15816
+ "\u9057\u4F20\u53D8\u5F02\u4E0E\u8868\u578B",
15817
+ "\u529F\u80FD\u6027snp\u9274\u5B9A"
15461
15818
  ]
15462
15819
  },
15463
15820
  {
@@ -15466,6 +15823,7 @@ var SKILL_ROUTES = [
15466
15823
  category: "\u7EDF\u8BA1",
15467
15824
  tag: "builtin",
15468
15825
  keywords: [
15826
+ // methods
15469
15827
  "\u5B5F\u5FB7\u5C14\u968F\u673A\u5316",
15470
15828
  "mendelian randomization",
15471
15829
  "twosamplemr",
@@ -15474,11 +15832,47 @@ var SKILL_ROUTES = [
15474
15832
  "mr-egger",
15475
15833
  "\u53CC\u6837\u672Cmr",
15476
15834
  "\u5DE5\u5177\u53D8\u91CFiv",
15477
- // natural-language synonyms
15835
+ "weighted median",
15836
+ "mr-presso",
15837
+ "steiger\u8FC7\u6EE4",
15838
+ "\u53CC\u5411\u5B5F\u5FB7\u5C14\u968F\u673A\u5316",
15839
+ "bidirectional mr",
15840
+ "\u591A\u53D8\u91CFmr",
15841
+ // exposures
15842
+ "bmi\u4E0E\u75BE\u75C5",
15843
+ "\u8840\u8102\u4E0E\u75BE\u75C5",
15844
+ "\u708E\u75C7\u56E0\u5B50\u56E0\u679C",
15845
+ "\u4EE3\u8C22\u7269mr",
15846
+ "\u80A0\u9053\u83CC\u7FA4mr",
15847
+ "\u5438\u70DF\u4E0E\u75BE\u75C5",
15848
+ "\u9152\u7CBE\u4E0E\u75BE\u75C5",
15849
+ "\u6559\u80B2\u7A0B\u5EA6\u56E0\u679C",
15850
+ "\u7761\u7720\u65F6\u957Fmr",
15851
+ "\u4F53\u529B\u6D3B\u52A8mr",
15852
+ "il-6\u56E0\u679C",
15853
+ "crp\u4E0E\u75BE\u75C5",
15854
+ "\u80C6\u56FA\u9187\u56E0\u679C",
15855
+ // outcomes
15856
+ "\u51A0\u5FC3\u75C5\u56E0\u679C",
15857
+ "\u5FC3\u8840\u7BA1\u75BE\u75C5mr",
15858
+ "2\u578B\u7CD6\u5C3F\u75C5mr",
15859
+ "\u764C\u75C7\u98CE\u9669\u56E0\u679C",
15860
+ "\u4E73\u817A\u764C\u98CE\u9669mr",
15861
+ "\u524D\u5217\u817A\u764Cmr",
15862
+ "\u963F\u5C14\u8328\u6D77\u9ED8\u75C5\u56E0\u679C",
15863
+ "\u5E15\u91D1\u68EE\u75C5mr",
15864
+ "\u6291\u90C1\u75C7\u56E0\u679C",
15865
+ "\u4E2D\u98CEmr",
15866
+ "\u9AD8\u8840\u538B\u56E0\u679C",
15867
+ "\u6162\u6027\u80BE\u75C5mr",
15868
+ // natural-language
15478
15869
  "\u56E0\u679C\u63A8\u65AD",
15479
15870
  "\u66B4\u9732\u4E0E\u7ED3\u5C40",
15480
15871
  "\u9057\u4F20\u5DE5\u5177\u53D8\u91CF",
15481
- "mr\u5206\u6790"
15872
+ "mr\u5206\u6790",
15873
+ "\u67D0\u56E0\u7D20\u662F\u5426\u5BFC\u81F4\u67D0\u75BE\u75C5",
15874
+ "\u56E0\u679C\u5173\u7CFB\u9A8C\u8BC1",
15875
+ "iv\u5206\u6790"
15482
15876
  ]
15483
15877
  },
15484
15878
  {
@@ -15487,16 +15881,39 @@ var SKILL_ROUTES = [
15487
15881
  category: "\u57FA\u56E0\u7EC4",
15488
15882
  tag: "builtin",
15489
15883
  keywords: [
15884
+ // methods
15490
15885
  "prs\u8BC4\u5206",
15491
15886
  "polygenic risk score",
15492
15887
  "\u591A\u57FA\u56E0\u98CE\u9669\u8BC4\u5206",
15493
15888
  "prs-cs",
15494
15889
  "\u9057\u4F20\u98CE\u9669\u9884\u6D4B",
15495
15890
  "prs\u8BA1\u7B97",
15496
- // natural-language synonyms
15891
+ "prsice",
15892
+ "ldpred",
15893
+ "prscsx",
15894
+ "clumping and thresholding",
15895
+ // applications
15896
+ "\u75BE\u75C5\u98CE\u9669\u9884\u6D4B",
15897
+ "\u9AD8\u98CE\u9669\u4E2A\u4F53\u8BC6\u522B",
15898
+ "\u4EBA\u7FA4\u9057\u4F20\u5206\u5C42",
15899
+ "\u4E73\u817A\u764Cprs",
15900
+ "\u524D\u5217\u817A\u764Cprs",
15901
+ "\u7ED3\u76F4\u80A0\u764Cprs",
15902
+ "\u5FC3\u8840\u7BA1prs",
15903
+ "\u51A0\u5FC3\u75C5\u9057\u4F20\u98CE\u9669",
15904
+ "\u8840\u538Bprs",
15905
+ "2\u578B\u7CD6\u5C3F\u75C5prs",
15906
+ "\u963F\u5C14\u8328\u6D77\u9ED8\u75C5\u9057\u4F20\u98CE\u9669",
15907
+ "\u7CBE\u795E\u75BE\u75C5prs",
15908
+ "\u7CBE\u795E\u5206\u88C2\u75C7prs",
15909
+ "\u53CC\u76F8\u60C5\u611F\u969C\u788Dprs",
15910
+ // natural-language
15497
15911
  "\u9057\u4F20\u98CE\u9669\u8BC4\u5206",
15498
15912
  "\u591A\u57FA\u56E0\u8BC4\u5206",
15499
- "\u75BE\u75C5\u9057\u4F20\u98CE\u9669"
15913
+ "\u75BE\u75C5\u9057\u4F20\u98CE\u9669",
15914
+ "\u4E2A\u4F53\u9057\u4F20\u98CE\u9669",
15915
+ "\u57FA\u56E0\u7EC4\u98CE\u9669\u9884\u6D4B",
15916
+ "\u9057\u4F20\u6613\u611F\u6027\u8BC4\u5206"
15500
15917
  ]
15501
15918
  },
15502
15919
  {
@@ -15505,6 +15922,7 @@ var SKILL_ROUTES = [
15505
15922
  category: "\u57FA\u56E0\u7EC4",
15506
15923
  tag: "builtin",
15507
15924
  keywords: [
15925
+ // tools
15508
15926
  "crispr\u6587\u5E93\u7B5B\u9009",
15509
15927
  "crispr screen",
15510
15928
  "mageck",
@@ -15512,12 +15930,31 @@ var SKILL_ROUTES = [
15512
15930
  "sgrna\u7B5B\u9009",
15513
15931
  "pooled crispr",
15514
15932
  "crispr hit\u8BC6\u522B",
15515
- // natural-language synonyms
15933
+ // library types
15934
+ "crispr\u5168\u57FA\u56E0\u7EC4\u6587\u5E93",
15935
+ "crispri\u6587\u5E93",
15936
+ "crispra\u6587\u5E93",
15937
+ "genome-wide crispr",
15938
+ "crispr\u6572\u9664\u6587\u5E93",
15939
+ // analysis types
15940
+ "\u5FC5\u9700\u57FA\u56E0\u7B5B\u9009",
15941
+ "\u81F4\u6B7B\u57FA\u56E0",
15942
+ "\u5408\u6210\u81F4\u6B7B",
15943
+ "synthetic lethal",
15516
15944
  "crispr\u7B5B\u9009",
15517
15945
  "\u529F\u80FD\u57FA\u56E0\u7EC4\u7B5B\u9009",
15518
- "\u5FC5\u9700\u57FA\u56E0\u7B5B\u9009",
15946
+ // applications
15947
+ "\u80BF\u7624\u8010\u836Fcrispr",
15948
+ "\u514D\u75AB\u6CBB\u7597crispr\u7B5B\u9009",
15949
+ "\u8010\u836F\u673A\u5236crispr",
15950
+ "\u764C\u75C7\u5FC5\u9700\u57FA\u56E0",
15951
+ "\u80BF\u7624\u8106\u5F31\u6027\u57FA\u56E0",
15952
+ "crispr\u529F\u80FD\u57FA\u56E0\u7EC4",
15953
+ // natural-language
15519
15954
  "crispr\u6572\u9664\u7B5B\u9009",
15520
- "crispr\u6587\u5E93"
15955
+ "crispr\u6587\u5E93",
15956
+ "\u9AD8\u901A\u91CFcrispr",
15957
+ "\u57FA\u56E0\u5FC5\u9700\u6027"
15521
15958
  ]
15522
15959
  },
15523
15960
  // ── Epigenomics ───────────────────────────────────────────────────────────────
@@ -15527,17 +15964,53 @@ var SKILL_ROUTES = [
15527
15964
  category: "\u8868\u89C2\u57FA\u56E0\u7EC4",
15528
15965
  tag: "builtin",
15529
15966
  keywords: [
15967
+ // tools/databases
15530
15968
  "chip-atlas",
15531
15969
  "chip-seq\u5CF0\u503C\u5BCC\u96C6",
15532
15970
  "peak enrichment chip",
15533
15971
  "chip atlas\u6570\u636E\u5E93",
15534
15972
  "histone chip\u5206\u6790",
15535
- // natural-language synonyms
15973
+ // histone marks
15974
+ "h3k27ac",
15975
+ "h3k4me3",
15976
+ "h3k4me1",
15977
+ "h3k27me3",
15978
+ "h3k9me3",
15979
+ "h3k36me3",
15980
+ "h3k9ac",
15981
+ "h4k16ac",
15982
+ "\u7EC4\u86CB\u767D\u4FEE\u9970",
15983
+ "\u6D3B\u6027\u589E\u5F3A\u5B50\u6807\u8BB0",
15984
+ // regulatory elements
15985
+ "\u589E\u5F3A\u5B50\u5206\u6790",
15986
+ "\u542F\u52A8\u5B50\u6D3B\u6027",
15987
+ "\u8D85\u7EA7\u589E\u5F3A\u5B50",
15988
+ "super enhancer",
15989
+ "\u5F00\u653E\u67D3\u8272\u8D28",
15990
+ "atac-seq",
15991
+ "atac\u5206\u6790",
15992
+ "dnase-seq",
15993
+ "ctcf\u7ED3\u5408",
15994
+ "cohesin",
15995
+ "\u62D3\u6251\u57DF",
15996
+ "tad",
15997
+ // TF binding
15998
+ "\u8F6C\u5F55\u56E0\u5B50\u7ED3\u5408chip",
15999
+ "tf\u7ED3\u5408\u4F4D\u70B9",
16000
+ "chip-seq\u5206\u6790",
16001
+ // cancer epigenome
16002
+ "\u80BF\u7624\u8868\u89C2\u57FA\u56E0\u7EC4",
16003
+ "\u764C\u75C7\u7EC4\u86CB\u767D\u4FEE\u9970",
16004
+ "\u80BF\u7624\u589E\u5F3A\u5B50",
16005
+ "\u8868\u89C2\u9057\u4F20\u4FEE\u9970",
16006
+ "\u8868\u89C2\u57FA\u56E0\u7EC4\u6539\u53D8",
16007
+ // natural-language
15536
16008
  "chip-seq\u5206\u6790",
15537
16009
  "chip\u6570\u636E",
15538
- "\u7EC4\u86CB\u767D\u4FEE\u9970",
15539
- "h3k27ac",
15540
- "h3k4me3"
16010
+ "\u7EC4\u86CB\u767D\u4FEE\u9970\u8C31",
16011
+ "\u54EA\u4E9B\u533A\u57DF\u6709h3k27ac",
16012
+ "\u589E\u5F3A\u5B50\u6FC0\u6D3B",
16013
+ "chip-seq\u5CF0"
15541
16014
  ]
15542
16015
  },
15543
16016
  {
@@ -15546,15 +16019,27 @@ var SKILL_ROUTES = [
15546
16019
  category: "\u8868\u89C2\u57FA\u56E0\u7EC4",
15547
16020
  tag: "builtin",
15548
16021
  keywords: [
16022
+ // tools
15549
16023
  "chip\u5DEE\u5F02\u5206\u6790",
15550
16024
  "differential binding",
15551
16025
  "\u5DEE\u5F02chip-seq",
15552
16026
  "differential peak",
15553
16027
  "chip-seq\u6761\u4EF6\u6BD4\u8F83",
15554
- // natural-language synonyms
16028
+ "diffbind",
16029
+ "chipseeker\u5DEE\u5F02",
16030
+ // comparison contexts
16031
+ "\u836F\u7269\u5904\u7406chip\u5DEE\u5F02",
16032
+ "\u5904\u7406\u524D\u540Echip-seq",
16033
+ "\u7EC6\u80DE\u5206\u5316chip",
16034
+ "\u75BE\u75C5vs\u6B63\u5E38chip",
16035
+ "\u80BF\u7624vs\u6B63\u5E38chip-seq",
16036
+ // natural-language
15555
16037
  "\u5DEE\u5F02\u5CF0",
15556
16038
  "\u5DEE\u5F02\u7ED3\u5408\u4F4D\u70B9",
15557
- "chip-seq\u5DEE\u5F02"
16039
+ "chip-seq\u5DEE\u5F02",
16040
+ "\u54EA\u4E9B\u4F4D\u70B9\u7ED3\u5408\u53D1\u751F\u53D8\u5316",
16041
+ "\u5DEE\u5F02\u7EC4\u86CB\u767D\u4FEE\u9970",
16042
+ "\u6FC0\u6D3Bvs\u6291\u5236\u7684\u589E\u5F3A\u5B50"
15558
16043
  ]
15559
16044
  },
15560
16045
  {
@@ -15563,16 +16048,34 @@ var SKILL_ROUTES = [
15563
16048
  category: "\u8868\u89C2\u57FA\u56E0\u7EC4",
15564
16049
  tag: "builtin",
15565
16050
  keywords: [
16051
+ // tools
15566
16052
  "chip\u9776\u57FA\u56E0",
15567
16053
  "chip target gene",
15568
16054
  "\u8F6C\u5F55\u56E0\u5B50\u9776\u57FA\u56E0chip",
15569
16055
  "tf\u9776\u57FA\u56E0",
15570
16056
  "peak annotation\u9776\u57FA\u56E0",
15571
16057
  "chip-seq peak\u6CE8\u91CA",
15572
- // natural-language synonyms
16058
+ "great\u5206\u6790",
16059
+ "chipseeker",
16060
+ "annotatepeak",
16061
+ // applications
16062
+ "\u8F6C\u5F55\u56E0\u5B50\u8C03\u63A7\u9776\u57FA\u56E0",
16063
+ "\u589E\u5F3A\u5B50\u9776\u57FA\u56E0",
16064
+ "\u8D85\u7EA7\u589E\u5F3A\u5B50\u9776\u57FA\u56E0",
16065
+ "\u8C03\u63A7\u5143\u4EF6\u9776\u57FA\u56E0",
16066
+ "\u542F\u52A8\u5B50\u6CE8\u91CA",
16067
+ // specific TFs
16068
+ "myc\u9776\u57FA\u56E0",
16069
+ "p53\u9776\u57FA\u56E0",
16070
+ "nrf2\u9776\u57FA\u56E0",
16071
+ "stat3\u9776\u57FA\u56E0",
16072
+ // natural-language
15573
16073
  "peak\u6CE8\u91CA",
15574
16074
  "\u5CF0\u503C\u6CE8\u91CA",
15575
16075
  "\u8F6C\u5F55\u56E0\u5B50\u7ED3\u5408\u4F4D\u70B9",
16076
+ "\u54EA\u4E9B\u57FA\u56E0\u88AB\u8F6C\u5F55\u56E0\u5B50\u8C03\u63A7",
16077
+ "chip\u7ED3\u679C\u6CE8\u91CA\u5230\u57FA\u56E0",
16078
+ "\u5CF0\u503C\u6CE8\u91CA\u5230\u6700\u8FD1\u57FA\u56E0",
15576
16079
  "chip\u9776\u70B9"
15577
16080
  ]
15578
16081
  },
@@ -15583,16 +16086,56 @@ var SKILL_ROUTES = [
15583
16086
  category: "\u4E34\u5E8A",
15584
16087
  tag: "builtin",
15585
16088
  keywords: [
16089
+ // core terms
15586
16090
  "clinicaltrials\u5206\u6790",
15587
16091
  "clinical trial landscape",
15588
16092
  "ct.gov\u6570\u636E\u5206\u6790",
15589
16093
  "\u4E34\u5E8A\u8BD5\u9A8C\u683C\u5C40",
15590
16094
  "\u4E34\u5E8A\u7814\u7A76\u5206\u6790",
15591
- // natural-language synonyms
16095
+ // trial phases
16096
+ "\u4E00\u671F\u4E34\u5E8A",
16097
+ "\u4E8C\u671F\u4E34\u5E8A",
16098
+ "\u4E09\u671F\u4E34\u5E8A",
16099
+ "\u4E34\u5E8A\u8BD5\u9A8C\u5206\u671F",
16100
+ "phase 1",
16101
+ "phase 2",
16102
+ "phase 3",
16103
+ "phase i",
16104
+ "phase ii",
16105
+ "phase iii",
16106
+ // study types
16107
+ "\u968F\u673A\u5BF9\u7167\u8BD5\u9A8C",
16108
+ "rct",
16109
+ "\u5F00\u653E\u6807\u7B7E\u8BD5\u9A8C",
16110
+ "\u5355\u81C2\u7814\u7A76",
16111
+ // drug types
16112
+ "\u9776\u5411\u836F\u4E34\u5E8A\u8BD5\u9A8C",
16113
+ "\u514D\u75AB\u6CBB\u7597\u4E34\u5E8A\u8BD5\u9A8C",
16114
+ "\u7EC6\u80DE\u6CBB\u7597\u4E34\u5E8A\u8BD5\u9A8C",
16115
+ "car-t\u4E34\u5E8A",
16116
+ "pd-1\u4E34\u5E8A\u8BD5\u9A8C",
16117
+ "\u6297\u4F53\u836F\u4E34\u5E8A",
16118
+ "\u5C0F\u5206\u5B50\u6291\u5236\u5242\u4E34\u5E8A",
16119
+ "adc\u4E34\u5E8A\u8BD5\u9A8C",
16120
+ // disease areas
16121
+ "\u80BF\u7624\u4E34\u5E8A\u8BD5\u9A8C",
16122
+ "\u80BA\u764C\u4E34\u5E8A\u8BD5\u9A8C",
16123
+ "\u4E73\u817A\u764C\u4E34\u5E8A",
16124
+ "\u809D\u764C\u4E34\u5E8A",
16125
+ "\u81EA\u8EAB\u514D\u75AB\u4E34\u5E8A\u8BD5\u9A8C",
16126
+ "\u5FC3\u8840\u7BA1\u4E34\u5E8A\u8BD5\u9A8C",
16127
+ "\u795E\u7ECF\u75BE\u75C5\u4E34\u5E8A",
16128
+ "\u7A00\u6709\u75C5\u4E34\u5E8A",
16129
+ "\u7F55\u89C1\u75C5\u4E34\u5E8A\u8BD5\u9A8C",
16130
+ // natural-language
15592
16131
  "\u4E34\u5E8A\u8BD5\u9A8C",
15593
16132
  "\u5728\u7814\u836F\u7269",
15594
16133
  "\u4E34\u5E8A\u7BA1\u7EBF",
15595
- "\u4E34\u5E8A\u7814\u7A76\u73B0\u72B6"
16134
+ "\u4E34\u5E8A\u7814\u7A76\u73B0\u72B6",
16135
+ "\u67D0\u836F\u7269\u6709\u54EA\u4E9B\u4E34\u5E8A\u8BD5\u9A8C",
16136
+ "\u8BE5\u9002\u5E94\u75C7\u7684\u4E34\u5E8A\u683C\u5C40",
16137
+ "\u7ADE\u4E89\u683C\u5C40\u5206\u6790",
16138
+ "\u7814\u53D1\u7BA1\u7EBF"
15596
16139
  ]
15597
16140
  },
15598
16141
  {
@@ -15601,16 +16144,39 @@ var SKILL_ROUTES = [
15601
16144
  category: "\u6587\u732E",
15602
16145
  tag: "builtin",
15603
16146
  keywords: [
16147
+ // methods
15604
16148
  "\u4E34\u5E8A\u524D\u6587\u732E",
15605
16149
  "preclinical literature",
15606
16150
  "\u7CFB\u7EDF\u6587\u732E\u63D0\u53D6",
15607
16151
  "literature extraction",
15608
16152
  "\u6587\u732E\u7CFB\u7EDF\u7EFC\u5408",
15609
- // natural-language synonyms
15610
- "\u6587\u732E\u7EFC\u8FF0",
16153
+ "\u7CFB\u7EDF\u8BC4\u4EF7",
15611
16154
  "\u7CFB\u7EDF\u7EFC\u8FF0",
16155
+ "systematic review",
16156
+ "meta\u5206\u6790",
16157
+ "meta-analysis",
16158
+ "\u6587\u732E\u8BA1\u91CF",
16159
+ "bibliometric",
16160
+ // data extraction
16161
+ "\u52A8\u7269\u5B9E\u9A8C\u6570\u636E\u63D0\u53D6",
16162
+ "\u4F53\u5916\u5B9E\u9A8C\u6570\u636E\u63D0\u53D6",
16163
+ "\u7EC6\u80DE\u5B9E\u9A8C\u6587\u732E",
16164
+ "\u5C0F\u9F20\u6A21\u578B\u6587\u732E",
16165
+ "\u4E34\u5E8A\u524D\u52A8\u7269\u6570\u636E",
16166
+ // application
16167
+ "\u6587\u732E\u8BC1\u636E\u7EFC\u5408",
16168
+ "\u8BC1\u636E\u8D28\u91CF\u8BC4\u4F30",
16169
+ "prisma",
16170
+ "cochrane",
16171
+ // natural-language
16172
+ "\u6587\u732E\u7EFC\u8FF0",
15612
16173
  "\u6587\u732E\u6574\u7406",
15613
- "\u6587\u732E\u6316\u6398"
16174
+ "\u6587\u732E\u6316\u6398",
16175
+ "\u67E5\u9605\u76F8\u5173\u6587\u732E",
16176
+ "\u63D0\u53D6\u6587\u732E\u6570\u636E",
16177
+ "\u7CFB\u7EDF\u641C\u96C6\u6587\u732E",
16178
+ "\u7EFC\u5408\u5206\u6790\u73B0\u6709\u7814\u7A76",
16179
+ "\u7814\u7A76\u73B0\u72B6\u603B\u7ED3"
15614
16180
  ]
15615
16181
  },
15616
16182
  {
@@ -15619,6 +16185,7 @@ var SKILL_ROUTES = [
15619
16185
  category: "\u7EDF\u8BA1",
15620
16186
  tag: "builtin",
15621
16187
  keywords: [
16188
+ // sample size
15622
16189
  "\u6837\u672C\u91CF\u8BA1\u7B97",
15623
16190
  "\u7EDF\u8BA1\u68C0\u9A8C\u9009\u62E9",
15624
16191
  "sample size calculation",
@@ -15626,17 +16193,70 @@ var SKILL_ROUTES = [
15626
16193
  "\u968F\u673A\u5316\u8BBE\u8BA1",
15627
16194
  "\u5B9E\u9A8C\u8BBE\u8BA1\u7EDF\u8BA1",
15628
16195
  "\u5047\u8BBE\u68C0\u9A8C\u9009\u62E9",
15629
- "t\u68C0\u9A8C\u8FD8\u662F",
16196
+ // parametric tests
16197
+ "t\u68C0\u9A8C",
16198
+ "student t test",
16199
+ "\u72EC\u7ACB\u6837\u672Ct",
16200
+ "\u914D\u5BF9t\u68C0\u9A8C",
15630
16201
  "anova\u65B9\u5DEE\u5206\u6790",
15631
- // natural-language synonyms
16202
+ "\u5355\u56E0\u7D20anova",
16203
+ "\u53CC\u56E0\u7D20anova",
16204
+ "\u91CD\u590D\u6D4B\u91CFanova",
16205
+ // non-parametric tests
16206
+ "mann-whitney",
16207
+ "wilcoxon\u68C0\u9A8C",
16208
+ "kruskal-wallis",
16209
+ "friedman\u68C0\u9A8C",
16210
+ "\u79E9\u548C\u68C0\u9A8C",
16211
+ "\u975E\u53C2\u6570\u68C0\u9A8C",
16212
+ // categorical
16213
+ "fisher\u68C0\u9A8C",
16214
+ "fisher exact",
16215
+ "\u5361\u65B9\u68C0\u9A8C",
16216
+ "chi-square",
16217
+ // correlation
16218
+ "pearson\u76F8\u5173",
16219
+ "spearman\u76F8\u5173",
16220
+ "\u76F8\u5173\u7CFB\u6570",
16221
+ "\u76F8\u5173\u5206\u6790",
16222
+ // multiple testing
16223
+ "\u591A\u91CD\u68C0\u9A8C\u6821\u6B63",
16224
+ "bonferroni",
16225
+ "fdr\u6821\u6B63",
16226
+ "holm\u6821\u6B63",
16227
+ // regression
16228
+ "\u7EBF\u6027\u56DE\u5F52",
16229
+ "\u591A\u5143\u56DE\u5F52",
16230
+ "logistic\u56DE\u5F52",
16231
+ "\u591A\u53D8\u91CF\u5206\u6790",
16232
+ // diagnostic
16233
+ "roc\u66F2\u7EBF",
16234
+ "auc\u8BA1\u7B97",
16235
+ "\u8BCA\u65AD\u51C6\u786E\u6027",
16236
+ "\u7075\u654F\u5EA6\u7279\u5F02\u6027",
16237
+ "\u7EA6\u767B\u6307\u6570",
16238
+ "\u6700\u4F73\u622A\u65AD\u503C",
16239
+ // propensity score
16240
+ "\u503E\u5411\u8BC4\u5206\u5339\u914D",
16241
+ "psm",
16242
+ "\u503E\u5411\u8BC4\u5206",
16243
+ "\u6DF7\u6742\u56E0\u7D20\u63A7\u5236",
16244
+ // study design
16245
+ "\u968F\u673A\u5BF9\u7167\u8BBE\u8BA1",
16246
+ "\u4EA4\u53C9\u8BBE\u8BA1",
16247
+ "\u6790\u56E0\u8BBE\u8BA1",
16248
+ "\u533A\u7EC4\u8BBE\u8BA1",
16249
+ // natural-language
15632
16250
  "\u7528\u4EC0\u4E48\u7EDF\u8BA1\u65B9\u6CD5",
15633
16251
  "\u7EDF\u8BA1\u663E\u8457\u6027",
15634
16252
  "\u68C0\u9A8C\u65B9\u6CD5",
15635
16253
  "\u9700\u8981\u591A\u5C11\u6837\u672C",
15636
16254
  "\u529F\u6548\u5206\u6790",
15637
16255
  "\u7EDF\u8BA1\u529F\u6548",
15638
- "p\u503C",
15639
- "\u663E\u8457\u6027\u68C0\u9A8C"
16256
+ "\u663E\u8457\u6027\u68C0\u9A8C",
16257
+ "\u4E24\u7EC4\u600E\u4E48\u6BD4\u8F83",
16258
+ "\u8BE5\u7528\u4EC0\u4E48\u68C0\u9A8C",
16259
+ "\u7EDF\u8BA1\u65B9\u6CD5\u9009\u62E9"
15640
16260
  ]
15641
16261
  },
15642
16262
  {
@@ -15645,18 +16265,54 @@ var SKILL_ROUTES = [
15645
16265
  category: "\u7EDF\u8BA1",
15646
16266
  tag: "builtin",
15647
16267
  keywords: [
16268
+ // methods
15648
16269
  "lasso\u56DE\u5F52\u7B5B\u9009",
15649
16270
  "lasso\u751F\u7269\u6807\u5FD7\u7269",
15650
16271
  "biomarker panel\u7B5B\u9009",
15651
16272
  "\u6700\u5C0F\u6807\u5FD7\u7269\u9762\u677F",
15652
16273
  "feature selection lasso",
15653
16274
  "\u8BCA\u65AD\u6807\u5FD7\u7269\u7B5B\u9009",
15654
- // natural-language synonyms
16275
+ "elastic net",
16276
+ "ridge\u56DE\u5F52",
16277
+ "\u6B63\u5219\u5316\u56DE\u5F52",
16278
+ "\u968F\u673A\u68EE\u6797\u7279\u5F81\u7B5B\u9009",
16279
+ "random forest\u7279\u5F81\u91CD\u8981\u6027",
16280
+ // biomarker types
16281
+ "\u86CB\u767D\u8D28\u6807\u5FD7\u7269",
16282
+ "\u4EE3\u8C22\u6807\u5FD7\u7269",
16283
+ "mrna\u6807\u5FD7\u7269",
16284
+ "mirna\u6807\u5FD7\u7269",
16285
+ "\u591A\u7EC4\u5B66\u6807\u5FD7\u7269",
16286
+ "\u8840\u6E05\u6807\u5FD7\u7269",
16287
+ "\u8840\u6D46\u6807\u5FD7\u7269",
16288
+ "\u5C3F\u6DB2\u751F\u7269\u6807\u5FD7\u7269",
16289
+ "\u5FAA\u73AF\u6807\u5FD7\u7269",
16290
+ // applications
16291
+ "\u8BCA\u65AD\u6807\u5FD7\u7269",
16292
+ "\u9884\u540E\u6807\u5FD7\u7269",
16293
+ "\u9884\u6D4B\u6027\u6807\u5FD7\u7269",
16294
+ "\u54CD\u5E94\u9884\u6D4B\u6807\u5FD7\u7269",
16295
+ "\u65E9\u671F\u8BCA\u65AD\u6A21\u578B",
16296
+ "\u8BCA\u65ADpanel",
16297
+ "\u9884\u540E\u6A21\u578B\u6784\u5EFA",
16298
+ "\u764C\u75C7\u65E9\u7B5B\u6807\u5FD7\u7269",
16299
+ "\u6DB2\u4F53\u6D3B\u68C0\u6807\u5FD7\u7269",
16300
+ "ctdna\u6807\u5FD7\u7269",
16301
+ // performance
16302
+ "auc\u8BC4\u4F30",
16303
+ "roc\u66F2\u7EBF\u9A8C\u8BC1",
16304
+ "\u8BCA\u65AD\u6548\u80FD",
16305
+ "\u9884\u6D4B\u51C6\u786E\u6027",
16306
+ "\u4EA4\u53C9\u9A8C\u8BC1\u6A21\u578B",
16307
+ "\u5916\u90E8\u9A8C\u8BC1",
16308
+ // natural-language
15655
16309
  "\u751F\u7269\u6807\u5FD7\u7269\u7B5B\u9009",
15656
16310
  "\u6807\u5FD7\u7269\u7EC4\u5408",
15657
16311
  "\u8BCA\u65AD\u6A21\u578B",
15658
16312
  "\u9884\u6D4B\u6A21\u578B\u7279\u5F81\u7B5B\u9009",
15659
- "biomarker",
16313
+ "\u627E\u6700\u5C0F\u6709\u6548\u6807\u5FD7\u7269",
16314
+ "\u54EA\u4E9B\u6807\u5FD7\u7269\u7EC4\u5408\u6700\u597D",
16315
+ "\u7B5B\u9009\u5173\u952E\u7279\u5F81",
15660
16316
  "\u7279\u5F81\u9009\u62E9"
15661
16317
  ]
15662
16318
  },
@@ -15666,6 +16322,7 @@ var SKILL_ROUTES = [
15666
16322
  category: "\u5206\u5B50\u751F\u7269\u5B66",
15667
16323
  tag: "builtin",
15668
16324
  keywords: [
16325
+ // tools/methods
15669
16326
  "\u5F15\u7269\u8BBE\u8BA1",
15670
16327
  "primer design",
15671
16328
  "qpcr\u5F15\u7269",
@@ -15674,11 +16331,40 @@ var SKILL_ROUTES = [
15674
16331
  "qrt-pcr\u8BBE\u8BA1",
15675
16332
  "\u6269\u589E\u5B50\u8BBE\u8BA1",
15676
16333
  "\u5F15\u7269\u7279\u5F02\u6027\u9A8C\u8BC1",
15677
- // natural-language synonyms
16334
+ // qPCR specifics
16335
+ "\u5185\u53C2\u57FA\u56E0",
16336
+ "gapdh",
16337
+ "beta-actin",
16338
+ "\u5B9A\u91CFpcr",
16339
+ "\u76F8\u5BF9\u5B9A\u91CF",
16340
+ "ct\u503C",
16341
+ "\u6269\u589E\u6548\u7387",
16342
+ "\u7194\u89E3\u66F2\u7EBF",
16343
+ // applications
16344
+ "\u57FA\u56E0\u8868\u8FBE\u9A8C\u8BC1\u5F15\u7269",
16345
+ "\u57FA\u56E0\u514B\u9686\u5F15\u7269",
16346
+ "\u6D4B\u5E8F\u5F15\u7269",
16347
+ "sanger\u6D4B\u5E8F\u5F15\u7269",
16348
+ "crispr\u9A8C\u8BC1\u5F15\u7269",
16349
+ "\u6572\u9664\u9A8C\u8BC1pcr",
16350
+ "\u8FC7\u8868\u8FBE\u9A8C\u8BC1",
16351
+ "\u7532\u57FA\u5316\u7279\u5F02\u6027pcr",
16352
+ "chip\u9A8C\u8BC1\u5F15\u7269",
16353
+ "chip-pcr",
16354
+ // types
16355
+ "\u7B80\u5E76\u5F15\u7269",
16356
+ "\u7B80\u5E76\u5F15\u7269\u8BBE\u8BA1",
16357
+ "\u5168\u957F\u6269\u589E",
16358
+ "\u5D4C\u5957pcr\u5F15\u7269",
16359
+ "\u591A\u91CDpcr",
16360
+ "\u5B9E\u65F6\u8367\u5149pcr",
16361
+ // natural-language
15678
16362
  "\u8BBE\u8BA1\u5F15\u7269",
15679
16363
  "\u6269\u589E\u5F15\u7269",
15680
16364
  "rt-pcr\u5F15\u7269",
15681
- "\u5B9A\u91CFpcr"
16365
+ "\u5E2E\u6211\u8BBE\u8BA1\u5F15\u7269",
16366
+ "\u8BBE\u8BA1qpcr\u5F15\u7269",
16367
+ "\u9A8C\u8BC1\u57FA\u56E0\u8868\u8FBE\u7684\u5F15\u7269"
15682
16368
  ]
15683
16369
  },
15684
16370
  // ── Survival Analysis ─────────────────────────────────────────────────────────
@@ -15711,11 +16397,10 @@ var SKILL_ROUTES = [
15711
16397
  "\u590D\u53D1\u751F\u5B58",
15712
16398
  "relapse-free survival",
15713
16399
  "rfs\u5206\u6790",
15714
- // natural-language synonyms
15715
- "\u60A3\u8005\u9884\u540E",
15716
- "\u9884\u540E\u5206\u6790",
15717
- "\u751F\u5B58\u9884\u540E",
15718
- "\u4E34\u5E8A\u9884\u540E",
16400
+ "\u65E0\u4E8B\u4EF6\u751F\u5B58",
16401
+ "event-free survival",
16402
+ "efs",
16403
+ // statistical terms
15719
16404
  "\u5220\u5931\u6570\u636E",
15720
16405
  "\u53F3\u5220\u5931",
15721
16406
  "censored data",
@@ -15725,12 +16410,54 @@ var SKILL_ROUTES = [
15725
16410
  "\u7ADE\u4E89\u98CE\u9669",
15726
16411
  "competing risk",
15727
16412
  "fine-gray",
16413
+ "\u7D2F\u79EF\u53D1\u751F\u7387",
15728
16414
  "\u4E2D\u4F4D\u751F\u5B58\u65F6\u95F4",
15729
16415
  "5\u5E74\u751F\u5B58\u7387",
15730
16416
  "3\u5E74\u751F\u5B58\u7387",
16417
+ "1\u5E74\u751F\u5B58\u7387",
16418
+ // Cox covariates
16419
+ "\u591A\u53D8\u91CFcox",
16420
+ "\u5355\u56E0\u7D20cox",
16421
+ "\u72EC\u7ACB\u9884\u540E\u56E0\u7D20",
16422
+ "\u9884\u540E\u72EC\u7ACB\u53D8\u91CF",
16423
+ "ecog\u8BC4\u5206",
16424
+ "\u80BF\u7624\u5206\u671F",
16425
+ "tnm\u5206\u671F",
16426
+ "\u6DCB\u5DF4\u7ED3\u8F6C\u79FB",
16427
+ // expression-based
15731
16428
  "\u9AD8\u8868\u8FBE\u9884\u540E\u5DEE",
15732
16429
  "\u57FA\u56E0\u8868\u8FBE\u4E0E\u9884\u540E",
15733
- "\u7A81\u53D8\u4E0E\u9884\u540E"
16430
+ "\u7A81\u53D8\u4E0E\u9884\u540E",
16431
+ "\u86CB\u767D\u8868\u8FBE\u4E0E\u751F\u5B58",
16432
+ "\u7532\u57FA\u5316\u4E0E\u9884\u540E",
16433
+ // cancer types
16434
+ "\u80BA\u764C\u9884\u540E",
16435
+ "\u4E73\u817A\u764C\u751F\u5B58\u5206\u6790",
16436
+ "\u809D\u764C\u9884\u540E",
16437
+ "\u80C3\u764C\u751F\u5B58",
16438
+ "\u7ED3\u76F4\u80A0\u764C\u9884\u540E",
16439
+ "\u5375\u5DE2\u764C\u751F\u5B58",
16440
+ "\u80F0\u817A\u764C\u9884\u540E",
16441
+ "\u767D\u8840\u75C5\u751F\u5B58",
16442
+ "\u6DCB\u5DF4\u7624\u9884\u540E",
16443
+ "\u80F6\u8D28\u7624\u751F\u5B58\u5206\u6790",
16444
+ "\u524D\u5217\u817A\u764C\u9884\u540E",
16445
+ "\u80BE\u764C\u751F\u5B58",
16446
+ "\u9ED1\u8272\u7D20\u7624\u9884\u540E",
16447
+ // clinical contexts
16448
+ "\u8F85\u52A9\u5316\u7597\u9884\u540E",
16449
+ "\u514D\u75AB\u6CBB\u7597\u7597\u6548\u9884\u6D4B",
16450
+ "\u9776\u5411\u6CBB\u7597\u751F\u5B58",
16451
+ "tcga\u751F\u5B58\u6570\u636E",
16452
+ "\u4E34\u5E8A\u961F\u5217\u751F\u5B58",
16453
+ // natural-language
16454
+ "\u60A3\u8005\u9884\u540E",
16455
+ "\u9884\u540E\u5206\u6790",
16456
+ "\u751F\u5B58\u9884\u540E",
16457
+ "\u4E34\u5E8A\u9884\u540E",
16458
+ "\u753B\u751F\u5B58\u66F2\u7EBF",
16459
+ "\u60A3\u8005\u80FD\u6D3B\u591A\u4E45",
16460
+ "\u54EA\u4E9B\u56E0\u7D20\u5F71\u54CD\u9884\u540E"
15734
16461
  ]
15735
16462
  },
15736
16463
  // ── Extended Skills (key routable entries) ───────────────────────────────────
@@ -15746,7 +16473,16 @@ var SKILL_ROUTES = [
15746
16473
  "\u8BBA\u6587\u641C\u7D22",
15747
16474
  "\u67E5\u627E\u6587\u732E",
15748
16475
  "\u68C0\u7D22pubmed",
15749
- "pubmed\u6587\u732E"
16476
+ "pubmed\u6587\u732E",
16477
+ "medline\u68C0\u7D22",
16478
+ "ncbi\u68C0\u7D22",
16479
+ "\u533B\u5B66\u6587\u732E",
16480
+ "\u4E34\u5E8A\u6587\u732E\u68C0\u7D22",
16481
+ "\u67E5\u6700\u65B0\u6587\u732E",
16482
+ "\u627E\u76F8\u5173\u8BBA\u6587",
16483
+ "\u8FD1\u671F\u53D1\u8868\u6587\u7AE0",
16484
+ "\u6570\u636E\u5E93\u6587\u732E\u68C0\u7D22",
16485
+ "\u751F\u7269\u533B\u5B66\u6587\u732E"
15750
16486
  ]
15751
16487
  },
15752
16488
  {
@@ -15754,7 +16490,20 @@ var SKILL_ROUTES = [
15754
16490
  name: "arXiv \u9884\u5370\u672C\u68C0\u7D22",
15755
16491
  category: "\u6587\u732E",
15756
16492
  tag: "builtin",
15757
- keywords: ["arxiv\u68C0\u7D22", "arxiv\u641C\u7D22", "\u9884\u5370\u672C\u68C0\u7D22", "\u9884\u5370\u672C\u8BBA\u6587", "arxiv\u6587\u732E"]
16493
+ keywords: [
16494
+ "arxiv\u68C0\u7D22",
16495
+ "arxiv\u641C\u7D22",
16496
+ "\u9884\u5370\u672C\u68C0\u7D22",
16497
+ "\u9884\u5370\u672C\u8BBA\u6587",
16498
+ "arxiv\u6587\u732E",
16499
+ "\u6700\u65B0\u9884\u5370\u672C",
16500
+ "biorxiv",
16501
+ "medrxiv",
16502
+ "\u672A\u53D1\u8868\u8BBA\u6587",
16503
+ "ai\u76F8\u5173\u9884\u5370\u672C",
16504
+ "\u6DF1\u5EA6\u5B66\u4E60\u751F\u7269\u4FE1\u606F",
16505
+ "\u5927\u6A21\u578B\u751F\u7269\u533B\u5B66"
16506
+ ]
15758
16507
  },
15759
16508
  {
15760
16509
  id: "alphafold",
@@ -15762,12 +16511,43 @@ var SKILL_ROUTES = [
15762
16511
  category: "\u7ED3\u6784\u751F\u7269\u5B66",
15763
16512
  tag: "builtin",
15764
16513
  keywords: [
16514
+ // tools
15765
16515
  "alphafold\u7ED3\u6784\u9884\u6D4B",
15766
16516
  "alphafold\u8FD0\u884C",
15767
16517
  "af2",
15768
16518
  "af3",
15769
16519
  "\u86CB\u767D\u8D28\u7ED3\u6784\u9884\u6D4B\u4EFB\u52A1",
15770
- "\u7528alphafold\u9884\u6D4B"
16520
+ "\u7528alphafold\u9884\u6D4B",
16521
+ "colabfold",
16522
+ "esmfold",
16523
+ "rosettafold",
16524
+ // applications
16525
+ "\u86CB\u767D\u8D28\u7ED3\u6784\u9884\u6D4B",
16526
+ "\u4E09\u7EF4\u7ED3\u6784\u9884\u6D4B",
16527
+ "\u86CB\u767D\u6298\u53E0\u9884\u6D4B",
16528
+ "\u7A81\u53D8\u5BF9\u7ED3\u6784\u7684\u5F71\u54CD",
16529
+ "\u7ED3\u6784\u529F\u80FD\u5206\u6790",
16530
+ "\u914D\u4F53\u7ED3\u5408\u53E3\u888B\u9884\u6D4B",
16531
+ "\u836F\u7269\u9776\u70B9\u7ED3\u6784",
16532
+ // protein interaction
16533
+ "\u86CB\u767D\u86CB\u767D\u76F8\u4E92\u4F5C\u7528\u7ED3\u6784",
16534
+ "ppi\u7ED3\u6784",
16535
+ "\u590D\u5408\u7269\u7ED3\u6784\u9884\u6D4B",
16536
+ "multimer\u9884\u6D4B",
16537
+ "\u86CB\u767D\u590D\u5408\u7269",
16538
+ // structural biology
16539
+ "\u540C\u6E90\u5EFA\u6A21",
16540
+ "homology modeling",
16541
+ "\u5E8F\u5217\u7ED3\u6784\u5173\u7CFB",
16542
+ "\u86CB\u767D\u8D28\u7ED3\u6784\u6BD4\u8F83",
16543
+ "\u7ED3\u6784\u5BF9\u9F50",
16544
+ "\u7ED3\u6784\u53E0\u5408",
16545
+ // natural-language
16546
+ "\u9884\u6D4B\u86CB\u767D\u7ED3\u6784",
16547
+ "\u86CB\u767D3d\u7ED3\u6784",
16548
+ "\u86CB\u767D\u8D28\u4E09\u7EF4\u6784\u8C61",
16549
+ "\u8FD9\u4E2A\u86CB\u767D\u7684\u7ED3\u6784\u662F\u4EC0\u4E48",
16550
+ "\u7528ai\u9884\u6D4B\u7ED3\u6784"
15771
16551
  ]
15772
16552
  },
15773
16553
  {
@@ -15780,7 +16560,15 @@ var SKILL_ROUTES = [
15780
16560
  "alphafold db",
15781
16561
  "uniprot\u7ED3\u6784\u67E5\u8BE2",
15782
16562
  "\u86CB\u767D\u8D28\u7ED3\u6784\u6570\u636E\u5E93",
15783
- "af\u6570\u636E\u5E93"
16563
+ "af\u6570\u636E\u5E93",
16564
+ "\u5DF2\u77E5\u86CB\u767D\u7ED3\u6784\u67E5\u8BE2",
16565
+ "\u86CB\u767D\u7ED3\u6784\u4E0B\u8F7D",
16566
+ "rcsb pdb",
16567
+ "pdb\u7ED3\u6784",
16568
+ "\u86CB\u767D\u6570\u636E\u5E93",
16569
+ "pdb\u67E5\u8BE2",
16570
+ "\u86CB\u767Did\u67E5\u7ED3\u6784",
16571
+ "uniprot\u86CB\u767D\u7ED3\u6784"
15784
16572
  ]
15785
16573
  },
15786
16574
  {
@@ -15794,7 +16582,17 @@ var SKILL_ROUTES = [
15794
16582
  "binder design",
15795
16583
  "protein binder",
15796
16584
  "\u86CB\u767D\u8D28\u7ED3\u5408\u7269\u8BBE\u8BA1",
15797
- "de novo binder"
16585
+ "de novo binder",
16586
+ // therapeutic protein design
16587
+ "\u6CBB\u7597\u6027\u86CB\u767D\u8BBE\u8BA1",
16588
+ "\u86CB\u767D\u8D28\u5DE5\u7A0B",
16589
+ "\u86CB\u767D\u8D28\u6539\u9020",
16590
+ "\u7ED3\u5408\u4EB2\u548C\u529B\u8BBE\u8BA1",
16591
+ "\u86CB\u767D\u8D28\u8BBE\u8BA1",
16592
+ // applications
16593
+ "\u6291\u5236\u5242\u86CB\u767D\u8BBE\u8BA1",
16594
+ "\u9776\u70B9\u7ED3\u5408\u86CB\u767D",
16595
+ "\u53D7\u4F53\u7ED3\u5408\u8BBE\u8BA1"
15798
16596
  ]
15799
16597
  },
15800
16598
  {
@@ -15808,7 +16606,16 @@ var SKILL_ROUTES = [
15808
16606
  "adata\u5B50\u96C6",
15809
16607
  "anndata\u683C\u5F0F",
15810
16608
  "\u5355\u7EC6\u80DEh5ad",
15811
- "obs var layers"
16609
+ "obs var layers",
16610
+ "h5ad\u8BFB\u53D6",
16611
+ "\u5355\u7EC6\u80DE\u6570\u636E\u683C\u5F0F\u8F6C\u6362",
16612
+ "loom\u683C\u5F0F",
16613
+ "seurat\u8F6Canndata",
16614
+ "anndata\u5408\u5E76",
16615
+ "adata\u62FC\u63A5",
16616
+ "obs\u7B5B\u9009",
16617
+ "var\u7B5B\u9009",
16618
+ "uns\u5B57\u6BB5"
15812
16619
  ]
15813
16620
  },
15814
16621
  {
@@ -15822,7 +16629,24 @@ var SKILL_ROUTES = [
15822
16629
  "cellagent",
15823
16630
  "\u81EA\u52A8\u7EC6\u80DE\u6CE8\u91CA",
15824
16631
  "\u7EC6\u80DE\u6CE8\u91CA\u81EA\u52A8\u5316",
15825
- "\u5355\u7EC6\u80DE\u6CE8\u91CA"
16632
+ "\u5355\u7EC6\u80DE\u6CE8\u91CA",
16633
+ // reference-based
16634
+ "\u53C2\u8003\u96C6\u6CE8\u91CA",
16635
+ "sctype",
16636
+ "celltypist",
16637
+ "singler\u6CE8\u91CA",
16638
+ "scmap\u6CE8\u91CA",
16639
+ "\u8FC1\u79FB\u5B66\u4E60\u7EC6\u80DE\u6CE8\u91CA",
16640
+ // specific cell types
16641
+ "t\u7EC6\u80DE\u6CE8\u91CA",
16642
+ "\u514D\u75AB\u7EC6\u80DE\u6CE8\u91CA",
16643
+ "\u80BF\u7624\u7EC6\u80DE\u6CE8\u91CA",
16644
+ "\u4E0A\u76AE\u7EC6\u80DE\u6CE8\u91CA",
16645
+ "\u6210\u7EA4\u7EF4\u7EC6\u80DE\u9274\u5B9A",
16646
+ "\u5185\u76AE\u7EC6\u80DE\u8BC6\u522B",
16647
+ // marker-based
16648
+ "\u6807\u5FD7\u7269\u9A71\u52A8\u6CE8\u91CA",
16649
+ "\u7EC6\u80DE\u7279\u5F81\u57FA\u56E0\u6CE8\u91CA"
15826
16650
  ]
15827
16651
  },
15828
16652
  {
@@ -15836,7 +16660,20 @@ var SKILL_ROUTES = [
15836
16660
  "\u5355\u7EC6\u80DE\u53D8\u5206\u63A8\u65AD",
15837
16661
  "batch correction scvi",
15838
16662
  "totalvi",
15839
- "scvi\u6279\u6B21\u77EB\u6B63"
16663
+ "scvi\u6279\u6B21\u77EB\u6B63",
16664
+ // related models
16665
+ "scarches",
16666
+ "scarchess",
16667
+ "peakvi",
16668
+ "multivi",
16669
+ "\u6DF1\u5EA6\u5B66\u4E60\u5355\u7EC6\u80DE",
16670
+ "\u53D8\u5206\u81EA\u7F16\u7801\u5668\u5355\u7EC6\u80DE",
16671
+ "vae\u5355\u7EC6\u80DE",
16672
+ // applications
16673
+ "\u6279\u6B21\u6548\u5E94\u53BB\u9664\u6DF1\u5EA6\u5B66\u4E60",
16674
+ "\u591A\u6A21\u6001\u5355\u7EC6\u80DE\u6574\u5408",
16675
+ "\u5355\u7EC6\u80DEimputation",
16676
+ "\u57FA\u56E0\u8868\u8FBE\u63D2\u8865"
15840
16677
  ]
15841
16678
  },
15842
16679
  {
@@ -15845,13 +16682,14 @@ var SKILL_ROUTES = [
15845
16682
  category: "\u836F\u7269",
15846
16683
  tag: "builtin",
15847
16684
  keywords: [
16685
+ // core drug discovery
15848
16686
  "\u836F\u7269\u53D1\u73B0\u6D41\u7A0B",
15849
16687
  "drug discovery",
15850
16688
  "\u5019\u9009\u836F\u7269\u7B5B\u9009",
15851
16689
  "\u5148\u5BFC\u5316\u5408\u7269",
15852
16690
  "hit\u5316\u5408\u7269",
15853
16691
  "\u836F\u7269\u9776\u70B9\u53D1\u73B0",
15854
- // drug target analysis
16692
+ // target analysis
15855
16693
  "\u9776\u70B9\u8BC4\u4F30",
15856
16694
  "\u9776\u70B9\u53EF\u89C6\u5316",
15857
16695
  "\u9776\u70B9\u62A5\u544A",
@@ -15863,6 +16701,9 @@ var SKILL_ROUTES = [
15863
16701
  "target visualization",
15864
16702
  "drug target report",
15865
16703
  "target assessment",
16704
+ "\u9776\u70B9\u9A8C\u8BC1",
16705
+ "\u9776\u70B9\u786E\u8BA4",
16706
+ "\u9776\u70B9\u4F18\u5148\u7EA7\u6392\u5E8F",
15866
16707
  // specific target contexts
15867
16708
  "kras\u9776\u70B9",
15868
16709
  "kras\u53EF\u6210\u836F\u6027",
@@ -15873,17 +16714,60 @@ var SKILL_ROUTES = [
15873
16714
  "braf\u9776\u70B9",
15874
16715
  "her2\u9776\u70B9",
15875
16716
  "met\u9776\u70B9",
15876
- // visualization types for target reports
16717
+ "pd-1\u9776\u70B9",
16718
+ "pd-l1\u9776\u70B9",
16719
+ "ctla4\u9776\u70B9",
16720
+ "vegfr\u9776\u70B9",
16721
+ "fgfr\u9776\u70B9",
16722
+ "idh1\u9776\u70B9",
16723
+ "idh2\u9776\u70B9",
16724
+ // virtual screening
16725
+ "\u865A\u62DF\u7B5B\u9009",
16726
+ "\u5206\u5B50\u5BF9\u63A5",
16727
+ "molecular docking",
16728
+ "\u5BF9\u63A5\u6253\u5206",
16729
+ "glide docking",
16730
+ "autodock",
16731
+ "vina",
16732
+ "\u9AD8\u901A\u91CF\u865A\u62DF\u7B5B\u9009",
16733
+ // ADMET
16734
+ "admet\u9884\u6D4B",
16735
+ "\u836F\u4EE3\u52A8\u529B\u5B66\u9884\u6D4B",
16736
+ "pk\u9884\u6D4B",
16737
+ "adme\u9884\u6D4B",
16738
+ "\u53E3\u670D\u751F\u7269\u5229\u7528\u5EA6",
16739
+ "\u8840\u8111\u5C4F\u969C",
16740
+ "bbb\u9884\u6D4B",
16741
+ "\u6BD2\u6027\u9884\u6D4B",
16742
+ "\u4EE3\u8C22\u7A33\u5B9A\u6027",
16743
+ "herg\u6BD2\u6027",
16744
+ // drug repurposing
16745
+ "\u836F\u7269\u91CD\u5B9A\u4F4D",
16746
+ "\u8001\u836F\u65B0\u7528",
16747
+ "drug repurposing",
16748
+ "\u836F\u7269\u518D\u5229\u7528",
16749
+ // network pharmacology
16750
+ "\u7F51\u7EDC\u836F\u7406\u5B66",
16751
+ "\u9776\u70B9\u7F51\u7EDC",
16752
+ "\u4E2D\u836F\u7F51\u7EDC\u836F\u7406\u5B66",
16753
+ "\u4E2D\u836F\u6D3B\u6027\u6210\u5206",
16754
+ "\u5929\u7136\u4EA7\u7269\u6D3B\u6027",
16755
+ "\u4E2D\u8349\u836F\u6709\u6548\u6210\u5206",
16756
+ "\u4E2D\u836F\u9776\u70B9",
16757
+ // visualization
15877
16758
  "\u96F7\u8FBE\u56FE\u8BC4\u5206",
15878
16759
  "\u6C14\u6CE1\u56FE\u9776\u70B9",
15879
16760
  "\u6851\u57FA\u56FE\u7A81\u53D8\u901A\u8DEF",
15880
16761
  "\u9776\u70B9\u70ED\u56FE",
15881
- // natural-language synonyms
16762
+ // natural-language
15882
16763
  "\u54EA\u4E9B\u9776\u70B9\u503C\u5F97\u5F00\u53D1",
15883
16764
  "\u9776\u70B9\u4F18\u5148\u7EA7",
15884
16765
  "\u9776\u70B9\u6210\u836F\u6027\u5206\u6790",
15885
16766
  "\u9776\u5411\u6CBB\u7597\u9776\u70B9",
15886
- "\u7CBE\u51C6\u533B\u5B66\u9776\u70B9"
16767
+ "\u7CBE\u51C6\u533B\u5B66\u9776\u70B9",
16768
+ "\u5F00\u53D1\u4EC0\u4E48\u836F\u7269",
16769
+ "\u9488\u5BF9\u67D0\u9776\u70B9\u7684\u836F",
16770
+ "\u9776\u70B9\u53EF\u884C\u6027\u8BC4\u4F30"
15887
16771
  ]
15888
16772
  },
15889
16773
  {
@@ -15897,7 +16781,19 @@ var SKILL_ROUTES = [
15897
16781
  "\u5316\u5408\u7269\u6D3B\u6027\u6570\u636E",
15898
16782
  "bioactivity\u6570\u636E",
15899
16783
  "chembl\u5316\u5408\u7269",
15900
- "\u9776\u70B9\u6D3B\u6027\u5316\u5408\u7269"
16784
+ "\u9776\u70B9\u6D3B\u6027\u5316\u5408\u7269",
16785
+ // activity data
16786
+ "ic50\u67E5\u8BE2",
16787
+ "ki\u503C",
16788
+ "kd\u503C",
16789
+ "ec50",
16790
+ "\u6D3B\u6027\u5316\u5408\u7269\u67E5\u8BE2",
16791
+ "\u5316\u5408\u7269\u9776\u70B9\u6D3B\u6027",
16792
+ "\u591A\u9776\u70B9\u6D3B\u6027\u8C31",
16793
+ // drug data
16794
+ "\u6279\u51C6\u836F\u7269\u6570\u636E",
16795
+ "\u4E34\u5E8A\u5316\u5408\u7269",
16796
+ "fda\u6279\u51C6\u836F\u7269"
15901
16797
  ]
15902
16798
  },
15903
16799
  {
@@ -15912,7 +16808,36 @@ var SKILL_ROUTES = [
15912
16808
  "\u5206\u5B50\u63CF\u8FF0\u7B26\u8BA1\u7B97",
15913
16809
  "\u5206\u5B50\u76F8\u4F3C\u5EA6",
15914
16810
  "smiles\u5206\u5B50\u64CD\u4F5C",
15915
- "\u5316\u5B66\u7ED3\u6784\u5904\u7406"
16811
+ "\u5316\u5B66\u7ED3\u6784\u5904\u7406",
16812
+ // fingerprints
16813
+ "\u5206\u5B50\u6307\u7EB9",
16814
+ "morgan\u6307\u7EB9",
16815
+ "ecfp",
16816
+ "maccs\u6307\u7EB9",
16817
+ "topological fingerprint",
16818
+ // scaffold
16819
+ "\u9AA8\u67B6\u5206\u6790",
16820
+ "scaffold hopping",
16821
+ "\u9AA8\u67B6\u8DF3\u8DC3",
16822
+ "\u836F\u6548\u56E2",
16823
+ "pharmacophore",
16824
+ // properties
16825
+ "\u5206\u5B50\u91CF\u8BA1\u7B97",
16826
+ "logp\u8BA1\u7B97",
16827
+ "\u6C22\u952E\u53D7\u4F53\u4F9B\u4F53",
16828
+ "\u65CB\u8F6C\u952E",
16829
+ "lipinski\u4E94\u89C4\u5219",
16830
+ "\u7C7B\u836F\u6027",
16831
+ "drug-likeness",
16832
+ // QSAR/ML
16833
+ "qsar\u5EFA\u6A21",
16834
+ "\u6784\u6548\u5173\u7CFB",
16835
+ "\u5206\u5B50\u673A\u5668\u5B66\u4E60",
16836
+ "\u5316\u5B66\u7A7A\u95F4",
16837
+ // reactions
16838
+ "\u53CD\u5E94\u9884\u6D4B",
16839
+ "\u9006\u5408\u6210\u5206\u6790",
16840
+ "retrosynthesis"
15916
16841
  ]
15917
16842
  },
15918
16843
  {
@@ -15921,13 +16846,47 @@ var SKILL_ROUTES = [
15921
16846
  category: "\u57FA\u56E0\u7EC4",
15922
16847
  tag: "builtin",
15923
16848
  keywords: [
16849
+ // tools
15924
16850
  "\u53D8\u5F02\u68C0\u6D4B\u6D41\u7A0B",
15925
16851
  "variant calling\u6D41\u7A0B",
15926
16852
  "somatic\u53D8\u5F02\u68C0\u6D4B",
15927
16853
  "\u4F53\u7EC6\u80DE\u7A81\u53D8\u68C0\u6D4B",
15928
16854
  "mutect2",
15929
16855
  "gatk\u53D8\u5F02\u68C0\u6D4B",
15930
- "\u80BF\u7624\u53D8\u5F02\u68C0\u6D4B"
16856
+ "\u80BF\u7624\u53D8\u5F02\u68C0\u6D4B",
16857
+ "haplotypecaller",
16858
+ "deepvariant",
16859
+ "strelka2",
16860
+ "varscan",
16861
+ // sequencing types
16862
+ "wes\u5206\u6790",
16863
+ "\u5168\u5916\u663E\u5B50\u6D4B\u5E8F\u5206\u6790",
16864
+ "wgs\u5206\u6790",
16865
+ "\u5168\u57FA\u56E0\u7EC4\u6D4B\u5E8F",
16866
+ "panel\u6D4B\u5E8F",
16867
+ "\u9776\u5411\u6D4B\u5E8F",
16868
+ "ngs\u53D8\u5F02\u68C0\u6D4B",
16869
+ "tumor-normal\u914D\u5BF9",
16870
+ "\u80BF\u7624\u6B63\u5E38\u914D\u5BF9\u6D4B\u5E8F",
16871
+ // variant types
16872
+ "\u70B9\u7A81\u53D8\u68C0\u6D4B",
16873
+ "snp calling",
16874
+ "indel\u68C0\u6D4B",
16875
+ "cnv\u68C0\u6D4B",
16876
+ "\u7ED3\u6784\u53D8\u5F02\u68C0\u6D4B",
16877
+ "sv calling",
16878
+ "\u57FA\u56E0\u878D\u5408\u68C0\u6D4B",
16879
+ // quality
16880
+ "\u53D8\u5F02\u8FC7\u6EE4",
16881
+ "vqsr",
16882
+ "\u53D8\u5F02\u8D28\u63A7",
16883
+ "\u6D4B\u5E8F\u8D28\u63A7",
16884
+ // natural-language
16885
+ "\u4ECEbam\u6587\u4EF6\u627E\u7A81\u53D8",
16886
+ "\u4ECEfastq\u5230\u7A81\u53D8",
16887
+ "\u6D4B\u5E8F\u6570\u636E\u627E\u53D8\u5F02",
16888
+ "\u80BF\u7624\u57FA\u56E0\u7EC4\u6D4B\u5E8F\u5206\u6790",
16889
+ "ngs\u6570\u636E\u5206\u6790\u6D41\u7A0B"
15931
16890
  ]
15932
16891
  },
15933
16892
  {
@@ -15936,12 +16895,50 @@ var SKILL_ROUTES = [
15936
16895
  category: "\u6297\u4F53",
15937
16896
  tag: "builtin",
15938
16897
  keywords: [
16898
+ // core
15939
16899
  "\u6297\u4F53\u8BBE\u8BA1",
15940
16900
  "antibody design",
15941
16901
  "\u6297\u4F53\u4F18\u5316",
15942
16902
  "cdr\u8BBE\u8BA1",
15943
16903
  "\u5355\u514B\u9686\u6297\u4F53\u8BBE\u8BA1",
15944
- "\u6297\u4F53\u5DE5\u7A0B\u6539\u9020"
16904
+ "\u6297\u4F53\u5DE5\u7A0B\u6539\u9020",
16905
+ // types
16906
+ "\u6CBB\u7597\u6027\u6297\u4F53",
16907
+ "\u4E2D\u548C\u6297\u4F53",
16908
+ "\u53CC\u7279\u5F02\u6027\u6297\u4F53",
16909
+ "bispecific antibody",
16910
+ "\u7EB3\u7C73\u6297\u4F53",
16911
+ "nanobody",
16912
+ "\u5355\u57DF\u6297\u4F53",
16913
+ "sdab",
16914
+ "\u5168\u4EBA\u6E90\u6297\u4F53",
16915
+ "\u4EBA\u6E90\u5316\u6297\u4F53",
16916
+ "humanization",
16917
+ // optimization
16918
+ "\u6297\u4F53\u4EB2\u548C\u529B\u6210\u719F",
16919
+ "affinity maturation",
16920
+ "cdr\u4F18\u5316",
16921
+ "\u6297\u4F53\u7A33\u5B9A\u6027\u6539\u9020",
16922
+ "\u6297\u4F53\u53EF\u6EB6\u6027\u63D0\u9AD8",
16923
+ // antibody-drug conjugate
16924
+ "adc\u8BBE\u8BA1",
16925
+ "\u6297\u4F53\u5076\u8054\u836F\u7269",
16926
+ "\u5076\u8054\u4F4D\u70B9\u8BBE\u8BA1",
16927
+ // function
16928
+ "fc\u5DE5\u7A0B\u6539\u9020",
16929
+ "effector function\u4F18\u5316",
16930
+ "adcc",
16931
+ "cdc",
16932
+ // immune checkpoint
16933
+ "\u514D\u75AB\u68C0\u67E5\u70B9\u6297\u4F53",
16934
+ "pd-1\u6297\u4F53",
16935
+ "pd-l1\u6297\u4F53",
16936
+ "ctla4\u6297\u4F53",
16937
+ // natural-language
16938
+ "\u8BBE\u8BA1\u65B0\u6297\u4F53",
16939
+ "\u6539\u9020\u6297\u4F53",
16940
+ "\u6297\u4F53\u5982\u4F55\u4F18\u5316",
16941
+ "\u5F00\u53D1\u6297\u4F53\u836F\u7269"
15945
16942
  ]
15946
16943
  },
15947
16944
  {
@@ -15950,12 +16947,53 @@ var SKILL_ROUTES = [
15950
16947
  category: "\u6297\u4F53",
15951
16948
  tag: "builtin",
15952
16949
  keywords: [
16950
+ // core
15953
16951
  "car-t\u8BBE\u8BA1",
15954
16952
  "cart\u7EC6\u80DE\u8BBE\u8BA1",
15955
16953
  "\u5D4C\u5408\u6297\u539F\u53D7\u4F53\u8BBE\u8BA1",
15956
16954
  "chimeric antigen receptor",
15957
16955
  "armored cart",
15958
- "\u514D\u75AB\u7EC6\u80DE\u6CBB\u7597\u8BBE\u8BA1"
16956
+ "\u514D\u75AB\u7EC6\u80DE\u6CBB\u7597\u8BBE\u8BA1",
16957
+ // CAR structure
16958
+ "\u5171\u523A\u6FC0\u57DF\u8BBE\u8BA1",
16959
+ "costimulatory domain",
16960
+ "cd28\u5171\u523A\u6FC0",
16961
+ "4-1bb\u8BBE\u8BA1",
16962
+ "\u94F0\u94FE\u533A\u8BBE\u8BA1",
16963
+ "\u8DE8\u819C\u533A\u4F18\u5316",
16964
+ "\u80DE\u5185\u4FE1\u53F7\u57DF",
16965
+ // applications
16966
+ "\u8840\u6DB2\u80BF\u7624car-t",
16967
+ "b\u7EC6\u80DE\u6DCB\u5DF4\u7624car-t",
16968
+ "\u591A\u53D1\u6027\u9AA8\u9AD3\u7624cart",
16969
+ "\u5B9E\u4F53\u7624car-t",
16970
+ "\u5B9E\u4F53\u80BF\u7624\u7EC6\u80DE\u6CBB\u7597",
16971
+ // targets
16972
+ "cd19 cart",
16973
+ "cd22 cart",
16974
+ "bcma cart",
16975
+ "cd33 cart",
16976
+ "her2 cart",
16977
+ "gd2 cart",
16978
+ "egfr cart",
16979
+ // engineering
16980
+ "\u901A\u7528car-t",
16981
+ "\u5F02\u4F53cart",
16982
+ "allogeneic cart",
16983
+ "tcr\u03B1\u03B2\u6572\u9664",
16984
+ "\u6301\u4E45\u6027\u6539\u9020",
16985
+ "persistence",
16986
+ // related therapies
16987
+ "car-nk\u8BBE\u8BA1",
16988
+ "tcr-t\u7EC6\u80DE",
16989
+ "til\u6CBB\u7597",
16990
+ "\u80BF\u7624\u6D78\u6DA6\u6DCB\u5DF4\u7EC6\u80DE",
16991
+ // natural-language
16992
+ "\u8BBE\u8BA1car-t",
16993
+ "\u5F00\u53D1\u7EC6\u80DE\u6CBB\u7597",
16994
+ "\u514D\u75AB\u7EC6\u80DE\u7597\u6CD5\u8BBE\u8BA1",
16995
+ "cart\u6CBB\u7597\u4EC0\u4E48\u764C\u75C7",
16996
+ "cart\u6301\u4E45\u6027"
15959
16997
  ]
15960
16998
  }
15961
16999
  ];
@@ -16104,7 +17142,7 @@ function clearCheckpoints(sessionId) {
16104
17142
 
16105
17143
  // src/index.ts
16106
17144
  var import_fs7 = require("fs");
16107
- var VERSION2 = "2.4.4";
17145
+ var VERSION2 = "2.4.6";
16108
17146
  var SKILLHUB_HUBS = {
16109
17147
  bgi: { label: "BGI\u5185\u7F51", apiBase: "https://clawhub.ai", backend: "clawhub" },
16110
17148
  clawhub: { label: "clawhub.ai", apiBase: "https://clawhub.ai", backend: "clawhub" },
@@ -16251,11 +17289,24 @@ function installBundledData() {
16251
17289
  const bundledData = (0, import_path6.join)(__dirname, "..", "data");
16252
17290
  if (!(0, import_fs6.existsSync)(bundledData)) return;
16253
17291
  ensureDirs();
17292
+ const legacyWorkflowsDir = (0, import_path6.join)(BGI_DIR, "workflows");
17293
+ if ((0, import_fs6.existsSync)(legacyWorkflowsDir)) {
17294
+ try {
17295
+ for (const entry of (0, import_fs6.readdirSync)(legacyWorkflowsDir)) {
17296
+ const src = (0, import_path6.join)(legacyWorkflowsDir, entry);
17297
+ const dest = (0, import_path6.join)(SKILLS_DIR, entry);
17298
+ if ((0, import_fs6.statSync)(src).isDirectory() && !(0, import_fs6.existsSync)(dest)) {
17299
+ (0, import_fs6.cpSync)(src, dest, { recursive: true });
17300
+ }
17301
+ }
17302
+ (0, import_fs6.rmSync)(legacyWorkflowsDir, { recursive: true, force: true });
17303
+ } catch {
17304
+ }
17305
+ }
16254
17306
  const installedDataVersion = (0, import_fs6.existsSync)(DATA_VERSION_FILE) ? (0, import_fs6.readFileSync)(DATA_VERSION_FILE, "utf8").trim() : "";
16255
17307
  const needsUpdate = installedDataVersion !== VERSION2;
16256
17308
  const targets = [
16257
- { src: (0, import_path6.join)(bundledData, "workflows"), dest: WORKFLOWS_DIR, name: "Skills (\u5206\u6790\u7C7B)" },
16258
- { src: (0, import_path6.join)(bundledData, "skills"), dest: SKILLS_DIR, name: "Skills (\u6269\u5C55\u7C7B)" },
17309
+ { src: (0, import_path6.join)(bundledData, "skills"), dest: SKILLS_DIR, name: "Skills" },
16259
17310
  { src: (0, import_path6.join)(bundledData, "tools"), dest: TOOLS_DIR, name: "\u5DE5\u5177" }
16260
17311
  ];
16261
17312
  let installed = false;
@@ -16459,7 +17510,6 @@ function collectAllSkills() {
16459
17510
  });
16460
17511
  };
16461
17512
  addFrom(SKILLS_DIR, "skill");
16462
- addFrom(WORKFLOWS_DIR, "skill");
16463
17513
  addFrom(USER_SKILLS_DIR, "user");
16464
17514
  return entries;
16465
17515
  }