[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-deepmind-protein-sequence-msa":3,"mdc--gwpych-key":33,"related-org-google-deepmind-protein-sequence-msa":587,"related-repo-google-deepmind-protein-sequence-msa":752},{"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-msa","perform protein sequence alignment with Clustal Omega","Performs multiple sequence alignment of proteins with EBI Clustal Omega. Use when you need to align multiple sequences to assess similarity, domain conservation, or key residue conservation. Supports up to 4000 sequences and a maximum file size of 4 MB. Do not use to search for homologous proteins in a database (use MMseqs2, BLAST), align non-protein sequences (DNA, RNA), perform structural alignment (use Foldseek, PyMOL), or if you only have a single sequence.\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:58.106127",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_msa","---\nname: protein-sequence-msa\ndescription: >\n  Performs multiple sequence alignment of proteins with EBI Clustal Omega.\n  Use when you need to align multiple sequences to assess similarity, domain\n  conservation, or key residue conservation. Supports up to 4000 sequences and\n  a maximum file size of 4 MB. Do not use to search for homologous proteins in\n  a database (use MMseqs2, BLAST), align non-protein sequences (DNA, RNA),\n  perform structural alignment (use Foldseek, PyMOL), or if you only have a\n  single sequence.\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 .licenses\u002Fprotein_sequence_msa_LICENSE.txt does\n    not already exist in the workspace root directory then (1) prominently\n    notify the user to check the terms at\n    https:\u002F\u002Fwww.ebi.ac.uk\u002Fjdispatcher\u002Fmsa\u002Fclustalo and\n    https:\u002F\u002Fwww.ebi.ac.uk\u002Fabout\u002Fterms-of-use\u002F, then (2) create the file\n    recording the notification 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`**: Required by the wrapper script for Clustal Omega job\n    tracking (recommended by the EBI). You **MUST** use the safe credentials\n    protocol in the `credentials` skill to check for and request this credential\n    if this skill looks relevant to the user's request.\n\n## Core Rules\n\n-   **Use the Wrapper**: ALWAYS execute the alignment using\n    `scripts\u002Fmsa_align.py` rather than writing your own curl or custom Python\n    requests. The script automatically enforces the required rate limit to\n    respect EBI's Terms of Use.\n-   **Notification**: If this skill is used, ensure this is mentioned in the\n    output.\n*   **Always state the method:** Every report must clearly state that the\n    alignment was performed using **EBI Clustal Omega**.\n-   **No Hallucinations**: Do NOT invent alignments or conservation metrics.\n    Report only what is present in the alignment file.\n\n## Goal\n\nTake a file containing multiple protein sequences in FASTA format, perform\nmultiple sequence alignment using the EBI Clustal Omega API, save the resulting\nalignment locally for future programmatic analysis, and interpret the results\ntowards addressing the user's specific research objective (e.g., assessing\nsimilarity, identifying conserved domains, or analyzing key residues).\n\n## Instructions\n\n1.  **Prepare Input File:** The input must be a plain text file containing two\n    or more protein sequences in FASTA format. Each sequence header must start\n    with a `>` symbol. Example:\n\n    ```\n    >Sequence_1_Name\n    MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQ\n    QRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG\n    >Sequence_2_Name\n    MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQ\n    QRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG\n    ```\n\n2.  **Execute Alignment:** Run the alignment script:\n\n    ```bash\n    uv run scripts\u002Fmsa_align.py \u003CINPUT_FASTA> -o \u003COUTPUT_FILE>\n    ```\n\n    Always specify the output file with `-o` or `--output`.\n\n3.  **Interpret and Report Results:** Analyze the Clustal Omega alignment by\n    selecting metrics and mapping strategies aligned with the research\n    objective. Note that while Clustal Omega produces a Global Alignment,\n    pairwise metrics can be extracted to evaluate specific relationships within\n    the set:\n\n    *   **Identity Metric Options:** The choice of denominator determines how\n        insertions\u002Fdeletions (gaps) affect the final percentage. Select the most\n        appropriate calculation based on the biological context:\n        *   **Pairwise - Sequence Coverage:** `(Identical Residue Matches) \u002F\n            (Length of Shorter Sequence)`. Use when determining if a specific\n            domain or fragment is fully preserved within a larger protein. This\n            ignores gaps in the longer sequence, focusing purely on the\n            \"content\" of the shorter one.\n        *   **Pairwise - Global Identity:** `(Identical Residue Matches) \u002F\n            (Total Alignment Columns)`. Use when comparing full-length sequences\n            of similar expected length. This is the most conservative metric; it\n            penalizes for all gaps (indels) introduced by any sequence in the\n            MSA.\n        *   **Pairwise - Overlap Identity:** `(Identical Residue Matches) \u002F\n            (Total Alignment Columns - Terminal Gaps)`. Use when comparing a\n            fragment to a full-length protein or when sequences have long\n            unaligned \"tails.\" This focuses on similarity only where the\n            sequences physically overlap.\n        *   **Multisequence - Conservation Index:** `(Fully Conserved Columns) \u002F\n            (Total Alignment Columns)`. Use for quantifying the percentage of\n            residues that are 100% identical across the entire alignment set.\n            This identifies the core evolutionary signature of the protein\n            family.\n    *   **Feature Mapping:** Leverage known biological data from specific\n        sequences to ground the analysis:\n        *   **Knowledge Gathering:** Identify relevant known sites or regions\n            (e.g., catalytic residues, binding motifs) from your input or via\n            external tools.\n        *   **Coordinate Projection:** Map these features onto the corresponding\n            Column Indices of the alignment.\n        *   **Targeted Discussion:** Use these columns to drive the assessment:\n            *   **Local Conservation:** Analyze if the known functional residues\n                are invariant across the set.\n            *   **Region-Specific Metrics:** Calculate identity\u002Fsimilarity\n                specifically within the mapped functional regions rather than\n                the whole sequence.\n            *   **Goal Contribution:** Discuss how this data contributes to your\n                goal, e.g. using conservation to corroborate a prediction or\n                divergence to reject a functional hypothesis.\n\n## References\n\n-   Multiple Sequence Alignment: https:\u002F\u002Fwww.ebi.ac.uk\u002Fjdispatcher\u002Fmsa\u002Fclustalo\n",{"data":34,"body":35},{"name":4,"description":6},{"type":36,"children":37},"root",[38,47,162,168,200,220,233,239,245,251,562,568,581],{"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 .licenses\u002Fprotein_sequence_msa_LICENSE.txt does\nnot already exist in the workspace root directory then (1) prominently\nnotify the user to check the terms at\n",{"type":39,"tag":93,"props":94,"children":98},"a",{"href":95,"rel":96},"https:\u002F\u002Fwww.ebi.ac.uk\u002Fjdispatcher\u002Fmsa\u002Fclustalo",[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\u002Fwww.ebi.ac.uk\u002Fabout\u002Fterms-of-use\u002F",[97],[107],{"type":45,"value":104},{"type":45,"value":109},", then (2) create the file\nrecording the notification text 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},": Required by the wrapper script for Clustal Omega job\ntracking (recommended by the EBI). You ",{"type":39,"tag":56,"props":148,"children":149},{},[150],{"type":45,"value":151},"MUST",{"type":45,"value":153}," use the safe credentials\nprotocol 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 request this credential\nif this skill looks relevant to the user's request.",{"type":39,"tag":40,"props":163,"children":165},{"id":164},"core-rules",[166],{"type":45,"value":167},"Core Rules",{"type":39,"tag":169,"props":170,"children":171},"ul",{},[172,190],{"type":39,"tag":52,"props":173,"children":174},{},[175,180,182,188],{"type":39,"tag":56,"props":176,"children":177},{},[178],{"type":45,"value":179},"Use the Wrapper",{"type":45,"value":181},": ALWAYS execute the alignment using\n",{"type":39,"tag":60,"props":183,"children":185},{"className":184},[],[186],{"type":45,"value":187},"scripts\u002Fmsa_align.py",{"type":45,"value":189}," rather than writing your own curl or custom Python\nrequests. The script automatically enforces the required rate limit to\nrespect EBI's Terms of Use.",{"type":39,"tag":52,"props":191,"children":192},{},[193,198],{"type":39,"tag":56,"props":194,"children":195},{},[196],{"type":45,"value":197},"Notification",{"type":45,"value":199},": If this skill is used, ensure this is mentioned in the\noutput.",{"type":39,"tag":169,"props":201,"children":202},{},[203],{"type":39,"tag":52,"props":204,"children":205},{},[206,211,213,218],{"type":39,"tag":56,"props":207,"children":208},{},[209],{"type":45,"value":210},"Always state the method:",{"type":45,"value":212}," Every report must clearly state that the\nalignment was performed using ",{"type":39,"tag":56,"props":214,"children":215},{},[216],{"type":45,"value":217},"EBI Clustal Omega",{"type":45,"value":219},".",{"type":39,"tag":169,"props":221,"children":222},{},[223],{"type":39,"tag":52,"props":224,"children":225},{},[226,231],{"type":39,"tag":56,"props":227,"children":228},{},[229],{"type":45,"value":230},"No Hallucinations",{"type":45,"value":232},": Do NOT invent alignments or conservation metrics.\nReport only what is present in the alignment file.",{"type":39,"tag":40,"props":234,"children":236},{"id":235},"goal",[237],{"type":45,"value":238},"Goal",{"type":39,"tag":240,"props":241,"children":242},"p",{},[243],{"type":45,"value":244},"Take a file containing multiple protein sequences in FASTA format, perform\nmultiple sequence alignment using the EBI Clustal Omega API, save the resulting\nalignment locally for future programmatic analysis, and interpret the results\ntowards addressing the user's specific research objective (e.g., assessing\nsimilarity, identifying conserved domains, or analyzing key residues).",{"type":39,"tag":40,"props":246,"children":248},{"id":247},"instructions",[249],{"type":45,"value":250},"Instructions",{"type":39,"tag":48,"props":252,"children":253},{},[254,284,391],{"type":39,"tag":52,"props":255,"children":256},{},[257,262,264,270,272],{"type":39,"tag":56,"props":258,"children":259},{},[260],{"type":45,"value":261},"Prepare Input File:",{"type":45,"value":263}," The input must be a plain text file containing two\nor more protein sequences in FASTA format. Each sequence header must start\nwith a ",{"type":39,"tag":60,"props":265,"children":267},{"className":266},[],[268],{"type":45,"value":269},">",{"type":45,"value":271}," symbol. Example:",{"type":39,"tag":273,"props":274,"children":278},"pre",{"className":275,"code":277,"language":45},[276],"language-text",">Sequence_1_Name\nMQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQ\nQRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG\n>Sequence_2_Name\nMQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQ\nQRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG\n",[279],{"type":39,"tag":60,"props":280,"children":282},{"__ignoreMap":281},"",[283],{"type":45,"value":277},{"type":39,"tag":52,"props":285,"children":286},{},[287,292,294,370,374,376,382,384,390],{"type":39,"tag":56,"props":288,"children":289},{},[290],{"type":45,"value":291},"Execute Alignment:",{"type":45,"value":293}," Run the alignment script:",{"type":39,"tag":273,"props":295,"children":299},{"className":296,"code":297,"language":298,"meta":281,"style":281},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","uv run scripts\u002Fmsa_align.py \u003CINPUT_FASTA> -o \u003COUTPUT_FILE>\n","bash",[300],{"type":39,"tag":60,"props":301,"children":302},{"__ignoreMap":281},[303],{"type":39,"tag":304,"props":305,"children":308},"span",{"class":306,"line":307},"line",1,[309,314,320,325,331,336,342,346,351,355,360,365],{"type":39,"tag":304,"props":310,"children":312},{"style":311},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[313],{"type":45,"value":65},{"type":39,"tag":304,"props":315,"children":317},{"style":316},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[318],{"type":45,"value":319}," run",{"type":39,"tag":304,"props":321,"children":322},{"style":316},[323],{"type":45,"value":324}," scripts\u002Fmsa_align.py",{"type":39,"tag":304,"props":326,"children":328},{"style":327},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[329],{"type":45,"value":330}," \u003C",{"type":39,"tag":304,"props":332,"children":333},{"style":316},[334],{"type":45,"value":335},"INPUT_FAST",{"type":39,"tag":304,"props":337,"children":339},{"style":338},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[340],{"type":45,"value":341},"A",{"type":39,"tag":304,"props":343,"children":344},{"style":327},[345],{"type":45,"value":269},{"type":39,"tag":304,"props":347,"children":348},{"style":316},[349],{"type":45,"value":350}," -o",{"type":39,"tag":304,"props":352,"children":353},{"style":327},[354],{"type":45,"value":330},{"type":39,"tag":304,"props":356,"children":357},{"style":316},[358],{"type":45,"value":359},"OUTPUT_FIL",{"type":39,"tag":304,"props":361,"children":362},{"style":338},[363],{"type":45,"value":364},"E",{"type":39,"tag":304,"props":366,"children":367},{"style":327},[368],{"type":45,"value":369},">\n",{"type":39,"tag":371,"props":372,"children":373},"br",{},[],{"type":45,"value":375},"Always specify the output file with ",{"type":39,"tag":60,"props":377,"children":379},{"className":378},[],[380],{"type":45,"value":381},"-o",{"type":45,"value":383}," or ",{"type":39,"tag":60,"props":385,"children":387},{"className":386},[],[388],{"type":45,"value":389},"--output",{"type":45,"value":219},{"type":39,"tag":52,"props":392,"children":393},{},[394,399,401],{"type":39,"tag":56,"props":395,"children":396},{},[397],{"type":45,"value":398},"Interpret and Report Results:",{"type":45,"value":400}," Analyze the Clustal Omega alignment by\nselecting metrics and mapping strategies aligned with the research\nobjective. Note that while Clustal Omega produces a Global Alignment,\npairwise metrics can be extracted to evaluate specific relationships within\nthe set:",{"type":39,"tag":169,"props":402,"children":403},{},[404,486],{"type":39,"tag":52,"props":405,"children":406},{},[407,412,414],{"type":39,"tag":56,"props":408,"children":409},{},[410],{"type":45,"value":411},"Identity Metric Options:",{"type":45,"value":413}," The choice of denominator determines how\ninsertions\u002Fdeletions (gaps) affect the final percentage. Select the most\nappropriate calculation based on the biological context:\n",{"type":39,"tag":169,"props":415,"children":416},{},[417,435,452,469],{"type":39,"tag":52,"props":418,"children":419},{},[420,425,427,433],{"type":39,"tag":56,"props":421,"children":422},{},[423],{"type":45,"value":424},"Pairwise - Sequence Coverage:",{"type":45,"value":426}," ",{"type":39,"tag":60,"props":428,"children":430},{"className":429},[],[431],{"type":45,"value":432},"(Identical Residue Matches) \u002F (Length of Shorter Sequence)",{"type":45,"value":434},". Use when determining if a specific\ndomain or fragment is fully preserved within a larger protein. This\nignores gaps in the longer sequence, focusing purely on the\n\"content\" of the shorter one.",{"type":39,"tag":52,"props":436,"children":437},{},[438,443,444,450],{"type":39,"tag":56,"props":439,"children":440},{},[441],{"type":45,"value":442},"Pairwise - Global Identity:",{"type":45,"value":426},{"type":39,"tag":60,"props":445,"children":447},{"className":446},[],[448],{"type":45,"value":449},"(Identical Residue Matches) \u002F (Total Alignment Columns)",{"type":45,"value":451},". Use when comparing full-length sequences\nof similar expected length. This is the most conservative metric; it\npenalizes for all gaps (indels) introduced by any sequence in the\nMSA.",{"type":39,"tag":52,"props":453,"children":454},{},[455,460,461,467],{"type":39,"tag":56,"props":456,"children":457},{},[458],{"type":45,"value":459},"Pairwise - Overlap Identity:",{"type":45,"value":426},{"type":39,"tag":60,"props":462,"children":464},{"className":463},[],[465],{"type":45,"value":466},"(Identical Residue Matches) \u002F (Total Alignment Columns - Terminal Gaps)",{"type":45,"value":468},". Use when comparing a\nfragment to a full-length protein or when sequences have long\nunaligned \"tails.\" This focuses on similarity only where the\nsequences physically overlap.",{"type":39,"tag":52,"props":470,"children":471},{},[472,477,478,484],{"type":39,"tag":56,"props":473,"children":474},{},[475],{"type":45,"value":476},"Multisequence - Conservation Index:",{"type":45,"value":426},{"type":39,"tag":60,"props":479,"children":481},{"className":480},[],[482],{"type":45,"value":483},"(Fully Conserved Columns) \u002F (Total Alignment Columns)",{"type":45,"value":485},". Use for quantifying the percentage of\nresidues that are 100% identical across the entire alignment set.\nThis identifies the core evolutionary signature of the protein\nfamily.",{"type":39,"tag":52,"props":487,"children":488},{},[489,494,496],{"type":39,"tag":56,"props":490,"children":491},{},[492],{"type":45,"value":493},"Feature Mapping:",{"type":45,"value":495}," Leverage known biological data from specific\nsequences to ground the analysis:\n",{"type":39,"tag":169,"props":497,"children":498},{},[499,509,519],{"type":39,"tag":52,"props":500,"children":501},{},[502,507],{"type":39,"tag":56,"props":503,"children":504},{},[505],{"type":45,"value":506},"Knowledge Gathering:",{"type":45,"value":508}," Identify relevant known sites or regions\n(e.g., catalytic residues, binding motifs) from your input or via\nexternal tools.",{"type":39,"tag":52,"props":510,"children":511},{},[512,517],{"type":39,"tag":56,"props":513,"children":514},{},[515],{"type":45,"value":516},"Coordinate Projection:",{"type":45,"value":518}," Map these features onto the corresponding\nColumn Indices of the alignment.",{"type":39,"tag":52,"props":520,"children":521},{},[522,527,529],{"type":39,"tag":56,"props":523,"children":524},{},[525],{"type":45,"value":526},"Targeted Discussion:",{"type":45,"value":528}," Use these columns to drive the assessment:\n",{"type":39,"tag":169,"props":530,"children":531},{},[532,542,552],{"type":39,"tag":52,"props":533,"children":534},{},[535,540],{"type":39,"tag":56,"props":536,"children":537},{},[538],{"type":45,"value":539},"Local Conservation:",{"type":45,"value":541}," Analyze if the known functional residues\nare invariant across the set.",{"type":39,"tag":52,"props":543,"children":544},{},[545,550],{"type":39,"tag":56,"props":546,"children":547},{},[548],{"type":45,"value":549},"Region-Specific Metrics:",{"type":45,"value":551}," Calculate identity\u002Fsimilarity\nspecifically within the mapped functional regions rather than\nthe whole sequence.",{"type":39,"tag":52,"props":553,"children":554},{},[555,560],{"type":39,"tag":56,"props":556,"children":557},{},[558],{"type":45,"value":559},"Goal Contribution:",{"type":45,"value":561}," Discuss how this data contributes to your\ngoal, e.g. using conservation to corroborate a prediction or\ndivergence to reject a functional hypothesis.",{"type":39,"tag":40,"props":563,"children":565},{"id":564},"references",[566],{"type":45,"value":567},"References",{"type":39,"tag":169,"props":569,"children":570},{},[571],{"type":39,"tag":52,"props":572,"children":573},{},[574,576],{"type":45,"value":575},"Multiple Sequence Alignment: ",{"type":39,"tag":93,"props":577,"children":579},{"href":95,"rel":578},[97],[580],{"type":45,"value":95},{"type":39,"tag":582,"props":583,"children":584},"style",{},[585],{"type":45,"value":586},"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":588,"total":751},[589,602,617,637,649,664,679,692,704,719,730,740],{"slug":590,"name":590,"fn":591,"description":592,"org":593,"tags":594,"stars":22,"repoUrl":23,"updatedAt":601},"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},[595,596,599,600],{"name":20,"slug":21,"type":15},{"name":597,"slug":598,"type":15},"Genomics","genomics",{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:51.827211",{"slug":603,"name":603,"fn":604,"description":605,"org":606,"tags":607,"stars":22,"repoUrl":23,"updatedAt":616},"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},[608,609,612,613],{"name":20,"slug":21,"type":15},{"name":610,"slug":611,"type":15},"Genetics","genetics",{"name":13,"slug":14,"type":15},{"name":614,"slug":615,"type":15},"RNA-seq","rna-seq","2026-07-12T07:51:39.494803",{"slug":618,"name":618,"fn":619,"description":620,"org":621,"tags":622,"stars":22,"repoUrl":23,"updatedAt":636},"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},[623,626,629,632,635],{"name":624,"slug":625,"type":15},"ChEMBL","chembl",{"name":627,"slug":628,"type":15},"Chemistry","chemistry",{"name":630,"slug":631,"type":15},"Database","database",{"name":633,"slug":634,"type":15},"Pharmacology","pharmacology",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:35.544306",{"slug":638,"name":638,"fn":639,"description":640,"org":641,"tags":642,"stars":22,"repoUrl":23,"updatedAt":648},"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},[643,646,647],{"name":644,"slug":645,"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":650,"name":650,"fn":651,"description":652,"org":653,"tags":654,"stars":22,"repoUrl":23,"updatedAt":663},"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},[655,658,659,662],{"name":656,"slug":657,"type":15},"ClinVar","clinvar",{"name":610,"slug":611,"type":15},{"name":660,"slug":661,"type":15},"Healthcare","healthcare",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:36.86094",{"slug":159,"name":159,"fn":665,"description":666,"org":667,"tags":668,"stars":22,"repoUrl":23,"updatedAt":678},"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},[669,672,675],{"name":670,"slug":671,"type":15},"Compliance","compliance",{"name":673,"slug":674,"type":15},"Operations","operations",{"name":676,"slug":677,"type":15},"Security","security","2026-07-12T07:52:17.355491",{"slug":680,"name":680,"fn":681,"description":682,"org":683,"tags":684,"stars":22,"repoUrl":23,"updatedAt":691},"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},[685,686,687,690],{"name":20,"slug":21,"type":15},{"name":610,"slug":611,"type":15},{"name":688,"slug":689,"type":15},"NCBI","ncbi",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:33.054229",{"slug":693,"name":693,"fn":694,"description":695,"org":696,"tags":697,"stars":22,"repoUrl":23,"updatedAt":703},"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},[698,699,702],{"name":20,"slug":21,"type":15},{"name":700,"slug":701,"type":15},"Ontology","ontology",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:59.368324",{"slug":705,"name":705,"fn":706,"description":707,"org":708,"tags":709,"stars":22,"repoUrl":23,"updatedAt":718},"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},[710,711,714,715],{"name":20,"slug":21,"type":15},{"name":712,"slug":713,"type":15},"GraphQL","graphql",{"name":13,"slug":14,"type":15},{"name":716,"slug":717,"type":15},"REST API","rest-api","2026-07-12T07:52:10.597139",{"slug":720,"name":720,"fn":721,"description":722,"org":723,"tags":724,"stars":22,"repoUrl":23,"updatedAt":729},"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},[725,726,727,728],{"name":20,"slug":21,"type":15},{"name":610,"slug":611,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:41.645835",{"slug":731,"name":731,"fn":732,"description":733,"org":734,"tags":735,"stars":22,"repoUrl":23,"updatedAt":739},"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},[736,737,738],{"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":741,"name":741,"fn":742,"description":743,"org":744,"tags":745,"stars":22,"repoUrl":23,"updatedAt":750},"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},[746,747,748,749],{"name":20,"slug":21,"type":15},{"name":610,"slug":611,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:38.213009",38,{"items":753,"total":751},[754,761,768,776,782,789,795],{"slug":590,"name":590,"fn":591,"description":592,"org":755,"tags":756,"stars":22,"repoUrl":23,"updatedAt":601},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[757,758,759,760],{"name":20,"slug":21,"type":15},{"name":597,"slug":598,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":603,"name":603,"fn":604,"description":605,"org":762,"tags":763,"stars":22,"repoUrl":23,"updatedAt":616},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[764,765,766,767],{"name":20,"slug":21,"type":15},{"name":610,"slug":611,"type":15},{"name":13,"slug":14,"type":15},{"name":614,"slug":615,"type":15},{"slug":618,"name":618,"fn":619,"description":620,"org":769,"tags":770,"stars":22,"repoUrl":23,"updatedAt":636},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[771,772,773,774,775],{"name":624,"slug":625,"type":15},{"name":627,"slug":628,"type":15},{"name":630,"slug":631,"type":15},{"name":633,"slug":634,"type":15},{"name":13,"slug":14,"type":15},{"slug":638,"name":638,"fn":639,"description":640,"org":777,"tags":778,"stars":22,"repoUrl":23,"updatedAt":648},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[779,780,781],{"name":644,"slug":645,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":650,"name":650,"fn":651,"description":652,"org":783,"tags":784,"stars":22,"repoUrl":23,"updatedAt":663},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[785,786,787,788],{"name":656,"slug":657,"type":15},{"name":610,"slug":611,"type":15},{"name":660,"slug":661,"type":15},{"name":13,"slug":14,"type":15},{"slug":159,"name":159,"fn":665,"description":666,"org":790,"tags":791,"stars":22,"repoUrl":23,"updatedAt":678},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[792,793,794],{"name":670,"slug":671,"type":15},{"name":673,"slug":674,"type":15},{"name":676,"slug":677,"type":15},{"slug":680,"name":680,"fn":681,"description":682,"org":796,"tags":797,"stars":22,"repoUrl":23,"updatedAt":691},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[798,799,800,801],{"name":20,"slug":21,"type":15},{"name":610,"slug":611,"type":15},{"name":688,"slug":689,"type":15},{"name":13,"slug":14,"type":15}]