Bouzidi Zeroukhi

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 122

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université de sciences et de technologies Houari


Boumediène
Faculté d’Éléctronique et d’Informatique
Département d’Informatique

Mémoire de Master
Informatique

Spécialité : Bio-Informatique

Thème

Annotation fonctionnelle des séquences protéiques


par le Deep Learning

Encadré par Réalisé par


• Mme N.BENSAOU • BOUZIDI Abdeldjalil
• Mme C.IGHILAZA • ZEROUKHI Djillali

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 tenons ensuite à remercier tous nos professeurs et enseignants de


département d’informatique qui ont contribué à notre formation.

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.Ë@

úÍ@ Èñ“ñÊË ‡K


Q¢Ë@ AJË YêÖ ß
AÜØ QÖ Ï @ HAJ 
Ë@ ÉJÓ é ®Ê JjÖ Ï @ éJ
k. ñËñJ
J.Ë@ HC¾  ‚Ö Ï @ Ñê¯ úΫ

éJ
KAÓñʪÖÏ @ ú
¯ éJ
ƒAƒ @ éÒêÓ HA J
Kð Q.Ë@ ­ KA £ñË újJ
“ñ


JË@ ‡J
ʪJË@ YªK
. é ¯Yî D‚Ö  Ï @ éK
ðX B@
  á  Q 
éʂʂ  úÎ « ZA JK. 
Kð . ÊË éJ
k. ñËñJ
J. Ë@ ­KA £ñË@ áÓ é«ñÒm.× á 
J
ª K áÒ ’ J K úæË@  ð , éK
ñJ
mÌ '@
 @ á  Kð Q Ë@ ­ KA £ñK JÊË †Q¢Ë@


J K . éJ JËA JË@ é JJ K ð @ úæ…Aƒ B@


A ¯C¢
áÓ
.
ñJ
. . 
áÓ YK

YªË@ 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êË .‘A’mÌ '@ è Yë úΫ ø
ñJm' ú
æË@
…    
ñJ .  JË@ Y’ ¯ HA  J
Kð Q. Ë@ ɂʂ  Z@P ð éJ
® jÖ Ï @ ‘ A’ m Ì '@ h @Q j JƒB ”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

Table des matières i

Table des figures vi

Liste des tableaux ix

Liste des équations x

Liste des abréviations xi

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

1.3.1.1 Apprentissage supervisé . . . . . . . . . . . . . . . . 15


1.3.1.2 Apprentissage non supervisé . . . . . . . . . . . . . . 16
1.3.1.3 Apprentissage semi-supervisé . . . . . . . . . . . . . 16
1.3.1.4 Apprentissage par renforcement . . . . . . . . . . . 17
1.3.2 Choix d’une approche . . . . . . . . . . . . . . . . . . . . . . 17
1.4 Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Réseaux de neurones artificiels . . . . . . . . . . . . . . . . . . . . . . 18
1.5.1 Structure d’un neurone artificiel . . . . . . . . . . . . . . . . . 19
1.5.2 Le perceptron multicouche . . . . . . . . . . . . . . . . . . . . 20
1.5.3 Fonctions d’activation dans les réseaux de neurones . . . . . . 21
1.6 Modèles de deep learning . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.6.1 Réseaux de Neurones Convolutionnels . . . . . . . . . . . . . . 23
1.6.1.1 La couche de convolution (CONV) . . . . . . . . . . 24
1.6.1.1.1 Comment choisir les caractéristiques . . . . 24
1.6.1.2 La couche pooling . . . . . . . . . . . . . . . . . . . 24
1.6.1.3 La couche de correction ReLU . . . . . . . . . . . . 25
1.6.1.4 Couche entièrement connectée . . . . . . . . . . . . . 26
1.6.2 Réseaux de neurones récurrents . . . . . . . . . . . . . . . . . 26
1.6.2.1 Problème de la disparition du gradient . . . . . . . . 28
1.6.2.2 Long Short-Term Memory LSTM . . . . . . . . . . . 28
1.6.2.3 Bi-LSTM . . . . . . . . . . . . . . . . . . . . . . . . 28
1.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2 L’annotation fonctionnelle par l’apprentissage automatique 31


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2.1 Annotation fonctionnelle . . . . . . . . . . . . . . . . . . . . . 33
2.2.1.1 Quelques méthodes de prédiction de fonctions . . . . 34
2.2.1.1.1 Approches à base de séquence . . . . . . . . 34
2.2.1.1.2 Approches à base de structure . . . . . . . . 35
2.2.2 Méthodes d’extraction des caractéristiques des acides aminés . 35
2.2.2.1 Méthodes classiques . . . . . . . . . . . . . . . . . . 36
2.2.2.1.1 Pseudo Amino Acid composition (PseuAAC) 36

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

3 Prédiction fonctionnelle par ImproveDeepSeq 49


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2 La collecte de données . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2.1 Schéma de classification . . . . . . . . . . . . . . . . . . . . . 49
3.2.2 Gene Ontology . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.3 Présentation de jeu de données . . . . . . . . . . . . . . . . . 51
3.3 Pré-traitement de données . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.1 Nettoyage de données . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.2 Encodage de données . . . . . . . . . . . . . . . . . . . . . . . 53

iii
Table des matières

3.3.2.1 Encodage de données d’entrée . . . . . . . . . . . . . 53


3.3.2.2 Encodage de données de sortie . . . . . . . . . . . . 55
3.3.3 Construction de jeu de données . . . . . . . . . . . . . . . . . 56
3.4 Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4.1 Méthodes de projection vectorielle des mots . . . . . . . . . . 56
3.4.1.1 OneHot enconding . . . . . . . . . . . . . . . . . . . 57
3.4.1.2 Word Embedding . . . . . . . . . . . . . . . . . . . . 57
3.4.2 Les architectures Deep Learning . . . . . . . . . . . . . . . . . 57
3.4.2.1 CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.2.2 CNN-BiLSTM . . . . . . . . . . . . . . . . . . . . . 61
3.4.2.3 CNN Multi-Channel (ImproveDeepSeq) . . . . . . . 63
3.4.2.4 Les hyperparamètres de ImproveDeepSeq . . . . . . . 65
3.4.2.4.1 La fonction d’activation . . . . . . . . . . . 65
3.4.2.4.2 La fonction d’erreur . . . . . . . . . . . . . 66
3.4.2.4.3 L’algorithme d’apprentissage . . . . . . . . 67
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

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

Conclusion générale et perspectives 87

Bibliographie 89

A Contexte biologique 98
A.1 Cellule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A.1.1 Les cellules eucaryotes . . . . . . . . . . . . . . . . . . . . . . 98
A.2 Gène . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

B Techniques de régularisation 101


B.1 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
B.2 Batch Normalizaion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

v
Table des figures

1.1 Structure de l’ADN[51] . . . . . . . . . . . . . . . . . . . . . . . . . . 5


