© Copyright Franck CHEVRIER 2019-2023 https://www.python-lycee.com.
Activité réalisée en collaboration avec Christine DEUTSCHMANN.
Les activités partagées sur Capytale sont sous licence Creative Commons.
Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.
Les molécules d’anticorps (immunoglobulines) sont constituées de quatre chaînes d’acides aminés : deux chaînes lourdes ou H (pour « heavy ») et deux chaînes légères ou L (pour « light »), les séquences peptidiques des chaînes lourdes étant identiques entre elles, et de même pour les deux chaînes légères.
Des mécanismes génétiques particuliers sont à l’origine des gènes codant les chaînes H et L, et ainsi de la très grande diversité des anticorps produits par le système immunitaire. L’objectif de cette activité est de traiter l’un de ces mécanismes, de manière volontairement simplifiée, les processus mis en jeu étant complexes et multiples. Le mécanisme étudié correspond à la constitution d’un gène à partir de l’association de segments d’ADN issus d’un ensemble de segments différents disponibles dans le génome.
L’activité permettra de dénombrer les différentes combinaisons de segments possibles dans un gène codant pour une chaîne d’anticorps.
1. Introduction : Schéma interactif
2. Génération des chaînes légères
3. Génération des chaînes lourdes
4. Assemblage des chaînes légères et lourdes
# Exécuter cette cellule pour obtenir le schéma interactif
from IPython.display import HTML ; HTML("""<iframe scrolling="no" title="Immunoglobuline" src="https://www.geogebra.org/material/iframe/id/bk53haa6/width/1221/height/824/border/888888/sfsb/true/smb/false/stb/false/stbh/false/ai/false/asb/false/sri/false/rc/false/ld/false/sdz/false/ctl/false" width="980px" height="700px" style="border:0px;"> </iframe>""")
# Exécuter cette cellule
liste_VL = [ "VL"+str(k) for k in range(1,37+1) ]
liste_VL
2.2. Écrire une instruction permettant de générer une structure liste_JL contenant les 5 segments $\text{J}_\text{L}$ possibles.
$\;\;\;$ Aide: On pourra commencer par effectuer un copier/coller de la cellule précédente.
# Effectuer ici la saisie pour générer liste_JL
liste_JL = [ "JL"+str(k) for k in range(1,5+1) ]
liste_JL
2.3. Exécuter la cellule ci-dessous, qui permet de générer une structure liste_chaines_legeres représentant la liste des chaînes légères que l'on peut obtenir par combinaison.
# Exécuter cette cellule
def combinaison_L():
liste=[]
for VL in liste_VL:
for JL in liste_JL:
liste.append( VL+"-"+JL+"-CL")
return liste
liste_chaines_legeres = combinaison_L()
liste_chaines_legeres
len( liste_chaines_legeres )
Le mécanisme à l'origine du gène codant la chaîne lourde est similaire à celui qui vient d'être vu pour la chaîne légère.
Dans ce cas les segments d'ADN impliqués sont localisés sur le chromosome 14 et leurs nombres sont :
- 40 exemplaires différents de segments $\text{V}_\text{H}$ ;
- 27 exemplaires différents de segments $\text{D}_\text{H}$ ;
- 6 exemplaires différents de segments $\text{J}_\text{H}$ ;
- un segment $\text{C}_\text{H}$.
# Exécuter cette cellule
liste_VH = [ "VH"+str(k) for k in range(1,40+1) ]
liste_VH
# Effectuer ici la saisie pour générer liste_JL
liste_DH = [ "DH"+str(k) for k in range(1,27+1) ]
liste_DH
# Effectuer ici la saisie pour générer liste_JL
liste_JH = [ "JH"+str(k) for k in range(1,6+1) ]
liste_JH
3.4. Exécuter la cellule ci-dessous, qui permet de générer une structure liste_chaines_lourdes représentant la liste des chaînes lourdes que l'on peut obtenir par combinaison.
# Exécuter cette cellule
def combinaison_H():
liste=[]
for VH in liste_VH:
for DH in liste_DH:
for JH in liste_JH:
liste.append( VH+"-"+DH+"-"+JH+"-CH")
return liste
liste_chaines_lourdes = combinaison_H()
liste_chaines_lourdes
# Exécuter cette cellule
len( liste_chaines_lourdes )
def assemblage():
liste=[]
for chaineL in liste_chaines_legeres:
for chaineH in liste_chaines_lourdes:
liste.append(chaineL+"-/-"+chaineH)
return liste
liste_immunoglobulines = assemblage()
4.1.b. Le nombre d'immunoglobulines ainsi générées est très important.
$\quad\;\;\;$Exécuter la cellule ci-dessous qui permet d'afficher les 10000 premiers éléments de la liste.
liste_immunoglobulines[:10000]
len( liste_immunoglobulines )
4.4. À la question 4.1, on a obtenu l'affichage de 10000 chaînes lourdes.
$\quad\;$Quel pourcentage cette valeur représente-t-elle par rapport au nombre total obtenu à la question 4.3 ? (arrondir à 0,1% près)
Quelques compléments :
- Comme on vient de le voir, la formation d’un gène fonctionnel codant pour une chaîne de la molécule d’anticorps implique la recombinaison de segments d’ADN et explique ainsi en partie la diversité des anticorps produits par le système immunitaire ; les possibilités sont encore multipliées par le fait que la molécule d’anticorps résulte de l’association de deux types de chaînes générées indépendamment l’une de l’autre.
À cela s’ajoutent d’autres mécanismes génétiques particuliers, modifiant encore les séquences nucléotidiques de l’ADN codant pour les chaînes. Par exemple l’association entre le segment $\text{V}_\text{L}$ et le segment $\text{J}_\text{L}$ (ou entre le segment $\text{D}_\text{H}$ et le segment $\text{J}_\text{H}$) ne se fait pas systématiquement de manière précise : lors du réarrangement, des nucléotides peuvent être ôtés à l’extrémité du segment $\text{V}_\text{L}$. À l’inverse un autre phénomène peut aboutir à l’ajout de quelques nucléotides au segment $\text{D}_\text{H}$. Par ailleurs, des mutations surviennent également et modifient là encore la séquence nucléotidique de l’ADN codant les chaînes d’anticorps.
- Comme les mécanismes génétiques particuliers formant les gènes codant les chaînes $\text{H}$ et $\text{L}$ se produisent de manière aléatoire, certains aboutissent à former des gènes codant pour des anticorps se liant aux propres molécules de l’organisme : dans l’organisme existent des systèmes permettant d’inactiver et éliminer ces lymphocytes « auto-immuns ».
© Copyright Franck CHEVRIER 2019-2023 https://www.python-lycee.com.
Les activités partagées sur Capytale sont sous licence Creative Commons.
Remerciements particuliers à Christine DEUTSCHMANN pour son aide précieuse.
Dernière modification de l'activité : Juin 2023