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 n´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 s´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 s´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 s´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 s´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 n´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