[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-deepmind-jaspar-database":3,"mdc-egbjj7-key":33,"related-org-google-deepmind-jaspar-database":959,"related-repo-google-deepmind-jaspar-database":1125},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":31,"mdContent":32},"jaspar-database","query JASPAR for transcription factor profiles","Query the JASPAR database for Transcription Factor (TF) binding profiles. Use when retrieving Position Frequency Matrices (PFMs) or Position Weight Matrices (PWMs) for specific TFs, resolving gene symbols to JASPAR Matrix IDs, or getting TF metadata. Supports multiple output formats (MEME, TRANSFAC, PFM, JASPAR, YAML).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"google-deepmind","Google DeepMind","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgoogle-deepmind.png",[12,16,19],{"name":13,"slug":14,"type":15},"Research","research","tag",{"name":17,"slug":18,"type":15},"Life Sciences","life-sciences",{"name":20,"slug":21,"type":15},"Bioinformatics","bioinformatics",2333,"https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fscience-skills","2026-07-12T07:51:31.760241",null,234,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":30},[],"GDM Science Skills to speed up agentic scientific workflows with better grounding and higher token efficiency. Integrate insights from AlphaGenome, AFDB, UniProt and 30+ other databases and tools.","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fscience-skills\u002Ftree\u002FHEAD\u002Fskills\u002Fjaspar_database","---\nname: jaspar-database\ndescription: >\n    Query the JASPAR database for Transcription Factor (TF) binding profiles.\n    Use when retrieving Position Frequency Matrices (PFMs) or Position Weight\n    Matrices (PWMs) for specific TFs, resolving gene symbols to JASPAR Matrix\n    IDs, or getting TF metadata. Supports multiple output formats (MEME,\n    TRANSFAC, PFM, JASPAR, YAML).\n---\n\n# JASPAR Skill\n\nJASPAR is the definitive open-access database for Transcription Factor (TF)\nbinding profiles, stored as Position Frequency Matrices (PFMs).\n\nUse this skill to map abstract sequence motifs or genomic regions to specific\nbiological regulators (e.g., \"what TFs bind here?\" or \"what is the motif for\nCTCF?\").\n\n## Prerequisites\n\n1.  **`uv`**: Read the `uv` skill and follow its Setup instructions to ensure\n    `uv` is installed and on PATH.\n2.  **User Notification**: If .licenses\u002Fjaspar_database_LICENSE.txt does not\n    already exist in the workspace root directory then (1) prominently notify\n    the user to check the terms at https:\u002F\u002Fjaspar.elixir.no\u002F and\n    https:\u002F\u002Fjaspar.elixir.no\u002Fapi\u002F, then (2) create the file recording the\n    notification text and timestamp.\n\n## Core Rules\n\n**CRITICAL**: You MUST respect the JASPAR API Terms of Use by adhering to the\nfollowing:\n\n-   **Use the Wrapper**: ALWAYS execute the provided helper scripts to query the\n    database rather than accessing the database directly. The scripts\n    automatically enforce the required rate limit gracefully.\n-   **Maximum API Window Size**: The genomic window for a single API query MUST\n    NOT exceed 100,000 bp (100kb). The `jaspar_api.py` script automatically\n    chunks larger requests for you to bypass this limitation when querying\n    larger regions.\n-   **Valid Matrix IDs**: `get_tf_motif`, `get_tf_metadata`, and `get_tf_pwm`\n    require a stable JASPAR Matrix ID (e.g., `MA0488.2`). If a user provides a\n    gene symbol (e.g., `JUN`), you must resolve it first using `resolve_tf_id`.\n-   **Taxonomy Required**: Resolving IDs requires a `tax_id` to ensure targeted\n    searches. Common IDs: Human=9606, Mouse=10090.\n-   **Notification**: If this skill is used, ensure this is mentioned in the\n    output.\n\n## Utility Scripts\n\nRun all commands using the bundled Python script:\n\n### 1. Resolve TF to Matrix ID\n\nMaps a transcription factor name to a stable Matrix ID. Required step before\nfetching motifs if only a gene name is provided.\n\n```bash\nuv run scripts\u002Fjaspar_api.py resolve_tf_id --name \"JUN\" --tax-id 9606\n```\n\n### 2. Get TF Motif (PFM)\n\nRetrieves the raw Position Frequency Matrix for a specific TF. Supports\n`--format` flag.\n\n```bash\nuv run scripts\u002Fjaspar_api.py get_tf_motif --matrix-id \"MA0488.2\"\nuv run scripts\u002Fjaspar_api.py get_tf_motif --matrix-id \"MA0488.2\" --format meme\n```\n\n### 3. Get TF Metadata\n\nRetrieves TF class, family, and links to external databases (e.g., UniProt).\nSupports `--format` flag.\n\n```bash\nuv run scripts\u002Fjaspar_api.py get_tf_metadata --matrix-id \"MA0488.2\"\nuv run scripts\u002Fjaspar_api.py get_tf_metadata --matrix-id \"MA0488.2\" --format yaml\n```\n\n### 4. Compute PWM (Position Weight Matrix)\n\nFetches the PFM for a matrix and converts it to log-odds scores (PWM).\n\n```bash\nuv run scripts\u002Fjaspar_api.py get_tf_pwm --matrix-id \"MA0488.2\"\nuv run scripts\u002Fjaspar_api.py get_tf_pwm --matrix-id \"MA0488.2\" --pseudocount 0.1\n```\n\n### 5. Infer Matrix from Protein Sequence\n\nInfers potential JASPAR matrix profiles from a raw transcription factor protein\nsequence.\n\n```bash\nuv run scripts\u002Fjaspar_api.py infer_from_sequence --sequence \"QAQLLPSHHVG\"\n```\n\n### 6. Get TF Flexible Model (TFFM)\n\nRetrieves metadata for a JASPAR TF Flexible Model. (Note: The JASPAR TFFM\nendpoints occasionally experience 500 Internal Server errors).\n\n```bash\nuv run scripts\u002Fjaspar_api.py get_tffm --tffm-id \"TFFM0001.1\"\n```\n\n### Output Formats\n\nThe `get_tf_motif` and `get_tf_metadata` commands accept an optional `--format`\nflag. Supported formats: `json` (default), `jsonp`, `jaspar`, `meme`,\n`transfac`, `pfm`, `yaml`.\n\n## Anti-Patterns\n\n*   **DON'T** pass gene symbols (e.g., `JUN`) to `get_tf_motif`. You must pass\n    the `MA...` Matrix ID.\n*   **DON'T** forget the `--tax-id` when resolving a TF name.\n*   **DON'T** use this skill for determining tissue-specific epigenetic\n    availability (JASPAR shows *potential* binding, not *actual* tissue\n    expression context).\n*   **DON'T** use this skill to model how a specific protein mutation affects\n    binding.\n",{"data":34,"body":35},{"name":4,"description":6},{"type":36,"children":37},"root",[38,47,53,58,65,128,134,144,262,268,273,280,285,354,360,373,464,470,481,568,574,579,667,673,678,723,729,734,779,785,862,868,953],{"type":39,"tag":40,"props":41,"children":43},"element","h1",{"id":42},"jaspar-skill",[44],{"type":45,"value":46},"text","JASPAR Skill",{"type":39,"tag":48,"props":49,"children":50},"p",{},[51],{"type":45,"value":52},"JASPAR is the definitive open-access database for Transcription Factor (TF)\nbinding profiles, stored as Position Frequency Matrices (PFMs).",{"type":39,"tag":48,"props":54,"children":55},{},[56],{"type":45,"value":57},"Use this skill to map abstract sequence motifs or genomic regions to specific\nbiological regulators (e.g., \"what TFs bind here?\" or \"what is the motif for\nCTCF?\").",{"type":39,"tag":59,"props":60,"children":62},"h2",{"id":61},"prerequisites",[63],{"type":45,"value":64},"Prerequisites",{"type":39,"tag":66,"props":67,"children":68},"ol",{},[69,100],{"type":39,"tag":70,"props":71,"children":72},"li",{},[73,84,86,91,93,98],{"type":39,"tag":74,"props":75,"children":76},"strong",{},[77],{"type":39,"tag":78,"props":79,"children":81},"code",{"className":80},[],[82],{"type":45,"value":83},"uv",{"type":45,"value":85},": Read the ",{"type":39,"tag":78,"props":87,"children":89},{"className":88},[],[90],{"type":45,"value":83},{"type":45,"value":92}," skill and follow its Setup instructions to ensure\n",{"type":39,"tag":78,"props":94,"children":96},{"className":95},[],[97],{"type":45,"value":83},{"type":45,"value":99}," is installed and on PATH.",{"type":39,"tag":70,"props":101,"children":102},{},[103,108,110,118,120,126],{"type":39,"tag":74,"props":104,"children":105},{},[106],{"type":45,"value":107},"User Notification",{"type":45,"value":109},": If .licenses\u002Fjaspar_database_LICENSE.txt does not\nalready exist in the workspace root directory then (1) prominently notify\nthe user to check the terms at ",{"type":39,"tag":111,"props":112,"children":116},"a",{"href":113,"rel":114},"https:\u002F\u002Fjaspar.elixir.no\u002F",[115],"nofollow",[117],{"type":45,"value":113},{"type":45,"value":119}," and\n",{"type":39,"tag":111,"props":121,"children":124},{"href":122,"rel":123},"https:\u002F\u002Fjaspar.elixir.no\u002Fapi\u002F",[115],[125],{"type":45,"value":122},{"type":45,"value":127},", then (2) create the file recording the\nnotification text and timestamp.",{"type":39,"tag":59,"props":129,"children":131},{"id":130},"core-rules",[132],{"type":45,"value":133},"Core Rules",{"type":39,"tag":48,"props":135,"children":136},{},[137,142],{"type":39,"tag":74,"props":138,"children":139},{},[140],{"type":45,"value":141},"CRITICAL",{"type":45,"value":143},": You MUST respect the JASPAR API Terms of Use by adhering to the\nfollowing:",{"type":39,"tag":145,"props":146,"children":147},"ul",{},[148,158,176,234,252],{"type":39,"tag":70,"props":149,"children":150},{},[151,156],{"type":39,"tag":74,"props":152,"children":153},{},[154],{"type":45,"value":155},"Use the Wrapper",{"type":45,"value":157},": ALWAYS execute the provided helper scripts to query the\ndatabase rather than accessing the database directly. The scripts\nautomatically enforce the required rate limit gracefully.",{"type":39,"tag":70,"props":159,"children":160},{},[161,166,168,174],{"type":39,"tag":74,"props":162,"children":163},{},[164],{"type":45,"value":165},"Maximum API Window Size",{"type":45,"value":167},": The genomic window for a single API query MUST\nNOT exceed 100,000 bp (100kb). The ",{"type":39,"tag":78,"props":169,"children":171},{"className":170},[],[172],{"type":45,"value":173},"jaspar_api.py",{"type":45,"value":175}," script automatically\nchunks larger requests for you to bypass this limitation when querying\nlarger regions.",{"type":39,"tag":70,"props":177,"children":178},{},[179,184,186,192,194,200,202,208,210,216,218,224,226,232],{"type":39,"tag":74,"props":180,"children":181},{},[182],{"type":45,"value":183},"Valid Matrix IDs",{"type":45,"value":185},": ",{"type":39,"tag":78,"props":187,"children":189},{"className":188},[],[190],{"type":45,"value":191},"get_tf_motif",{"type":45,"value":193},", ",{"type":39,"tag":78,"props":195,"children":197},{"className":196},[],[198],{"type":45,"value":199},"get_tf_metadata",{"type":45,"value":201},", and ",{"type":39,"tag":78,"props":203,"children":205},{"className":204},[],[206],{"type":45,"value":207},"get_tf_pwm",{"type":45,"value":209},"\nrequire a stable JASPAR Matrix ID (e.g., ",{"type":39,"tag":78,"props":211,"children":213},{"className":212},[],[214],{"type":45,"value":215},"MA0488.2",{"type":45,"value":217},"). If a user provides a\ngene symbol (e.g., ",{"type":39,"tag":78,"props":219,"children":221},{"className":220},[],[222],{"type":45,"value":223},"JUN",{"type":45,"value":225},"), you must resolve it first using ",{"type":39,"tag":78,"props":227,"children":229},{"className":228},[],[230],{"type":45,"value":231},"resolve_tf_id",{"type":45,"value":233},".",{"type":39,"tag":70,"props":235,"children":236},{},[237,242,244,250],{"type":39,"tag":74,"props":238,"children":239},{},[240],{"type":45,"value":241},"Taxonomy Required",{"type":45,"value":243},": Resolving IDs requires a ",{"type":39,"tag":78,"props":245,"children":247},{"className":246},[],[248],{"type":45,"value":249},"tax_id",{"type":45,"value":251}," to ensure targeted\nsearches. Common IDs: Human=9606, Mouse=10090.",{"type":39,"tag":70,"props":253,"children":254},{},[255,260],{"type":39,"tag":74,"props":256,"children":257},{},[258],{"type":45,"value":259},"Notification",{"type":45,"value":261},": If this skill is used, ensure this is mentioned in the\noutput.",{"type":39,"tag":59,"props":263,"children":265},{"id":264},"utility-scripts",[266],{"type":45,"value":267},"Utility Scripts",{"type":39,"tag":48,"props":269,"children":270},{},[271],{"type":45,"value":272},"Run all commands using the bundled Python script:",{"type":39,"tag":274,"props":275,"children":277},"h3",{"id":276},"_1-resolve-tf-to-matrix-id",[278],{"type":45,"value":279},"1. Resolve TF to Matrix ID",{"type":39,"tag":48,"props":281,"children":282},{},[283],{"type":45,"value":284},"Maps a transcription factor name to a stable Matrix ID. Required step before\nfetching motifs if only a gene name is provided.",{"type":39,"tag":286,"props":287,"children":292},"pre",{"className":288,"code":289,"language":290,"meta":291,"style":291},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","uv run scripts\u002Fjaspar_api.py resolve_tf_id --name \"JUN\" --tax-id 9606\n","bash","",[293],{"type":39,"tag":78,"props":294,"children":295},{"__ignoreMap":291},[296],{"type":39,"tag":297,"props":298,"children":301},"span",{"class":299,"line":300},"line",1,[302,307,313,318,323,328,334,338,343,348],{"type":39,"tag":297,"props":303,"children":305},{"style":304},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[306],{"type":45,"value":83},{"type":39,"tag":297,"props":308,"children":310},{"style":309},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[311],{"type":45,"value":312}," run",{"type":39,"tag":297,"props":314,"children":315},{"style":309},[316],{"type":45,"value":317}," scripts\u002Fjaspar_api.py",{"type":39,"tag":297,"props":319,"children":320},{"style":309},[321],{"type":45,"value":322}," resolve_tf_id",{"type":39,"tag":297,"props":324,"children":325},{"style":309},[326],{"type":45,"value":327}," --name",{"type":39,"tag":297,"props":329,"children":331},{"style":330},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[332],{"type":45,"value":333}," \"",{"type":39,"tag":297,"props":335,"children":336},{"style":309},[337],{"type":45,"value":223},{"type":39,"tag":297,"props":339,"children":340},{"style":330},[341],{"type":45,"value":342},"\"",{"type":39,"tag":297,"props":344,"children":345},{"style":309},[346],{"type":45,"value":347}," --tax-id",{"type":39,"tag":297,"props":349,"children":351},{"style":350},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[352],{"type":45,"value":353}," 9606\n",{"type":39,"tag":274,"props":355,"children":357},{"id":356},"_2-get-tf-motif-pfm",[358],{"type":45,"value":359},"2. Get TF Motif (PFM)",{"type":39,"tag":48,"props":361,"children":362},{},[363,365,371],{"type":45,"value":364},"Retrieves the raw Position Frequency Matrix for a specific TF. Supports\n",{"type":39,"tag":78,"props":366,"children":368},{"className":367},[],[369],{"type":45,"value":370},"--format",{"type":45,"value":372}," flag.",{"type":39,"tag":286,"props":374,"children":376},{"className":288,"code":375,"language":290,"meta":291,"style":291},"uv run scripts\u002Fjaspar_api.py get_tf_motif --matrix-id \"MA0488.2\"\nuv run scripts\u002Fjaspar_api.py get_tf_motif --matrix-id \"MA0488.2\" --format meme\n",[377],{"type":39,"tag":78,"props":378,"children":379},{"__ignoreMap":291},[380,418],{"type":39,"tag":297,"props":381,"children":382},{"class":299,"line":300},[383,387,391,395,400,405,409,413],{"type":39,"tag":297,"props":384,"children":385},{"style":304},[386],{"type":45,"value":83},{"type":39,"tag":297,"props":388,"children":389},{"style":309},[390],{"type":45,"value":312},{"type":39,"tag":297,"props":392,"children":393},{"style":309},[394],{"type":45,"value":317},{"type":39,"tag":297,"props":396,"children":397},{"style":309},[398],{"type":45,"value":399}," get_tf_motif",{"type":39,"tag":297,"props":401,"children":402},{"style":309},[403],{"type":45,"value":404}," --matrix-id",{"type":39,"tag":297,"props":406,"children":407},{"style":330},[408],{"type":45,"value":333},{"type":39,"tag":297,"props":410,"children":411},{"style":309},[412],{"type":45,"value":215},{"type":39,"tag":297,"props":414,"children":415},{"style":330},[416],{"type":45,"value":417},"\"\n",{"type":39,"tag":297,"props":419,"children":421},{"class":299,"line":420},2,[422,426,430,434,438,442,446,450,454,459],{"type":39,"tag":297,"props":423,"children":424},{"style":304},[425],{"type":45,"value":83},{"type":39,"tag":297,"props":427,"children":428},{"style":309},[429],{"type":45,"value":312},{"type":39,"tag":297,"props":431,"children":432},{"style":309},[433],{"type":45,"value":317},{"type":39,"tag":297,"props":435,"children":436},{"style":309},[437],{"type":45,"value":399},{"type":39,"tag":297,"props":439,"children":440},{"style":309},[441],{"type":45,"value":404},{"type":39,"tag":297,"props":443,"children":444},{"style":330},[445],{"type":45,"value":333},{"type":39,"tag":297,"props":447,"children":448},{"style":309},[449],{"type":45,"value":215},{"type":39,"tag":297,"props":451,"children":452},{"style":330},[453],{"type":45,"value":342},{"type":39,"tag":297,"props":455,"children":456},{"style":309},[457],{"type":45,"value":458}," --format",{"type":39,"tag":297,"props":460,"children":461},{"style":309},[462],{"type":45,"value":463}," meme\n",{"type":39,"tag":274,"props":465,"children":467},{"id":466},"_3-get-tf-metadata",[468],{"type":45,"value":469},"3. Get TF Metadata",{"type":39,"tag":48,"props":471,"children":472},{},[473,475,480],{"type":45,"value":474},"Retrieves TF class, family, and links to external databases (e.g., UniProt).\nSupports ",{"type":39,"tag":78,"props":476,"children":478},{"className":477},[],[479],{"type":45,"value":370},{"type":45,"value":372},{"type":39,"tag":286,"props":482,"children":484},{"className":288,"code":483,"language":290,"meta":291,"style":291},"uv run scripts\u002Fjaspar_api.py get_tf_metadata --matrix-id \"MA0488.2\"\nuv run scripts\u002Fjaspar_api.py get_tf_metadata --matrix-id \"MA0488.2\" --format yaml\n",[485],{"type":39,"tag":78,"props":486,"children":487},{"__ignoreMap":291},[488,524],{"type":39,"tag":297,"props":489,"children":490},{"class":299,"line":300},[491,495,499,503,508,512,516,520],{"type":39,"tag":297,"props":492,"children":493},{"style":304},[494],{"type":45,"value":83},{"type":39,"tag":297,"props":496,"children":497},{"style":309},[498],{"type":45,"value":312},{"type":39,"tag":297,"props":500,"children":501},{"style":309},[502],{"type":45,"value":317},{"type":39,"tag":297,"props":504,"children":505},{"style":309},[506],{"type":45,"value":507}," get_tf_metadata",{"type":39,"tag":297,"props":509,"children":510},{"style":309},[511],{"type":45,"value":404},{"type":39,"tag":297,"props":513,"children":514},{"style":330},[515],{"type":45,"value":333},{"type":39,"tag":297,"props":517,"children":518},{"style":309},[519],{"type":45,"value":215},{"type":39,"tag":297,"props":521,"children":522},{"style":330},[523],{"type":45,"value":417},{"type":39,"tag":297,"props":525,"children":526},{"class":299,"line":420},[527,531,535,539,543,547,551,555,559,563],{"type":39,"tag":297,"props":528,"children":529},{"style":304},[530],{"type":45,"value":83},{"type":39,"tag":297,"props":532,"children":533},{"style":309},[534],{"type":45,"value":312},{"type":39,"tag":297,"props":536,"children":537},{"style":309},[538],{"type":45,"value":317},{"type":39,"tag":297,"props":540,"children":541},{"style":309},[542],{"type":45,"value":507},{"type":39,"tag":297,"props":544,"children":545},{"style":309},[546],{"type":45,"value":404},{"type":39,"tag":297,"props":548,"children":549},{"style":330},[550],{"type":45,"value":333},{"type":39,"tag":297,"props":552,"children":553},{"style":309},[554],{"type":45,"value":215},{"type":39,"tag":297,"props":556,"children":557},{"style":330},[558],{"type":45,"value":342},{"type":39,"tag":297,"props":560,"children":561},{"style":309},[562],{"type":45,"value":458},{"type":39,"tag":297,"props":564,"children":565},{"style":309},[566],{"type":45,"value":567}," yaml\n",{"type":39,"tag":274,"props":569,"children":571},{"id":570},"_4-compute-pwm-position-weight-matrix",[572],{"type":45,"value":573},"4. Compute PWM (Position Weight Matrix)",{"type":39,"tag":48,"props":575,"children":576},{},[577],{"type":45,"value":578},"Fetches the PFM for a matrix and converts it to log-odds scores (PWM).",{"type":39,"tag":286,"props":580,"children":582},{"className":288,"code":581,"language":290,"meta":291,"style":291},"uv run scripts\u002Fjaspar_api.py get_tf_pwm --matrix-id \"MA0488.2\"\nuv run scripts\u002Fjaspar_api.py get_tf_pwm --matrix-id \"MA0488.2\" --pseudocount 0.1\n",[583],{"type":39,"tag":78,"props":584,"children":585},{"__ignoreMap":291},[586,622],{"type":39,"tag":297,"props":587,"children":588},{"class":299,"line":300},[589,593,597,601,606,610,614,618],{"type":39,"tag":297,"props":590,"children":591},{"style":304},[592],{"type":45,"value":83},{"type":39,"tag":297,"props":594,"children":595},{"style":309},[596],{"type":45,"value":312},{"type":39,"tag":297,"props":598,"children":599},{"style":309},[600],{"type":45,"value":317},{"type":39,"tag":297,"props":602,"children":603},{"style":309},[604],{"type":45,"value":605}," get_tf_pwm",{"type":39,"tag":297,"props":607,"children":608},{"style":309},[609],{"type":45,"value":404},{"type":39,"tag":297,"props":611,"children":612},{"style":330},[613],{"type":45,"value":333},{"type":39,"tag":297,"props":615,"children":616},{"style":309},[617],{"type":45,"value":215},{"type":39,"tag":297,"props":619,"children":620},{"style":330},[621],{"type":45,"value":417},{"type":39,"tag":297,"props":623,"children":624},{"class":299,"line":420},[625,629,633,637,641,645,649,653,657,662],{"type":39,"tag":297,"props":626,"children":627},{"style":304},[628],{"type":45,"value":83},{"type":39,"tag":297,"props":630,"children":631},{"style":309},[632],{"type":45,"value":312},{"type":39,"tag":297,"props":634,"children":635},{"style":309},[636],{"type":45,"value":317},{"type":39,"tag":297,"props":638,"children":639},{"style":309},[640],{"type":45,"value":605},{"type":39,"tag":297,"props":642,"children":643},{"style":309},[644],{"type":45,"value":404},{"type":39,"tag":297,"props":646,"children":647},{"style":330},[648],{"type":45,"value":333},{"type":39,"tag":297,"props":650,"children":651},{"style":309},[652],{"type":45,"value":215},{"type":39,"tag":297,"props":654,"children":655},{"style":330},[656],{"type":45,"value":342},{"type":39,"tag":297,"props":658,"children":659},{"style":309},[660],{"type":45,"value":661}," --pseudocount",{"type":39,"tag":297,"props":663,"children":664},{"style":350},[665],{"type":45,"value":666}," 0.1\n",{"type":39,"tag":274,"props":668,"children":670},{"id":669},"_5-infer-matrix-from-protein-sequence",[671],{"type":45,"value":672},"5. Infer Matrix from Protein Sequence",{"type":39,"tag":48,"props":674,"children":675},{},[676],{"type":45,"value":677},"Infers potential JASPAR matrix profiles from a raw transcription factor protein\nsequence.",{"type":39,"tag":286,"props":679,"children":681},{"className":288,"code":680,"language":290,"meta":291,"style":291},"uv run scripts\u002Fjaspar_api.py infer_from_sequence --sequence \"QAQLLPSHHVG\"\n",[682],{"type":39,"tag":78,"props":683,"children":684},{"__ignoreMap":291},[685],{"type":39,"tag":297,"props":686,"children":687},{"class":299,"line":300},[688,692,696,700,705,710,714,719],{"type":39,"tag":297,"props":689,"children":690},{"style":304},[691],{"type":45,"value":83},{"type":39,"tag":297,"props":693,"children":694},{"style":309},[695],{"type":45,"value":312},{"type":39,"tag":297,"props":697,"children":698},{"style":309},[699],{"type":45,"value":317},{"type":39,"tag":297,"props":701,"children":702},{"style":309},[703],{"type":45,"value":704}," infer_from_sequence",{"type":39,"tag":297,"props":706,"children":707},{"style":309},[708],{"type":45,"value":709}," --sequence",{"type":39,"tag":297,"props":711,"children":712},{"style":330},[713],{"type":45,"value":333},{"type":39,"tag":297,"props":715,"children":716},{"style":309},[717],{"type":45,"value":718},"QAQLLPSHHVG",{"type":39,"tag":297,"props":720,"children":721},{"style":330},[722],{"type":45,"value":417},{"type":39,"tag":274,"props":724,"children":726},{"id":725},"_6-get-tf-flexible-model-tffm",[727],{"type":45,"value":728},"6. Get TF Flexible Model (TFFM)",{"type":39,"tag":48,"props":730,"children":731},{},[732],{"type":45,"value":733},"Retrieves metadata for a JASPAR TF Flexible Model. (Note: The JASPAR TFFM\nendpoints occasionally experience 500 Internal Server errors).",{"type":39,"tag":286,"props":735,"children":737},{"className":288,"code":736,"language":290,"meta":291,"style":291},"uv run scripts\u002Fjaspar_api.py get_tffm --tffm-id \"TFFM0001.1\"\n",[738],{"type":39,"tag":78,"props":739,"children":740},{"__ignoreMap":291},[741],{"type":39,"tag":297,"props":742,"children":743},{"class":299,"line":300},[744,748,752,756,761,766,770,775],{"type":39,"tag":297,"props":745,"children":746},{"style":304},[747],{"type":45,"value":83},{"type":39,"tag":297,"props":749,"children":750},{"style":309},[751],{"type":45,"value":312},{"type":39,"tag":297,"props":753,"children":754},{"style":309},[755],{"type":45,"value":317},{"type":39,"tag":297,"props":757,"children":758},{"style":309},[759],{"type":45,"value":760}," get_tffm",{"type":39,"tag":297,"props":762,"children":763},{"style":309},[764],{"type":45,"value":765}," --tffm-id",{"type":39,"tag":297,"props":767,"children":768},{"style":330},[769],{"type":45,"value":333},{"type":39,"tag":297,"props":771,"children":772},{"style":309},[773],{"type":45,"value":774},"TFFM0001.1",{"type":39,"tag":297,"props":776,"children":777},{"style":330},[778],{"type":45,"value":417},{"type":39,"tag":274,"props":780,"children":782},{"id":781},"output-formats",[783],{"type":45,"value":784},"Output Formats",{"type":39,"tag":48,"props":786,"children":787},{},[788,790,795,797,802,804,809,811,817,819,825,826,832,833,839,841,847,848,854,855,861],{"type":45,"value":789},"The ",{"type":39,"tag":78,"props":791,"children":793},{"className":792},[],[794],{"type":45,"value":191},{"type":45,"value":796}," and ",{"type":39,"tag":78,"props":798,"children":800},{"className":799},[],[801],{"type":45,"value":199},{"type":45,"value":803}," commands accept an optional ",{"type":39,"tag":78,"props":805,"children":807},{"className":806},[],[808],{"type":45,"value":370},{"type":45,"value":810},"\nflag. Supported formats: ",{"type":39,"tag":78,"props":812,"children":814},{"className":813},[],[815],{"type":45,"value":816},"json",{"type":45,"value":818}," (default), ",{"type":39,"tag":78,"props":820,"children":822},{"className":821},[],[823],{"type":45,"value":824},"jsonp",{"type":45,"value":193},{"type":39,"tag":78,"props":827,"children":829},{"className":828},[],[830],{"type":45,"value":831},"jaspar",{"type":45,"value":193},{"type":39,"tag":78,"props":834,"children":836},{"className":835},[],[837],{"type":45,"value":838},"meme",{"type":45,"value":840},",\n",{"type":39,"tag":78,"props":842,"children":844},{"className":843},[],[845],{"type":45,"value":846},"transfac",{"type":45,"value":193},{"type":39,"tag":78,"props":849,"children":851},{"className":850},[],[852],{"type":45,"value":853},"pfm",{"type":45,"value":193},{"type":39,"tag":78,"props":856,"children":858},{"className":857},[],[859],{"type":45,"value":860},"yaml",{"type":45,"value":233},{"type":39,"tag":59,"props":863,"children":865},{"id":864},"anti-patterns",[866],{"type":45,"value":867},"Anti-Patterns",{"type":39,"tag":145,"props":869,"children":870},{},[871,903,920,944],{"type":39,"tag":70,"props":872,"children":873},{},[874,879,881,886,888,893,895,901],{"type":39,"tag":74,"props":875,"children":876},{},[877],{"type":45,"value":878},"DON'T",{"type":45,"value":880}," pass gene symbols (e.g., ",{"type":39,"tag":78,"props":882,"children":884},{"className":883},[],[885],{"type":45,"value":223},{"type":45,"value":887},") to ",{"type":39,"tag":78,"props":889,"children":891},{"className":890},[],[892],{"type":45,"value":191},{"type":45,"value":894},". You must pass\nthe ",{"type":39,"tag":78,"props":896,"children":898},{"className":897},[],[899],{"type":45,"value":900},"MA...",{"type":45,"value":902}," Matrix ID.",{"type":39,"tag":70,"props":904,"children":905},{},[906,910,912,918],{"type":39,"tag":74,"props":907,"children":908},{},[909],{"type":45,"value":878},{"type":45,"value":911}," forget the ",{"type":39,"tag":78,"props":913,"children":915},{"className":914},[],[916],{"type":45,"value":917},"--tax-id",{"type":45,"value":919}," when resolving a TF name.",{"type":39,"tag":70,"props":921,"children":922},{},[923,927,929,935,937,942],{"type":39,"tag":74,"props":924,"children":925},{},[926],{"type":45,"value":878},{"type":45,"value":928}," use this skill for determining tissue-specific epigenetic\navailability (JASPAR shows ",{"type":39,"tag":930,"props":931,"children":932},"em",{},[933],{"type":45,"value":934},"potential",{"type":45,"value":936}," binding, not ",{"type":39,"tag":930,"props":938,"children":939},{},[940],{"type":45,"value":941},"actual",{"type":45,"value":943}," tissue\nexpression context).",{"type":39,"tag":70,"props":945,"children":946},{},[947,951],{"type":39,"tag":74,"props":948,"children":949},{},[950],{"type":45,"value":878},{"type":45,"value":952}," use this skill to model how a specific protein mutation affects\nbinding.",{"type":39,"tag":954,"props":955,"children":956},"style",{},[957],{"type":45,"value":958},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":960,"total":1124},[961,974,989,1009,1021,1036,1052,1065,1077,1092,1103,1113],{"slug":962,"name":962,"fn":963,"description":964,"org":965,"tags":966,"stars":22,"repoUrl":23,"updatedAt":973},"alphafold-database-fetch-and-analyze","retrieve and analyze AlphaFold protein structures","Retrieve and analyze AlphaFold predicted structures for a protein. Use when the user provides a specific UniProt Accession ID and wants structural confidence metrics (pLDDT), domain boundary analysis, or disorder assessment. Do not use if the user only has a protein name, gene name, or amino acid sequence — ask for a UniProt ID first.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[967,968,971,972],{"name":20,"slug":21,"type":15},{"name":969,"slug":970,"type":15},"Genomics","genomics",{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:51.827211",{"slug":975,"name":975,"fn":976,"description":977,"org":978,"tags":979,"stars":22,"repoUrl":23,"updatedAt":988},"alphagenome-single-variant-analysis","analyze genetic variant effects with AlphaGenome","Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API. Use when the user asks about non-coding variant effects, pathogenicity, clinical significance, disease associations, functional effects, gene expression changes, splicing disruption, or regulatory effects in promoters and enhancers. Also use for resolving biological terms to tissue\u002Fcell-type ontologies (UBERON\u002FCL) or analyzing variants in chr:pos:ref>alt format.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[980,981,984,985],{"name":20,"slug":21,"type":15},{"name":982,"slug":983,"type":15},"Genetics","genetics",{"name":13,"slug":14,"type":15},{"name":986,"slug":987,"type":15},"RNA-seq","rna-seq","2026-07-12T07:51:39.494803",{"slug":990,"name":990,"fn":991,"description":992,"org":993,"tags":994,"stars":22,"repoUrl":23,"updatedAt":1008},"chembl-database","query ChEMBL database for bioactive molecules","Query the ChEMBL database for bioactive molecules, drug targets, bioactivity data, approved drugs, and chemical structures. Use when the user asks about compounds, targets, IC50\u002FKi values, drug mechanisms, or structure searches.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[995,998,1001,1004,1007],{"name":996,"slug":997,"type":15},"ChEMBL","chembl",{"name":999,"slug":1000,"type":15},"Chemistry","chemistry",{"name":1002,"slug":1003,"type":15},"Database","database",{"name":1005,"slug":1006,"type":15},"Pharmacology","pharmacology",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:35.544306",{"slug":1010,"name":1010,"fn":1011,"description":1012,"org":1013,"tags":1014,"stars":22,"repoUrl":23,"updatedAt":1020},"clinical-trials-database","query clinical trial data","Query ClinicalTrials.gov via APIv2. Use when you want to search for trials by condition, drug, location, status, or phase; retrieve trial details by NCT ID; check eligibility\u002Finclusion criteria; count trials across conditions or time periods; identify a sponsor's trial portfolio; find recruiting trials for patient matching.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1015,1018,1019],{"name":1016,"slug":1017,"type":15},"Clinical Trials","clinical-trials",{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:52:06.846705",{"slug":1022,"name":1022,"fn":1023,"description":1024,"org":1025,"tags":1026,"stars":22,"repoUrl":23,"updatedAt":1035},"clinvar-database","retrieve clinical significance from ClinVar database","Use when needing clinical significance, pathogenicity classifications (e.g., Pathogenic, Benign, VUS), clinical evidence rationales, or finding \"hard positive\" benchmark controls for human genomic variants.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1027,1030,1031,1034],{"name":1028,"slug":1029,"type":15},"ClinVar","clinvar",{"name":982,"slug":983,"type":15},{"name":1032,"slug":1033,"type":15},"Healthcare","healthcare",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:36.86094",{"slug":1037,"name":1037,"fn":1038,"description":1039,"org":1040,"tags":1041,"stars":22,"repoUrl":23,"updatedAt":1051},"credentials","manage and verify API credentials safely","Instructions for handling API keys and credentials safely, verifying their presence, and prompting the user to add them if missing using a safe protocol.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1042,1045,1048],{"name":1043,"slug":1044,"type":15},"Compliance","compliance",{"name":1046,"slug":1047,"type":15},"Operations","operations",{"name":1049,"slug":1050,"type":15},"Security","security","2026-07-12T07:52:17.355491",{"slug":1053,"name":1053,"fn":1054,"description":1055,"org":1056,"tags":1057,"stars":22,"repoUrl":23,"updatedAt":1064},"dbsnp-database","search genetic variants in dbSNP database","Use when you want to look up, map, and search for short genetic variants (SNPs, indels) in NCBI's dbSNP database. Resolves between rsIDs, genomic coordinates in VCF format, and HGVS strings. For an rsID, returns variant type, gene associations, clinical significance, allele frequencies, and genomic coordinates (GRCh38).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1058,1059,1060,1063],{"name":20,"slug":21,"type":15},{"name":982,"slug":983,"type":15},{"name":1061,"slug":1062,"type":15},"NCBI","ncbi",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:33.054229",{"slug":1066,"name":1066,"fn":1067,"description":1068,"org":1069,"tags":1070,"stars":22,"repoUrl":23,"updatedAt":1076},"embl-ebi-ols","search biomedical ontologies in EMBL-EBI OLS","Query and search the EMBL-EBI Ontology Lookup Service (OLS) for biomedical ontology terms, definitions, and hierarchies across 250+ ontologies (e.g., GO, DOID, HP). Use when the user asks to search for terms, retrieve details, navigate hierarchies (parents, children, ancestors), look up properties and individuals, get autocomplete suggestions, or access ontology metadata and statistics.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1071,1072,1075],{"name":20,"slug":21,"type":15},{"name":1073,"slug":1074,"type":15},"Ontology","ontology",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:59.368324",{"slug":1078,"name":1078,"fn":1079,"description":1080,"org":1081,"tags":1082,"stars":22,"repoUrl":23,"updatedAt":1091},"encode-ccres-database","query ENCODE regulatory and experimental data","Query the ENCODE Registry of cis-Regulatory Elements (cCREs) via the SCREEN GraphQL API, or make custom queries to the ENCODE Portal REST API for experiments and files (ChIP-seq peaks, etc.). Use when you want to query regulatory annotations or raw experimental data across human cell types.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1083,1084,1087,1088],{"name":20,"slug":21,"type":15},{"name":1085,"slug":1086,"type":15},"GraphQL","graphql",{"name":13,"slug":14,"type":15},{"name":1089,"slug":1090,"type":15},"REST API","rest-api","2026-07-12T07:52:10.597139",{"slug":1093,"name":1093,"fn":1094,"description":1095,"org":1096,"tags":1097,"stars":22,"repoUrl":23,"updatedAt":1102},"ensembl-database","query genomic and protein data from Ensembl","Query the Ensembl database to resolve gene, transcript, and protein IDs, fetch genomic or protein sequences, retrieve gene structures (exons), and get variant consequence and effect predictions (VEP). Use this skill as a primary ID translator, genomic sequence database and variant effect prediction tool.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1098,1099,1100,1101],{"name":20,"slug":21,"type":15},{"name":982,"slug":983,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:41.645835",{"slug":1104,"name":1104,"fn":1105,"description":1106,"org":1107,"tags":1108,"stars":22,"repoUrl":23,"updatedAt":1112},"foldseek-structural-search","perform 3D protein structural searches","Performs 3D structural searches of proteins against various databases (PDB, AlphaFold, CATH, MGnify, etc.) using the Foldseek API. Use ONLY when the user provides a physical 3D coordinate file (.cif, .mmcif, or .pdb) and wants to find structurally similar proteins. Do NOT use if the user only provides a protein sequence, gene name, or UniProt ID.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1109,1110,1111],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:52:09.354992",{"slug":1114,"name":1114,"fn":1115,"description":1116,"org":1117,"tags":1118,"stars":22,"repoUrl":23,"updatedAt":1123},"gnomad-database","query genetic variant data from gnomAD","Query the Genome Aggregation Database (gnomAD). Use when determining the rarity or allele frequency of specific genetic variants, retrieving gene constraint metrics (pLI, LOEUF) to assess loss-of-function intolerance, finding variants in a genomic region or gene, or querying structural variants. Don't use for analyzing individual patient genomes, tracking somatic mutations in cancer (use COSMIC), or requesting raw sequencing reads (use ENA).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1119,1120,1121,1122],{"name":20,"slug":21,"type":15},{"name":982,"slug":983,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:38.213009",38,{"items":1126,"total":1124},[1127,1134,1141,1149,1155,1162,1168],{"slug":962,"name":962,"fn":963,"description":964,"org":1128,"tags":1129,"stars":22,"repoUrl":23,"updatedAt":973},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1130,1131,1132,1133],{"name":20,"slug":21,"type":15},{"name":969,"slug":970,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":975,"name":975,"fn":976,"description":977,"org":1135,"tags":1136,"stars":22,"repoUrl":23,"updatedAt":988},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1137,1138,1139,1140],{"name":20,"slug":21,"type":15},{"name":982,"slug":983,"type":15},{"name":13,"slug":14,"type":15},{"name":986,"slug":987,"type":15},{"slug":990,"name":990,"fn":991,"description":992,"org":1142,"tags":1143,"stars":22,"repoUrl":23,"updatedAt":1008},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1144,1145,1146,1147,1148],{"name":996,"slug":997,"type":15},{"name":999,"slug":1000,"type":15},{"name":1002,"slug":1003,"type":15},{"name":1005,"slug":1006,"type":15},{"name":13,"slug":14,"type":15},{"slug":1010,"name":1010,"fn":1011,"description":1012,"org":1150,"tags":1151,"stars":22,"repoUrl":23,"updatedAt":1020},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1152,1153,1154],{"name":1016,"slug":1017,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":1022,"name":1022,"fn":1023,"description":1024,"org":1156,"tags":1157,"stars":22,"repoUrl":23,"updatedAt":1035},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1158,1159,1160,1161],{"name":1028,"slug":1029,"type":15},{"name":982,"slug":983,"type":15},{"name":1032,"slug":1033,"type":15},{"name":13,"slug":14,"type":15},{"slug":1037,"name":1037,"fn":1038,"description":1039,"org":1163,"tags":1164,"stars":22,"repoUrl":23,"updatedAt":1051},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1165,1166,1167],{"name":1043,"slug":1044,"type":15},{"name":1046,"slug":1047,"type":15},{"name":1049,"slug":1050,"type":15},{"slug":1053,"name":1053,"fn":1054,"description":1055,"org":1169,"tags":1170,"stars":22,"repoUrl":23,"updatedAt":1064},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1171,1172,1173,1174],{"name":20,"slug":21,"type":15},{"name":982,"slug":983,"type":15},{"name":1061,"slug":1062,"type":15},{"name":13,"slug":14,"type":15}]