# Protein Sequence Msa

Performs multiple sequence alignment of proteins with EBI Clustal Omega.

- Repository: https://github.com/google-deepmind/science-skills (3377 stars)
- Category: Data and ML
- License: Apache-2.0
- Last updated: 2026-10-23
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add google-deepmind/science-skills --skill protein-sequence-msa -g -a claude-code -y`
Codex: `npx skills add google-deepmind/science-skills --skill protein-sequence-msa -g -a codex -y`
Cursor: `npx skills add google-deepmind/science-skills --skill protein-sequence-msa -g -a cursor -y`
Gemini CLI: `npx skills add google-deepmind/science-skills --skill protein-sequence-msa -g -a gemini-cli -y`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Prerequisites

1.  **`uv`**: Read the `uv` skill and follow its Setup instructions to ensure
    `uv` is installed and on PATH.
2.  **User Notification**: If .licenses/protein_sequence_msa_LICENSE.txt does
    not already exist in the workspace root directory then (1) prominently
    notify the user to check the terms at
    https://www.ebi.ac.uk/jdispatcher/msa/clustalo and
    https://www.ebi.ac.uk/about/terms-of-use/, then (2) create the file
    recording the notification text and timestamp.
3.  **`.env` file**: Make sure the `.env` file exists in your home directory.
    Create one if it does not exist.
4.  **`USER_EMAIL`**: Required by the wrapper script for Clustal Omega job
    tracking (recommended by the EBI). You **MUST** use the safe credentials
    protocol in the `credentials` skill to check for and request this credential
    if this skill looks relevant to the user's request.

## Core Rules

-   **Use the Wrapper**: ALWAYS execute the alignment using
    `scripts/msa_align.py` rather than writing your own curl or custom Python
    requests. The script automatically enforces the required rate limit to
    respect EBI's Terms of Use.
-   **Notification**: If this skill is used, ensure this is mentioned in the
    output.
*   **Always state the method:** Every report must clearly state that the
    alignment was performed using **EBI Clustal Omega**.
-   **No Hallucinations**: Do NOT invent alignments or conservation metrics.
    Report only what is present in the alignment file.

## Goal

Take a file containing multiple protein sequences in FASTA format, perform
multiple sequence alignment using the EBI Clustal Omega API, save the resulting
alignment locally for future programmatic analysis, and interpret the results
towards addressing the user's specific research objective (e.g., assessing
similarity, identifying conserved domains, or analyzing key residues).

## Instructions

The rest: https://github.com/google-deepmind/science-skills/blob/HEAD/skills/protein_sequence_msa/SKILL.md