1.2 Structure de l’ARNm [44] . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Processus de transcription de l’ADN en ARNm [29] . . . . . . . . . . . 8
1.4 Processus de traduction de l’ARNm en protéine [21] . . . . . . . . . . 9
1.5 Les structures des protéines [13] . . . . . . . . . . . . . . . . . . . . . 10
1.6 Apprentissage supervisé[30] . . . . . . . . . . . . . . . . . . . . . . . 15
1.7 Apprentissage non supervisé [30] . . . . . . . . . . . . . . . . . . . . . 16
1.8 Apprentissage semi-supervisé . . . . . . . . . . . . . . . . . . . . . . . 16
1.9 Apprentissage par renforcement [30] . . . . . . . . . . . . . . . . . . . 17
1.10 Un diagramme de Venn montrant comment l’apprentissage en pro-
fondeur est une sorte d’apprentissage par représentation, qui est à
son tour une sorte d’apprentissage automatique, qui est utilisé pour
de nombreuses approches, mais pas pour toutes. . . . . . . . . . . . . 18
1.11 La structure interne d’un perceptron [85] . . . . . . . . . . . . . . . . 20
1.12 Architecture d’un perceptron multicouche [85] . . . . . . . . . . . . . 21
1.13 La fonction Tanh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.14 Opération de convolution sur une matrice d’image MxNx3 avec un
noyau 3x3x3 [4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.15 Types de Pooling[4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.16 Classification en utilisant Couche entièrement connectée [12] . . . . . 27
1.17 Structure d’une unité LSTM [53] . . . . . . . . . . . . . . . . . . . . 29
1.18 Structure de base du réseau BLSTM. Les réseaux LSTM en bas in-
diquent 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] . . . . . . . . . . . . . . . . . 30

2.1 Croissance du nombre de protéines séquencées[58] . . . . . . . . . . . 32

vi
Table des figures

2.2 Couverture d’annotation de fonction des protéines dans UniprotKB[68] 32


2.3 Les techniques et les approches informatiques de prédiction des fonc-
tions des protéines[1] . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4 Le processus d’apprentissage automatique traditionnel [55] . . . . . . 36
2.5 L’architecture du modèle DeepSeq[84] . . . . . . . . . . . . . . . . . . 42
2.6 Présentation de la méthode DeepNF [74] . . . . . . . . . . . . . . . . 46

3.1 Exemple d’un terme GO [26] . . . . . . . . . . . . . . . . . . . . . . . 51


3.2 Histogramme de distribution des séquences protéiques par fonction. . 52
3.3 Schéma représentatif de fichiers de données. . . . . . . . . . . . . . . 52
3.4 Encodage des acides aminés avec “Integer Encoding”. . . . . . . . . . 54
3.5 Exemple de rembourrage d’une protéine. . . . . . . . . . . . . . . . . 55
3.6 Encodage des labels avec “OneHot Encoding” (cas d’un seul label). . 55
3.7 Encodage des labels avec “OneHot Encoding” (cas de plusieurs labels). 56
3.8 Schéma global du pré-traitement. . . . . . . . . . . . . . . . . . . . . 56
3.9 OneHot encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.10 Word Embedding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.11 Architecture du modèle CNN. . . . . . . . . . . . . . . . . . . . . . . 59
3.12 Architecture du modèle CNN-BiLSTM. . . . . . . . . . . . . . . . . . 61
3.13 Architecture du modèle 3-Channel-CNN (ImproveDeepSeq). . . . . . 63
3.14 Fonction Sigmoı̈de . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.15 Adam versus autres descentes du gradient[90] . . . . . . . . . . . . . 68

4.1 Logo Google Colabratory . . . . . . . . . . . . . . . . . . . . . . . . . 70


4.2 Logo Python [43] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3 Logo Tensorflow vs Keras [18] . . . . . . . . . . . . . . . . . . . . . . 71
4.4 Logo Flask [15] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.5 Matrice de confusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.6 Graphe d’évolution d’Accuracy durant l’apprentissage. . . . . . . . . 77
4.7 Graphe d’évolution de Fbeta-Score durant l’apprentissage. . . . . . . 78
4.8 La page d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.9 Séquence de protéine introduite pour la prédiction. . . . . . . . . . . 80
4.10 Chargement du fichier de séquences pour la prédiction . . . . . . . . . 81

vii
Table des figures

4.11 Résultat de prédiction des fonctions de la séquence introduite. . . . . 81


4.12 Résultat de prédiction des fonctions après le chargement du fichier de
séquences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.13 Informations et résultats de prédiction de la protéine sélectionnée. . . 82
4.14 Informations et résultats de prédiction de la protéine ”2’-5’-
oligoadenylate syntase 1”. . . . . . . . . . . . . . . . . . . . . . . . . 84
4.15 Informations et résultats de prédiction de la protéine ”Zinc finger
protéin castor homolog 1”. . . . . . . . . . . . . . . . . . . . . . . . . 85
4.16 Informations et résultats de prédiction de la protéine ”Cystidine and
dCMP deaminase domain-containing protein 1”. . . . . . . . . . . . . 85

A.1 Cellule eucaryote.[54] . . . . . . . . . . . . . . . . . . . . . . . . . . . 99


A.2 Gène [20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

B.1 Dropout[11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

viii
Liste des tableaux

1.1 Les fonctions moléculaire de liaison. . . . . . . . . . . . . . . . . . . . 13

2.1 Exemple de séquences d’ADN alignées . . . . . . . . . . . . . . . . . 40


2.2 PFM correspondante à la Table 2.1 . . . . . . . . . . . . . . . . . . . 40
2.3 PPM correspondante à la Table 2.1 . . . . . . . . . . . . . . . . . . . 40
2.4 PWM correspondante à la Table 2.1 . . . . . . . . . . . . . . . . . . . 41
2.5 L’emplilement des couches de modèle DeepSeq . . . . . . . . . . . . . 42

3.1 Informations sur le réseau convolutionnel . . . . . . . . . . . . . . . . 58


3.2 Paramètres de la fonction d’apprentissage. . . . . . . . . . . . . . . . 67

4.1 Fiche technique de la machine Colab [59] . . . . . . . . . . . . . . . . 70


4.2 Bibliothèques utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.3 Résultats d’évaluation de la solution ”ImproveDeepSeq”. . . . . . . . 78
4.4 Comparaison des performances des architectures conçues. . . . . . . . 79
4.5 Comparaison des performances avec différents encodages. . . . . . . . 79
4.6 Comparaison des performances avec différents optimiseurs. . . . . . . 79
4.7 Informations sur quelques protéines examinées. . . . . . . . . . . . . . 83

ix
Liste des équations

1.1 Somme pondérée d’un neurone. . . . . . . . . . . . . . . . . . . . . . . . 19


1.2 Fonction d’activation linéaire. . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3 Fonction tanh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4 Fonction sigmoid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5 Fonction SoftMax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.6 La fonction ReLU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1 Séquence de protéine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.2 PseuAAC d’une séquence de protéine. . . . . . . . . . . . . . . . . . . . 37
2.3 Facteur de corrélation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4 Facteur de corrélation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5 Matrice de fréquences de positions. . . . . . . . . . . . . . . . . . . . . . 39
2.6 Matrice de probabilités de positions. . . . . . . . . . . . . . . . . . . . . 39
2.7 Matrice de probabilités de positions. . . . . . . . . . . . . . . . . . . . . 39
2.8 Matrice de poids de positions. . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1 La fonction Sigmoı̈de. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2 Binary Cross-Entropy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.1 Accuracy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.2 Accuracy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3 Precision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4 Precision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.5 Recall. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.6 Recall. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.7 Fbeta-Score. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.8 Fbeta-Score. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

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

CPU Central Processing Unit


CUDA Compute Unified Device Architecture
DNN Deep Neural Network
FADH2 DiHydroFlavine-Adenine Dinucleotide
G Guanine
GO Gene ontology
GPU Graphical Prossecing Unit
IA Intellegence Artificielle
IHM Interface Homme Machine
LR Learning Rate
LSTM Long Short Term Memory
LTR Learning To Rank
MDA Multimodal Deep Auto-encoder
MLP Multi Layer Perceptron
NADH Nicotinamide Adenine Dinucléotide
NCBI National Center for Biotechnology Information
Net-KNN Network - K-Nearest Neighors
NN Neural Network
OpenCL Open Compute Langage
PFM Position Frequence Matrix
PPI Protein-Protein interaction
PPM Position Probability Matrix
PseuAAC Pseudo Amino Acid Composition
PSSM Position Specific Scoring Matrix
PWM Position Weight Matrix
RAM Random Access Memory
ReLU Rectified Linear Units
RF Random Forest
RNNs Recurrent Neural Networks

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

utilisé le même jeu de données[26] de cinq fonctions moléculaires de liaison mais


avec une autre architecture ”ImporoveDeepSeq”.
Nous avons organisé la présentation de ce travail en quatre chapitres :
• Chapitre 1 : Ce chapitre est divisé en deux parties, nous rappelons dans
ces deux parties les notions biologiques et les notions d’apprentissage automatique
respectivement, utilisées tout au long de ce mémoire.
• Chapitre 2 : Ce chapitre dresse la problématique posée et un état-de-l’art sur
l’annotation fonctionnelle des protéines à partir de leurs séquence primaire.
• Chapitre 3 : Ce chapitre est consacré à notre contribution et solutions pro-
posée. Nous décrivons les différentes opérations de pré-traitements effectuées, nous
présentons aussi la méthode utilisée pour l’annotation des nouvelles séquences de
protéines inconnues.
• Chapitre 4 : Dans ce dernier chapitre, nous présentons les divers outils
matériels et logiciels nécessaire pour réalisation du projet. Nous présentons aussi
les résultats expérimentaux et leurs interprétations ainsi qu’une étude comparatives
des architectures Deep Learning.

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é.

1.2 Contexte biologique

1.2.1 Acide Désoxyribonucléique (ADN)

L’Acide Désoxyribonucléique appelé aussi le matériel génétique, héberge le


génome, l’ensemble de l’information génétique d’un organisme, permettant le
développement, le fonctionnement et la reproduction des êtres vivants. Il se trouve
nagé dans le cytoplasme ou confinée dans le noyau.

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]

Figure 1.1 – Structure de l’ADN[51]

La principale fonction de la molécule d’ADN est le stockage à long terme de

5
Chapitre 1 Rappels fondamentaux

l’information pour construire et reproduire d’autres corps de cellules, comme des


protéines et des molécules d’ARN. On appelle ”gènes1 ”, les segments d’ADN qui
portent cette information génétique. Les séquences d’ADN restantes ont des missions
structurales ou participent à la régulation de l’emploi de cette information génétique.

1.2.2 Acide Ribonucléique (ARN)

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

Figure 1.2 – Structure de l’ARNm [44]

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]

1.2.3.1 Synthèse protéique

Le processus synthèse de protéine passe par deux étapes essentielles successives


qui sont la transcription de l’ADN en ARN et la traduction de l’ARN mature en
protéine.

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).

Figure 1.3 – Processus de transcription de l’ADN en ARNm [29]

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

Figure 1.4 – Processus de traduction de l’ARNm en protéine [21]

1.2.3.2 Structures des protéines

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 :

1.2.3.2.1 Structure primaire


Les longues chaı̂nes d’acides aminés avec un ordonnancement simple sont ap-
pelées des protéines à structure primaire.

1.2.3.2.2 Structure secondaire


L’involution des chaı̂nes peptidiques sous forme de spirales ou d’hélices alpha
(Hélice alpha, α) et de plaques bêta (Feuillets bêta, β) forme la structure secondaire
de la protéine. Les liaisons hydrogène jouent un rôle important dans la formation
de cette structure.

1.2.3.2.3 Structures tertiaire


La structure tertiaire de la protéine consiste en la combinaison des structures
secondaires de la protéine (hélices alpha et plaques bêta) par des forces physiques
non paraboliques donnant la forme finale et fonctionnelle de la protéine. Les liaisons
covalentes (via les ponts S-S), les liaisons ioniques (entre les acides aminés basiques

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.

1.2.3.2.4 Structure quaternaire


La structure quaternaire d’une protéine est formée en combinant des sous-unités
en protéines pour accomplir une certaine fonction. L’Hémoglobine est l’un des
protéines à structure quaternaire, qui se compose de 4 sous-unités : 2 sous-unités
alpha et sous-unités 2 bêta.

Figure 1.5 – Les structures des protéines [13]

10
Chapitre 1 Rappels fondamentaux

1.2.3.3 Fonctions des protéines

Les protéines ont de nombreuses fonctions dans la cellule, et on distingue prin-


cipalement les [36] :
• Protéines structurales : permettent à la cellule de maintenir son orga-
nisation dans l’espace. Ex : le Collagène qui relie les os et les tissus.
• Protéines de transport : qui assurent le transfert des différentes
molécules dans et en dehors de la cellule.
• Protéines motrices : permettent aux cellules ou organismes de se mouvoir
ou se déformer.
• Protéines de signalisation : captent les signaux extérieurs et assurent
leur transmission dans la cellule ou l’organisme.
• Protéines catalytiques : les enzymes catalysent une multitude de
réactions biochimiques.
• Protéines de soutien : Les protéines membranaires maintiennent l’envi-
ronnement cellulaire.
• Protéines de régulation : modulent l’activité d’autres protéines, régulent
le volume de la cellule et créent des gradients ioniques pour les muscles et le
système nerveux.
• Protéines de défense : qui protègent le corps. Ex : anticorps.

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

résultat particulier, médié par un ou plusieurs produits géniques”. Les termes


de fonction moléculaire et de processus biologique sont clairement étroitement
liés. Les curateurs de GO tentent de clarifier la relation comme suit : ”Un
processus biologique est accompli via un ou plusieurs assemblages ordonnés
de fonctions moléculaires[34].”

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

Table 1.1 – Les fonctions moléculaire de liaison.


Rappels fondamentaux
Chapitre 1 Rappels fondamentaux

1.3 Apprentissage automatique (AA)


L’apprentissage automatique est un sous-domaine de l’intelligence artificielle (IA)
qui se concentre sur la conception de systèmes qui apprennent — ou améliorent le
rendement — en fonction des données qu’ils consomment[45]
La discipline de l’apprentissage automatique (AA) possède de riches fondements
théoriques, elle consiste à utiliser des ordinateurs pour optimiser un modèle de traite-
ment de l’information selon certains critères de performance à partir d’observations,
que ce soit des données-exemples ou des expériences passées.
L’apprentissage automatique fait référence au développement, à l’analyse et à
l’implémentation de méthodes qui permettent à une machine d’évoluer grâce à un
processus d’apprentissage, et ainsi de remplir des tâches qu’il est difficile ou impos-
sible de remplir par des moyens algorithmiques plus classiques.
Comme mentionne dans plusieurs livres notamment celui de Deep Learning [75]
, l’apprentissage automatique a été defini par Arthur Samuel en 1959 comme le
domaine qui donne aux ordinateurs la possibilite d’apprendre sans etre explicitement
programmes. Mais en réalité, cette definition n’est pas tres claire. Par consequent,
elle a ete renforcee par la definition de Tom Mitchell de l’apprentissage en 1997
qui enonce : ”Un programme est dit capable d’apprendre d’une expérience E à
effectuer une tache T, si ça mesure de performance P pour la tache T s’améliore
avec l’expérience E”[83]
Objectif : extraire et exploiter automatiquement l’information présente dans un
jeu de données. Dans l’apprentissage automatique, les tâches sont généralement
classées en grandes catégories. Ces catégories sont basées sur la façon dont l’appren-
tissage est reçu ou comment le feedback sur l’apprentissage est donné au système
développé. Tous les algorithmes d’apprentissage automatique s’inscrivent dans un
des types d’apprentissages principaux suivants :
• Apprentissage supervisé.
• Apprentissage non supervisé.
• Apprentissage semi-supervisé.

14
Chapitre 1 Rappels fondamentaux

• Apprentissage par renforcement.

1.3.1 Types d’apprentissage automatique

Cette classification est faite en principe selon le type de données en entrée :


étiquetées ou non et selon l’objectif. Nous allons voir en détails chaque type.

1.3.1.1 Apprentissage supervisé

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).

Figure 1.6 – Apprentissage supervisé[30]

15
Chapitre 1 Rappels fondamentaux

1.3.1.2 Apprentissage non supervisé

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).

Figure 1.7 – Apprentissage non supervisé [30]

1.3.1.3 Apprentissage semi-supervisé

Ce type d’apprentissage utilise des données étiquetées et non étiquetées pour


l’apprentissage. En général, une petite quantité de données annotées est utilisée. Il
s’agit de minimiser les ressources nécessaires pour analyser et extraire des informa-
tions des données étiquetées. Ceci est utile principalement dans le cas de grandes
bases de données. L’étiquetage des données nécessite un traitement supplémentaire
et une intervention humaine.[45] (Figure 1.8).

Figure 1.8 – Apprentissage semi-supervisé

16
Chapitre 1 Rappels fondamentaux

1.3.1.4 Apprentissage par renforcement

L’apprentissage par renforcement[73] est caractérisé par la présence d’un agent


qui doit apprendre un comportement par l’expérience, dans un environnement dy-
namique. C’est similaire a ce qui se fait en psychologie. Mais, il y a une différence
majeure dans les détails et l’utilisation du mot  Renforcement . Il est considéré
comme une classe de problèmes au lieu d’un ensemble de techniques. La figure 1.9
illustre le processus d’apprentissage par renforcement. (Figure 1.9).

Figure 1.9 – Apprentissage par renforcement [30]

