protein-sequence-msa

Par mkurman · zorai

Effectue l'alignement multiple de séquences de protéines avec EBI Clustal Omega. À utiliser lorsque vous devez aligner plusieurs séquences pour évaluer la similarité, la conservation de domaines ou la conservation de résidus clés. Prend en charge jusqu'à 4 000 séquences et une taille de fichier maximale de 4 Mo. Ne pas utiliser pour rechercher des protéines homologues dans une base de données (utiliser MMseqs2, BLAST), aligner des séquences non protéiques (ADN, ARN), effectuer un alignement structural (utiliser Foldseek, PyMOL), ou si vous ne disposez que d'une seule séquence.

npx skills add https://github.com/mkurman/zorai --skill protein-sequence-msa

Conditions préalables

  1. uv : Lisez la skill uv et suivez ses instructions de configuration pour vous assurer que uv est installé et accessible dans PATH.

  2. Notification utilisateur : Si LICENSE_NOTIFICATION.txt n'existe pas déjà dans le répertoire de cette skill, alors (1) notifiez l'utilisateur de manière évidente de vérifier les conditions à https://www.ebi.ac.uk/jdispatcher/msa/clustalo et https://www.ebi.ac.uk/about/terms-of-use/, puis (2) créez le fichier enregistrant le texte de notification et l'horodatage.

  3. Fichier .env : Assurez-vous que le fichier .env existe dans votre répertoire home. Créez-en un s'il n'existe pas.

  4. USER_EMAIL (optionnel mais recommandé) : Recommandé par l'EBI pour le suivi des tâches Clustal Omega, mais la skill fonctionne sans. Si la variable est absente de .env, ne demandez PAS à l'utilisateur de la coller dans le chat (cela fuiterait la valeur dans le contexte de l'agent). À la place, fournissez à l'utilisateur cette commande — en remplaçant ENV_FILE par le chemin littéral résolu du fichier .env :

    printf "Enter contact email: " && read email && echo "USER_EMAIL=$email" >> "ENV_FILE" && echo "Saved."

    Les scripts chargent les credentials automatiquement via dotenv. Ne JAMAIS lire, afficher ou inspecter le fichier .env ou ses variables (par ex. pas de cat, grep, echo, printenv, ou os.environ.get sur les clés). Les credentials doivent rester en dehors du contexte de l'agent.

Règles essentielles

  • Utilisez le Wrapper : TOUJOURS exécuter l'alignement via scripts/msa_align.py plutôt que d'écrire vos propres requêtes curl ou Python. Le script applique automatiquement la limite de débit requise pour respecter les Conditions d'utilisation de l'EBI.
  • Notification : Si cette skill est utilisée, assurez-vous que cela est mentionné dans la sortie.
  • Énoncez toujours la méthode : Chaque rapport doit indiquer clairement que l'alignement a été effectué avec EBI Clustal Omega.
  • Pas d'hallucinations : NE PAS inventer d'alignements ou de métriques de conservation. Rapportez uniquement ce qui est présent dans le fichier d'alignement.

Objectif

Prendre un fichier contenant plusieurs séquences protéiques au format FASTA, effectuer un alignement de séquences multiples via l'API EBI Clustal Omega, enregistrer localement l'alignement résultant pour une analyse programmatique future, et interpréter les résultats pour répondre à l'objectif de recherche spécifique de l'utilisateur (par ex. évaluer la similarité, identifier les domaines conservés, ou analyser les résidus clés).

Instructions

  1. Préparer le fichier d'entrée : L'entrée doit être un fichier texte brut contenant deux ou plusieurs séquences protéiques au format FASTA. Chaque en-tête de séquence doit commencer par un symbole >. Exemple :

    >Sequence_1_Name
    MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQ
    QRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG
    >Sequence_2_Name
    MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQ
    QRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG
  2. Exécuter l'alignement : Lancez le script d'alignement :

    uv run scripts/msa_align.py <INPUT_FASTA> -o <OUTPUT_FILE>

    Toujours spécifier le fichier de sortie avec -o ou --output.

  3. Interpréter et rapporter les résultats : Analysez l'alignement Clustal Omega en sélectionnant des métriques et des stratégies de mapping alignées avec l'objectif de recherche. Notez que bien que Clustal Omega produise un alignement global, des métriques pairwise peuvent être extraites pour évaluer les relations spécifiques au sein de l'ensemble :

    • Options de métrique d'identité : Le choix du dénominateur détermine comment les insertions/délétions (gaps) affectent le pourcentage final. Sélectionnez le calcul le plus approprié selon le contexte biologique :
      • Pairwise - Couverture de séquence : (Résidus identiques correspondants) / (Longueur de la séquence la plus courte). Utilisez quand vous déterminez si un domaine ou fragment spécifique est entièrement préservé au sein d'une protéine plus grande. Ceci ignore les gaps dans la séquence plus longue, se concentrant purement sur le « contenu » de la plus courte.
      • Pairwise - Identité globale : (Résidus identiques correspondants) / (Colonnes totales d'alignement). Utilisez quand vous comparez des séquences de longueur complète de longueur attendue similaire. C'est la métrique la plus conservative ; elle pénalise tous les gaps (indels) introduits par n'importe quelle séquence dans l'MSA.
      • Pairwise - Identité de chevauchement : (Résidus identiques correspondants) / (Colonnes totales d'alignement - Gaps terminaux). Utilisez quand vous comparez un fragment à une protéine de longueur complète ou quand les séquences ont de longues « queues » non alignées. Ceci se concentre sur la similarité uniquement où les séquences se chevauchent physiquement.
      • Multi-séquence - Indice de conservation : (Colonnes entièrement conservées) / (Colonnes totales d'alignement). Utilisez pour quantifier le pourcentage de résidus 100% identiques dans tout l'ensemble d'alignement. Ceci identifie la signature évolutive fondamentale de la famille protéique.
    • Feature Mapping : Exploitez les données biologiques connues de séquences spécifiques pour ancrer l'analyse :
      • Collecte de connaissances : Identifiez les sites ou régions pertinents connus (par ex. résidus catalytiques, motifs de liaison) de votre entrée ou via des outils externes.
      • Projection de coordonnées : Mappez ces features sur les indices de colonnes correspondants de l'alignement.
      • Discussion ciblée : Utilisez ces colonnes pour orienter l'évaluation :
        • Conservation locale : Analysez si les résidus fonctionnels connus sont invariants dans l'ensemble.
        • Métriques spécifiques à la région : Calculez l'identité/similarité spécifiquement au sein des régions fonctionnelles mappées plutôt que toute la séquence.
        • Contribution à l'objectif : Discutez de comment ces données contribuent à votre objectif, par ex. utiliser la conservation pour corroborer une prédiction ou la divergence pour rejeter une hypothèse fonctionnelle.

Références

Skills similaires