[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-deepmind-protein-sequence-similarity-search":3,"mdc--2vrbm4-key":33,"related-repo-google-deepmind-protein-sequence-similarity-search":1071,"related-org-google-deepmind-protein-sequence-similarity-search":1177},{"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},"protein-sequence-similarity-search","search for homologous protein sequences","Searches for homologous protein sequences using MMseqs2 (fast, default) or BLAST (comprehensive, fallback). Trigger this whenever the user provides a protein sequence or FASTA file and asks to find homologues, sequence matches, or wants to infer protein function based on sequence similarity, but not when the user wants to infer protein function based on structural similarity.\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:52:14.468355",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\u002Fprotein_sequence_similarity_search","---\nname: protein-sequence-similarity-search\ndescription: >\n    Searches for homologous protein sequences using MMseqs2 (fast, default) or\n    BLAST (comprehensive, fallback). Trigger this whenever the user provides a\n    protein sequence or FASTA file and asks to find homologues, sequence\n    matches, or wants to infer protein function based on sequence similarity,\n    but not when the user wants to infer protein function based on structural\n    similarity.\n---\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\n    .licenses\u002Fprotein_sequence_similarity_search_LICENSE.txt does not already\n    exist in the workspace root directory then (1) prominently notify the user\n    to check the terms at https:\u002F\u002Fwww.ebi.ac.uk\u002Fjdispatcher\u002Fsss\u002Fncbiblast and\n    https:\u002F\u002Fcolabfold.com, then (2) create the file recording the notification\n    text and timestamp.\n3.  **`.env` file**: Make sure the `.env` file exists in your home directory.\n    Create one if it does not exist.\n4.  **`USER_EMAIL`** (optional but recommended): Recommended by the EBI for\n    BLAST job tracking, but the skill works without it. You **MUST** use the\n    safe credentials protocol in the `credentials` skill to check for and\n    request this credential if this skill looks relevant to the user's request.\n\n## Goal\n\nTake a user-provided amino acid sequence (or a path to a `.fasta` file), search\nfor sequence homologues using the fastest available method, generate a\nMarkdown-formatted table of the top hits, interpret key alignment metrics,\nsummarize the inferred protein functions, and save results locally for future\nprogrammatic analysis.\n\n## Core Rules\n\n-   **Strict Validation**: For BLAST, only use database codes listed in the\n    table below.\n-   **No Hallucinations**: If a script throws an error or returns no hits,\n    inform the user clearly. Do NOT invent sequence homologues.\n-   **Do Not Parse Output Files**: Do not parse the JSON, a3m, or any other raw\n    output files. Rely on the generated `.md` file for your summary. The JSON\n    and other outputs are for subsequent tool use only.\n-   **Always State the Method**: Every report must clearly state whether the\n    search used the quick MMseqs2 (ColabFold API) or the slower EBI BLAST\n    method.\n-   **Notification**: If this skill is used, ensure this is mentioned in the\n    output. Explicitly state that the corresponding program (MMSEQS2 or EBI\n    BLAST) and Sequence Databases were used.\n\n## Search Method Selection\n\nChoose the search method based on the user's request:\n\nIf the **user says \"quick search\" or \"fast search\"**, **no specific method\nrequested \u002F general homologue search**, of if you are unsure: Run MMseqs2 (fast,\ndefault) using `mmseqs2_search.py`\n\nIf **MMseqs2 fails (exit code 2: RATELIMIT or API error)** or **User explicitly\nrequests \"BLAST\"** or **a specific BLAST database** (e.g. `uniprotkb_swissprot`,\n`pdb`, `uniprotkb_human`): Run BLAST using `uniprot_blast.py`\n\n## Instructions\n\n1.  Identify the query from the user. It can be a raw sequence string (e.g.,\n    \"MKVLY...\") or a path to a local file (e.g., \".\u002Fdata\u002Fsequence.fasta\").\n\n2.  **Determine the search method** using the list above.\n\n### Path A: MMseqs2 Search (Default)\n\n1.  **Generate File Names:** Generate descriptive output file names based on the\n    input (e.g., `proteinA_mmseqs2.json` and `proteinA_mmseqs2.md`).\n2.  Execute the MMseqs2 script:\n\n    *   **Default:**\n\n    ```\n    uv run scripts\u002Fmmseqs2_search.py \u003CSEQUENCE_OR_FILE> -o \u003Cgenerated-filename.md> -j \u003Cgenerated-filename.json>\n    ```\n\n    *   **With mgnify:**\n\n    ```\n    uv run scripts\u002Fmmseqs2_search.py \u003CSEQUENCE_OR_FILE> -o \u003Cgenerated-filename.md> -j \u003Cgenerated-filename.json> --include-mgnify\n    ```\n\n3.  The script will query the ColabFold MMseqs2 API and poll for completion.\n    This is typically fast (under 2 minutes).\n\n4.  **If the script exits with code 2** (API failure, rate limit), automatically\n    fall back to BLAST (Path B below). Inform the user: \"MMseqs2 search failed,\n    falling back to BLAST.\"\n\n5.  **Read the Results:** Open and read the generated `.md` file.\n\n### Path B: BLAST Search (Explicit or Fallback)\n\n1.  **Database Selection & Validation:** Determine the most appropriate\n    database(s) based on the user's prompt.\n    *   Consult the **Available BLAST Databases** table below.\n    *   If the user specifies a taxonomic group (e.g., \"Find homologues in\n        microbes\"), select the corresponding `Database Code` (e.g.,\n        `uniprotkb_bacteria`).\n    *   If the user explicitly requests curated hits, use `uniprotkb_swissprot`.\n    *   If no specific database is requested, do not specify `--databases`.\n    *   **Validation:** Ensure the database code exactly matches an entry in the\n        table. If the user requests a database not on the list, **do not\n        proceed** and provide the allowed list.\n2.  **Generate File Names:** (e.g., `proteinA_ebi_blast.json` and\n    `proteinA_ebi_blast.md`).\n3.  This API requires the user email address to be set in the USER_EMAIL\n    environment variable for inclusion in request header. You **MUST** use the\n    safe credentials protocol in the `credentials` skill to check for and\n    request this credential if this skill looks relevant to the user's request.\n4.  Execute the BLAST script:\n\n    *   **Default (uniprotkb):**\n\n    ```\n    uv run scripts\u002Funiprot_blast.py \u003CSEQUENCE_OR_FILE> -o \u003Cgenerated-filename.md> -j \u003Cgenerated-filename.json>\n    ```\n\n    *   **Custom database:**\n\n    ```\n    uv run scripts\u002Funiprot_blast.py \u003CSEQUENCE_OR_FILE> -o \u003Cgenerated-filename.md> -j \u003Cgenerated-filename.json> --databases \u003Cdb1,db2>\n    ```\n\n5.  The script will query the EBI BLAST API and poll the server. **Note:** This\n    can take up to 15 minutes; wait patiently.\n\n6.  **Read the Results:** Open and read the generated `.md` file.\n\n### Common Steps (Both Methods)\n\n1.  **Interpret the Metrics:** Summarize the top 3 to 5 sequence homologues.\n    Assess match quality using:\n    *   **Q-Cov (Query Coverage):** High percentages mean the match covers most\n        of the query sequence.\n    *   **E-value:** Lower E-values (e.g., `1e-50`) indicate extreme statistical\n        significance.\n    *   **Seq Identity:** Provides evolutionary context (highly conserved vs.\n        distant homologue).\n2.  **Perform Functional Analysis:**\n    *   If the results table includes protein descriptions, analyze them\n        directly: report specific protein names\u002Ffunctions of the top homologues\n        and summarize the variety of functions, domains, or protein families\n        found.\n    *   If the results contain only UniProt accession IDs without descriptions\n        (common with MMseqs2), look up the protein names and functions for the\n        top 3–5 hits using the **uniprot-database** skill or other appropriate\n        methods before summarizing.\n3.  Inform the user of both newly created files (`.json` and `.md`) and their\n    locations.\n\n## Available BLAST Databases\n\n*   `uniprotkb` – UniProt Knowledgebase (The UniProt Knowledgebase includes\n    UniProtKB\u002FSwiss-Prot and UniProtKB\u002FTrEMBL): The UniProt Knowledgebase\n    (UniProtKB) is the central access point for extensive curated protein\n    information, including function, classification, and cross-references.\n    Search UniProtKB to retrieve \"everything that is known\" about a particular\n    sequence\n*   `uniprotkb_swissprot` – UniProtKB\u002FSwiss-Prot (The manually annotated section\n    of UniProtKB): The manually curated subsection of the UniProt Knowledgebase\n*   `uniprotkb_swissprotsv` – UniProtKB\u002FSwiss-Prot isoforms (The manually\n    annotated isoforms of UniProtKB\u002FSwiss-Prot): The isoform sequences for the\n    manually curated subsection of the UniProt Knowledgebase\n*   `uniprotkb_reference_proteomes` – UniProtKB Reference Proteomes: Taxonomic\n    subset of the UniProtKB Reference Proteomes\n*   `uniprotkb_trembl` – UniProtKB\u002FTrEMBL (The automatically annotated section\n    of UniProtKB): Subsection of the UniProt Knowledgebase derived from ENA\n    Sequence (formerly EMBL-Bank) coding sequence translations with annotation\n    produced by an automated process\n*   `uniprotkb_refprotswissprot` – UniProtKB Reference Proteomes plus\n    Swiss-Prot: UniProtKB Reference Proteomes plus Swiss-Prot\n*   `uniprotkb_archaea` – UniProtKB Archaea: Taxonomic subset of the UniProt\n    Knowledgebase for archaea\n*   `uniprotkb_arthropoda` – UniProtKB Arthropoda: Taxonomic subset of the\n    UniProt Knowledgebase for arthropoda\n*   `uniprotkb_bacteria` – UniProtKB Bacteria: Taxonomic subset of the UniProt\n    Knowledgebase for bacteria\n*   `uniprotkb_complete_microbial_proteomes` – UniProtKB Complete Microbial\n    Proteomes: Taxonomic subset of the UniProt Knowledgebase for complete\n    microbial proteomes\n*   `uniprotkb_eukaryota` – UniProtKB Eukaryota: Taxonomic subset of the UniProt\n    Knowledgebase for eukaryota\n*   `uniprotkb_fungi` – UniProtKB Fungi: Taxonomic subset of the UniProt\n    Knowledgebase for fungi\n*   `uniprotkb_human` – UniProtKB Human: Taxonomic subset of the UniProt\n    Knowledgebase for human\n*   `uniprotkb_mammals` – UniProtKB Mammals: Taxonomic subset of the UniProt\n    Knowledgebase for mammals\n*   `uniprotkb_nematoda` – UniProtKB Nematoda: Taxonomic subset of the UniProt\n    Knowledgebase for nematoda\n*   `uniprotkb_rodents` – UniProtKB Rodents: Taxonomic subset of the UniProt\n    Knowledgebase for rodents\n*   `uniprotkb_vertebrates` – UniProtKB Vertebrates: Taxonomic subset of the\n    UniProt Knowledgebase for vertebrates\n*   `uniprotkb_viridiplantae` – UniProtKB Viridiplantae: Taxonomic subset of the\n    UniProt Knowledgebase for viridiplantae\n*   `uniprotkb_viruses` – UniProtKB Viruses: Taxonomic subset of the UniProt\n    Knowledgebase for viruses\n*   `uniprotkb_enzyme` – UniProtKB Enzyme: Taxonomic subset of the UniProt\n    Knowledgebase for enzymes\n*   `uniprotkb_covid19` – UniProtKB COVID-19: Taxonomic subset of the UniProt\n    Knowledgebase for COVID-19\n*   `uniref100` – UniProt Clusters 100% (UniRef100): The UniProt Reference\n    Clusters (UniRef) containing sequences which are 100% identical.\n*   `uniref90` – UniProt Clusters 90% (UniRef90): The UniProt Reference Clusters\n    (UniRef) containing sequences which are 90% identical.\n*   `uniref50` – UniProt Clusters 50% (UniRef50): The UniProt Reference Clusters\n    (UniRef) containing sequences which are 50% identical.\n*   `pdb` – Protein Structure Sequences (PDBe protein structure sequences):\n    Protein sequences from structures described in the Brookhaven Protein Data\n    Bank (PDB)\n",{"data":34,"body":35},{"name":4,"description":6},{"type":36,"children":37},"root",[38,47,162,168,182,188,250,256,261,286,340,346,364,371,480,486,685,691,792,797],{"type":39,"tag":40,"props":41,"children":43},"element","h2",{"id":42},"prerequisites",[44],{"type":45,"value":46},"text","Prerequisites",{"type":39,"tag":48,"props":49,"children":50},"ol",{},[51,82,110,133],{"type":39,"tag":52,"props":53,"children":54},"li",{},[55,66,68,73,75,80],{"type":39,"tag":56,"props":57,"children":58},"strong",{},[59],{"type":39,"tag":60,"props":61,"children":63},"code",{"className":62},[],[64],{"type":45,"value":65},"uv",{"type":45,"value":67},": Read the ",{"type":39,"tag":60,"props":69,"children":71},{"className":70},[],[72],{"type":45,"value":65},{"type":45,"value":74}," skill and follow its Setup instructions to ensure\n",{"type":39,"tag":60,"props":76,"children":78},{"className":77},[],[79],{"type":45,"value":65},{"type":45,"value":81}," is installed and on PATH.",{"type":39,"tag":52,"props":83,"children":84},{},[85,90,92,100,102,108],{"type":39,"tag":56,"props":86,"children":87},{},[88],{"type":45,"value":89},"User Notification",{"type":45,"value":91},": If\n.licenses\u002Fprotein_sequence_similarity_search_LICENSE.txt does not already\nexist in the workspace root directory then (1) prominently notify the user\nto check the terms at ",{"type":39,"tag":93,"props":94,"children":98},"a",{"href":95,"rel":96},"https:\u002F\u002Fwww.ebi.ac.uk\u002Fjdispatcher\u002Fsss\u002Fncbiblast",[97],"nofollow",[99],{"type":45,"value":95},{"type":45,"value":101}," and\n",{"type":39,"tag":93,"props":103,"children":106},{"href":104,"rel":105},"https:\u002F\u002Fcolabfold.com",[97],[107],{"type":45,"value":104},{"type":45,"value":109},", then (2) create the file recording the notification\ntext and timestamp.",{"type":39,"tag":52,"props":111,"children":112},{},[113,124,126,131],{"type":39,"tag":56,"props":114,"children":115},{},[116,122],{"type":39,"tag":60,"props":117,"children":119},{"className":118},[],[120],{"type":45,"value":121},".env",{"type":45,"value":123}," file",{"type":45,"value":125},": Make sure the ",{"type":39,"tag":60,"props":127,"children":129},{"className":128},[],[130],{"type":45,"value":121},{"type":45,"value":132}," file exists in your home directory.\nCreate one if it does not exist.",{"type":39,"tag":52,"props":134,"children":135},{},[136,145,147,152,154,160],{"type":39,"tag":56,"props":137,"children":138},{},[139],{"type":39,"tag":60,"props":140,"children":142},{"className":141},[],[143],{"type":45,"value":144},"USER_EMAIL",{"type":45,"value":146}," (optional but recommended): Recommended by the EBI for\nBLAST job tracking, but the skill works without it. You ",{"type":39,"tag":56,"props":148,"children":149},{},[150],{"type":45,"value":151},"MUST",{"type":45,"value":153}," use the\nsafe credentials protocol in the ",{"type":39,"tag":60,"props":155,"children":157},{"className":156},[],[158],{"type":45,"value":159},"credentials",{"type":45,"value":161}," skill to check for and\nrequest this credential if this skill looks relevant to the user's request.",{"type":39,"tag":40,"props":163,"children":165},{"id":164},"goal",[166],{"type":45,"value":167},"Goal",{"type":39,"tag":169,"props":170,"children":171},"p",{},[172,174,180],{"type":45,"value":173},"Take a user-provided amino acid sequence (or a path to a ",{"type":39,"tag":60,"props":175,"children":177},{"className":176},[],[178],{"type":45,"value":179},".fasta",{"type":45,"value":181}," file), search\nfor sequence homologues using the fastest available method, generate a\nMarkdown-formatted table of the top hits, interpret key alignment metrics,\nsummarize the inferred protein functions, and save results locally for future\nprogrammatic analysis.",{"type":39,"tag":40,"props":183,"children":185},{"id":184},"core-rules",[186],{"type":45,"value":187},"Core Rules",{"type":39,"tag":189,"props":190,"children":191},"ul",{},[192,202,212,230,240],{"type":39,"tag":52,"props":193,"children":194},{},[195,200],{"type":39,"tag":56,"props":196,"children":197},{},[198],{"type":45,"value":199},"Strict Validation",{"type":45,"value":201},": For BLAST, only use database codes listed in the\ntable below.",{"type":39,"tag":52,"props":203,"children":204},{},[205,210],{"type":39,"tag":56,"props":206,"children":207},{},[208],{"type":45,"value":209},"No Hallucinations",{"type":45,"value":211},": If a script throws an error or returns no hits,\ninform the user clearly. Do NOT invent sequence homologues.",{"type":39,"tag":52,"props":213,"children":214},{},[215,220,222,228],{"type":39,"tag":56,"props":216,"children":217},{},[218],{"type":45,"value":219},"Do Not Parse Output Files",{"type":45,"value":221},": Do not parse the JSON, a3m, or any other raw\noutput files. Rely on the generated ",{"type":39,"tag":60,"props":223,"children":225},{"className":224},[],[226],{"type":45,"value":227},".md",{"type":45,"value":229}," file for your summary. The JSON\nand other outputs are for subsequent tool use only.",{"type":39,"tag":52,"props":231,"children":232},{},[233,238],{"type":39,"tag":56,"props":234,"children":235},{},[236],{"type":45,"value":237},"Always State the Method",{"type":45,"value":239},": Every report must clearly state whether the\nsearch used the quick MMseqs2 (ColabFold API) or the slower EBI BLAST\nmethod.",{"type":39,"tag":52,"props":241,"children":242},{},[243,248],{"type":39,"tag":56,"props":244,"children":245},{},[246],{"type":45,"value":247},"Notification",{"type":45,"value":249},": If this skill is used, ensure this is mentioned in the\noutput. Explicitly state that the corresponding program (MMSEQS2 or EBI\nBLAST) and Sequence Databases were used.",{"type":39,"tag":40,"props":251,"children":253},{"id":252},"search-method-selection",[254],{"type":45,"value":255},"Search Method Selection",{"type":39,"tag":169,"props":257,"children":258},{},[259],{"type":45,"value":260},"Choose the search method based on the user's request:",{"type":39,"tag":169,"props":262,"children":263},{},[264,266,271,273,278,280],{"type":45,"value":265},"If the ",{"type":39,"tag":56,"props":267,"children":268},{},[269],{"type":45,"value":270},"user says \"quick search\" or \"fast search\"",{"type":45,"value":272},", ",{"type":39,"tag":56,"props":274,"children":275},{},[276],{"type":45,"value":277},"no specific method\nrequested \u002F general homologue search",{"type":45,"value":279},", of if you are unsure: Run MMseqs2 (fast,\ndefault) using ",{"type":39,"tag":60,"props":281,"children":283},{"className":282},[],[284],{"type":45,"value":285},"mmseqs2_search.py",{"type":39,"tag":169,"props":287,"children":288},{},[289,291,296,298,303,304,309,311,317,319,325,326,332,334],{"type":45,"value":290},"If ",{"type":39,"tag":56,"props":292,"children":293},{},[294],{"type":45,"value":295},"MMseqs2 fails (exit code 2: RATELIMIT or API error)",{"type":45,"value":297}," or ",{"type":39,"tag":56,"props":299,"children":300},{},[301],{"type":45,"value":302},"User explicitly\nrequests \"BLAST\"",{"type":45,"value":297},{"type":39,"tag":56,"props":305,"children":306},{},[307],{"type":45,"value":308},"a specific BLAST database",{"type":45,"value":310}," (e.g. ",{"type":39,"tag":60,"props":312,"children":314},{"className":313},[],[315],{"type":45,"value":316},"uniprotkb_swissprot",{"type":45,"value":318},",\n",{"type":39,"tag":60,"props":320,"children":322},{"className":321},[],[323],{"type":45,"value":324},"pdb",{"type":45,"value":272},{"type":39,"tag":60,"props":327,"children":329},{"className":328},[],[330],{"type":45,"value":331},"uniprotkb_human",{"type":45,"value":333},"): Run BLAST using ",{"type":39,"tag":60,"props":335,"children":337},{"className":336},[],[338],{"type":45,"value":339},"uniprot_blast.py",{"type":39,"tag":40,"props":341,"children":343},{"id":342},"instructions",[344],{"type":45,"value":345},"Instructions",{"type":39,"tag":48,"props":347,"children":348},{},[349,354],{"type":39,"tag":52,"props":350,"children":351},{},[352],{"type":45,"value":353},"Identify the query from the user. It can be a raw sequence string (e.g.,\n\"MKVLY...\") or a path to a local file (e.g., \".\u002Fdata\u002Fsequence.fasta\").",{"type":39,"tag":52,"props":355,"children":356},{},[357,362],{"type":39,"tag":56,"props":358,"children":359},{},[360],{"type":45,"value":361},"Determine the search method",{"type":45,"value":363}," using the list above.",{"type":39,"tag":365,"props":366,"children":368},"h3",{"id":367},"path-a-mmseqs2-search-default",[369],{"type":45,"value":370},"Path A: MMseqs2 Search (Default)",{"type":39,"tag":48,"props":372,"children":373},{},[374,400,448,453,463],{"type":39,"tag":52,"props":375,"children":376},{},[377,382,384,390,392,398],{"type":39,"tag":56,"props":378,"children":379},{},[380],{"type":45,"value":381},"Generate File Names:",{"type":45,"value":383}," Generate descriptive output file names based on the\ninput (e.g., ",{"type":39,"tag":60,"props":385,"children":387},{"className":386},[],[388],{"type":45,"value":389},"proteinA_mmseqs2.json",{"type":45,"value":391}," and ",{"type":39,"tag":60,"props":393,"children":395},{"className":394},[],[396],{"type":45,"value":397},"proteinA_mmseqs2.md",{"type":45,"value":399},").",{"type":39,"tag":52,"props":401,"children":402},{},[403,405,416,428,439],{"type":45,"value":404},"Execute the MMseqs2 script:",{"type":39,"tag":189,"props":406,"children":407},{},[408],{"type":39,"tag":52,"props":409,"children":410},{},[411],{"type":39,"tag":56,"props":412,"children":413},{},[414],{"type":45,"value":415},"Default:",{"type":39,"tag":417,"props":418,"children":422},"pre",{"className":419,"code":421,"language":45},[420],"language-text","uv run scripts\u002Fmmseqs2_search.py \u003CSEQUENCE_OR_FILE> -o \u003Cgenerated-filename.md> -j \u003Cgenerated-filename.json>\n",[423],{"type":39,"tag":60,"props":424,"children":426},{"__ignoreMap":425},"",[427],{"type":45,"value":421},{"type":39,"tag":189,"props":429,"children":430},{},[431],{"type":39,"tag":52,"props":432,"children":433},{},[434],{"type":39,"tag":56,"props":435,"children":436},{},[437],{"type":45,"value":438},"With mgnify:",{"type":39,"tag":417,"props":440,"children":443},{"className":441,"code":442,"language":45},[420],"uv run scripts\u002Fmmseqs2_search.py \u003CSEQUENCE_OR_FILE> -o \u003Cgenerated-filename.md> -j \u003Cgenerated-filename.json> --include-mgnify\n",[444],{"type":39,"tag":60,"props":445,"children":446},{"__ignoreMap":425},[447],{"type":45,"value":442},{"type":39,"tag":52,"props":449,"children":450},{},[451],{"type":45,"value":452},"The script will query the ColabFold MMseqs2 API and poll for completion.\nThis is typically fast (under 2 minutes).",{"type":39,"tag":52,"props":454,"children":455},{},[456,461],{"type":39,"tag":56,"props":457,"children":458},{},[459],{"type":45,"value":460},"If the script exits with code 2",{"type":45,"value":462}," (API failure, rate limit), automatically\nfall back to BLAST (Path B below). Inform the user: \"MMseqs2 search failed,\nfalling back to BLAST.\"",{"type":39,"tag":52,"props":464,"children":465},{},[466,471,473,478],{"type":39,"tag":56,"props":467,"children":468},{},[469],{"type":45,"value":470},"Read the Results:",{"type":45,"value":472}," Open and read the generated ",{"type":39,"tag":60,"props":474,"children":476},{"className":475},[],[477],{"type":45,"value":227},{"type":45,"value":479}," file.",{"type":39,"tag":365,"props":481,"children":483},{"id":482},"path-b-blast-search-explicit-or-fallback",[484],{"type":45,"value":485},"Path B: BLAST Search (Explicit or Fallback)",{"type":39,"tag":48,"props":487,"children":488},{},[489,575,598,614,659,671],{"type":39,"tag":52,"props":490,"children":491},{},[492,497,499],{"type":39,"tag":56,"props":493,"children":494},{},[495],{"type":45,"value":496},"Database Selection & Validation:",{"type":45,"value":498}," Determine the most appropriate\ndatabase(s) based on the user's prompt.",{"type":39,"tag":189,"props":500,"children":501},{},[502,514,534,546,558],{"type":39,"tag":52,"props":503,"children":504},{},[505,507,512],{"type":45,"value":506},"Consult the ",{"type":39,"tag":56,"props":508,"children":509},{},[510],{"type":45,"value":511},"Available BLAST Databases",{"type":45,"value":513}," table below.",{"type":39,"tag":52,"props":515,"children":516},{},[517,519,525,527,533],{"type":45,"value":518},"If the user specifies a taxonomic group (e.g., \"Find homologues in\nmicrobes\"), select the corresponding ",{"type":39,"tag":60,"props":520,"children":522},{"className":521},[],[523],{"type":45,"value":524},"Database Code",{"type":45,"value":526}," (e.g.,\n",{"type":39,"tag":60,"props":528,"children":530},{"className":529},[],[531],{"type":45,"value":532},"uniprotkb_bacteria",{"type":45,"value":399},{"type":39,"tag":52,"props":535,"children":536},{},[537,539,544],{"type":45,"value":538},"If the user explicitly requests curated hits, use ",{"type":39,"tag":60,"props":540,"children":542},{"className":541},[],[543],{"type":45,"value":316},{"type":45,"value":545},".",{"type":39,"tag":52,"props":547,"children":548},{},[549,551,557],{"type":45,"value":550},"If no specific database is requested, do not specify ",{"type":39,"tag":60,"props":552,"children":554},{"className":553},[],[555],{"type":45,"value":556},"--databases",{"type":45,"value":545},{"type":39,"tag":52,"props":559,"children":560},{},[561,566,568,573],{"type":39,"tag":56,"props":562,"children":563},{},[564],{"type":45,"value":565},"Validation:",{"type":45,"value":567}," Ensure the database code exactly matches an entry in the\ntable. If the user requests a database not on the list, ",{"type":39,"tag":56,"props":569,"children":570},{},[571],{"type":45,"value":572},"do not\nproceed",{"type":45,"value":574}," and provide the allowed list.",{"type":39,"tag":52,"props":576,"children":577},{},[578,582,584,590,591,597],{"type":39,"tag":56,"props":579,"children":580},{},[581],{"type":45,"value":381},{"type":45,"value":583}," (e.g., ",{"type":39,"tag":60,"props":585,"children":587},{"className":586},[],[588],{"type":45,"value":589},"proteinA_ebi_blast.json",{"type":45,"value":101},{"type":39,"tag":60,"props":592,"children":594},{"className":593},[],[595],{"type":45,"value":596},"proteinA_ebi_blast.md",{"type":45,"value":399},{"type":39,"tag":52,"props":599,"children":600},{},[601,603,607,608,613],{"type":45,"value":602},"This API requires the user email address to be set in the USER_EMAIL\nenvironment variable for inclusion in request header. You ",{"type":39,"tag":56,"props":604,"children":605},{},[606],{"type":45,"value":151},{"type":45,"value":153},{"type":39,"tag":60,"props":609,"children":611},{"className":610},[],[612],{"type":45,"value":159},{"type":45,"value":161},{"type":39,"tag":52,"props":615,"children":616},{},[617,619,630,639,650],{"type":45,"value":618},"Execute the BLAST script:",{"type":39,"tag":189,"props":620,"children":621},{},[622],{"type":39,"tag":52,"props":623,"children":624},{},[625],{"type":39,"tag":56,"props":626,"children":627},{},[628],{"type":45,"value":629},"Default (uniprotkb):",{"type":39,"tag":417,"props":631,"children":634},{"className":632,"code":633,"language":45},[420],"uv run scripts\u002Funiprot_blast.py \u003CSEQUENCE_OR_FILE> -o \u003Cgenerated-filename.md> -j \u003Cgenerated-filename.json>\n",[635],{"type":39,"tag":60,"props":636,"children":637},{"__ignoreMap":425},[638],{"type":45,"value":633},{"type":39,"tag":189,"props":640,"children":641},{},[642],{"type":39,"tag":52,"props":643,"children":644},{},[645],{"type":39,"tag":56,"props":646,"children":647},{},[648],{"type":45,"value":649},"Custom database:",{"type":39,"tag":417,"props":651,"children":654},{"className":652,"code":653,"language":45},[420],"uv run scripts\u002Funiprot_blast.py \u003CSEQUENCE_OR_FILE> -o \u003Cgenerated-filename.md> -j \u003Cgenerated-filename.json> --databases \u003Cdb1,db2>\n",[655],{"type":39,"tag":60,"props":656,"children":657},{"__ignoreMap":425},[658],{"type":45,"value":653},{"type":39,"tag":52,"props":660,"children":661},{},[662,664,669],{"type":45,"value":663},"The script will query the EBI BLAST API and poll the server. ",{"type":39,"tag":56,"props":665,"children":666},{},[667],{"type":45,"value":668},"Note:",{"type":45,"value":670}," This\ncan take up to 15 minutes; wait patiently.",{"type":39,"tag":52,"props":672,"children":673},{},[674,678,679,684],{"type":39,"tag":56,"props":675,"children":676},{},[677],{"type":45,"value":470},{"type":45,"value":472},{"type":39,"tag":60,"props":680,"children":682},{"className":681},[],[683],{"type":45,"value":227},{"type":45,"value":479},{"type":39,"tag":365,"props":686,"children":688},{"id":687},"common-steps-both-methods",[689],{"type":45,"value":690},"Common Steps (Both Methods)",{"type":39,"tag":48,"props":692,"children":693},{},[694,745,773],{"type":39,"tag":52,"props":695,"children":696},{},[697,702,704],{"type":39,"tag":56,"props":698,"children":699},{},[700],{"type":45,"value":701},"Interpret the Metrics:",{"type":45,"value":703}," Summarize the top 3 to 5 sequence homologues.\nAssess match quality using:\n",{"type":39,"tag":189,"props":705,"children":706},{},[707,717,735],{"type":39,"tag":52,"props":708,"children":709},{},[710,715],{"type":39,"tag":56,"props":711,"children":712},{},[713],{"type":45,"value":714},"Q-Cov (Query Coverage):",{"type":45,"value":716}," High percentages mean the match covers most\nof the query sequence.",{"type":39,"tag":52,"props":718,"children":719},{},[720,725,727,733],{"type":39,"tag":56,"props":721,"children":722},{},[723],{"type":45,"value":724},"E-value:",{"type":45,"value":726}," Lower E-values (e.g., ",{"type":39,"tag":60,"props":728,"children":730},{"className":729},[],[731],{"type":45,"value":732},"1e-50",{"type":45,"value":734},") indicate extreme statistical\nsignificance.",{"type":39,"tag":52,"props":736,"children":737},{},[738,743],{"type":39,"tag":56,"props":739,"children":740},{},[741],{"type":45,"value":742},"Seq Identity:",{"type":45,"value":744}," Provides evolutionary context (highly conserved vs.\ndistant homologue).",{"type":39,"tag":52,"props":746,"children":747},{},[748,753],{"type":39,"tag":56,"props":749,"children":750},{},[751],{"type":45,"value":752},"Perform Functional Analysis:",{"type":39,"tag":189,"props":754,"children":755},{},[756,761],{"type":39,"tag":52,"props":757,"children":758},{},[759],{"type":45,"value":760},"If the results table includes protein descriptions, analyze them\ndirectly: report specific protein names\u002Ffunctions of the top homologues\nand summarize the variety of functions, domains, or protein families\nfound.",{"type":39,"tag":52,"props":762,"children":763},{},[764,766,771],{"type":45,"value":765},"If the results contain only UniProt accession IDs without descriptions\n(common with MMseqs2), look up the protein names and functions for the\ntop 3–5 hits using the ",{"type":39,"tag":56,"props":767,"children":768},{},[769],{"type":45,"value":770},"uniprot-database",{"type":45,"value":772}," skill or other appropriate\nmethods before summarizing.",{"type":39,"tag":52,"props":774,"children":775},{},[776,778,784,785,790],{"type":45,"value":777},"Inform the user of both newly created files (",{"type":39,"tag":60,"props":779,"children":781},{"className":780},[],[782],{"type":45,"value":783},".json",{"type":45,"value":391},{"type":39,"tag":60,"props":786,"children":788},{"className":787},[],[789],{"type":45,"value":227},{"type":45,"value":791},") and their\nlocations.",{"type":39,"tag":40,"props":793,"children":795},{"id":794},"available-blast-databases",[796],{"type":45,"value":511},{"type":39,"tag":189,"props":798,"children":799},{},[800,811,821,832,843,854,865,876,887,897,908,919,930,940,951,962,973,984,995,1006,1017,1028,1039,1050,1061],{"type":39,"tag":52,"props":801,"children":802},{},[803,809],{"type":39,"tag":60,"props":804,"children":806},{"className":805},[],[807],{"type":45,"value":808},"uniprotkb",{"type":45,"value":810}," – UniProt Knowledgebase (The UniProt Knowledgebase includes\nUniProtKB\u002FSwiss-Prot and UniProtKB\u002FTrEMBL): The UniProt Knowledgebase\n(UniProtKB) is the central access point for extensive curated protein\ninformation, including function, classification, and cross-references.\nSearch UniProtKB to retrieve \"everything that is known\" about a particular\nsequence",{"type":39,"tag":52,"props":812,"children":813},{},[814,819],{"type":39,"tag":60,"props":815,"children":817},{"className":816},[],[818],{"type":45,"value":316},{"type":45,"value":820}," – UniProtKB\u002FSwiss-Prot (The manually annotated section\nof UniProtKB): The manually curated subsection of the UniProt Knowledgebase",{"type":39,"tag":52,"props":822,"children":823},{},[824,830],{"type":39,"tag":60,"props":825,"children":827},{"className":826},[],[828],{"type":45,"value":829},"uniprotkb_swissprotsv",{"type":45,"value":831}," – UniProtKB\u002FSwiss-Prot isoforms (The manually\nannotated isoforms of UniProtKB\u002FSwiss-Prot): The isoform sequences for the\nmanually curated subsection of the UniProt Knowledgebase",{"type":39,"tag":52,"props":833,"children":834},{},[835,841],{"type":39,"tag":60,"props":836,"children":838},{"className":837},[],[839],{"type":45,"value":840},"uniprotkb_reference_proteomes",{"type":45,"value":842}," – UniProtKB Reference Proteomes: Taxonomic\nsubset of the UniProtKB Reference Proteomes",{"type":39,"tag":52,"props":844,"children":845},{},[846,852],{"type":39,"tag":60,"props":847,"children":849},{"className":848},[],[850],{"type":45,"value":851},"uniprotkb_trembl",{"type":45,"value":853}," – UniProtKB\u002FTrEMBL (The automatically annotated section\nof UniProtKB): Subsection of the UniProt Knowledgebase derived from ENA\nSequence (formerly EMBL-Bank) coding sequence translations with annotation\nproduced by an automated process",{"type":39,"tag":52,"props":855,"children":856},{},[857,863],{"type":39,"tag":60,"props":858,"children":860},{"className":859},[],[861],{"type":45,"value":862},"uniprotkb_refprotswissprot",{"type":45,"value":864}," – UniProtKB Reference Proteomes plus\nSwiss-Prot: UniProtKB Reference Proteomes plus Swiss-Prot",{"type":39,"tag":52,"props":866,"children":867},{},[868,874],{"type":39,"tag":60,"props":869,"children":871},{"className":870},[],[872],{"type":45,"value":873},"uniprotkb_archaea",{"type":45,"value":875}," – UniProtKB Archaea: Taxonomic subset of the UniProt\nKnowledgebase for archaea",{"type":39,"tag":52,"props":877,"children":878},{},[879,885],{"type":39,"tag":60,"props":880,"children":882},{"className":881},[],[883],{"type":45,"value":884},"uniprotkb_arthropoda",{"type":45,"value":886}," – UniProtKB Arthropoda: Taxonomic subset of the\nUniProt Knowledgebase for arthropoda",{"type":39,"tag":52,"props":888,"children":889},{},[890,895],{"type":39,"tag":60,"props":891,"children":893},{"className":892},[],[894],{"type":45,"value":532},{"type":45,"value":896}," – UniProtKB Bacteria: Taxonomic subset of the UniProt\nKnowledgebase for bacteria",{"type":39,"tag":52,"props":898,"children":899},{},[900,906],{"type":39,"tag":60,"props":901,"children":903},{"className":902},[],[904],{"type":45,"value":905},"uniprotkb_complete_microbial_proteomes",{"type":45,"value":907}," – UniProtKB Complete Microbial\nProteomes: Taxonomic subset of the UniProt Knowledgebase for complete\nmicrobial proteomes",{"type":39,"tag":52,"props":909,"children":910},{},[911,917],{"type":39,"tag":60,"props":912,"children":914},{"className":913},[],[915],{"type":45,"value":916},"uniprotkb_eukaryota",{"type":45,"value":918}," – UniProtKB Eukaryota: Taxonomic subset of the UniProt\nKnowledgebase for eukaryota",{"type":39,"tag":52,"props":920,"children":921},{},[922,928],{"type":39,"tag":60,"props":923,"children":925},{"className":924},[],[926],{"type":45,"value":927},"uniprotkb_fungi",{"type":45,"value":929}," – UniProtKB Fungi: Taxonomic subset of the UniProt\nKnowledgebase for fungi",{"type":39,"tag":52,"props":931,"children":932},{},[933,938],{"type":39,"tag":60,"props":934,"children":936},{"className":935},[],[937],{"type":45,"value":331},{"type":45,"value":939}," – UniProtKB Human: Taxonomic subset of the UniProt\nKnowledgebase for human",{"type":39,"tag":52,"props":941,"children":942},{},[943,949],{"type":39,"tag":60,"props":944,"children":946},{"className":945},[],[947],{"type":45,"value":948},"uniprotkb_mammals",{"type":45,"value":950}," – UniProtKB Mammals: Taxonomic subset of the UniProt\nKnowledgebase for mammals",{"type":39,"tag":52,"props":952,"children":953},{},[954,960],{"type":39,"tag":60,"props":955,"children":957},{"className":956},[],[958],{"type":45,"value":959},"uniprotkb_nematoda",{"type":45,"value":961}," – UniProtKB Nematoda: Taxonomic subset of the UniProt\nKnowledgebase for nematoda",{"type":39,"tag":52,"props":963,"children":964},{},[965,971],{"type":39,"tag":60,"props":966,"children":968},{"className":967},[],[969],{"type":45,"value":970},"uniprotkb_rodents",{"type":45,"value":972}," – UniProtKB Rodents: Taxonomic subset of the UniProt\nKnowledgebase for rodents",{"type":39,"tag":52,"props":974,"children":975},{},[976,982],{"type":39,"tag":60,"props":977,"children":979},{"className":978},[],[980],{"type":45,"value":981},"uniprotkb_vertebrates",{"type":45,"value":983}," – UniProtKB Vertebrates: Taxonomic subset of the\nUniProt Knowledgebase for vertebrates",{"type":39,"tag":52,"props":985,"children":986},{},[987,993],{"type":39,"tag":60,"props":988,"children":990},{"className":989},[],[991],{"type":45,"value":992},"uniprotkb_viridiplantae",{"type":45,"value":994}," – UniProtKB Viridiplantae: Taxonomic subset of the\nUniProt Knowledgebase for viridiplantae",{"type":39,"tag":52,"props":996,"children":997},{},[998,1004],{"type":39,"tag":60,"props":999,"children":1001},{"className":1000},[],[1002],{"type":45,"value":1003},"uniprotkb_viruses",{"type":45,"value":1005}," – UniProtKB Viruses: Taxonomic subset of the UniProt\nKnowledgebase for viruses",{"type":39,"tag":52,"props":1007,"children":1008},{},[1009,1015],{"type":39,"tag":60,"props":1010,"children":1012},{"className":1011},[],[1013],{"type":45,"value":1014},"uniprotkb_enzyme",{"type":45,"value":1016}," – UniProtKB Enzyme: Taxonomic subset of the UniProt\nKnowledgebase for enzymes",{"type":39,"tag":52,"props":1018,"children":1019},{},[1020,1026],{"type":39,"tag":60,"props":1021,"children":1023},{"className":1022},[],[1024],{"type":45,"value":1025},"uniprotkb_covid19",{"type":45,"value":1027}," – UniProtKB COVID-19: Taxonomic subset of the UniProt\nKnowledgebase for COVID-19",{"type":39,"tag":52,"props":1029,"children":1030},{},[1031,1037],{"type":39,"tag":60,"props":1032,"children":1034},{"className":1033},[],[1035],{"type":45,"value":1036},"uniref100",{"type":45,"value":1038}," – UniProt Clusters 100% (UniRef100): The UniProt Reference\nClusters (UniRef) containing sequences which are 100% identical.",{"type":39,"tag":52,"props":1040,"children":1041},{},[1042,1048],{"type":39,"tag":60,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":45,"value":1047},"uniref90",{"type":45,"value":1049}," – UniProt Clusters 90% (UniRef90): The UniProt Reference Clusters\n(UniRef) containing sequences which are 90% identical.",{"type":39,"tag":52,"props":1051,"children":1052},{},[1053,1059],{"type":39,"tag":60,"props":1054,"children":1056},{"className":1055},[],[1057],{"type":45,"value":1058},"uniref50",{"type":45,"value":1060}," – UniProt Clusters 50% (UniRef50): The UniProt Reference Clusters\n(UniRef) containing sequences which are 50% identical.",{"type":39,"tag":52,"props":1062,"children":1063},{},[1064,1069],{"type":39,"tag":60,"props":1065,"children":1067},{"className":1066},[],[1068],{"type":45,"value":324},{"type":45,"value":1070}," – Protein Structure Sequences (PDBe protein structure sequences):\nProtein sequences from structures described in the Brookhaven Protein Data\nBank (PDB)",{"items":1072,"total":1176},[1073,1086,1101,1121,1133,1148,1163],{"slug":1074,"name":1074,"fn":1075,"description":1076,"org":1077,"tags":1078,"stars":22,"repoUrl":23,"updatedAt":1085},"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},[1079,1080,1083,1084],{"name":20,"slug":21,"type":15},{"name":1081,"slug":1082,"type":15},"Genomics","genomics",{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:51.827211",{"slug":1087,"name":1087,"fn":1088,"description":1089,"org":1090,"tags":1091,"stars":22,"repoUrl":23,"updatedAt":1100},"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},[1092,1093,1096,1097],{"name":20,"slug":21,"type":15},{"name":1094,"slug":1095,"type":15},"Genetics","genetics",{"name":13,"slug":14,"type":15},{"name":1098,"slug":1099,"type":15},"RNA-seq","rna-seq","2026-07-12T07:51:39.494803",{"slug":1102,"name":1102,"fn":1103,"description":1104,"org":1105,"tags":1106,"stars":22,"repoUrl":23,"updatedAt":1120},"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},[1107,1110,1113,1116,1119],{"name":1108,"slug":1109,"type":15},"ChEMBL","chembl",{"name":1111,"slug":1112,"type":15},"Chemistry","chemistry",{"name":1114,"slug":1115,"type":15},"Database","database",{"name":1117,"slug":1118,"type":15},"Pharmacology","pharmacology",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:35.544306",{"slug":1122,"name":1122,"fn":1123,"description":1124,"org":1125,"tags":1126,"stars":22,"repoUrl":23,"updatedAt":1132},"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},[1127,1130,1131],{"name":1128,"slug":1129,"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":1134,"name":1134,"fn":1135,"description":1136,"org":1137,"tags":1138,"stars":22,"repoUrl":23,"updatedAt":1147},"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},[1139,1142,1143,1146],{"name":1140,"slug":1141,"type":15},"ClinVar","clinvar",{"name":1094,"slug":1095,"type":15},{"name":1144,"slug":1145,"type":15},"Healthcare","healthcare",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:36.86094",{"slug":159,"name":159,"fn":1149,"description":1150,"org":1151,"tags":1152,"stars":22,"repoUrl":23,"updatedAt":1162},"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},[1153,1156,1159],{"name":1154,"slug":1155,"type":15},"Compliance","compliance",{"name":1157,"slug":1158,"type":15},"Operations","operations",{"name":1160,"slug":1161,"type":15},"Security","security","2026-07-12T07:52:17.355491",{"slug":1164,"name":1164,"fn":1165,"description":1166,"org":1167,"tags":1168,"stars":22,"repoUrl":23,"updatedAt":1175},"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},[1169,1170,1171,1174],{"name":20,"slug":21,"type":15},{"name":1094,"slug":1095,"type":15},{"name":1172,"slug":1173,"type":15},"NCBI","ncbi",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:33.054229",38,{"items":1178,"total":1176},[1179,1186,1193,1201,1207,1214,1220,1227,1239,1254,1265,1275],{"slug":1074,"name":1074,"fn":1075,"description":1076,"org":1180,"tags":1181,"stars":22,"repoUrl":23,"updatedAt":1085},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1182,1183,1184,1185],{"name":20,"slug":21,"type":15},{"name":1081,"slug":1082,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":1087,"name":1087,"fn":1088,"description":1089,"org":1187,"tags":1188,"stars":22,"repoUrl":23,"updatedAt":1100},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1189,1190,1191,1192],{"name":20,"slug":21,"type":15},{"name":1094,"slug":1095,"type":15},{"name":13,"slug":14,"type":15},{"name":1098,"slug":1099,"type":15},{"slug":1102,"name":1102,"fn":1103,"description":1104,"org":1194,"tags":1195,"stars":22,"repoUrl":23,"updatedAt":1120},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1196,1197,1198,1199,1200],{"name":1108,"slug":1109,"type":15},{"name":1111,"slug":1112,"type":15},{"name":1114,"slug":1115,"type":15},{"name":1117,"slug":1118,"type":15},{"name":13,"slug":14,"type":15},{"slug":1122,"name":1122,"fn":1123,"description":1124,"org":1202,"tags":1203,"stars":22,"repoUrl":23,"updatedAt":1132},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1204,1205,1206],{"name":1128,"slug":1129,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":1134,"name":1134,"fn":1135,"description":1136,"org":1208,"tags":1209,"stars":22,"repoUrl":23,"updatedAt":1147},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1210,1211,1212,1213],{"name":1140,"slug":1141,"type":15},{"name":1094,"slug":1095,"type":15},{"name":1144,"slug":1145,"type":15},{"name":13,"slug":14,"type":15},{"slug":159,"name":159,"fn":1149,"description":1150,"org":1215,"tags":1216,"stars":22,"repoUrl":23,"updatedAt":1162},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1217,1218,1219],{"name":1154,"slug":1155,"type":15},{"name":1157,"slug":1158,"type":15},{"name":1160,"slug":1161,"type":15},{"slug":1164,"name":1164,"fn":1165,"description":1166,"org":1221,"tags":1222,"stars":22,"repoUrl":23,"updatedAt":1175},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1223,1224,1225,1226],{"name":20,"slug":21,"type":15},{"name":1094,"slug":1095,"type":15},{"name":1172,"slug":1173,"type":15},{"name":13,"slug":14,"type":15},{"slug":1228,"name":1228,"fn":1229,"description":1230,"org":1231,"tags":1232,"stars":22,"repoUrl":23,"updatedAt":1238},"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},[1233,1234,1237],{"name":20,"slug":21,"type":15},{"name":1235,"slug":1236,"type":15},"Ontology","ontology",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:59.368324",{"slug":1240,"name":1240,"fn":1241,"description":1242,"org":1243,"tags":1244,"stars":22,"repoUrl":23,"updatedAt":1253},"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},[1245,1246,1249,1250],{"name":20,"slug":21,"type":15},{"name":1247,"slug":1248,"type":15},"GraphQL","graphql",{"name":13,"slug":14,"type":15},{"name":1251,"slug":1252,"type":15},"REST API","rest-api","2026-07-12T07:52:10.597139",{"slug":1255,"name":1255,"fn":1256,"description":1257,"org":1258,"tags":1259,"stars":22,"repoUrl":23,"updatedAt":1264},"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},[1260,1261,1262,1263],{"name":20,"slug":21,"type":15},{"name":1094,"slug":1095,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:41.645835",{"slug":1266,"name":1266,"fn":1267,"description":1268,"org":1269,"tags":1270,"stars":22,"repoUrl":23,"updatedAt":1274},"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},[1271,1272,1273],{"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":1276,"name":1276,"fn":1277,"description":1278,"org":1279,"tags":1280,"stars":22,"repoUrl":23,"updatedAt":1285},"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},[1281,1282,1283,1284],{"name":20,"slug":21,"type":15},{"name":1094,"slug":1095,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:38.213009"]