1.3.2 Choix d’une approche

Choisir un algorithme d’apprentissage supervisé ou non supervisé dépend habi-


tuellement de facteurs liés à la structure et au volume de nos données, et le cas
d’utilisation auquel nous voulons l’appliquer. L’apprentissage automatique a pris de
l’importance dans de nombreux secteurs dont :
• La valeur à vie des clients.
• La détection d’anomalies .
• La tarification dynamique.
• La maintenance prédictive.
• La classification des images.
• Les moteurs de recommandation.

17
Chapitre 1 Rappels fondamentaux

1.4 Deep Learning


Le terme ”Deep Learning” existait depuis plusieurs décennies, dans d’autres
domaines notamment dans l’éducation, mais ce n’est qu’en 1986 qu’il apparaı̂t dans
le domaine de l’apprentissage automatique[69]
Le ”Deep Learning  est une fonction d’intelligence artificielle qui imite la façon
dont notre cerveau traite les données et crée des modèles afin de les utiliser dans
la prise de décision. Le Deep Learning est un sous-ensemble du Machine Learning
qui dispose des réseaux capables d’apprendre sans surveillance à partir de données
non structurées ou non étiquetées. La figure suivante illustre la relation entre ces
différentes disciplines de l’IA et elle donne un schéma de haut niveau de la façon
dont chacun fonctionne. (Figure 1.10).

Figure 1.10 – Un diagramme de Venn montrant comment l’apprentissage en pro-


fondeur est une sorte d’apprentissage par représentation, qui est à son tour une sorte
d’apprentissage automatique, qui est utilisé pour de nombreuses approches, mais pas
pour toutes.

1.5 Réseaux de neurones artificiels


Un réseau de neurones artificiels est une structure mathématique flexible qui
est capable d’identifier des relations non linéaires complexes entre des ensembles

18
Chapitre 1 Rappels fondamentaux

de données d’entrée et de sortie. Les modèles des réseaux de neurones artificiels


se sont révélés, utiles et efficaces, en particulier dans les problèmes pour lesquels
les caractéristiques des processus sont difficiles à décrire à l’aide d’équations phy-
siques [78] Le développement de réseaux de neurones artificiels est né de la tentative
de simuler des systèmes nerveux biologiques en combinant de nombreux éléments
informatiques simples (neurones) dans un système fortement inter connecté et en
espérant que des phénomènes complexes tels que l’intelligence émergeaient à la suite
de l’auto-organisation ou de l’apprentissage [88] Dans l’apprentissage automatique,
il existe un théorème appelé  No Free Lunch . En résumé, il est indiqué qu’aucun
algorithme ne fonctionne mieux pour chaque problème, et qu’il est particulièrement
pertinent pour l’apprentissage supervisé (c’est-à-dire la modélisation prédictive)[27]
Nous ne pouvons pas dire que les réseaux de neurones sont toujours meilleurs
que les arbres de décision ou inversement. De nombreux facteurs sont en jeu, tels que
la taille et la structure de la source de données. Par conséquent, il est recommandé
d’essayer de nombreux algorithmes différents pour un problème donné, tout en utili-
sant un ”ensemble de tests” à conserver pour évaluer les performances et sélectionner
le gagnant. Bien sûr, les algorithmes doivent être adaptés au problème, c’est-à-dire
choisir la bonne tâche d’apprentissage automatique. Les modèles de Deep Learning
peuvent atteindre un très haut niveau de précision, qui dépend de plusieurs facteurs,
tel que la taille est la structure de la source de données et l’architecture du réseau
et/ou de la machine. La qualité, de ces données, a un impact direct sur l’efficacité
de l’apprentissage.

1.5.1 Structure d’un neurone artificiel

Un perceptron représente une unité de traitement qui reçoit des données en


entrée, sous la forme d’un vecteur, et produit une sortie réelle[75] Un neurone se
caractérise par un état interne et une fonction d’activation g tel que :
n
X
N et = w0 + w i xi (1.1)
i=0

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

Figure 1.11 – La structure interne d’un perceptron [85]

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]

1.5.2 Le perceptron multicouche

Multi Layer Perceptron (MLP) (perceptron multicouches) est un classifieur de


type réseaux de neurones qui est organisé en plusieurs couches, chaque couche étant
formée d’un ou plusieurs neurones formels. Utilise dans un cas d’apprentissage su-
pervise, il utilise l’algorithme de retro propagation de gradient [85]. Les percep-
trons multicouches sont capables de traiter des données qui ne sont pas linéairement
séparables. Avec l’arrivée des algorithmes de retro propagation, ils deviennent le
type de réseaux de neurones le plus utilise. Les MLP sont généralement organisés
en trois couches, la couche d’entrée, la couche intermédiaire (dite couche cachée) et
la couche de sortie. (Figure 1.12).

20
Chapitre 1 Rappels fondamentaux

Figure 1.12 – Architecture d’un perceptron multicouche [85]

1.5.3 Fonctions d’activation dans les réseaux de neurones

Les fonctions d’activation diffèrent selon l’objectif de la couche. Les fonctions


d’activation transforment la combinaison des entrées, des poids et des biais. Parmi
les fonctions les plus utilisées, nous citons :
• La fonction d’activation linéaire :

f (x) = w × x (1.2)

Utilisée dans la couche d’entrée du réseau de neurones.


• La fonction Tanh :

e−net − enet
O(net) = (1.3)
e−net + enet

La fonction ”Tanh” produit un résultat compris entre -1 et 1, elle est


préférable à la fonction ”Sigmoı̈de” car elle produit des valeurs positives et
négative (c.à.d. elle converti les valeurs de très grand nombre négatif en entré
en une valeur égale à -1 en sortie). (Figure 1.13).

21
Chapitre 1 Rappels fondamentaux

Figure 1.13 – La fonction Tanh.

• 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

C’est une généralisation de la fonction Sigmoid, Elle prend un vecteur en


entrée et donne un vecteur en sortie. Elle est souvent utilisée dans la couche
de sortie d’un classifieur.
Z est un vecteur de K nombres réels et

j ∈ {1, . . . , K}

1.6 Modèles de deep learning


Il existe plusieurs architectures de réseaux de neurones, ils ont leurs forces et
faiblesses et peuvent être combinées pour optimiser les résultats. La plupart sont
dérivées de certaines architectures parentales originales. Le choix de l’architecture
s’avère ainsi crucial et il est déterminé principalement par l’objectif, nous citons
quelques architectures parmi eux :

22
Chapitre 1 Rappels fondamentaux

1.6.1 Réseaux de Neurones Convolutionnels

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

• La couche ”entièrement connectée” (Fully-connected layer FL), qui est une


couche de type perceptron.

1.6.1.1 La couche de convolution (CONV)

L’objectif de l’opération de convolution est d’extraire d’une image d’entrée les


caractéristiques de haut niveau telles que les bords. La couche de convolution reçoit
donc en entrée différentes images, et puis calcule la convolution de chacune d’entre
elles avec chaque filtre. Afin d’appliquer une bonne convolution, Les filtres doivent
correspondent exactement aux caractéristiques que l’on souhaite retrouver dans les
images.
Le filtre se déplace vers la droite avec une certaine valeur de pas jusqu’à ce qu’il
analyse la largeur complète. En continuant, il saute jusqu’au début (à gauche) de
l’image avec la même valeur de pas et répète le processus jusqu’à ce que l’image
entière soit traversée.
On obtient pour chaque paire (image, filtre) une carte d’activation, ou fea-
ture map, qui nous indique où se situent les caractéristiques dans l’image : plus
la valeur est élevée, plus l’endroit correspondant dans l’image ressemble à la ca-
ractéristique[12]

1.6.1.1.1 Comment choisir les caractéristiques


Les caractéristiques ne sont pas prédéfinies selon un formalisme particulier, mais
apprises par le réseau lors la phase d’entraı̂nement, les poids de la couche de convo-
lution sont initialisés puis mis à jour par la rétro propagation du gradient. Dans le
cas d’images avec plusieurs canaux (par exemple RVB), le noyau a la même profon-
deur que celle de l’image d’entrée. La multiplication matricielle est effectuée entre
la pile du kernel Kn et l’input In ([K1, I1] ; [K2, I2] ; [K3, I3]) et tous les résultats
sont additionnés avec le biais pour nous donner une sortie de fonction convolutée de
canal à une profondeur écrasée. (Figure 1.14).

1.6.1.2 La couche pooling

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]

la réduction de la taille spatiale de l’entité convolutionnée. Il s’agit de diminuer la


puissance de calcul requise pour traiter les données grâce à la réduction de dimen-
sionnalité. En outre, il est utile pour extraire des caractéristiques dominantes qui
sont invariantes en rotation et en position, maintenant ainsi le processus d’appren-
tissage efficace du modèle. Il existe deux types de regroupement : regroupement
maximal et regroupement moyen. Max Pooling renvoie la valeur maximale de la
partie de l’image couverte par le noyau. D’un autre côté, le regroupement moyen
renvoie la moyenne de toutes les valeurs de la partie de l’image couverte par le
noyau[4] (Figure 1.15).

1.6.1.3 La couche de correction ReLU

ReLU (Rectified Linear Units) désigne la fonction réelle non-linéaire définie par :

f (x) = x+ = max(0, x) (1.6)

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

Figure 1.15 – Types de Pooling[4]

1.6.1.4 Couche entièrement connectée

Après avoir extrait les caractéristiques des entrées, on attache a la fin du


réseau un perceptron ou bien un MLP. Le perceptron prend comme entrée les ca-
ractéristiques extraites et produit un vecteur de taille N, où N est le nombre de
classes dans notre problème de classification d’images. Chaque élément du vecteur
indique la probabilité pour l’image en entrée d’appartenir à une classe. Par exemple,
si le problème consiste à distinguer les chats des chiens, le vecteur final sera de taille
2 : le premier élément (respectivement, le deuxième) donne la probabilité d’apparte-
nir à la classe ”chat” (respectivement ”chien”). Chaque valeur du tableau en entrée
”vote” en faveur d’une classe. Les votes n’ont pas tous la même importance : la
couche leur accorde des poids qui dépendent de l’élément du tableau et de la classe
[12] (Figure 1.16).

1.6.2 Réseaux de neurones récurrents

Les réseaux de Neurones récurrents (RNNs) permettent d’analyser les séquences


de vecteurs tout comme les modèles de Markov caches. Le temps entre ici en ligne
de compte car les sorties (de la coche de sortie et/ou de la coche cachées) calculées a
l’instant t sont re-injectées en entrée du réseau et/ou en entrée de la couche cachée.
On peut en théorie conserver dans le réseau la mémoire de ce qui s’y est passe depuis

26
Chapitre 1 Rappels fondamentaux

Figure 1.16 – Classification en utilisant Couche entièrement connectée [12]

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

1.6.2.1 Problème de la disparition du gradient

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.2 Long Short-Term Memory LSTM

Les chercheurs allemands, Hochreiter et Schmidhuber, ont introduit l’idée de


réseaux de mémoire à court terme LSTM dans un article publié en 1997. Le LSTM
est un type unique de réseau neuronal récurrent (RNN) capable d’apprendre des
dépendances à long terme, ce qui est utile pour certains types de prédiction qui
nécessitent que le réseau conserve des informations sur des périodes plus longues, une
tâche avec laquelle les RNN traditionnels ont du mal. Les LSTM sont conçus pour
surmonter le problème de disparition du gradient et leur permettre de conserver des
informations pendant des périodes plus longues par rapport aux RNN traditionnels.
Les LSTM peuvent maintenir une erreur constante, ce qui leur permet de continuer
à apprendre sur de nombreux pas de temps et de se propager à travers le temps et
les couches. [7]
Les trois parties principales du LSTM comprennent :
• Forgot gate : supprime les informations qui ne sont plus nécessaires
à la réalisation de la tâche. Cette étape est essentielle pour optimiser les
performances du réseau.
• Input gate : responsable de l’ajout d’informations aux cellules
• Output gate : sélectionne et génère les informations nécessaires
(Figure 1.17).

1.6.2.3 Bi-LSTM

Les réseaux neuronaux récurrents bidirectionnels (RNN) sont une extension


