Bioinformatique - TP3 : alignement de séquences avec Python

Bioinformatique - TP3 : alignement de s´equences avec Python,
construction d’arbres phylog´en´etiques
Jean-Baptiste Lamy /
Aligner deux s´equences biologiques en Python
Importation des modules ecessaires :
from Bio.pairwise2 import *
from Bio.SubsMat.MatrixInfo import *
Op´erations Code Python
Charger une matrice de substitution prot´eique (sont
disponibles BLOSUM30, 35, 40,..., 95, 100, et PAM30, 60,
90, 120, 180, 250, 300)
NB les matrices sont en fait des dictionnaires Python
blosum50
blosum80
pam250
Alignement global de 2 equences adn1 et adn2, avec les
coˆuts suivants : identit´e +2, substitution -1, ouverture
d’un gap -3, extension d’un gap -2.
al = align.globalms(adn1, adn2, 2, -1, -3, -2,
one_alignment_only = True)[0]
Alignement local de 2 equences adn1 et adn2, avec les
mˆemes coˆuts que ci-dessus.
al = align.localms(adn1, adn2, 2, -1, -3, -2,
one_alignment_only = True)[0]
Alignement global de 2 equences prot1 et prot2, avec la
matrice PAM 250 et les coˆuts suivants : ouverture d’un
gap -3, extension d’un gap -2.
al = align.globalds(prot1, prot2, pam250, -3,
-2, one_alignment_only = True)[0]
Alignement local de 2 equences prot1 et prot2, avec les
mˆemes conditions que ci-dessus.
al = align.localds(prot1, prot2, pam250, -3, -2,
one_alignment_only = True)[0]
Obtenir la premi`ere chaˆıne de l’alignement al[0]
Obtenir la seconde chaˆıne de l’alignement al[1]
Obtenir le score de l’alignement al[2]
Obtenir la position de d´ebut de l’alignement al[3]
Convertir l’alignement en un alignement multiple (souvent
utile pour visualiser l’alignement avec les fonctions des
alignements multiples)
alm = MultipleSeqAlignment(al[0:2])
Aligner plus de deux s´equences biologiques avec ClustalW en Python
Importation des modules ecessaires :
from Bio.Align.Applications import *
from Bio.Align.AlignInfo import *
from Bio import AlignIO
from Bio import Phylo
Op´erations Code Python
´
Ecrire les s´equences dans un fichier FASTA write([seq1, seq2,...], "fichier.fasta",
"fasta")
Ex´ecuter ClustalW `a partir de Python (avec la m´ethode
UPGMA)
cline = ClustalwCommandline("./clustalw",
infile="fichier.fasta", clustering="UPGMA")
cline()
Charger l’alignement multiple produit par ClustalW alm = AlignIO.read("fichier.aln", "clustal")
Afficher l’alignement multiple au format FASTA print(alm.format("fasta"))
Afficher l’alignement multiple au format Clustal print(alm.format("clustal"))
Calculer et afficher une s´equence consensus (avec des ? en
cas de diff´erence)
print(SummaryInfo(alm).gap_consensus(
ambiguous="?"))
Charger l’arbre phylog´enique calcul´e par ClustalW arbre = Phylo.read("fichier.dnd", "newick")
Afficher l’arbre (format ASCII) Phylo.draw_ascii(tree)
Afficher l’arbre (format graphique) Phylo.draw(tree)
1
Exercice 1 : alignements simples
L’objectif du TP est de rechercher des alignements entre prot´eines d’une mˆeme famille, les annexines.
1. Rechercher dans la base Uniprot les s´equences prot´eiques de l’annexine A1, l’annexine A2, l’annexine A6 et du r´ecepteur
`a l’annexine A2, chez l’ˆetre humain. R´ecup´erer les equences au format FASTA et les enregistrer dans votre r´epertoire
personnel.
2. En Python, importer les diff´erents modules.
3. Charger les s´equences prot´eiques qui ont ´et´e t´el´echarg´ees `a la question 1 dans les variables p1, p2, p6 et pr (cf TP2).
4. Effectuer l’alignement global des s´equences de l’annexine 1 et de l’annexine 2, avec la matrice BLOSUM 50 et un coˆut
d’insertion / d´el´etion de -10 et de -3 pour l’allongement. Afficher le score de l’alignement et l’alignement au format
Clustal.
5. Refaire l’alignement avec la matrice BLOSUM 80. Que constatez-vous ? Le score a-t-il chang´e ? Et l’alignement ?
Pourquoi ?
6. Calculer le taux d’identit´e sur l’alignement pr´ec´edemment r´ealis´e. Astuce : pour cela, on comptera `a l’aide d’une
boucle le nombre d’acide amin´e identique dans les deux chaˆınes de l’alignement, puis on divisera par la longueur de
la prot´eine p1.
7. Quelle matrice choisir entre BLOSUM 50 et BLOSUM 80 ?
8. Effectuer l’alignement global de l’annexine 1 et du recepteur `a l’annexine. Qu’en pensez-vous ?
9. Effectuer l’alignement global de l’annexine 1 et de l’annexine 6. Qu’en pensez-vous ?
10. Mˆeme question en faisant un alignement local. Que constatez-vous?
Exercice 2 : alignements multiples
1. Effectuer l’alignement multiple entre les s´equences de l’annexine 1, l’annexine 2, l’annexine 6 et du ecepteur. Visualiser
l’alignement au format Clustal
2. Calculer la equence consensus.
3. Charger et afficher l’arbre phylog´en´etique.
4. Quels sont les deux prot´eines les plus proches ? Quelle est celle qui est la plus ´eloign´ee des autres ?
2
1 / 2 100%

Bioinformatique - TP3 : alignement de séquences avec Python

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !