Bouzidi Zeroukhi
Bouzidi Zeroukhi
Bouzidi Zeroukhi
Mémoire de Master
Informatique
Spécialité : Bio-Informatique
Thème
Membres de jury
• Mme A.MOKHTARI (P)
• Mme S.BOUAGAR (E)
2019/2020
Remerciements
Nous adressons en premier lieu notre reconnaissance à notre DIEU tout puissant,
de nous avoir permis d’arriver là, car sans lui rien n’est possible.
Nous tenons tout d’abord à remercier nos encadrants Mme BENSAOU et Mme
IGHILAZA pour leurs encadrement, suivi et leurs conseils lors de la réalisation de
notre projet.
Nous souhaitons aussi remercier mesdames et messieurs les membres du jury pour
leur précieux temps accordé à l’ étude de notre mémoire.
Enfin, nous remercions tous ceux qui ont contribué de près ou de loin à
l’aboutissement de ce travail.
Dédicaces
À mes chers parents, pour leurs sacrifices, leur amour, leur soutient et leur prières
tout au long de mes études.
À mes chères soeurs pour leurs encouragements permanent et leur soutien moral.
À toute ma famille, à tous mes chers amis spécialement mon cher binôme Djillali
ZEROUKHI, Mohammed BOURENAN CHERIF, Ilyes TAZI, Abdelmoumen
MEZHOUD, Rami NAIDJI, Abdelfetah YOUSSEFI et à toute la section
Bio-informatique.
BOUZIDI Abdeldjalil.
Dédicaces
Je tiens à dédier cet humble travail à mes très chers parents, que je remercie
profondément, pour tous leurs sacrifices et leurs encouragements, de m’avoir
soutenu, et guidé à tout instant.
Aux montagnes de chrea et aux étoiles qui tapissent son ciel pour le calme et la
poésie qui m’ont aidé à mener ce travail dans la sérénité. Un grand merci à mes
écouteurs Haylou GT1 et l’artiste The Weeknd pour leur doux accompagnement
musical.
ZEROUKHI Djillali.
Résumé
Les protéines sont les éléments essentiels fonctionnels dans la cellule, où la
connaissance de ses fonctions permet de comprendre les divers problèmes biolo-
giques tels que les mécanismes des maladies et la recherche des médicaments ciblés.
L’annotation fonctionnelle des protéines est l’une des tâches fondamentales en bio-
informatique, elle consiste à assigner un ensemble de fonctions biologiques à une
protéines à partir de sa séquence primaire ou sa structure tertiaire. De nombreuses
méthodes sont disponibles pour prédire les fonctions des protéines à partir de ca-
ractéristiques basées sur des séquences. Cependant, à part la séquence, la plupart
des caractéristiques sont difficiles à obtenir ou ne sont pas disponibles pour de nom-
breuses protéines. Pour cela nous avons proposé une architecture d’apprentissage
profond “ImproveDeepSeq” afin d’extraire les caractéristiques cachées derrière les
séquences protéiques et prédire leurs fonctions. Notre modèle d’apprentissage pro-
fond atteint une précision de validation globale de 88.34 % avec un score F1 de
84.36.
Mots clés : Connaissance, Fonction, Annotation fonctionnelle, Protéine,
séquence primaire, Apprentissage profond . . .
Abstract
Proteins are the essential functional building blocks in the cell, where knowledge
of their functions helps to understand various biological problems such as disease
mechanisms and the search for targeted drugs. Functional annotation of proteins
is a fundamental task in bioinformatics, which involves assigning a set of biological
functions to a protein based on its primary sequence or tertiary structure. Many
methods are available to predict protein functions from sequence-based characteris-
tics. However, apart from sequence, most characteristics are difficult to obtain or
are not available for many proteins. For this purpose we proposed a Deep Learning
architecture ”ImproveDeepSeq” to extract the characteristics hidden behind protein
sequences and predict their functions. Our deep learning model reaches an overall
validation accuracy of 88.34 % with an F1 score of 84.36 %.
Key words : Knowledge, Function, Functionnal annotation, Protein, Primary
sequence, Deep Learning . . .
jÊÓ
AKY«A Aê® KA
£ñK
. é ¯QªÖ Ï @ à
@ IJ
k , éJ
Êm Ì '@ ú¯ éJ
A B@
éJ
®J
£ñË@ HAJJ.ÊË@ ù
ë HA J
Kð Q.Ë@
Q¢JË@ ªK. ,½Ë X ©Óð . éJ
J
Ó @ AÔg @ éÊÊ É¿ Q
Öß úæË@
A
m Ì '@
ªK. ú
¯ , ÉÊË@ á«
HA J
Kð Q.Ë@ áÓ ú¯A¾Ë@ PY®Ë@ ½ÊÖß B AÖß.P ð
@ A
m Ì '@ Ñ¢ªÓ úΫ ÈñmÌ '@ Iª
àAJ
k B@
.
èAJJ
ÖÞ J
ÒªË@ ÕΪJÊË ú
æ
YJë h. XñÖß AJkQ¯@ , QªË@ @ YêË .AmÌ '@ è Yë úΫ ø
ñJm' ú
æË@
ñJ
. JË@ Y ¯ HA J
Kð Q. Ë@ ÉÊ Z@P ð éJ
® jÖ Ï @ A
m Ì '@ h @Q j JB ”Improvedeepseq”
.
ék PYK 88.34% AëPY¯ éJ Ê¿ ®m ' é ¯X úÍ@ AJK Am Ì '@ J ÒªË@ ÕΪJË @ h XñÖ
. .
.
. ß É
.Aê®KA£ñK.
. 84.36% ©ÊJ . K F1
hQåË@ , á
Kð Q. Ë@ é ®J
£ð
, á
Kð Q. Ë@ , ù
®J
£ñË@ , éK
ñJ
k éJ
KAÓñÊªÓ : éJ
kA J ®Ö Ï @ HAÒʾË@
g
. J
ÒªË@ ÕΪJË @ , ú
æ
A B@ ÉÊË@ , éJ J Ó B@
AÔ B@
Table des matières
Introduction générale 1
1 Rappels fondamentaux 4
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Contexte biologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Acide Désoxyribonucléique (ADN) . . . . . . . . . . . . . . . 4
1.2.2 Acide Ribonucléique (ARN) . . . . . . . . . . . . . . . . . . . 6
1.2.3 Protéine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.3.1 Synthèse protéique . . . . . . . . . . . . . . . . . . . 7
1.2.3.1.1 La transcription . . . . . . . . . . . . . . . . 8
1.2.3.1.2 La Traduction . . . . . . . . . . . . . . . . . 8
1.2.3.2 Structures des protéines . . . . . . . . . . . . . . . . 9
1.2.3.2.1 Structure primaire . . . . . . . . . . . . . . 9
1.2.3.2.2 Structure secondaire . . . . . . . . . . . . . 9
1.2.3.2.3 Structures tertiaire . . . . . . . . . . . . . . 9
1.2.3.2.4 Structure quaternaire . . . . . . . . . . . . . 10
1.2.3.3 Fonctions des protéines . . . . . . . . . . . . . . . . 11
1.3 Apprentissage automatique (AA) . . . . . . . . . . . . . . . . . . . . 14
1.3.1 Types d’apprentissage automatique . . . . . . . . . . . . . . . 15
i
Table des matières
ii
Table des matières
2.2.2.1.1.1 Background . . . . . . . . . . . . . . 36
2.2.2.1.1.2 Algorithme et concept de PseuAAC . 37
2.2.2.1.2 Position-specific scoring matrix (PSSM) . . 38
2.2.2.1.2.1 Construction de la matrice de poids
PWM . . . . . . . . . . . . . . . . . 38
2.2.2.2 Méthodes automatiques . . . . . . . . . . . . . . . . 41
2.3 Travaux déjà réalisés . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3.1 DeepSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3.1.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . 41
2.3.1.2 Résultats . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3.1.3 Avantages . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3.1.4 Inconvénients . . . . . . . . . . . . . . . . . . . . . . 43
2.3.2 DEEPred . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3.2.1 Préliminaires . . . . . . . . . . . . . . . . . . . . . . 43
2.3.2.2 CRED comme base . . . . . . . . . . . . . . . . . . . 44
2.3.2.3 Extension de CRED à DEEPred . . . . . . . . . . . 44
2.3.2.4 Elagage . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.3 DeepNF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.3.3.1 Avantages . . . . . . . . . . . . . . . . . . . . . . . . 45
2.3.3.2 Résultats . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.4 NetGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.5 ImproveDeepSeq . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
iii
Table des matières
4 Implémentation et expérimentation 69
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 Environnement de développement . . . . . . . . . . . . . . . . . . . . 69
4.2.1 Spécifications matérielles . . . . . . . . . . . . . . . . . . . . . 69
4.2.2 Spécifications logicielles . . . . . . . . . . . . . . . . . . . . . . 70
4.2.2.1 Python . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.2.2 Tensorflow/Keras . . . . . . . . . . . . . . . . . . . . 71
4.2.2.3 Tensorboard . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.2.4 Flask . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2.2.5 Autres bibliothèques utilisées . . . . . . . . . . . . . 73
4.3 Évaluation et résultats . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.3.1 Métriques d’évaluation . . . . . . . . . . . . . . . . . . . . . . 74
4.3.1.1 Le taux d’erreur . . . . . . . . . . . . . . . . . . . . 74
4.3.1.2 Matrice de confusion . . . . . . . . . . . . . . . . . . 74
4.3.1.3 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.1.4 Precision . . . . . . . . . . . . . . . . . . . . . . . . 76
iv
Table des matières
4.3.1.5 Recall . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.1.6 Fbeta-Score . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.2 Performances et évaluation . . . . . . . . . . . . . . . . . . . . 77
4.3.2.1 Interprétation des résultats de performances . . . . . 77
4.3.2.2 Étude comparative . . . . . . . . . . . . . . . . . . . 78
4.3.2.2.1 Étude comparative entre différents modèles 78
4.3.2.2.2 Étude comparative avec différents hyper-
paramètres . . . . . . . . . . . . . . . . . . 79
4.4 Fonctionnalités et interface . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.1 Accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.2 Fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.4.3 Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.5 Étude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Bibliographie 89
A Contexte biologique 98
A.1 Cellule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A.1.1 Les cellules eucaryotes . . . . . . . . . . . . . . . . . . . . . . 98
A.2 Gène . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
v
Table des figures
vi
Table des figures
vii
Table des figures
viii
Liste des tableaux
ix
Liste des équations
x
Liste des abréviations
2D 2 Dimentional
3D 3 Dimentional
A Adénine
AA Apprentissage Automatique
AAC Amino Acid Compostion
ADAM Adaptive Moment Estimation
ADN Acide DésoxyriboNucléique
AMD Advanced Micro Devices
ANN Artificial Neural Network
API Application Programming Interface
ARN Acide RiboNucléique
ARNm ARN messager
ATP Adénosine TriPhosphate
BatchNorm BatchNormalization
BiLSTM Bidirectionnal Long Short Term Memory
BLAST-KNN Basic Local Alignement Search Tool - K-Nearest Neighbors
BLASTP Basic Local Alignement Search Tool Protein
C Cytosine
CNN Convolutionnal Neural Network
CONV Convolution
ConvNet Convolution Network
xi
Liste des abréviations
xii
Liste des abréviations
RVB Rouge-Vert-Bleu
RWR Random Walk with Restart
SGD Stochastic Gradient Descent
T Thymine
U Uracile
UI User Interface
VRAM Video Random Access Memory
xiii
Introduction générale
Les protéines sont des macromolécules très complexes présentes dans tous les or-
ganismes vivants. Elles sont directement impliquées dans les processus chimiques
essentiels à la vie : elles jouent des rôles structurels et fonctionnels essentiels dans la
cellule où chaque protéine possède ses propres fonctions. Certaines protéines four-
nissent une structure et un soutien aux cellules, tandis que d’autres sont impliquées
dans la transmission de signaux (pour coordonner les processus biologiques entre les
cellules, les tissus et les organes), ou dans la défense du corps contre les envahisseurs
étrangers tels que les virus et les bactéries, ou dans la réalisation de milliers de
réactions chimiques pour aider les processus biologiques dans les cellules, comme la
lecture des informations génétiques stockées dans l’ADN pour former de nouvelles
molécules. L’identification précise de la fonction des protéines a des implications
dans une grande variété de domaines. Cette identification s’exprime par une anno-
tation de la séquence.
L’annotation de séquence décrit des régions ou des sites d’intérêt dans la séquence
protéique, tels que des sites de liaison (Bindings), des sites actifs enzymatiques, une
structure secondaire locale ou d’autres caractéristiques rapportées dans les références
citées[33].
Annoter correctement les fonctions des protéines aide donc grandement les êtres
humains à la découverte de nouvelles interventions thérapeutiques, la compréhension
de nouvelles maladies, la conception de leurs remèdes ainsi qu’à développer de nou-
velles méthodes ou produits pour contrôler et traiter des maladies comme les cancers.
Il existe deux approches principales pour l’annotation des fonctions protéiques :
les approches expérimentales et les approches bioinformatiques. L’approche
1
Introduction générale
expérimentale acquiert des connaissances sur la fonction des protéines à partir des
expériences biochimiques, génétiques ou structurales sur une protéine individuelle.
Bien que toutes les connaissances primaires sur la fonction des protéines proviennent
d’expériences, l’approche expérimentale est à faible débit en raison du coût élevé des
efforts expérimentaux et humains. D’une autre part, grâce aux progrès des nou-
velles technologies de séquençages, la vitesse d’apparition de nouvelle séquences
protéiques est devenu beaucoup plus rapide que celle de l’annotation des fonctions
des protéines, par conséquent le nombre de protéines non-annotées a explosé. Cela a
motivé le développement de techniques de calcul qui utilisent une variété de données
expérimentales à haut débit pour la prédiction de la fonction des protéines, telles
que les séquences protéiques et génomiques, les données d’expression génique, les
réseaux d’interaction des protéines et les profils phylogénétiques. Une autre raison
importante pour laquelle l’approche informatique est largement acceptée est que les
méthodes informatiques sont capables de prédire rapidement les fonctions de nom-
breuses protéines non annotées et d’offrir des connaissances approfondies sur les
fonctions des protéines.
Les approches informatiques présentent des avantages dans le traitement des
données séquentielles, et il est de plus en plus évident que la prédiction des fonctions
des protéines uniquement à partir de séquences primaires est efficace par rapport
aux méthodes expérimentales. De nombreuses approches informatiques ont été in-
troduites pour prédire les fonctions des protéines par des séquences primaires, et
parmi les meilleures l’apprentissage automatique et l’apprentissage profond (Deep
Learning).
Dans ce projet, nous étudions le problème de l’annotation des séquences
protéiques et nous proposons deux solutions basées sur sur le Deep Learning.
Nous proposons deux solutions basées sur le Deep Learning. Dans la première so-
lution nous exploitons les données d’un jeu de données de sept fonctions moléculaires
de liaison (DNA binding, ATP binding, metal ion binding, zinc ion binding, nucleic
acid binding, transcription factor activity et calcium ion binding). Afin de pouvoir
comparer nos résultats avec des travaux récents, nous avons conçu et implémenté
une seconde solution basée sur un réseau de neurones convolutionel multi-canaux
en parallèle. Cette solution étend les travaux proposés dans DeepSeq où nous avons
2
Introduction générale
3
Chapitre 1
Rappels fondamentaux
1.1 Introduction
Les récentes avancées des technologies de séquençage des bio-molécules ont
contri-bué à la génération de quantités colossales de séquences et de données biolo-
giques (de l’ordre de téraoctets). L’adaptation des méthodes d’analyses existantes et
le développ-ement des techniques modernes sont devenus nécessaires afin de mani-
puler, traiter et interpréter un volume important de données génomiques de nature
complexe et hétérogène. Plusieurs méthodes d’apprentissage automatique sont ap-
pliquées de plus en plus dans l’analyse de séquences biologiques. Ces algorithmes
ont montré qu’ils pouvaient donner des résultats très intéressants et sont de plus en
plus accessibles.
Par conséquent, nous abordons dans ce chapitre les notions de biologie et d’ap-
prentissage automatique utilisés tout au long de ce mémoire, ainsi le lecteur aura
un aperçu des bases indispensables à la compréhension du problème traité.
4
Chapitre 1 Rappels fondamentaux
L’ADN est une macromolécule très longue, formée de deux brins complémentaires
enroulés l’un autour de l’autre pour former une double hélice, ces deux brins donnent
la même information, un brin et son complément. Et elle est composée d’une succes-
sion répétitive de nucléotides composés eux-mêmes, dans l’ordre d’une base purique
ou pyrimidique, d’un sucre (Désoxyribose) et d’un acide phosphorique [63].
Les bases nucléiques sont de deux types : -les purines Adénine (notée A) et
Guanine (notée G) et les pyrimidines Thymine (notée T) et Cytosine (notée C).
Les deux brins d’ADN (Figure 1.1) interagissent entre eux par des liaisons hy-
drogènes qui ont des liaisons faibles, ces dernières se forment entre l’Adénine et la
Thymine et entre la Guanine et la Cytosine (3 liaisons pour G C et 2 liaisons pour
A T)[63]
5
Chapitre 1 Rappels fondamentaux
L’acide ribonucléique (ARN) est une molécule biologique présente chez pratique-
ment tous les êtres vivants, et aussi dans certains virus. L’ARN est une molécule
très proche chimiquement de l’ADN. Il est synthétisé dans les cellules à partir de
l’ADN, dont il est une copie. En effet, l’ADN portant l’information génétique reste
dans la cellule, c’est alors l’ARN messager (ARNm), qui est une copie conforme de
l’ADN qui sera l’intermédiaire entre le noyau qui contient les gènes et le cytoplasme
qui contient les ribosomes2 et d’autres organites.
L’ARN se présente sous forme d’une chaine de nucléotides formant un simple brin
où chaque nucléotide est constituée d’un ribose, d’un groupe phosphate et d’une base
nucléique. Il possède quatre bases azotées différentes : Adénine (notée A), Uracile
(notée U), Guanine (notée G), Cytosine (notée C). La Thymine présente dans l’ADN
est remplacée par l’Uracile, et la substitution du désoxyribose par un ribose rend
l’ARN chimiquement moins stable que l’ADN. Les propriétés d’appariement avec
l’Adénine restent les mêmes[25]. (Figure 1.2)
Les ARN ont généralement une forme circulaire (assurée par les liens hydrogènes
A et U et G et C), sauf les ARNm qui sont linéaires.
6
Chapitre 1 Rappels fondamentaux
1.2.3 Protéine
Les protéines sont les macromolécules les plus complexes chez les êtres vivants
et le support de la spécificité des espèces, ainsi qu’elles sont le premier constituant
de la cellule après l’eau. La protéine est une molécule biologique composée d’une
ou plusieurs chaines d’acides aminés liées entre elles par des liaisons peptidiques
(chaines polypeptidiques).
D’une protéine à une autre, l’ordre des séquences des acides aminés diffère. Cet
ordre détermine la forme tridimensionnelle de la protéine et dont sa fonction. La
protéine adopte de multiples formes et multiples fonctions et assure les principales
fonctions de la cellule. [36]
7
Chapitre 1 Rappels fondamentaux
1.2.3.1.1 La transcription
Le processus qui permet de produire une copie de l’ADN, c’est-à-dire l’ARN mes-
sager s’appelle la transcription. Cette dernière se fait dans le noyau où se trouve l’in-
formation génétique, en faisant intervenir des enzymes tels que l’ARN polymérase, et
des nucléotides.[60] La transcription passe principalement par les étapes suivantes :
Initiation, élongation et terminaison (Figure 1.3).
1.2.3.1.2 La Traduction
La traduction correspond au décodage de l’information portée par l’ARN mes-
sager en protéines. Dans ce cas, on passe du langage de nucléotides au langage des
acides aminés grâce au code génétique. La traduction est un processus au cours
duquel l’ARN messager est traduit en protéines au niveau des ribosomes qui se re-
groupent, formant ce que l’on appelle un polysome. (Figure 1.4) Le processus de
traduction à partir d’ARNm comprend trois étapes : Initiation, élongation et termi-
naison. [60]
8
Chapitre 1 Rappels fondamentaux
Représente la manière dont les acides aminés d’une chaı̂ne polypeptidique sont
reliés entre eux par liaisons covalentes. En précisant le nombre, la nature et surtout
l’ordre d’enchaı̂nement des acides aminés, ainsi le nombre et la position des éventuels
ponts disulfures. Les protéines adoptent de multiples structures :
9
Chapitre 1 Rappels fondamentaux
et les acides aminés) et les liaisons hydrophobes jouent un rôle important dans la
mise en forme de la triple structure de la protéine. Il existe une règle importante
que la protéine suit pour maintenir sa structure fonctionnelle liée à la localisation
des acides aminés hydrophiles à la surface de la protéine et dissimuler les amides
hydrophobes à l’intérieur.
10
Chapitre 1 Rappels fondamentaux
Dans le cadre de GO (Gene Ontology) voir la section 3.2 page 50, les propriétés des
protéines sont décrites selon trois axes :
• Fonction moléculaire : Les termes de fonction moléculaire décrivent des
activités qui se produisent au niveau moléculaire, comme la ”catalyse” ou le
”transport”. Des exemples de termes fonctionnels plus étroits sont l’activité
métal ion binding ou Zinc ion binding [16].
• Composant cellulaire : Cette ontologie est la contrepartie GO de l’ana-
tomie dans le cadre médical. Il vise à permettre aux biologistes de noter la
structure physique à laquelle un gène ou un produit génique est associé (qu’il
s’agisse du milieu intracellulaire ou de l’environnement extracellulaire) [34].
• Processus biologique : Un processus biologique est défini dans GO
comme : ”Un phénomène marqué par des changements qui conduisent à un
11
Chapitre 1 Rappels fondamentaux
12
Terme Définition Termes parents Catégorie ID
Interagissant de manière sélective et non co- is-a adenyl ribonucleotide
Chapitre 1
valente avec l’ATP, l’adénosine 5 ’triphos- binding is-a purine ribonu- Fonction
ATP binding GO : 0005524
phate, un coenzyme et un régulateur d’en- cleoside triphosphate bin- moléculaire
zyme universellement importants. ding
Interagir de manière sélective et non cova- Fonction
Metal ion binding is-a cation binding GO : 0046872
lente avec n’importe quel ion métallique moléculaire
Toute fonction moléculaire par laquelle
un produit génique interagit de manière Fonction
DNA binding is-a nucleic acid binding GO : 0003677
sélective et non covalente avec l’ADN (acide moléculaire
13
désoxyribonucléique)
Interagissant de manière sélective et non co- is-a transition metal ion Fonction
Zinc ion binding GO : 0008270
valente avec les ions zinc (Zn). binding moléculaire
is-a heterocyclic compound
Interagir de manière sélective et non cova- Fonction
Nucleic acid binding binding is-a organic cyclic GO : 0003676
lente avec n’importe quel acide nucléique. moléculaire
compound binding
14
Chapitre 1 Rappels fondamentaux
Les algorithmes d’apprentissage supervisé sont les plus couramment utilisés. Avec
ce modèle, l’ordinateur est fourni avec des exemples d’entrées qui sont étiquetés
avec les sorties souhaitées. Le but de cette méthode est que l’algorithme puisse
apprendre en comparant sa sortie réelle avec les sorties enseignées pour
trouver des erreurs et modifier le modèle en conséquence. L’apprentissage supervisé
utilise donc des modèles pour prédire les valeurs d’étiquettes sur des données non
étiquetées [31]. (Figure 1.6).
15
Chapitre 1 Rappels fondamentaux
Dans l’apprentissage non supervisé, les données sont non étiquetées, de sorte que
l’algorithme d’apprentissage trouve tout seul des points communs parmi ses données
d’entrée. L’apprentissage non supervisé utilise une approche plus indépendante, dans
laquelle un ordinateur apprend à identifier des processus et des modèles complexes
sans l’encadrement étroit et constant d’un humain [45] (Figure 1.7).
16
Chapitre 1 Rappels fondamentaux
17
Chapitre 1 Rappels fondamentaux
18
Chapitre 1 Rappels fondamentaux
L’architecture d’un neurone est illustrée dans la figure (Figure 1.11). Elle com-
porte les composants suivants :
19
Chapitre 1 Rappels fondamentaux
W0 represente le biais : Le biais est une mesure de la facilité avec laquelle le per-
ceptron produit un 1. En d’autres termes, le biais est une mesure de la facilité avec
laquelle le perceptron se déclenche[85]. Grâces aux biais, le réseau essaye de nou-
velles interprétations ou comportements.
Les Wi sont les poids associes a chaque neurone. Les poids sur les connexions dans un
reseau de neurones sont des coefficients qui modifient (amplifient ou minimisent) le
signal entrant dans un neurone donne du reseau. Ils sont estimes pendant l’apprentis-
sage (Figure 1.11). Un perceptron est capable d’approximer les fonctions booléennes
telles que : AND, OR, NAND, NOR mais pas le XOR. Pour pouvoir approximer le
XOR et le reste de fonctions non linéaire, nous construisons un ensemble de percep-
trons appelé communément MLP ou simplement un réseau de neurones [75]
20
Chapitre 1 Rappels fondamentaux
f (x) = w × x (1.2)
e−net − enet
O(net) = (1.3)
e−net + enet
21
Chapitre 1 Rappels fondamentaux
• Sigmoı̈de :
1
O(net) = (1.4)
1 + e−net
prend une entrée réelle et l’a réduit entre 0 et 1. Cette sortie sera une valeur
continue comprise entre 0 et 1.
• SoftMax :
ezj
O(Z)j = Pk (1.5)
zk
k=1 e
j ∈ {1, . . . , K}
22
Chapitre 1 Rappels fondamentaux
Les réseaux de neurones convolutionnels sont a ce jour les modèles les plus per-
formants pour classer des images. Désignés par l’acronyme CNN, de l’anglais Convo-
lutional Neural Network, ils sont un type de réseaux de neurones spécialisés pour
le traitement de données ayant une topologie semblable a une grille. Les CNN sont
avérés très efficaces dans l’identification des visages, objets, panneaux de circulation
et auto-conduite des voitures [62]. Ainsi que la reconnaissance et la classification
d’images et vidéos. Récemment, les CNN ont été efficaces dans plusieurs tâches de
traitement du langage naturel (telles que la classification des phrases) Les réseaux de
neurones convolutionnels sont basés sur le perceptron multicouche (MLP), leur fonc-
tionnement est inspire par les processus biologiques, plus précisément, le comporte-
ment du cortex visuel des vertèbres. Bien qu’efficaces pour le traitement d’images,
les MLP ont beaucoup de mal a gérer des images de grande taille, ce qui est du a la
croissance exponentielle du nombre de connexions avec la taille de l’image.
Les réseaux de neurones ordinaires ne s’adaptent pas bien à toutes sortes
d’images. Par exemple si une image est uniquement de taille 32x32x3 (32 larges,
32 hautes, 3 canaux de couleur), donc un seul neurone entièrement connecté dans
une première couche cachée d’un réseau neuronal normal aurait 32*32*3=3072
poids. Cette quantité semble toujours gérable, mais il est clair que cette structure
entièrement connectée ne s’adapte pas aux images plus grandes. Par exemple, une
image de taille plus respectable, par ex. 200x200x3, conduirait à des neurones qui
ont 200*200*3=120 000 poids. De plus, nous voudrions presque certainement avoir
plusieurs de ces neurones, donc les paramètres s’additionneraient rapidement ! De
toute évidence, cette connectivité complète est un gaspillage[5]
Une architecture CNN est formée par un empilement de couches de traitement
indépendantes :
• La couche de convolution (CONV) qui traite les données d’un champ
récepteur.
• La couche de pooling (POOL), qui permet de compresser l’information en
réduisant la taille de l’image intermédiaire.
• La couche de correction (ReLU), souvent appelée par abus ’ReLU’ en
référence a la fonction d’activation (Unité de rectification linéaire).
23
Chapitre 1 Rappels fondamentaux
Ce type de couche est souvent placé entre deux couches de convolution. Sem-
blable à la couche convolutionnelle, la couche de regroupement est responsable de
24
Chapitre 1 Rappels fondamentaux
Figure 1.14 – Opération de convolution sur une matrice d’image MxNx3 avec un
noyau 3x3x3 [4]
ReLU (Rectified Linear Units) désigne la fonction réelle non-linéaire définie par :
Cette fonction force les neurones a retourner des valeurs positives. La couche de
correction ReLU remplace donc toutes les valeurs négatives reçues en entrées par
des zéros. Elle joue le rôle de fonction d’activation.
25
Chapitre 1 Rappels fondamentaux
26
Chapitre 1 Rappels fondamentaux
le début.
Un réseau de neurones récurrent est un algorithme d’apprentissage en profon-
deur conçu pour gérer une variété de tâches informatiques complexes telles que la
classification d’objets et la détection de la parole. En cela, ils sont plus proches du
vrai fonctionnement du système nerveux, qui n’est pas à sens unique. Ces réseaux
possèdent des connexions récurrentes au sens où elles conservent des informations
en mémoire : ils peuvent prendre en compte à un instant t un certain nombre d’états
passés [92]
Les RNN sont conçus pour gérer une séquence d’événements qui se produisent
successivement, la compréhension de chaque événement étant basée sur les informa-
tions des événements précédents. Ce transfert d’information à double sens rend leur
entrainement beaucoup plus compliqué, et ce n’est que récemment que des méthodes
efficaces ont été mises au point comme les LSTM (Long Short Term Memory) [50]
Les RNN pourraient être appliqués à de nombreux cas d’utilisation réels tels
que la prédiction de stock et la détection vocale améliorée. Cependant, bien qu’ils
semblent prometteurs, les RNN sont rarement utilisés pour des scénarios réels en
raison du problème de la disparition du gradient (gradient vanishing problem)
27
Chapitre 1 Rappels fondamentaux
C’est l’un des défis les plus importants pour la performance des RNN. En pra-
tique, l’architecture des RNN restreint ses capacités de mémoire à long terme, qui
se limitent à ne se souvenir que de quelques séquences à la fois. Par conséquent,
la mémoire des RNN n’est utile que pour des séquences plus courtes et de courtes
périodes.
1.6.2.3 Bi-LSTM
28
Chapitre 1 Rappels fondamentaux
un réseau et dans l’ordre de temps inverse pour un autre. Les sorties des deux réseaux
sont généralement concaténées à chaque pas de temps, bien qu’il existe d’autres op-
tions, par exemple addition. (Figure 1.18).
29
Chapitre 1 Rappels fondamentaux
Figure 1.18 – Structure de base du réseau BLSTM. Les réseaux LSTM en bas
indiquent la fonction avancée. Les réseaux ci-dessus sont utilisés pour le backward.
Les deux réseaux se connectent à une couche d’activation commune pour produire
des sorties. [2]
1.7 Conclusion
L’IA et l’AA sont l’un des principaux axes de la bio-informatique. Il était
nécessaire de découvrir quelques notions biologiques et d’apprendre les principes
d’intelligence artificielle et d’apprentissage automatique et savoir comment les iden-
tifier dans un contexte biologique.
Nous allons présenter par la suite l’un des fameux défis posés en bio-informatique
et celui qui est la prédiction de la fonction de protéine, ainsi que les efforts déployés
pour faire face à ce problème.
30
Chapitre 2
L’annotation fonctionnelle par
l’apprentissage automatique
2.1 Introduction
Les protéines sont l’élément essentiel fonctionnel dans la cellule chez tous les êtres
vivants, elles ont de nombreuses fonctions. La prédiction de la fonction des protéines
est l’une des principales tâches de la bioinformatique qui peut aider dans un large
éventail de problèmes biologiques tels que la compréhension des mécanismes de la
maladie ou la recherche de cibles médicamenteuses.
Ce chapitre est consacré à la problématique posée dans ce contexte et l’état
de l’art. Dans le premier volet, nous allons introduire notre problème concernant
l’annotation fonctionnelle des séquences génomiques. Ensuite, nous passerons aux
travaux déjà réalisés à ce stade.
2.2 Problématique
Les protéines sont les éléments fonctionnels essentiels dans la cellule. L’annota-
tion fonctionnelle des protéines est une tâche très importante en Bio-Informatique
qui consiste à assigner à chaque protéine un ensemble de fonctions biologiques. Les
nouvelles techniques et travaux de séquençage ont contribué à l’apparition et l’ex-
plosion du nombre de séquences protéiques, malheureusement, un nombre extra-
ordinaire de protéines restent non caractérisées car elles ont des informations de
31
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
support très limitées disponibles qui peuvent avoir été utiles dans leur annotation
(Figure 2.1).
32
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
substantielle de séquences (ligne orange). (b) Même avec des annotations déduites
électroniquement, plus de 80% des séquences de la version d’UniProtKB 2015 01
n’ont pas d’attributions pour au moins une des sous-ontologies GO de fonction
moléculaire, de processus biologique ou de composant cellulaire. Les graphiques et
les statistiques sont basés sur la première publication de chaque année[68]
La seule information disponible pour ces nouvelles protéines est leurs séquences
d’acides aminés. Ainsi, l’annotation de telles protéines peut être effectuée en utili-
sant uniquement des informations de séquence, par exemple par homologie. D’autre
part, l’homologie de séquence est confrontée à deux défis majeurs en termes de son
implication pour le transfert d’annotations. Premièrement, toutes les protéines non
caractérisées n’ont pas d’homologie vérifiée expérimentalement, limitant ainsi son
application. Deuxièmement, une similarité plus élevée de séquences ne garantit pas
toujours la même fonction, c’est-à-dire qu’une petite perturbation des informations
de séquence peut forcer des changements drastiques de fonction. En d’autres termes,
deux séquences ayant, disons, Par exemple, une similitude de séquence de 99% peut
présenter des fonctions différentes[91], en raison de ces deux défis, l’annotation de
protéines non caractérisées avec des informations biologiques rares est toujours un
défi de recherche ouvert et il existe un besoin urgent d’algorithmes qui annotent avec
précision les protéines non caractérisées avec des informations de soutien rares.
33
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
fier dans la séquence protéique prédite des motifs 3 d’acides aminés caractéristiques
de certaines classes ou familles de protéines (kinases, protéases ...).
L’annotation fonctionnelle des protéines consiste à analyser les séquences
protéiques de fonction inconnue et extraire l’information biologique cachée derrière
ces séquences afin de prédire leurs fonctions.
Figure 2.3 – Les techniques et les approches informatiques de prédiction des fonc-
tions des protéines[1]
34
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
L’une des tâches les plus importante dans le processus de prédiction de la fonction
est l’extraction des caractéristiques des séquences. Cette tâche peut s’effectuer ma-
nuellement par le “Data Scientist” ou automatiquement “Deep Learning”. Plusieurs
techniques et algorithmes ont été proposés dans ce stade. Ces méthodes représentent
les séquences en entrée par différents formats.
Les techniques d’extraction des caractéristiques peuvent conduire à améliorer la
35
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
2.2.2.1.1.1 Background
Pour la prédiction de la fonction des protéines, deux sortes de modèle existent :
modèles séquentielles et modèles discrets tels que PseuAAC. La séquence entière
d’acides aminés est la représentation la plus typique de sa protéine. Parmi les
36
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
où :
• fi (i = 1, 2, . . . , 20) : les fréquences normalisées des 20 acides aminés.
• τj : le j-ème facteurs de corrélation de la séquence.
• ω : le facteur de poids.
Avec :
L−k
1 X
τk = Ji,i+k , (k < L) (2.3)
L − k i=1
37
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
Et :
Γ
1 Xh i2
Ji,i+k = Φ (R ) − Φq (Ri ) (2.4)
Γ q=1 q i+k
Dans le concept de “Chou” (Γ = 3), les trois fonctions Φ1 (Ri ) , Φ2 (Ri ) et Φ3 (Ri )
sont respectivement ”hydrophobicité”, “hydrophilie” et “masse de la chaı̂ne latérale”
des acides aminés. L’équation précédente est l’une parmi divers modes de dérivation
des facteurs de corrélation dans le PseuAAC.
Le PseuAAC peut être utilisé pour refléter toutes les caractéristiques souhaitées
selon les cibles de la recherche, y compris les caractéristiques essentielles pour
améliorer la qualité de prédiction [42]
38
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
P F Mk,j
P P Mk,j = (2.6)
N
P P Mk,j
P W Mk,j = log2 ( ) (2.8)
bk
Avec :
• bk : modèle du background
1
• bk = |k|
39
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
S1 GAGGTAAAC
S2 TCCGTAAGT
S3 CAGGTTGGA
S4 ACAGTCAGT
S5 TAGGTCATT
S6 TAGGTACTG
S7 ATGGTAACT
S8 CAGGTATAC
S9 TGTGTGAGT
S10 AAGGTAAGT
3 6 1 0 0 6 7 2 1
2 2 1 0 0 2 1 1 2
1 1 7 10 0 1 1 5 1
4 1 1 0 10 1 1 2 6
40
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
2.3.1 DeepSeq
DeepSeq est une nouvelle architecture d’apprentissage profond qui est capable
d’extraire automatiquement les caractéristiques représentatives depuis la séquence
protéique en entrée sans besoin d’un expert humain. Elle peut extraire depuis la
séquence protéique entrée des caractéristiques et des informations significatives qui
ensuite vont être utilisées pour résoudre une myriade de problèmes complexes sans
intervention humaine[10]
2.3.1.1 Architecture
41
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
42
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
2.3.1.2 Résultats
2.3.1.3 Avantages
2.3.1.4 Inconvénients
2.3.2 DEEPred
DEEPred (Deep Neural Network Rule Extraction via Decision tree induction),
c’est un algorithme capable de surmonter les lacunes de la plupart des algorithmes
de pointe : DEEPred est applicable aux DNN (deep neural networks). Étant donné
que DEEPred est une approche de décomposition, contrairement aux méthodes
pédagogiques, l’algorithme est capable d’extraire facilement des fonctionnalités ca-
chées d’un DNN. DeepRED est basé sur CRED (Continuous / discrete Rule Extrac-
tor via Decision tree induction), CRED utilise des arbres de décision pour décrire
le comportement d’un NN en fonction des unités dans sa couche cachée. Dans un
deuxième temps, il construit de nouveaux arbres de décision pour décrire les points
de partage des premiers arbres de décision. Ensuite, les règles sont extraites et fu-
sionnées. Cet algorithme passe par 4 étapes :
2.3.2.1 Préliminaires
43
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
représente les valeurs d’entrée d’un NN comme i = i1 , ..., in et les valeurs de sortie
comme O = O1 , ..., 0u , une pour chaque classe possible. Les couches cachées sont
abrégées en hi ∈ {h1 , ..., hk } tandis que la couche cachée hi se compose des neurones
hi,1 , ..., hi,Hi (dans le cas d’un NN à couche cachée unique, les neurones cachés sont
écrits comme hi , ..., hH ). Pour plus de commodité, on définit h0 = i et hk+1 = 0 et
laissons hi (x) désigner les valeurs de couche spécifiques pour l’instance d’entrée x.
DeepRED produit des ensembles de règles intermédiaires Ra → b qui incluent des
règles qui décrivent la couche (b) au moyen de termes basés sur la couche (a) [95]
Comme mentionné précédemment, DeepRED est basé sur CRED. Dans une
première étape, l’algorithme d’origine utilise un autre algorithme pour transformer
chaque unité de sortie d’un NN (avec une couche cachée) en arbre de décision. Les
nœuds internes d’un tel arbre sont des tests sur les valeurs des unités de la couche
cachée. Ensuite, des règles intermédiaires sont extraites directement de ces arbres.
Ensuite, pour chaque terme utilisé dans ces règles, un autre arbre de décision est
créé en utilisant des points de partage sur la couche d’entrée du NN[95]
2.3.2.4 Elagage
Une façon de faciliter le processus d’extraction des règles consiste à tailler les
composants NN qui peuvent être considérés comme moins importants pour la clas-
sification. Il procède en testant les performances du NN tout en ignorant les entrées
individuelles. Les entrées qui ne produisent pas de performances de classification
acceptables sont élaguées [95]
44
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
2.3.3 DeepNF
2.3.3.1 Avantages
45
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
2.3.3.2 Résultats
2.3.4 NetGO
NetGO, proposée par l’équipe de GOLabeler, elle est basée sur la méthode GO-
Labeler et incorpore des quantités massives d’informations de réseau d’interaction
protéine-protéine (PPI) dans le framework LTR (learning to rank). En comparant
avec d’autres méthodes, elle a atteint une amélioration significative des performances
de prédiction de la fonction des protéines [76]. L’équipe GOLabeler a développé
un système intégré, qui obtient des fonctionnalités de plusieurs outils ou méthodes
différentes : BLASTP, InterproScan, NCBI Taxonomy, NucPred, NetAcet, PredGPI
et Amino Acid Index, puis alimente respectivement toutes les fonctionnalités dans
deux classificateurs basés sur un réseau de neurones et forêt aléatoire et finalement
combiné le classificateur NN (Neural Network) et le classificateur RF (Random Fo-
rest) pour obtenir les meilleures performances de prédiction[65] NetGO fournit des
46
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
idées sur la façon d’intégrer des fonctionnalités basées sur différentes sources. Plus
précisément, NetGO intègre cinq types différents de preuves basées sur des séquences
et des informations de réseau massives dans le cadre d’apprentissage pour classer
LTR pour prédire la fonction des protéines.
La méthode NetGo passe par 3 étapes principales :
• Étape 1 : Générer des termes GO candidats étant donné une protéine de
requête.
• Étape 2 : Générer des fonctionnalités pour classer les termes GO.
• Étape 3 : Classer les termes GO en apprenant à classer LTR.
Lors des tests, étant donné la séquence d’une protéine de requête, les termes GO
candidats sont générés à partir de six composants (Naive, BLAST-KNN, Net-KNN,
DeepGO, GOLabeler, NetGO). Parmi ces six composants, cinq composants ont été
initialement développés par l’équipe de GOLabeler (ils proviennent donc d’informa-
tions de séquence), tandis que le reste, qui est Net-KNN, provient d’informations
réseau et a été développé récemment dans cette étude[94]. Chaque terme GO can-
didat reçoit des scores de prédiction des six composantes, résultant en un vecteur
caractéristique de longueur six. Ensuite, les termes GO candidats, c’est-à-dire les
vecteurs de caractéristiques, sont l’entrée dans le modèle d’apprentissage au classe-
ment LTR, qui est également déjà formé à l’aide de données d’apprentissage. Enfin,
une liste classée des termes GO est renvoyée en tant que sortie finale de NetGO.
2.3.5 ImproveDeepSeq
Nous proposons deux solutions basées sur le Deep Learning. Dans la première so-
lution nous exploitons les données d’un jeu de données de sept fonctions moléculaires
de liaison (DNA binding, ATP binding, metal ion binding, zinc ion binding, nucleic
acid binding, transcription factor activity et calcium ion binding). Afin de pouvoir
comparer nos résultats avec des travaux récents, nous avons conçu et implémenté
une seconde solution basée sur un réseau de neurones convolutionel multi-canaux en
parallèle. Cette solution étend les travaux proposés dans DeepSeq où nous avons uti-
lisé le même jeu de données de cinq fonctions moléculaires de liaison mais avec une
autre architecture ”ImporoveDeepSeq”. Cette solution sera étudié dans le prochain
chapitre (Chapitre 3).
47
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique
2.4 Conclusion
Après la présentation abstraite et la découvertes des différentes méthodes et
techniques de prédiction de fonctions des protéines, nous allons proposer dans le
prochain chapitre une application mise en oeuvre pour la prédiction de fonctions de
protéines en développant un modèle d’apprentissage profond “ImproveDeepSeq”.
48
Chapitre 3
Prédiction fonctionnelle par
ImproveDeepSeq
3.1 Introduction
Les protéines sont des constituants essentiels présents dans toutes les cellules
vivantes et servent à de multiples et divers rôles, la compréhension profonde de
ses fonctions implique l’intervention des travaux d’annotation fonctionnelle afin de
décrire les régions ou les sites d’intérêt dans la séquence protéique, tels que des sites
de liaison (Bindings). Ces travaux d’annotation ont subi un superbe succès qui n’a
jamais été vu à cause des techniques de l’IA et d’apprentissage automatique dont
l’apprentissage profond.
Dans ce chapitre, nous allons présenter le jeu de données et étudier en détails les
différents traitements effectués. Ensuite nous aborderons les différentes expérimenta-
tions dans ce contexte, ainsi que notre contribution en comparant les résultats ac-
complis.
49
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
pathogènes et d’autres petits composés, etc.). Parmi les divers schémas proposés
pour normaliser le concept de fonction protéique, nous sélectionnons le schéma de
classification Gene Ontology (GO).
50
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
ment utilisé des espèces d’Homo sapiens 1 . Nous sélectionnons cinq classes cibles
de l’ontologie génétique les plus fréquentes, à savoir la classe ATP binding (GO :
0005524), Metal ion binding (GO : 0046872), DNA binding (GO : 0003677), Zinc
ion binding (GO : 0008270) et la classe Nucleic acid binding (GO : 0003676) pour
la formation de notre modèle (Figure 3.2).
Les modèles d’apprentissage automatique dépendent des données. Sans une base
de données d’entraı̂nement de haute qualité, même les algorithmes les plus perfor-
mants peuvent être rendus inutiles. Dans notre travail, nous avons utilisé un jeu de
données composé de deux fichiers, le premier fichier contient 20124 instances, chaque
instance est composée de :
• Un identifiant unique alphanumérique de protéine.
• La séquence protéique correspondante.
Le deuxième fichier contient des identificateurs des protéines avec leurs fonc-
tions correspondantes sous forme de termes d’ontologie génétiques GO (peut être
une seule fonction ou plus). Les deux fichiers ont l’identifiant de protéine en com-
mun(Figure 3.3).
1. Home sapien est une espèce de primates originaire d’Afrique qui s’est aujourd’hui répandue
et naturalisée sur l’ensemble de la planète hormis l’Antarctique.[19]
51
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
52
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
Cette tâche est nécessaire pour notre étude, où il s’agit d’éliminer les attributs
inutiles afin d’améliorer les performances. Notre modèle prend en entrée seulement
les séquences de protéines et ses fonctions comme sorties désirées, et donc toutes
autres informations vont êtres ignorées.
Une autre opération que nous avons inclus dans cette tâche est représentée à
l’élimination des séquences qui contiennent plus de 2000 acides aminés afin de boos-
ter l’apprentissage et réduire le temps.
Pour l’encodage des données d’entrée, nous avons utilisé l’encodage “Integer”.
L’encodage “Integer” c’est une sorte de codage des variables de type catégorique
en type numérique sous forme d’indice de chaque acide aminé dans l’ensemble des
acides aminés(Figure 3.4).
53
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
Après cet encodage, les séquences de taille inférieure à 2000 sont rembourrées
pour qu’elles soient de même longueur(Figure 3.5).
54
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
Comme données de sortie, nous avons 5 labels (fonctions désirées), pour cela
nous avons utilisé l’encodage “OneHot” qui est également une sorte de codage des
variables de type catégorique(Figure 3.6). Cette algorithme fournit un vecteur pro-
babiliste de fonctions, les hautes valeurs de probabilité désignent que la protéine
admet les fonctions codées par l’indice de ces probabilités. Puisque nous avons 5
labels, chaque bit est réservé à un seul label.
Figure 3.6 – Encodage des labels avec “OneHot Encoding” (cas d’un seul label).
Cet encodage est souvent utilisé pour encoder la sortie des problèmes de clas-
sification multi-classes, mais il est aussi valable pour la classification multi-labels
(Figure 3.7).
55
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
Figure 3.7 – Encodage des labels avec “OneHot Encoding” (cas de plusieurs labels).
Il est très important de passer par toutes les étapes précédentes pour construire
le jeu de données final nécessaire avant de commencer l’apprentissage. La figure
suivante (Figure 3.8) illustre le processus de pré-traitement effectué sur les données
collectées.
56
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
OneHot encoding est une méthode de prolongement lexical qui consiste à projeter
les entrées sur un espace vectoriel discret.
Word Embedding est une autre méthode de prolongement lexical. Elle consiste
cependant à projeter les entrées sur une espace vectoriel continu. Cette technique
permet de représenter chaque acide aminé par un vecteur de poids entraı̂nable de
longueur de 23. Embedding layer est très utile, car elle peut réduire la dimensionna-
lité des variables catégorielles et représenter de manière significative les catégories
dans l’espace transformé.
3.4.2.1 CNN
57
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
ConvNet-1 ConvNet-2
58
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
59
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
60
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
3.4.2.2 CNN-BiLSTM
61
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
62
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
63
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
64
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
1
σ(net) = (3.1)
1 + exp −net
65
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
N
1 X
HT (O) = − Ti × log(Oi ) + (1 − Ti ) × log(1 − Oi )[57] (3.2)
N i=1
66
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
67
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq
3.5 Conclusion
Dans ce chapitre nous avons vu les différentes tâches de pré-traitement des
données, l’architecture conçues ainsi que celle du “ImproveDeepSeq” que nous avons
proposé ainsi que les divers hyperparamètres de ce dernier.
Dans le chapitre suivant, nous allons aborder les grands axes de la réalisation
de notre application et les spécifications matériels et logiciels requis dans le
développement de notre application. Nous allons ainsi évaluer notre modèle pro-
posé et développer une IHM afin de mieux exploiter la solution étudiée.
68
Chapitre 4
Implémentation et expérimentation
4.1 Introduction
Comme nous avons vu précédemment notre solution et son principe de fonction-
nement, nous allons présenter dans ce chapitre l’angle de vision de notre solution.
Nous présenterons les divers outils et matériels optés afin d’implémenter la solution.
Ensuite nous introduisons les testes pour évaluer l’approche développée.
La puissance de calcule est un facteur crucial pour l’accélération ainsi que pour
la précision. Ceci nécessite l’intervention des architecture parallèle (CUDA, OpenCl,
. . . ) et les GPU (NVIDIA, AMD, . . . ). C’est une raison pour laquelle, nous avons
opté pour la plateforme Google Colaboratory (Colab).
Google Colab : c’est une plateforme gratuite et open source introduite par
Google, destinée aux développeurs des applications en sciences de données en général
et des applications d’apprentissage automatique en particulier. Colab offre la possi-
69
Chapitre 4 Implémentation et expérimentation
bilité d’écrire, et d’exécuter du code python sans aucune configuration requise ainsi
qu’une gestion facile de mise en oeuvre.
Composante information
4.2.2.1 Python
70
Chapitre 4 Implémentation et expérimentation
4.2.2.2 Tensorflow/Keras
4.2.2.3 Tensorboard
71
Chapitre 4 Implémentation et expérimentation
4.2.2.4 Flask
Flask est un léger micro-framework pour Python. Il nous permet de créer des
applications Web ainsi que des API assez rapidement et facilement [15].
72
Chapitre 4 Implémentation et expérimentation
73
Chapitre 4 Implémentation et expérimentation
74
Chapitre 4 Implémentation et expérimentation
4.3.1.3 Accuracy
N
T
1 X Yi H(xi )
Accuracy, A = S (4.1)
N i=1 Yi H(xi )
75
Chapitre 4 Implémentation et expérimentation
N
1 X TP + TN
Accuracy, A = (4.2)
N i=1 T P + T N + F P + F N
4.3.1.4 Precision
N
T
1 X Yi H([xi = 1])
P recision, P = (4.3)
N i=1 H(xi )
N
1 X TP
P recision, P = (4.4)
N i=1 T P + F P
4.3.1.5 Recall
C’est une métrique d’évaluation qui signifie le nombre de toutes prédictions po-
sitives correctes et les prédictions positives correctes faites à partir de toutes les
prédictions positives qui auraient pu être faites. La précision est définie par :
N
T
1 X Yi H([xi = 1])
Recall, R = (4.5)
N i=1 Yi
N
1 X TP
Recall, R = (4.6)
N i=1 T P + F N
4.3.1.6 Fbeta-Score
76
Chapitre 4 Implémentation et expérimentation
N
1 X 2 × Recall × P recision
F beta, F 1 = (4.7)
N i=1 Recall + P recision
N
1 X 2 × TP
F beta, F 1 = (4.8)
N i=1 2 × T P + F P + F N
77
Chapitre 4 Implémentation et expérimentation
Notre modèle ImproveDeepSeq est le fruit d’un travail qui est passé par plusieurs
expérimentations, certaines étaient futiles et n’ont pas abouti à l’objectif visé. Des
études comparatives ont été faites afin de ressortir l’efficacité de ce fruit.
78
Chapitre 4 Implémentation et expérimentation
4.4.1 Accueil
79
Chapitre 4 Implémentation et expérimentation
4.4.2 Fonctionnalités
Cette interface (Figure 4.9) nous permet de prédire directement à partir d’une
séquence protéique et d’obtenir les résultats.
80
Chapitre 4 Implémentation et expérimentation
4.4.3 Visualisation
Cette interface nous permet d’afficher les résultats lorsque nous choisissons une
prédiction d’une seule séquence(Figure 4.11).
81
Chapitre 4 Implémentation et expérimentation
Lorsque nous pointons le curseur sur une ligne, nous obtenons plus de détails et
de statistiques sur les résultats (Figure 4.13) ( le nom de la base de données, le nom
de la protéine, les fonctions moléculaires...)
82
Chapitre 4 Implémentation et expérimentation
avec précision les catégories GO hétérogènes. Nous avons choisi trois protéines
aléatoires qui sont : Cytidine and dCMP deaminasedomain-containing pro-
tein 1, Zinc finger protein castor homo-log 1 et 2-5 oligoadénylate syn-
thase 1. Ces trois protéines ont des annotations complètement révisée dans la base
de données Swissprot/Uniprot, avec des fonctions vérifiées expérimentalement. L’im-
plication de ces protéines dans plusieurs catégories GO rend la prédiction de leurs
fonctions une tâche difficile, ce qui en fait des candidats appropriés pour démontrer
le fonctionnement de notre modèle. Le tableau suivant montre les trois protéines
dont nous avons déjà leur annotation et en la comparant à la prédiction résultante
en utilisant notre modèle, nous remarquons de vraies prédictions positives pour les
trois protéines.
Numéro
Fonctions
d’acces- Protéine Longueur Prédiction
moléculaires
sion
83
Chapitre 4 Implémentation et expérimentation
84
Chapitre 4 Implémentation et expérimentation
85
Chapitre 4 Implémentation et expérimentation
4.6 Conclusion
Dans ce chapitre, nous avons vu les divers outils matériels et logiciels nécessaire
pour le développement de notre application ainsi que les différentes métriques
d’évaluations des résultats et performances obtenues.
Nous avons constaté que notre modèle “ImproveDeepSeq” a achevé un succès en
prédiction d’exactitude de 88.34 % et un Fbeta-Score de 84.36 % et jusqu’à cinq
fonctions biologiques.
86
Conclusion générale et perspectives
87
Conclusion générale et perspectives
Ainsi, nous avons montré que ImproveDeepSeq peut extraire des informations si-
gnificatives de la séquence d’entrée qui peuvent ensuite être utilisées pour résoudre
une myriade de problèmes complexes sans intervention humaine. A travers l’ap-
plication que nous avons développé, nous avons mis à contribution l’ensemble des
connaissance acquises durant notre formation au sein de l’université. Ce projet nous
a permis aussi d’acquérir et d’approfondir de nouveaux concepts dans le domaine
de la bio-informatique.
Nous souhaitons que les efforts futurs dans l’application de ImproveDeepSeq et de ses
variantes conduiront à des succès révolutionnaires dans le domaine de la bioinforma-
tique, tout comme l’apprentissage en profondeur a révolutionné d’autres domaines
tels que la vision par ordinateur, le traitement du langage naturel et la traduction
automatique. Nous souhaitons ajouter des nouvelles fonctionnalités telles que la
possibilité d’introduire des séquences de protéines de longueurs plus grandes, ainsi
étendre notre étude en s’intéressant aux interactions entre Protéines-Protéines et
Protéines-ARN.
88
Bibliographie
[4] A comprehensive guide to convolutional neural networks — the eli5 way, dispo-
nible sur. https://towardsdatascience.com/a-comprehensive-guide-to-
convolutional-neural-networks-the-eli5-way-3bd2b1164a53. Consulté
le 07/04/2020.
[7] Deep learning long short-term memory (lstm) networks : What you should
remember, disponible sur. https://missinglink.ai/guides/neural-
89
Bibliographie
network-concepts/deep-learning-long-short-term-memory-lstm-
networks-remember/. Consulté le 02/04/2020.
[12] Découvrez les différentes couches d’un CNN, disponible sur. https:
//openclassrooms.com/fr/courses/4470531-classez-et-segmentez-
des-donnees-visuelles/5083336-decouvrez-les-differentes-couches-
dun-cnn. Consulté le 07/04/2020.
[14] Exploitation of peptide motif sequences and their use in nanobiotechnology, dis-
ponible sur. https://www.sciencedirect.com/science/article/abs/pii/
S0958166910001278. consulté le 25/08/2020.
90
Bibliographie
[18] Getting your hands dirty with tensorflow 2.0 and keras api, disponible sur.
https://morioh.com/p/e793973a007e. consulté le 05/06/2020.
91
Bibliographie
92
Bibliographie
[44] Quest-ce-que l’arn comment l’arn est-il produit, disponible sur. https://fr.
quora.com/Quest-ce-que-lARN-Comment-lARN-est-il-produit. Consulté
le 21/05/2020.
93
Bibliographie
94
Bibliographie
[65] Yideng Cai, Jiacheng Wang, and Lei Deng. Sdn2go : An integrated deep lear-
ning model for protein function prediction. Frontiers in Bioengineering and
Biotechnology, 8, 2020.
[66] Shaosheng Cao, Wei Lu, and Qiongkai Xu. Deep neural networks for learning
graph representations. In AAAI, 2016.
[67] Kuo-Chen Chou. Pseudo amino acid composition and its applications in bioin-
formatics, proteomics and system biology. Current Proteomics - CURR PRO-
TEOMICS, 6, 12 2009.
[68] Domenico Cozzetto and David Jones. Computational Methods for Annotation
Transfers from Sequence, volume 1446, pages 55–67. 11 2017.
[71] Pu-Feng Du, Wei Zhao, Yang-Yang Miao, Le-Yi Wei, and Likun Wang. Ul-
trapse : A universal and extensible software platform for representing biological
sequences. International journal of molecular sciences, Nov 2017.
[72] Pu-Feng Du, Wei Zhao, Yang-Yang Miao, Leyi Wei, and Likun Wang. Ul-
trapse : A universal and extensible software platform for representing biological
sequences. International Journal of Molecular Sciences, 18 :2400, 11 2017.
95
Bibliographie
[74] Vladimir Gligorijević, Meet Barot, and Richard Bonneau. deepNF : deep net-
work fusion for protein function prediction. Bioinformatics, 34(22) :3873–3881,
06 2018.
[75] Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning. MIT
Press, 2016. http://www.deeplearningbook.org.
[76] Kai Hakala, Suwisa Kaewphan, Jari Björne, Farrokh Mehryary, Hans Moen,
Martti Tolvanen, Tapio Salakoski, and Filip Ginter. Neural network and random
forest models in protein function prediction. bioRxiv, 2019.
[77] S. Heusser and H.G. Dupuy. Atlas de biologie animale - Tome 1 - 3e éd. : Les
grands plans d’organisation. Atlas de biologie animale. Dunod, 2008.
[78] Kuo-lin Hsu, Hoshin Vijai Gupta, and Soroosh Sorooshian. Artificial neural
network modeling of the rainfall-runoff process. Water Resources Research,
31(10) :2517–2530, 1995.
[79] Martijn Huynen, Berend Snel, Warren Lathe, and Peer Bork. Predicting protein
function by genomic context : quantitative evaluation and qualitative inferences.
Genome research, 10(8) :1204–1210, 2000.
[81] Dilraj Kaur, Chakit Arora, and Gajendra P. S. Raghava. A hybrid model
for predicting pattern recognition receptors using evolutionary information.
bioRxiv, 2019.
[82] Diederik P. Kingma and Jimmy Ba. Adam : A method for stochastic optimi-
zation, 2014.
[85] Michael A Nielsen. Neural networks and deep learning, volume 2018. Determi-
nation press San Francisco, CA, 2015.
96
Bibliographie
[87] Gaurav Pandey, Vipin Kumar, and Michael Steinbach. Computational ap-
proaches for protein function prediction : A survey. Twin Cities : Department
of Computer Science and Engineering, University of Minnesota, 01 2006.
[90] Shaoanlu. Sgd ¿ adam ? ? which one is the best optimizer : Dogs-vs-cats toy
experiment, Dec 2017.
[92] Hava T Siegelmann. Neural networks and analog computation : beyond the
Turing limit. Springer Science & Business Media, 2012.
[93] Pascal Vincent, Hugo Larochelle, Isabelle Lajoie, Yoshua Bengio, and Pierre-
Antoine Manzagol. Stacked denoising autoencoders : Learning useful represen-
tations in a deep network with a local denoising criterion. J. Mach. Learn. Res.,
11 :3371–3408, December 2010.
[94] Ronghui You, Shuwei Yao, Xiaodi Huang, Fengzhu Sun, Hiroshi Mamitsuka,
and Shanfeng Zhu. Netgo : Improving large-scale protein function prediction
with massive network information. bioRxiv, 2018.
[95] Jan Ruben Zilke, Eneldo Loza Mencı́a, and Frederik Janssen. Deepred - rule
extraction from deep neural networks. In DS, 2016.
97
Annexe A
Contexte biologique
A.1 Cellule
La cellule est la plus petite unité fonctionnelle et structurale composant les tissus
et les organes des êtres vivants. Elle contient l’information génétique ADN qui se
trouve dans le noyau, mitochondrie et ribosomes ainsi qu’une membrane et plusieurs
autres composantes qui lui permettent d’être autonome [6].
On distingue deux types de cellule selon sa nature : cellules eucaryotes qui
possèdent d’une membrane nucléaire contrairement aux cellules procaryotes dont
tous les organes nagent dans le cytoplasme y compris le matériel génétique.
Ce sont des cellules qui possèdent de noyau et des organites délimités par des
membranes[61]
• Noyau : c’est un organite central qui supporte l’information génétique et
gère la majorité des fonctions et les activités des cellules. Il contient 95% de
l’ADN cellulaire (5% sont contenus dans la Mitochondrie). Il assure de nom-
breuses fonctions : synthèse de l’ARN, duplication de génome et réplication
de l’ADN ainsi que la synthèse des Ribosomes dans les nucléoles.
98
Annexe A Notions biologiques
A.2 Gène
Un gène est un fragment ou partie composante de l’ADN. Il est responsable à
des caractéristiques précises (par exemple : le gène responsable à des couleurs des
yeux), un gène se définit par le phénotype qu’il porte (Sa fonction). En génétique,
le gène est considéré comme l’unité de base de l’hérédité. Il est caractérisé sur la
molécule d’ADN par sa position et par l’ordre de sa séquence nucléotidique.
Le code génétique ne peut transcrit que lorsqu’il est dans un gène. Ce dernier
99
Annexe A Notions biologiques
100
Annexe B
Techniques de régularisation
B.1 Dropout
C’est une techniques de régularisation pour la lutte contre le problème de sur-
ajustement et surapprentissage des réseaux de neurones. Le Dropout fait référence
à l’ignorance des neurones pendant la phase d’apprentissage choisis aléatoirement.
Il est implémenté sur toutes les couches MLP, CNN, LSTM, . . . A chaque niveau
d’apprentissage, des neurones seront ignorés avec une probabilité P. Dans la phase de
test, touts les neurones sont activés mais ils sont réduits par le facteur de probabilité
P. Le Dropout est une technique puissante et très utilisée dans l’apprentissage des
101
réseaux de neurones profonds où le nombre de données d’apprentissage est limité.
1
Pm
σβ2 ← m i=1 (xi − µβ )2 . mini-batch variance
x −µβ
x̂i ← √iσ2 + . normalize
β