des LSTM typiques qui peuvent améliorer les performances du modèle sur les
problèmes de classification de séquence, ils ne font en réalité que réunir deux RNN
indépendants. La séquence d’entrée est alimentée dans l’ordre de temps normal pour

28
Chapitre 1 Rappels fondamentaux

Figure 1.17 – Structure d’une unité LSTM [53]

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).

Figure 2.1 – Croissance du nombre de protéines séquencées[58]

Figure 2.2 – Couverture d’annotation de fonction des protéines dans UniprotKB[68]

(Figure 2.2) (a) Au cours de la dernière décennie, le nombre de chaı̂nes


d’acides aminés déposées dans UniProtKB a augmenté de manière exponentielle
(ligne noire), tandis que celles avec des affectations de termes GO soutenues
expérimentalement n’a augmenté que de manière linéaire (ligne verte). Ce sous-
ensemble de base a cependant permis d’attribuer des termes GO à une fraction

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.

2.2.1 Annotation fonctionnelle

L’annotation 1 constitue le premier pas dans l’identification de la fonction des


gènes, une fois les génomes sont annotés. Elle vise à déterminer la fonction et l’ex-
pression des gènes séquencés. La prédiction de la fonction des protéines c’est l’en-
semble de méthodes ou techniques utilisées par les Bio-informaticiens pour assigner
des rôles biologiques ou biochimiques à des protéines de fonction inconnue [37] On
déduit une homologie 2 probable de fonction, lorsque la protéine résultante prédit à
des ressemblances avec une protéine de fonction connue. On peut également identi-
1. L’annotation d’un génome, d’un transcriptome d’un protéome, d’un métabolome,..., qui
consiste à documenter de la manière la plus exhaustive les informations issues de ces disciplines.[24]
2. L’homologie est la possession d’un ancêtre commun entre deux séquences. Cette possession
est interférée à partir de la similarité.[64]

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.

2.2.1.1 Quelques méthodes de prédiction de fonctions

Dans le contexte de prédiction de fonctions des protéines, plusieurs méthodes et


approches informatiques ont été proposées, celles à base des séquences de protéines
et celle à base de ses structures (voir Figure 2.3).

Figure 2.3 – Les techniques et les approches informatiques de prédiction des fonc-
tions des protéines[1]

2.2.1.1.1 Approches à base de séquence


• Méthodes basées sur l’homologie : Ces méthodes consistent à transférer
une fonction à une protéine inconnue en analysant la similitude entre cette
protéine et d’autres protéines de fonctions bien caractérisées [89].
• Méthodes à base de motifs de séquence : Les signatures plus courtes
3. Les motifs sont des courtes séquences d’acides aminés extraites de protéines naturelles ou
créées à l’aide de systèmes d’évolution in vitro, ils sont parfois associées à des fonctions biologiques
particulières.[14]

34
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique

“Motif” appliquées à l’analyse de séquence sont assez vagues et n’impliquent


que la conservation de régions courtes dans des séquences plus grandes. Elles
sont associées à des fonctions particulières et les bases de données de motifs
telle que “PROSITE” [70].
• Méthodes basées sur le contexte génomique : Un ensemble de nou-
velles méthodes de prédiction de fonctions qui sont basées sur un certain type
de corrélation entre les nouveaux gènes / protéines et celle qui ont déjà été
annotés. La prédiction basée sur le contexte génomique se compose de trois
types : (Type 1 : la fusion des gènes. Type 2 : la conservation de l’ordre des
gènes ou la co-occurrence de gènes dans des opérons potentiels. Type 3 : la
co-occurrence de gènes entre les génomes) [79].

2.2.1.1.2 Approches à base de structure


• Méthodes basées sur des motifs de structure 3D : Elles
tentent d’identifier des motifs tridimensionnels, qui sont des sous-structures
conservées dans un ensemble de protéines fonctionnellement liées, et d’esti-
mer une cartographie entre la fonction d’une protéine et les motifs structurels
qu’elle contient. Ceci aide ensuite à prédire les fonctions des protéines non
annotées [87].
• Méthodes basées sur la structure 3D des protéines : Ces approches
identifient la protéine avec la structure la plus similaire à l’aide des techniques
d’alignement structurel ensuite transfèrent ses annotations fonctionnelles à la
protéine de requête [87].

2.2.2 Méthodes d’extraction des caractéristiques des acides


aminés

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

précision de l’apprentissage et de réduire le risque de sous-apprentissage.

2.2.2.1 Méthodes classiques

Dans le mode manuel, la tâche d’extraction des caractéristiques s’effectue par


le ”Data Scientist” lui-même. Une fois les données sont collectées et pré-traitées,
le ”Data Scientist” cherche à trouver une approche pour extraire les informations
représentatives ou les caractéristiques essentielle avant de lancer l’apprentissage.
(voir Figure 2.4)

Figure 2.4 – Le processus d’apprentissage automatique traditionnel [55]

2.2.2.1.1 Pseudo Amino Acid composition (PseuAAC)


C’est un simple modèle discret qui représente la protéine sans perdre son infor-
mation d’ordre de la séquence. Il est basé sur l’algorithme introduit par “Kuo-
Chen Chou” [42]. PseuAAC caractérise principalement la protéine en utilisant
une matrice de fréquences des acides aminés, ce qui aide à traiter les protéines
sans homologie séquentielle significative avec d’autres protéines. D’autres informa-
tions supplémentaires sont incluses dans la matrice pour représenter certaines ca-
ractéristiq-ues locales, telles que la corrélation entre les résidus de certaines distances
ainsi que le théorème d’invariance de “Chou” qui a été souvent utilisé lors du trai-
tement des cas de PseuAAC.

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

méthodes de prédiction à base de séquence, les outils basés sur la recherche de


similarité entre les séquences dont le BLAST. Cependant ce type d’approche ne
fonctionne pas lorsque la protéine de requête n’a pas de similitude significative avec
la protéine dont la fonction est connue. Le modèle le plus simple pour représenter
la protéine est le AAC (Amino Acid Composition) ainsi que son modèle amélioré
PseuAAC.

2.2.2.1.1.2 Algorithme et concept de PseuAAC


Le concept PseuAAC a été proposé à la place du concept AAC afin d’éviter la
perte des informations d’ordre des séquences, ce qui permet d’améliorer la qualité
de prédiction. Le PseuAAC contient un ensemble de plus de 20 facteurs discrets. Il
se compose de deux types :
• Type 1 : contient les 20 premiers facteurs, où ces derniers représentent les
composants de sa composition d’acides aminés.
• Type 2 : contient une série de facteurs de corrélation de rang différent.
Une protéine P, s’écrit :
h iT
P = P0 , P1 , ..., P20 , P20+1 , ..., P20+λ , (0 << L) (2.1)

(20+λ) : nombredef acteursdecorrélation


peut être selon le concept ou l’algorithme de “Chou” PseuAAC formée comme :

fu
, (1 ≤ u ≤ 20)

 P20 Pλ
i=1 fi +ω k=1 τk
Pu = (2.2)
ωτu−20
, (20 + 1 ≤ u ≤ 20 + λ)

 P20 Pλ
f +ω
i=1 i τ
k=1 k

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

• Φq (Ri ) : La q-ème fonction de l’acide aminé Ri.


• Γ : le nombre total des fonctions considérées.

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]

2.2.2.1.2 Position-specific scoring matrix (PSSM)


L’une des méthodes largement utilisées en bioinformatique et considérée parmi
les algorithmes de calcul avancés appelée PSSM ou PWM (position weight matrix).
Cette méthode fut introduite afin de caractériser et de découvrir des motifs dans
des séquences de nucléotides ou d’acides aminés [35].

2.2.2.1.2.1 Construction de la matrice de poids PWM


La PWM est une matrice à deux dimensions où les lignes représentent les sym-
boles de l’alphabet Ω et les colonnes sont les positions des poids dans les séquences
biologiques qui doivent êtres de même longueur L ( |Ω| * L). (|Ω| vaut 4 pour les
nucléotides dans l’ADN et 20 pour les acides aminés si c’est le cas des séquences de
protéines).
La construction de la matrice PWM passe par trois étapes successives :

1. La construction de la matrice de fréquences de positions (PFM)


Dans cette étape les séquences biologiques (nucléotides ou acides aminés) sont
transformées pour construire la matrice de fréquences de positions. Étant
donné un ensemble de N séquences alignées de longueur L, la matrice PFM

38
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique

est obtenu d’un calcul simple :


N
X
P F Mk,j = I(Xi,j = k) (2.5)
i=1

2. La construction de la matrice de probabilités de positions (PPM)


Cette matrice représente les probabilités de position qui peuvent être obtenues
à partir de la matrice de fréquences en divisant cette dernière par le nombre
total de séquences alignées :

P F Mk,j
P P Mk,j = (2.6)
N

Ou d’un calcul directe à partir des séquences alignées :


N
1 X
P P Mk,j = I(Xi,j = k) (2.7)
N i=1

La construction de la matrice de poids de positions (PWM)


La matrice de poids de positions finales peut être calculée, où ses éléments sont la
transformation des éléments de la PPM, selon la formule suivante :

P P Mk,j
P W Mk,j = log2 ( ) (2.8)
bk

Avec :
• bk : modèle du background
1
• bk = |k|

• |k| : le nombre de symboles dans l’alphabet (ADN : 4, Protéine : 20)

Exemple : En considérant les 10 séquences d’ADN alignées suivantes de longeur


égale à 9, nous allons construire la matrice de poids de position : (voir Table 2.1)

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

Table 2.1 – Exemple de séquences d’ADN alignées

La matrice PFM correspondante est :

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

Table 2.2 – PFM correspondante à la Table 2.1

La matrice PPM correspondante est : (voir Table 2.3)

0.3 0.6 0.1 0.0 0.0 0.6 0.7 0.2 0.1


0.2 0.2 0.1 0.0 0.0 0.2 0.1 0.1 0.2
0.1 0.1 0.7 1.0 0.0 0.1 0.1 0.5 0.1
0.4 0.1 0.1 0.0 1.0 0.1 0.1 0.2 0.6

Table 2.3 – PPM correspondante à la Table 2.1

La matrice PWM correspondante est : (voir Table 2.4)

40
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique

0.26 1.26 -1.32 -∞ -∞ 1.26 1.49 -0.32 -1.32


-0.32 -0.32 -1.32 -∞ -∞ -0.32 -1.32 -1.32 -0.32
-1.32 -1.32 1.49 2.0 -∞ -1.32 -1.32 1.0 -1.32
0.68 -1.32 -1.32 -∞ 2.0 -1.32 -1.32 -0.32 1.26

Table 2.4 – PWM correspondante à la Table 2.1


(bk = 0.25)[35]

2.2.2.2 Méthodes automatiques

L’extraction des caractéristiques c’est l’élément clé dans l’apprentissage profond,


il s’agit de transformer automatiquement les données d’entraı̂nement et les compléter
avec des caractéristiques supplémentaires ceci aide le modèle d’apprentissage profond
à comprendre la fonction qui lie l’ensemble des données d’entraı̂nement et de test.

2.3 Travaux déjà réalisés


Plusieurs techniques ont été proposées afin de prédire la fonction des protéines
et qui sont à base de techniques de l’intelligence artificielle et de l’apprentissage au-
tomatique de la machine ainsi que l’algorithmique classique. Dans la partie suivante
nous allons présenter ces techniques ainsi que leurs avantages et inconvénients.

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

Le DeepSeq est un modèle d’apprentissage profond basé sur le CNN (Convolu-


tional Neural Network). Ce modèle prend en entrée une séquence de 2000 acides

41
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique

aminés au maximum et retourne un vecteur probabiliste de longueur égale à 7 en


sortie, ce vecteur correspond à 7 fonctions (ATP binding, metal ion binding, zinc
ion binding, DNA binding, nucleic acid binding, transcription factor activity and
calcium ion binding) [84]

Figure 2.5 – L’architecture du modèle DeepSeq[84]

Le DeepSeq est constitué de 10 couches. (voir Table 2.5)

0-1 Embedding (None, 2000, 23) 529 embedding Vect(len=23)


1-2 Dropout (None, 2000, 23) 0
2-3 Conv1D (None, 1986, 250) 86500
3-4 Dropout (None, 1986, 250) 0
4-5 Conv1D (None, 1972, 100) 375100
5-6 Dropout (None, 1972, 100) 0
6-7 GlobalAveragePooling1D (None, 100) 0
7-8 Flatten (None, 100) 0
8-9 BatchNormalization (None, 100) 400
9-10 Dense (None, 7) 707 Activation ”Sigmoid”

Table 2.5 – L’emplilement des couches de modèle DeepSeq

42
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique

2.3.1.2 Résultats

L’architecture DeepSeq atteint la meilleure Accuracy et F1-score en 43 itérations


qui sont égaux à 86.72% et 71.13% respectivement en comparant avec les autres
méthodes basées-séquence [84].

2.3.1.3 Avantages

• Le processus de prédiction n’exige aucune intervention humaine pour l’ex-


traction des caractéristiques.
• L’architecture DeepSeq peut résoudre plusieurs problèmes compliqués dont
la prédiction de la structure 2D et 3D des protéines.
• Le DeepSeq est gratuit et open source.

2.3.1.4 Inconvénients

• Les séquences de très grande longueur sont ignorées.

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

Nous supposons un problème de classification multiclasse avec m exemples d’ap-


prentissage x1 , ..., xm , chaque xj est associé à une classe xj ∈ {λ1 , ..., λu }. On

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]

2.3.2.2 CRED comme base

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.3 Extension de CRED à DEEPred

Étant donné que CRED est une approche d’extraction de règles de


décomposition, il n’est pas possible d’appliquer directement l’implémentation d’ori-
gine aux NN avec plusieurs couches de neurones cachés. Cependant, l’approche algo-
rithmique peut être étendue de manière relativement simple en dérivant des arbres
de décision supplémentaires et des règles intermédiaires pour chaque couche cachée
supplémentaire [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

Deep Network Fusion, deepNF (également prononcé deep enough), un framework


d’intégration pour l’apprentissage de la représentation compacte des caractéristiques
de faible dimension des protéines qui capture des modèles topologiques complexes
sur plusieurs réseaux d’interaction protéine-protéine, et qui est utilisé pour dériver
des étiquettes fonctionnelles des protéines. La meilleure façon d’aborder la diversité
des types de réseaux d’interaction protéine-protéine et qu’ils utilisent des couches
séparées pour gérer chaque type de réseau dans les premières parties de l’auto-
encodeur profond, après, ils connectent toutes les couches en une seule couche à
partir de laquelle ils connectent toutes les couches en une seule couche à partir
de laquelle ils extraient des fonctionnalités pour prédire la fonction des protéines
pour différentes espèces. DeepNF est basé sur un auto-encodeur multimodal profond
(MDA) pour intégrer différents réseaux hétérogènes d’interactions protéiques dans
une représentation compacte et de faible dimension commune à tous les réseaux.

2.3.3.1 Avantages

DeepNF présente les avantages conceptuels suivantes :


• Il préserve la structure de réseau non linéaire en appliquant plusieurs
couches de fonctions non linéaires, en composant l’architecture DNN de
DeepNF, apprenant ainsi une représentation de réseau plus riche.
• Il gère les liens bruyants présents dans les réseaux, car les auto-encodeurs
se sont également des systèmes de débruitage efficaces capables de construire
des représentations utiles à partir de données corrompue [93]
• Il est efficace et évolutif car il utilise le MDA pour apprendre les ca-
ractéristiques protéiques de faible dimension de tous les réseaux de manière
totalement non supervisée et indépendamment de la tâche de prédiction de
fonction.
Dans la première étape, les réseaux sont convertis en vecteurs après la méthode
Random Walk with Restarts RWR (à gauche). Après cette étape de prétraitement,
les réseaux sont combinés via le MDA (à droite). Les caractéristiques de faible di-
mension sont ensuite extraites de la couche intermédiaire du MDA et utilisées pour
former un classificateur final (Figure 2.6).

45
Chapitre 2 L’annotation fonctionnelle par l’apprentissage automatique

Figure 2.6 – Présentation de la méthode DeepNF [74]

2.3.3.2 Résultats

Après avoir utilisé la méthode de cross-validation et le maintien temporel par


les spécialistes pour évaluer la méthode DeepNF et comparer ses performances à
GeneMANIA et Mashup. Dans tous les tests réalisés, α = 0.98 dans l’étape RWR,
car cela conduit aux meilleurs résultats généralisés pour tous les types d’étiquettes
de fonction et les architectures testées. Il a été démontré que d’autres choix de α (par
exemple, α = 1.0) entraı̂nent une qualité inférieure des caractéristiques extraites [66]

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.

3.2 La collecte de données

3.2.1 Schéma de classification

La fonction d’une protéine décrit généralement les aspects moléculaires, cel-


lulaires ou phénotypiques dans lesquels une protéine est impliquée, y compris la
façon dont elle interagit avec d’autres molécules (comme les substrats, les agents

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).

3.2.2 Gene Ontology

Est un projet bio-informatique destiné à structurer la description des gènes et


des produits géniques dans le cadre d’une ontologie commune à toutes les espèces.
Ce projet, qui s’inscrit dans la démarche plus large d’Open Biomédical Ontologies
(OBO) regroupant d’autres projets bio-informatiques dans le domaine biomédical,
poursuit trois objectifs : [17]
• Gérer et enrichir son vocabulaire contrôlé décrivant les gènes et leurs pro-
duits.
• Gérer les annotations, c’est-à-dire les informations rattachées aux gènes et
à leurs produits.
• Fournir les outils permettant d’accéder aux informations structurées dans
le cadre du projet.
La base GO est conçue comme un graphe orienté acyclique, chaque terme étant en
relation avec un ou plusieurs termes du même domaine, et parfois d’autres domaines.
Le vocabulaire GO est construit pour n’être pas dépendant des espèces considérées,
avec des termes applicables à la fois aux organismes multicellulaires et unicellulaires,
aux eucaryotes et aux procaryotes.[17]
Chaque terme GO est défini par l’ontologie du projet à travers : (Figure 3.1)
• Un identifiant unique alphanumérique.
• Un nom de terme, qui peut être une suite de mots.
• Un espace de nom indiquant le domaine auquel il appartient.
• Une définition avec ses sources citées,
Les attributs supplémentaires facultatifs :
• Des synonymes.
• Des références.
• Des commentaires sur la signification.
Le schéma proposé est étalonné sur les protéines d’un organisme modal large-

50
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

Figure 3.1 – Exemple d’un terme GO [26]

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).

3.2.3 Présentation de jeu de données

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

Figure 3.2 – Histogramme de distribution des séquences protéiques par fonction.

Figure 3.3 – Schéma représentatif de fichiers de données.

52
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

3.3 Pré-traitement de données


Dès que les données ont été collectées, l’étape de pré-traitement de ces données est
très importante dans le processus de construction du modèle. Puisque les données
collectées continents plusieurs informations, certaines peuvent êtres importantes,
d’autres peuvent êtres triviales, il est donc nécessaire de n’extraire que les infor-
mations impliquées pour l’apprentissage. Ainsi qu’une codification de ces données
puisque les réseaux de neurones n’acceptent que des données numériques.

3.3.1 Nettoyage de données

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.

3.3.2 Encodage de données

Sachant que le principe de fonctionnement des réseaux de neurones ne traitent


que les données numériques, il est donc très important de trouver un encodage pour
les données d’entrées qui sont des séquences de caractères, et aussi de codifier les
sorties.

3.3.2.1 Encodage de données d’entrée

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

Figure 3.4 – Encodage des acides aminés avec “Integer Encoding”.

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

Figure 3.5 – Exemple de rembourrage d’une protéine.

3.3.2.2 Encodage de données de sortie

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).

3.3.3 Construction de jeu de données

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.

Figure 3.8 – Schéma global du pré-traitement.

3.4 Deep Learning


Dans cette section, nous allons présenter toutes les méthodes et les architectures
Deep Learning conçues.

3.4.1 Méthodes de projection vectorielle des mots

Ce sont l’ensemble de méthodes de prolongement lexical.

56
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

3.4.1.1 OneHot enconding

OneHot encoding est une méthode de prolongement lexical qui consiste à projeter
les entrées sur un espace vectoriel discret.

Figure 3.9 – OneHot encoding.

3.4.1.2 Word Embedding

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 Les architectures Deep Learning

3.4.2.1 CNN

C’est l’architecture de réseaux de neurones profonds de la solution DeepSeq. Elle


est basée sur la méthode Word Embedding et le réseau de neurones convolutionnel.
Ce dernier contient deux couches de convolution de 250/100 filtres respectivement
de taille (15*15) (Table 3.1).

57
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

Figure 3.10 – Word Embedding.

ConvNet-1 ConvNet-2

Filtres 250 100


Kernel-size 15 15
Dropout 0.3 0.3
Activation-function ReLU ReLU

Table 3.1 – Informations sur le réseau convolutionnel

58
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

Figure 3.11 – Architecture du modèle CNN.

L’algorithme ci-dessous représente le pseudo-code de l’algorithme de création du


modèle de l’architecture CNN du DeepSeq.

59
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

Algorithm 1 Algorithme de création du modèle CNN


procedure CNN-Model
Input : num-amino-acids, max-seq-size, max-num-funct
Output : model

model ← Sequential() . Création d’une pile Keras

AddInput(model, max-seq-size) . Ajout de la couche Entrée

AddEmbedding(model, max-seq-size, Emb-dim, max-seq-size) . Projection


sur un espace vectoriel continu
AddDropOut(model, 0.5) . Ajout de DropOut

// Création du réseau convolutionnel CNN


AddConv1D(model, 250, 15, activation=’relu’) . Ajout de la 1ère couche de
convolution
AddDropOut(model, 0.3) . Ajout de DropOut

AddConv1D(model, 100, 15, activation=’relu’) . Ajout de la 2ème couche de


convolution
AddDropOut(model, 0.3) . Ajout de DropOut

AddGlobalAveragePooling(model) . Ajout de la couche de pooling moyen

AddFlatten(model) . Ajout de la couche Flatten

AddBatchNormalization(model) . Ajout de la couche de normalisation

AddDense(model, max-num-funct, activation=’sigmoid’) . Ajout de la


couche de classifieur

60
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

3.4.2.2 CNN-BiLSTM

CNN-BiLSTM est une architecture de réseaux de neurones profonds, c’est une


hybridation de deux modèles (Figure 3.12) :
• CNN : c’est un réseau de neurones à convolution capable d’extraire les
caractéristiques locaux ou des motifs dans les séquences de protéines. Il se
compose de deux couches de convolution de 250/100 filtres respectivement de
taille (15*15), chacune de ces couches utilise une couche MaxPooling. Cette
architecture utilise les mêmes configurations que l’architecture précédente
(Table 3.1).
• BiLSTM : c’est un réseau de neurones récurrent à deux sens (passé vers
futur et futur vers passé). Il se compose de deux couches bi-directionnelles de
100 cellules LSTM.

Figure 3.12 – Architecture du modèle CNN-BiLSTM.

L’algorithme ci-dessous représente le pseudo-code de l’algorithme de création du


modèle d’hybridation des deux réseaux CNN et BiLSTM.

61
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

Algorithm 2 Algorithme de création du modèle CNN-BiLSTM


procedure CNN-BiLSTM-Model
Input : num-amino-acids, max-seq-size, max-num-funct
Output : model

model ← Sequential() . Création d’une pile Keras

AddInput(model, max-seq-size) . Ajout de la couche Entrée

AddEmbedding(model, max-seq-size, Emb-dim, max-seq-size) . Projection


sur un espace vectoriel continu
AddDropOut(model, 0.5) . Ajout de DropOut

// Création du réseau convolutionnel CNN


AddConv1D(model, 250, 15, activation=’relu’) . Ajout de la 1ère couche de
convolution
AddDropOut(model, 0.3) . Ajout de DropOut
AddMaxPooling(model) . Ajout de la couche de pooling max

AddConv1D(model, 100, 15, activation=’relu’) . Ajout de la 2ème couche de


convolution
AddDropOut(model, 0.3) . Ajout de DropOut
AddMaxPooling(model) . Ajout de la couche de pooling max

// Création du réseau bi-directionnel récurrent BiLSTM


AddBiLSTM(model, 100) . Ajout de la couche BiLSTM Forward

AddBiLSTM(model, 100) . Ajout de la couche BiLSTM Backward

AddBatchNormalization(model) . Ajout de la couche de normalisation

AddDense(model, max-num-funct, activation=’sigmoid’) . Ajout de la


couche de classifieur

62
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

3.4.2.3 CNN Multi-Channel (ImproveDeepSeq)

C’est un réseau de neurones convolutionnel, il contient trois canaux, chacun


contient deux couches de convolutions de 250 / 100 filtres respectivement. Chaque
canal utilise l’ensemble de ces filtres avec des taille différentes (15*15, 17*17, et
19*19 respectivement) (Figure 3.13).

Figure 3.13 – Architecture du modèle 3-Channel-CNN (ImproveDeepSeq).

L’algorithme ci-dessous représente le pseudo-code de l’algorithme de création du


modèle de l’architecture CNN Multi-Channels : ”ImroveDeepSeq”.

63
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

Algorithm 3 Algorithme de création du modèle ImproveDeepSeq


procedure Channels-CNN-Model
Input : num-amino-acids, max-seq-size, max-num-funct
Output : model

model ← Sequential() . Création d’une pile Keras

AddInput(model, max-seq-size) . Ajout de la couche Entrée

// Création du 1er canal du réseau convolutionnel CNN


Create-Channel(cnn1, max-seq-size, 15) . Création du 1er Canal

// Création du 2ème canal du réseau convolutionnel CNN


Create-Channel(cnn2, max-seq-size, 17) . Création du 1er Canal

// Création du 3ème canal du réseau convolutionnel CNN


Create-Channel(cnn3, max-seq-size, 19) . Création du 1er Canal

AddConcatenate(model, cnn1, cnn2, cnn3) . Concaténer les sorties des


cannaux

AddBatchNormalization(model) . Ajout de la couche de normalisation

AddDense(model, max-num-funct, activation=’sigmoid’) . Ajout de la


couche de classifieur

Le code ci-dessous représente la procédure de création d’un nouveau canal CNN


appelée dans le pseudo-code de creation du modèle CNN-Multi-Channels précédent.

64
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

Algorithm 4 Algorithme de création du modèle ImproveDeepSeq


procedure Create-Channel
Input : cnn, max-seq-size, size
Output : cnn
// Création d’un nouveau canal du réseau convolutionnel CNN
AddEmbedding(cnn1, max-seq-size, Emb-dim, max-seq-size) . Projection sur
un espace vectoriel continu
AddDropOut(cnn, 0.5) . Ajout de DropOut
AddConv1D(cnn, 250, size, activation=’relu’) . Ajout de la 1ère couche de
convolution
AddDropOut(cnn, 0.3) . Ajout de DropOut

AddConv1D(cnn, 100, size, activation=’relu’) . Ajout de la 2ème couche de


convolution
AddDropOut(cnn, 0.3) . Ajout de DropOut

AddGlobalAveragePooling(cnn) . Ajout de la couche de pooling moyen


AddFlatten(cnn) . Ajout de la couche Flatten

3.4.2.4 Les hyperparamètres de ImproveDeepSeq

3.4.2.4.1 La fonction d’activation


Nous avons utilisé comme fonction d’activation, la fonction “Logistique” ou
“Sigmoı̈de”. La fonction “Sigmoı̈de” couvre tout l’espace des nombres réels, elle
est donc définie sur R et prend ses valeurs dans l’intervalle (0, 1) (Figure 3.14). La
fonction “Sigmoı̈de” est définie par :

1
σ(net) = (3.1)
1 + exp −net

65
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

Figure 3.14 – Fonction Sigmoı̈de

Les deux fonctions d’activation “Sigmoı̈de” et “Softmax” sont bornées par 0 et


1. La fonction “Softmax” dans un classifieur donne un vecteur de probabilités où la
somme de ces dernières donne 1 c’est à dire que la sortie admet une seule classe. Cette
fonction peut être utilisé dans la classification multi-classe. Cependant, la fonction
“Sigmoı̈de” donne un vecteur probabiliste de probabilités indépendantes entre elles.
Cela nous permet d’utiliser la fonction “Sigmoı̈de” comme fonction d’activation
pour notre classification qui est une classification multi-label, c’est à dire que nous
pouvons avoir plus d’un label ou étiquette.

3.4.2.4.2 La fonction d’erreur


Afin de calculer l’erreur de classification, nous avons identifié comme fonction
d’erreur la fonction “Binary Cross-Entropy”. Elle s’appelle aussi “Sigmoid Cross-
Entropy” ( “Sigmoid Activation” plus “Cross-Entropy loss”).
Binary Cross-Entropy est utilisée pour mesurer l’erreur de classification multi-
label, où chaque composante de vecteur de sortie ne va pas influencer la décision des
autres composantes.

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

3.4.2.4.3 L’algorithme d’apprentissage


Pour que notre modèle apprend nous avons besoin d’un algorithme d’apprentis-
sage ou ce que nous appelons la descente du gradient. Pour cela, nous avons utilisé
deux algorithme sont : SGD et ADAM.
• SGD (Stochastic Gradient Descent) : c’est une méthode d’optimi-
sation permettant de trouver la meilleure configuration des paramètres des
réseaux de neurones en ajustant itérativement ces configurations afin de mi-
nimiser l’erreur du réseau.
• ADAM (Adaptive Moment Estimation) : c’est un algorithme sto-
chastique qui peut être utilisé au lieu de la descente du gradient stochas-
tique classique SGD. Cette méthode est efficace en terme de calcul, a peu de
mémoire et convient bien aux problèmes qui sont importants en termes de
données et/ou de paramètres [82]

LR beta-1 beta-2 epsilon amsgrad batch-size

0.001 0.9 0.999 10−7 False 256

Table 3.2 – Paramètres de la fonction d’apprentissage.

Les résultats empiriques démontrent qu’Adam fonctionne bien dans la pratique


et se compare favorablement à d’autres méthodes d’optimisation stochastique (Fi-
gure 3.15).

67
Chapitre 3 Prédiction fonctionnelle par ImproveDeepSeq

Figure 3.15 – Adam versus autres descentes du gradient[90]

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.

4.2 Environnement de développement


Afin d’implémenter notre solution et la déployer, nous avons besoin d’un en-
semble précis d’outils matériels et logiciels. Dans cette section, nous allons présenter
les différentes spécifications matérielles et logicielles nécessaire pour accomplir la
tâche d’implémentation.

4.2.1 Spécifications matérielles

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.

Figure 4.1 – Logo Google Colabratory

Composante information

CPU Intel(R) Xeon(R) CPU / 2.20GHz


Architecture CPU x866 4
Coeurs CPU 2
Thread/coeur 2
cache L1d / L1i / L2 / L3 32k / 32k / 256k / 56320k
RAM 13G
GPU Tesla K80 , compute 3.7, 2496 CUDA cores
VRAM 13G GDDR5

Table 4.1 – Fiche technique de la machine Colab [59]

4.2.2 Spécifications logicielles

4.2.2.1 Python

Python est un langage de programmation interprété, multi-paradigme et multi-


plateforme conçu pour différentes raisons et domaines dont la science de données. Il
est open source et offre des syntaxes simples et faciles ainsi que des outils de haut
niveau pour optimiser la productivité des programmeurs.

70
Chapitre 4 Implémentation et expérimentation

Figure 4.2 – Logo Python [43]

4.2.2.2 Tensorflow/Keras

• Tensorflow est un outil tres utilisé en IA et en apprentissage automatique,


développé par google et fournit une API stable en python et d’autres langages
[40]
• Keras est une bibliothèque open source écrite en Python. Elle permet d’in-
teragir avec des algorithmes de réseaux de neurones profonds et de machine
learning particulièrement Tensorflow [39]

Figure 4.3 – Logo Tensorflow vs Keras [18]

4.2.2.3 Tensorboard

C’est un outil de visualisation nécessaire pour l’apprentissage automatique peut


jouer le rôle d’un tenseurs au fil du temps. Il assure le suivi et la visualisation du

71
Chapitre 4 Implémentation et expérimentation

graphe du modèle, des métriques telles que la fonction de perte et la précision et


l’affichage des histogrammes des poids et d’autres [56].

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].

Figure 4.4 – Logo Flask [15]

72
Chapitre 4 Implémentation et expérimentation

4.2.2.5 Autres bibliothèques utilisées

Bibiothèque Description Utilité Lien

keras-metrics Ce package four- Évaluer les perfor- Lien vers package


nit des métriques mance du model.
pour l’évaluation
des modèles de
classification Ke-
ras.
tensorflow-addons Est un référentiel Calcul des me- Lien vers package
de contributions triques, fonctions,
qui implémentent ...
de nouvelles fonc-
tionnalités non
disponibles dans
TensorFlow de
base.
numpy Bibliothèque fon- Algèbre linéaire, Lien vers package
damentale du les nombres
calcul scientifique aléatoires.
avec Python.
pandas Outil de manipu- lire des fichiers, Lien vers package
lation et analyse créer DataFrame,
de données. ...
sklearn Utilisé pour les Exploration Lien vers package
algorithmes d’ap- et analyse de
prentissage auto- données.
matique.

Table 4.2 – Bibliothèques utilisées

73
Chapitre 4 Implémentation et expérimentation

4.3 Évaluation et résultats


Dans cette section, nous allons d’abord introduire les métriques nécessaires
pour l’évaluation de notre modèle “ImproveDeepSeq”. Ensuite, nous aborderons
les résultats d’apprentissage dont les graphes de performances ainsi. Nous allons
clôturer cette section par une comparaison de la solution proposée avec d’autres
solutions.

4.3.1 Métriques d’évaluation

Notre modèle “ImproveDeepSeq a pour objectif d’améliorer les performances de


prédiction de la fonction des protéines. Afin de mesurer et d’évaluer notre modèle,
nous avons utilisé quelques métriques.

4.3.1.1 Le taux d’erreur

Le taux d’erreur est une mesure de différence entre la véritable étiquette et


l’étiquette prédite. Le réseau de neurones utilise l’erreur durant la phase d’appren-
tissage (Backpropagation) afin d’ajuster les poids des inter-connections.

4.3.1.2 Matrice de confusion

La matrice de confusion est un outil puissant de mesure de performance des


modèles pour les classifications multi-class et multi-label. C’est une matrice carrée
n*n. Pour notre problème, les lignes représentent les fonctions désirées des protéines,
les colonnes représentent les fonctions prédites. L’intersection des lignes et colonnes
définit le nombre d’instances classifiés (Figure 4.5).

74
Chapitre 4 Implémentation et expérimentation

Figure 4.5 – Matrice de confusion.

La compréhension du fonctionnement de la matrice de confusion consiste à com-


prendre d’abord les quatre terminologies suivantes :
• TP(True Positive) : désigne les cas de prédiction positive avec une valeur
réelle positive.
• TN (Tue Negative) : cette terminologie représente les cas où la prédiction
est positive où la valeur réelle est négative.
• FP(False Positive) : décrire les cas où la prédiction est positive alors que
la valeur réelle est négative.
• FN (False Negative) : exprime les cas à prédiction négative mais la
valeur réelle est positive.

4.3.1.3 Accuracy

C’est une mesure d’évaluation du modèle, elle définie la capacité ou la proportion


de classifications correctes sur l’ensemble de données de tests. L’exactitude est définie
par :

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

C’est une métrique d’évaluation qui signifie le nombre de prédictions positives


correctes. La précision est définie par :

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

En plus de l’exactitude, Fbeta-Score est une métrique importante pour


l’évaluation de la fiabilité de notre solution. Fbeta-Score représente la moyenne

76
Chapitre 4 Implémentation et expérimentation

harmonique pondérée de précision et de rappel. Elle est définie par :

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

4.3.2 Performances et évaluation

4.3.2.1 Interprétation des résultats de performances

Au cours de la phase expérimentale d’apprentissage du modèle, nous avons lancé


l’apprentissage pour 250 itérations. Nous avons constaté que notre modèle est très
bruyant et afin de réduire ses effets nous avons introduit les couches “Dropout”
et “BatchNormalization”. A la fin de chaque itération, l’algorithme d’apprentissage
exécute un “Callback” qui permet de sauvegarder le modèle dans un fichier. Ce
fichier contient toutes les informations concernant le modèle à cette itération (archi-
tecture, matrices de poids , hyperparamètres, . . . ). Parmi les modèles enregistrés,
un modèle doit être adopté comme modèle de la solution proposée. Ce dernier assure
les meilleurs performances (Accuracy et Fbeta-Score).
Les figures suivantes montrent l’évolution d’Accuracy et Fbeta-Score respective-
ment obtenus au cours de l’apprentissage du modèle sur les données d’apprentissage
(en orange) et de tests (en bleu).

Figure 4.6 – Graphe d’évolution d’Accuracy durant l’apprentissage.

77
Chapitre 4 Implémentation et expérimentation

Figure 4.7 – Graphe d’évolution de Fbeta-Score durant l’apprentissage.

Notre modèle “ImproveDeepSeq” indique des améliorations significatives en


terme de performances (Accuracy et Fbeta-Score). Après 221 itérations, le modèle
atteint comme Accuracy de validation 88.34 % et un Fbeta-Score de 84.36 %.

Temps d’exécution total 1 Heures et 5 mins


Nombre d’itérations 250
Batch-size 256
Temps d’exécution par itération 15 Secondes
Erreur de validation 0.3754
Accuracy de validation 88.34 %
Fbeta-Score de validation 84.36 %

Table 4.3 – Résultats d’évaluation de la solution ”ImproveDeepSeq”.

4.3.2.2 Étude comparative

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.

4.3.2.2.1 Étude comparative entre différents modèles


Un résumé d’une comparaison entre notre modèle final ”ImproveDeepSeq” et les
modèles des autres expérimentations est inscrit dans le tableau suivant :

78
Chapitre 4 Implémentation et expérimentation

ImproveDeepSeq CNN(DeepSeq) CNN-BiLSTM

Val Accuracy 88.34 % 86.72 % 85.65 %


Val Fbeta-Score 84.36 % 71.12 % 75.37 %

Table 4.4 – Comparaison des performances des architectures conçues.

4.3.2.2.2 Étude comparative avec différents hyper-paramètres


Nous avons aussi réaliser une étude comparative des variations des hyper-
paramètres pour le modèle ”ImproveDeepSeq”.

Ecodage OneHot Word Embedding

Val Accuracy 85.5 % 88.34 %


Val Fbeta-Score 71.09 % 84.36 %

Table 4.5 – Comparaison des performances avec différents encodages.

Optimiseur ADAM SGD

Val Accuracy 81.15 % 88.34 %


Val Fbeta-Score 69.89 % 84.36 %

Table 4.6 – Comparaison des performances avec différents optimiseurs.

4.4 Fonctionnalités et interface


Pour faciliter l’utilisation de notre modèle, il est important qu’il soit muni d’une
interface graphique. Dans ce qui suit, nous allons présenter les différentes fonction-
nalités de notre application

4.4.1 Accueil

C’est la page d’entrée du système. Typiquement, elle renseigne sur le contenu de


l’application(Figure 4.8).

79
Chapitre 4 Implémentation et expérimentation

Figure 4.8 – La page d’accueil

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.

Figure 4.9 – Séquence de protéine introduite pour la prédiction.

Ou bien de naviguer et choisir un fichier qui contient des séquences protéiques


et faire la prédiction(Figure 4.10).

80
Chapitre 4 Implémentation et expérimentation

Figure 4.10 – Chargement du fichier de séquences pour la prédiction

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).

Figure 4.11 – Résultat de prédiction des fonctions de la séquence introduite.

Dans le cas du choix de l’option de sélectionner et prédire un fichier, nous obtien-


drons une liste de résultats(Figure 4.12), où chaque ligne de cette liste représente
les résultats de la prédiction d’une seule séquence.

81
Chapitre 4 Implémentation et expérimentation

Figure 4.12 – Résultat de prédiction des fonctions après le chargement du fichier


de séquences.

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...)

Figure 4.13 – Informations et résultats de prédiction de la protéine sélectionnée.

4.5 Étude de cas


Dans cette section, nous illustrons un exemple de trois protéines connue de
l’espèce Homo sapiens, mettant en évidence la capacité de notre modèle à prédire

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

ATP binding, ATP binding,


2’-5’-oligoadenylate synthase 1
P00973 400 metal ion bin- metal ion bin-
[47]
ding ding
DNA binding, DNA binding,
Zinc finger protein castor homo-
Q86V15 1759 metal ion bin- metal ion bin-
log 1 [48]
ding ding
Cytidine and dCMP deaminase
Q9BWV3 514 zinc ion binding zinc ion binding
domain-containing protein 1 [49]

Table 4.7 – Informations sur quelques protéines examinées.

Example 1. ”2’-5’-oligoadenylate syntase 1”

La figure (Figure 4.14) montre quelques informations (Base de données, numéro


d’accession et le nom) sur la protéine ”2’-5’-oligoadenylate syntase 1”.

83
Chapitre 4 Implémentation et expérimentation

Figure 4.14 – Informations et résultats de prédiction de la protéine ”2’-5’-


oligoadenylate syntase 1”.

Lorsque la séquence primaire de cette protéine est donnée en entrée de notre


modèle, les 3 neurones de la couche de sortie sur cinq responsables de ”ATP binding”,
”metal ion binding” et ”zinc ion binding” déclenchent une valeur positive indiquant
de vraies prédictions positives avec des probabilités de 53.67%, 81.66% et 53.98%
respectivement pour les trois fonctions formées.

Example 2. ”Zinc finger protéin castor homolog 1”

La figure (Figure 4.15) montre quelques informations (Base de données, numéro


d’accession et le nom) sur la protéine ”Zinc finger protéin castor homolog 1”.

84
Chapitre 4 Implémentation et expérimentation

Figure 4.15 – Informations et résultats de prédiction de la protéine ”Zinc finger


protéin castor homolog 1”.

Lorsque la séquence primaire de cette protéine est donnée en entrée de notre


modèle, les 2 neurones de la couche de sortie sur cinq responsables de ”metal ion
binding” et ”DNA binding” déclenchent une valeur positive indiquant de vraies
prédictions positives avec des probabilités de 100% et 99.97% respectivement pour
les deux fonctions formées.

Example 3. ”Cystidine and dCMP deaminase domain-containing protein 1”

La figure (Figure 4.16) montre quelques informations (Base de données, numéro


d’accession et le nom) sur la protéine ”Cystidine and dCMP deaminase domain-
containing protein 1”.

Figure 4.16 – Informations et résultats de prédiction de la protéine ”Cystidine and


dCMP deaminase domain-containing protein 1”.

85
Chapitre 4 Implémentation et expérimentation

Lorsque la séquence primaire de cette protéine est donnée en entrée de notre


modèle, le neurone de la couche de sortie sur cinq responsables de ”zinc ion binding”
déclenchent une valeur positive indiquant de vraies prédictions positives avec une
probabilité de 99.31% pour la fonction formée.

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

Nous avons abordé tout au long de ce travail le problème d’annotation fonction-


nelle des protéines inconnues en se basant sur leurs représentions Gene Ontology
(GO).
L’objectif principal de notre expérience est de construire un système de
prédictions des fonctions moléculaires des protéines à partir de ses propres séquences
d’acides aminés. La réalisation de ce système nous a poussés à voir les travaux déjà
réalisés et à étudier leurs avantages et inconvénients dans le but de réaliser un
système puissant plus fiable.
La bonne collecte des données était une phase importante pour concrétiser ce
projet où nous avons essayé de sélectionner des données riches d’annotations. Ces
données collectées ont subi un traitement descriptif pour avoir un jeu de données
adapté à notre besoin. Ainsi un prétraitement du jeu de données basé sur un net-
toyage et un encodage de ce dernier était nécessaire pour passer aux autres étapes.
L’étape suivante est considérée comme une colonne vertébrale de notre système
ou nous avons choisi l’architecture adéquate afin d’entamer la phase d’apprentis-
sage où le système s’entraı̂nait à apprendre l’ensemble de motifs représentatifs des
fonctions biologiques ciblées. La dernière étape consistait à évaluer et valider la so-
lution proposée. Afin d’évaluer notre système, nous nous somme appuyé sur deux
métriques l’exactitude (Accuracy) et F1 score dans une étude comparative entre
les différentes architectures. Nous avons obtenu des améliorations significatives en
termes de précision, d’exactitude (88.34%) et de F1 score (84.36%) et jusqu’à cinq
fonctions biologiques pour les protéines des espèces Homo sapiens. Un exemple avec
une séquence de requêtes et des fonctions localisées a également été présenté.

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

[1] Accelerating in silico research with workflows : A lesson in sim-


plicity, disponible sur. https://www.semanticscholar.org/paper/
Accelerating-in-silico-research-with-workflows%3A-A-Walsh-
Carroll/3f2fd2a1056fcc78d84669376534f96cde24812c. consulté le
20/03/2020.

[2] Basic structure of the blstm network, disponible sur. https://www.


researchgate.net/figure/Basic-structure-of-the-BLSTM-network-
The-LSTM-nets-at-the-bottom-indicate-the-forward_fig3_324056729.
Consulté le 07/04/2020.

[3] Batch normalization , disponible sur. https://en.wikipedia.org/wiki/


Batch_normalization. Consulté le 10/05/2020.

[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.

[5] Convolutional neural networks (cnns / convnets), disponible sur. https://


cs231n.github.io/convolutional-networks/. Consulté le 07/04/2020.

[6] Cours ifsi - biologie fondamentale - la cellule (partie 1), disponible


sur. https://www.infirmiers.com/etudiants-en-ifsi/cours/cours-
ifsi-biologie-fondamentale-la-cellule-partie-1.html. 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.

[8] Deepgoplus protein function prediction, disponible sur. http://deepgoplus.


bio2vec.net/deepgo. consulté le 14/03/2020.

[9] Deepgoplus protein function prediction, disponible sur. =http ://deepgo-


plus.bio2vec.net/deepgo/. consulté le 25/04/2020.

[10] Disponible sur. https://omictools.com/deepseq-tool. consulté le


21/03/2020.

[11] Dropout in (deep) machine learning, disponible sur. https://medium.


com/@amarbudhiraja/https-medium-com-amarbudhiraja-learning-less-
to-learn-better-dropout-in-deep-machine-learning-74334da4bfc5.
Consulté le 10/05/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.

[13] Démêler la structure 3d des protéines, disponible sur. http:


//www.reflexions.uliege.be/cms/c_352385/fr/demeler-la-structure-
3d-des-proteines. Consulté le 01/05/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.

[15] Flask’s documentation, disponible sur. https://flask.palletsprojects.


com/en/1.1.x/. consulté le 10/06/2020.

[16] Gene ontology overview, disponible sur. http://geneontology.org/


docs/ontology-documentation/#:~:text=One%20ontology%E2%80%A6%
20or%20three%3F,a%20separate%20root%20ontology%20term. consulté le
09/08/2020.

[17] Gene ontology overview, disponible sur. https://fr.wikipedia.org/wiki/


Gene_Ontology. consulté le 03/06/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.

[19] Homo sapiens, disponible sur. https://fr.wikipedia.org/wiki/Homo_


sapiens. consulté le 27/08/2020.

[20] Key gene in leukemia discovered, disponible sur. https://medicalxpress.


com/news/2020-06-key-gene-leukemia.html. Consulté le 09/03/2020.

[21] La synthèse/ribosome de protéine assemblent des molécules de protéine, dis-


ponible sur. https://fr.dreamstime.com/synth%C3%A8se-ribosome-prot%
C3%A9ine-assemblent-des-mol%C3%A9cules-image118064461. Consulté le
01/05/2020.

[22] la transcription chez les eucaryotes), disponible sur. https://planet-


vie.ens.fr/thematiques/cellules-et-molecules/physiologie-
cellulaire/la-transcription-chez-les-eucaryotes. Consulté le
21/02/2020.

[23] L’acide ribonucléique), disponible sur. https://fr.wikipedia.org/wiki/


Acide_ribonucl%C3%A9ique. Consulté le 20/02/2020.

[24] L’annotation en génomique fonctionnelle et en protéomique, l’annota-


tion en génomique fonctionnelle et en protéomique, disponible sur.
http://biochimej.univ-angers.fr/Page2/COURS/9ModulGenFoncVeg/
8Annotation/1Annotation.htm. Consulté le 01/05/2020.

[25] L’arn, sociéte chimique de france), disponible sur. http://www.


societechimiquedefrance.fr/ARN.html?lang=fr. Consulté le 20/02/2020.

[26] le dataset utilisé dans le model deepseq, disponible sur. https://github.com/


recluze/deepseq/tree/master/data. consulté le 03/06/2020.

[27] Les 10 plus populaires algorithmes du machine learning, disponible sur.


https://www.slideshare.net/HakimNasaoui/les-10-plus-populaires-
algorithmes-du-machine-learning-135086708. Consulté le 06/03/2020.

[28] Les protéines : définitions et structures, disponible sur. http:


//unf3s.cerimes.fr/media/paces/Grenoble_1112/seve_michel/seve_
michel_p14/seve_michel_p14.pdf. Consulté le 03/05/2020.

91
Bibliographie

[29] L’expression du patrimoine génétique, disponible sur. https://sites.google.


com/site/svtlecmartin/home/1ere-s/1s-th-3-chap-3-l-expression-
du-patrimoine-genetique?overridemobile=true&amp;tmpl=%2Fsystem%
2Fapp%2Ftemplates%2Fprint%2F&amp;showPrintDialog=1. Consulté le
01/05/2020.

[30] Machine learning explained : Understanding supervised, unsupervi-


sed, and reinforcement learning, disponible sur. https://bigdata-
madesimple.com/machine-learning-explained-understanding-
supervised-unsupervised-and-reinforcement-learning/. Consulté
le 23/04/2020.

[31] Machine learning : Introduction à l’apprentissage automatique, disponible sur.


https://www.supinfo.com/articles/single/6041-machine-learning-
introduction-apprentissage-automatique. Consulté le 23/04/2020.

[32] Neural network embeddings explained, disponible sur. https:


//towardsdatascience.com/neural-network-embeddings-explained-
4d028e6f0526. Consulté le 03/06/2020.

[33] The ontology of the gene ontology, disponible sur. https://www.uniprot.org/


help/sequence_annotation. consulté le 09/08/2020.

[34] The ontology of the gene ontology, disponible sur. https://www.ncbi.nlm.


nih.gov/pmc/articles/PMC1480173/. consulté le 09/08/2020.

[35] Position weight matrix, disponible sur. https://en.wikipedia.org/wiki/


Position_weight_matrix. consulté le 30/04/2020.

[36] Protein function), disponible sur. https://fr.wikipedia.org/wiki/Prot%


C3%A9ine#Fonction. Consulté le 20/02/2020.

[37] Prédiction de la fonction des protéines - protein function prediction, disponible


sur. https://fr.qwe.wiki/wiki/Protein_function_prediction. consulté
le 07/03/2020.

[38] Prédiction de la fonction des protéines - protein function prediction, disponible


sur. https://fr.qwe.wiki/wiki/Protein_function_prediction. consulté
le 10/08/2020.

92
Bibliographie

[39] présentation de la bibliothèque keras, ,disponible sur. https://fr.wikipedia.


org/wiki/Keras. consulté le 10/06/2020.

[40] présentation de la bibliothèque tensorflow, disponible sur. https://fr.


wikipedia.org/wiki/TensorFlow. consulté le 10/06/2020.

[41] présentation simplifiée d’un gène), disponible sur. https://fr.wikipedia.


org/wiki/G%C3%A8ne. consulté le 19/02/2020.

[42] Pseudo amino acid composition, disponible sur. https://en.wikipedia.org/


wiki/Pseudo_amino_acid_composition. consulté le 30/04/2020.

[43] Python (langage), disponible sur. https://fr.wikipedia.org/wiki/Python_


(langage). consulté le 10/06/2020.

[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.

[45] Qu’est-ce que l’apprentissage automatique ?, disponible sur. https:


//www.oracle.com/ca-fr/artificial-intelligence/what-is-machine-
learning.html. consulté le 04/03/2020.

[46] Reinforcement learning : qu’est-ce que l’apprentissage par renforcement ?,


disponible sur. https://www.lebigdata.fr/reinforcement-learning-
definition. Consulté le 06/03/2020.

[47] Reviewed protein sequence annotaion, disponible sur. https://www.uniprot.


org/uniprot/P00973. consulté le 25/08/2020.

[48] Reviewed protein sequence annotaion, disponible sur. https://www.uniprot.


org/uniprot/Q86V15. consulté le 25/08/2020.

[49] Reviewed protein sequence annotaion, disponible sur. https://www.uniprot.


org/uniprot/Q9BWV3. consulté le 25/08/2020.

[50] Réseaux de neurones réccurents, disponible sur. https://dataanalyticspost.


com/Lexique/reseaux-de-neurones-recurrents. Consulté le 02/04/2020.

[51] Structure de l’a.d.n. et sa définition, disponible sur. http://tpe-


electrophorese-2012.e-monsite.com/pages/prundefinedsentation-
de-l-adn.html. Consulté le 21/05/2020.

93
Bibliographie

[52] Structure des protéines et fonctionnement, disponible sur. https:


//www.news-medical.net/life-sciences/Protein-Structure-and-
Function-(French).aspx. Consulté le 03/05/2020.

[53] Structure of a lstm unit, disponible sur. https://www.researchgate.


net/figure/Structure-of-a-LSTM-unit_fig1_326459497. Consulté le
07/04/2020.

[54] Symbiose et évolution : à l’origine de la cellule eucaryote , disponible


sur. https://www.encyclopedie-environnement.org/vivant/symbiose-
evolution-lorigine-de-cellule-eucaryote/. Consulté le 09/03/2020.

[55] Techniques for interpretable machine learning, disponible sur.


https://cacm.acm.org/magazines/2020/1/241703-techniques-for-
interpretable-machine-learning/fulltext. consulté le 20/03/2020.

[56] Tensorboard : Tensorflow’s visualization toolkit, disponible sur. https://www.


tensorflow.org/tensorboard. consulté le 10/06/2020.

[57] Understanding binary cross-entropy / log loss : a visual explanation, dis-


ponible sur. https://towardsdatascience.com/understanding-binary-
cross-entropy-log-loss-a-visual-explanation-a3ac6025181a. Consulté
le 03/06/2020.

[58] Uniprot current release statistics, disponible sur. https://www.ebi.ac.uk/


uniprot/TrEMBLstats. consulté le 10/08/2020.

[59] What is colaboratory, disponible sur. https://colab.research.google.com/.


consulté le 05/06/2020.

[60] Abdelhakim Aouf. Cours de Biologie Moléculaire et Génie Génétique, 3ème


année licence Microbiologie, université Ferhat Abbas-Sétif. 2015.

[61] Véronique Belmas. LA CELLULE. Cours IFSI 1 année. 2018.

[62] Y. Bengio, A. Courville, and P. Vincent. Representation learning : A review


and new perspectives. IEEE Transactions on Pattern Analysis and Machine
Intelligence, 35(8) :1798–1828, 2013.

[63] Jean-Sébastien Silvestre Bernard Swynghedauw. Biologie et génétique


moléculaires. Dunod 3e édition (24 septembre 2008), 2008.

94
Bibliographie

[64] Céline Brochier-Armanet. Bioinformatique : annotation fonctionnelle des


génomes. Université Claude Bernard, Lyon 1 Laboratoire de Biométrie et Bio-
logie évolutive (UMR 5558).

[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.

[69] Rina Dechter. Learning while searching in constraint-satisfaction-problems. In


Proceedings of the Fifth AAAI National Conference on Artificial Intelligence,
AAAI’86, page 178–183. AAAI Press, 1986.

[70] Cyril Dominguez, Rolf Boelens, and Alexandre M. J. J. Bonvin. Haddock :


a proteinprotein docking approach based on biochemical or biophysical infor-
mation. Journal of the American Chemical Society, 125(7) :1731–1737, 2003.
PMID : 12580598.

[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.

[73] S. L. Dudarev, G. A. Botton, S. Y. Savrasov, C. J. Humphreys, and A. P.


Sutton. Electron-energy-loss spectra and the structural stability of nickel oxide :
An lsda+u study. Phys. Rev. B, 57 :1505–1509, Jan 1998.

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.

[80] Andrew D. Johnson. Bioinformatics for geneticists : A bioinformatics primer for


the analysis of genetic data. Circulation : Cardiovascular Genetics, 1(2) :153–
153, 2008.

[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.

[83] Thomas M. Mitchell. Machine Learning. McGraw-Hill, Inc., USA, 1 edition,


1997.

[84] Mohammad Nauman, Hafeez Ur Rehman, Gianfranco Politano, and Alfredo


Benso. Beyond homology transfer : Deep learning for automated annotation of
proteins. bioRxiv, 2017.

[85] Michael A Nielsen. Neural networks and deep learning, volume 2018. Determi-
nation press San Francisco, CA, 2015.

96
Bibliographie

[86] Christine A. Orengo, David T. Jones, and Janet M. Thornton. Bioinformatics :


Genes, proteins and computers. 2003.

[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.

[88] Warren S. Sarle. Neural Networks and Statistical Models. 1994.

[89] A. Shanker. Bioinformatics : Sequences, Structures, Phylogeny. Springer Sin-


gapore, 2018.

[90] Shaoanlu. Sgd ¿ adam ? ? which one is the best optimizer : Dogs-vs-cats toy
experiment, Dec 2017.

[91] Ling X. Shen, James P. Basilion, and Vincent P. Stanton. Single-nucleotide


polymorphisms can cause different structural folds of mrna. Proceedings of the
National Academy of Sciences, 96(14) :7871–7876, 1999.

[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.

A.1.1 Les cellules eucaryotes

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.

• Ribosome c’est un petit organite sous forme sphérique, se compose de


deux sous unités, son rôle est la synthèse des molécules de protéines à partir
des acides aminés et de l’information génétique données par le noyau.

98
Annexe A Notions biologiques

Figure A.1 – Cellule eucaryote.[54]

• Mitochondrie c’est le centre de la production de l’ensemble de l’énergie de


la cellule sous la forme ATP (Adénosine Triphosphate) de divers cofacteurs
(NADH, FADH2).

• Membrane cytoplasmique : c’est une barrière qui entourne la cellule


et permet l’échange avec l’extérieure. Elle est caractérisée par sa structure
stable.

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

Figure A.2 – Gène [20]

comprend trois classes de séquences d’ADN : [63]


• Classe des séquences codantes (Exons) : parties du gène transcrites
en ARN, ensuite elles seront traduites en Protéine.
• Classe des séquence régulatrices : ce sont des séquences qui ne seront
pas traduite en protéine, se sont des éléments qui vont réguler la transcription.
• Classe des séquences non codantes (Introns) : parties du gène trans-
crites en ARN, ensuite elles seront éliminées au cours de processus de matu-
ration de l’ARN.

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.

Figure B.1 – Dropout[11]

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é.

B.2 Batch Normalizaion


La distribution des entrées de chaque couche change pendant la formation du
réseau de neurones profond par le fait que les paramètres de la couches précédentes
changent, ce qui ralentit la formation en exigeant des taux d’apprentissage inférieurs
et une initialisation soigneuse des paramètres. Ce problème est appelé ”internal
covariate shift”, c’est-à-dire décalage co-variable interne. Pour cela le Batch Norm
a été proposé pour atténuer ce décalage co-variable interne.
Batch Normalization est une sorte de régularisation afin d’accélérer l’apprentis-
sage et d’améliorer les performances et la stabilité des réseaux de neurones profond.
Nous avons l’utilisé pour normaliser la couche de sortie par la mise en èchele ”Re-
scaling” des sorties entre 0 et 1.

Algorithm 5 Algorithme de Batch Normalization [3]


procedure BatchNormalization
Input : mini − batch : β = {x1 , ..., xm }, γ, β
Output : yi = BNγ,β (xi )
µβ ← m1 m
P
i=1 xi . mini-batch mean

1
Pm
σβ2 ← m i=1 (xi − µβ )2 . mini-batch variance

x −µβ
x̂i ← √iσ2 + . normalize
β

yi ← γ x̂i + β ≡ BNγ,β (xi ) . scale and shift

Vous aimerez peut-être aussi