48
RAPPORT DE STAGE LEA-DB : Base de données et site Web dédiés à l'étude des LEA Avril à août 2007 Responsables de stage : J.-M. Richer, LERIA, Angers E. Jaspard, UMR PMS 1191, Angers G. Hunault, HIFI UPRES 3859, IFR 132, Angers Laurent CHATELAIN Master Pro BioInformatique

Base de données dédiées aux protéines LEA et site webbiochimej.univ-angers.fr/Page2/LaboThemEJ/7RapportM2Laurent.pdf · Ce projet de base de données relative aux LEA est issu

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

RAPPORT DE STAGE

LEA-DB : Base de données et site Web

dédiés à l'étude des LEA

Avril à août 2007

Responsables de stage :J.-M. Richer, LERIA, AngersE. Jaspard, UMR PMS 1191, AngersG. Hunault, HIFI UPRES 3859, IFR 132, Angers

Laurent CHATELAINMaster Pro BioInformatique

Université de Nantes Rapport de stage

Remerciements

Je remercie tout d'abord J-M. RICHER, maître de stage et membre du Laboratoire d'Etude et

de Recherche en Informatique d'Angers, qui m'a apporté l'encadrement nécessaire à la réalisation du

projet.

Mes remerciements sont adressés en particulier à E. JASPARD, également maître de stage,

et G. HUNAULT pour leur disponibilité quasi permanente et pour leur précieux soutien.

Pour finir, je remercie toute l'équipe du département informatique de la Faculté d'Angers

pour leur accueil, et pour les bonnes conditions de travail dans lesquelles j'ai pu effectuer mon

stage.

Master Pro BioInformatique Laurent CHATELAINPage 1

Université de Nantes Rapport de stage

Table des matières

Introduction ......................................................................................................................................... 41 Contexte général................................................................................................................................5

1.1 Introduction................................................................................................................................51.2 Positionnement vis-à-vis des enjeux socio-économiques...............................................................6

1.3 Objectifs de l'unité UMR PMS.................................................................................................. 62 Présentation des LEA........................................................................................................................ 7

2.1 Localisation et expression..........................................................................................................72.2 Caractéristiques structurales...................................................................................................... 72.3 Cas des déhydrines...................................................................................................................11

3 LEA-DB : aspect base de données.................................................................................................. 143.1 La base de données.................................................................................................................. 14

3.1.1 Modélisation.....................................................................................................................143.1.2 Structure détaillée............................................................................................................ 15

3.2 Récupération des données .......................................................................................................193.2.1 Principe............................................................................................................................ 193.2.2 Sources de données.......................................................................................................... 213.2.3 Récupération des données................................................................................................ 223.3 Extraction des données et remplissage de la base : programmation Perl............................223.3.1 Analyse des fichiers à parcourir.......................................................................................223.3.2 Le programme.................................................................................................................. 24

4 LEA-DB : aspect site Web.............................................................................................................. 274.1 Généralités............................................................................................................................... 274.2 Organisation du site et organisation d'une page type...............................................................294.3 Fonctionnalités de LEA-DB.................................................................................................... 30

4.3.1 Consultation .................................................................................................................... 314.3.2 Recherche de données dans la base..................................................................................334.3.3 Les outils ......................................................................................................................... 344.3.4 Comparaison des résultats avec d'autres outils sur Internet.............................................364.3.5 Autres pages .................................................................................................................... 38

5 Perspectives de recherches et améliorations possibles.................................................................... 40Conclusion..........................................................................................................................................43Bibliographie...................................................................................................................................... 44ANNEXES......................................................................................................................................... 44

Master Pro BioInformatique Laurent CHATELAINPage 2

Université de Nantes Rapport de stage

Introduction

Découvertes chez les plantes, les protéines LEA (« Late Embryogenesis Abundant

proteins ») recouvrent un grand nombre de protéines très variées et sont principalement associées à

la tolérance au stress hydrique résultant de la dessiccation ou d'un choc thermique dû au froid. De

nombreuses fonctions ont été associées aux LEA, mais leur rôle précis n'est pas encore connu. Ces

protéines assurant des rôles aussi importants que la protection des structures cellulaires, il semble

judicieux de tenter de mieux les comprendre et de mieux les caractériser.

L'objectif de ce stage est de créer et d’exploiter une base de données contenant des informations

relatives à ces protéines, dans le but de mettre en lumière des données relatives à la relation

structure-fonction de ces protéines, et de fournir une base exploitable directement par les biologistes

travaillant sur ce domaine.

La première phase a consisté à s'approprier les notions fondamentales au sujet des LEA de

manière à bien saisir les enjeux mais aussi les difficultés du sujet à traiter.

Le stage s'organise ensuite en deux grandes étapes du point de vue informatique : la création d'une

base de données en elle-même, puis le développement de l'interface Web qui permet de l'exploiter.

Le remplissage de cette base a constitué une partie importante du projet, tant sur le plan de la

réflexion quant aux données à conserver en vue des études à mener, que de la façon de récupérer

ces informations.

Nous fournirons en fin de rapport quelques propositions pour enrichir et faire évoluer la base

de données et son interface, ainsi que les premières pistes de recherches que les biologistes auront la

possibilité d'emprunter pour l'analyse des données de la base.

Master Pro BioInformatique Laurent CHATELAINPage 3

Université de Nantes Rapport de stage

1 Contexte général

Ce projet de base de données relative aux LEA est issu de la collaboration entre Jean-Michel

RICHER du laboratoire LERIA (Laboratoire d'Etude et de Recherche en Informatique d'Angers),

qui participe également au projet BIL (BioInformatique Ligérienne), Emmanuel JASPARD de

l'UMR PMS (Physiologie Moléculaire des Semences) et Gilles HUNAULT du laboratoire HIFI

(Hémodynamique et Fibrose Hépatique). L'UMR PMS travaille depuis de nombreuses années sur

ces protéines et a notamment découvert la première LEA de la matrice mitochondriale PsLEAm

(Grelet et al.,2005; Tolleter et al,, 2007).

1.1 Introduction

L'UMR 1191 Physiologie Moléculaire des Semences (UMR PMS) a été constituée le 1er

janvier 2000 entre l'Université d'Angers, l'Institut National d'Horticulture (INH) et l'INRA

(département de Biologie Végétale).

L'objectif de cette structuration était de rassembler des équipes de recherche déjà engagées dans des

travaux sur les semences, afin de conforter, sur le plan de la recherche fondamentale, le pôle

semence bien établi en Anjou par la présence de nombreux industriels et instituts techniques.

Au sein du dispositif INRA, l'UMR se distingue par sa forte proportion d'enseignants-chercheurs

parmi l'effectif chercheur (11/13). L'UMR a été favorablement renouvelée en 2007 avec comme

recommandations de recentrer les travaux sur un nombre réduit d'espèces et de développer des

approches de validation fonctionnelle des gènes.

1.2 Positionnement vis-à-vis des enjeux socio-économiques

La production française de semences atteint environ 1,3 millions de tonnes, plaçant ainsi

notre pays au premier rang européen et au deuxième rang mondial après les États-Unis. Réalisant un

chiffre d'affaires de 1800 M€, la France a exporté pour plus de 400 M€ lors de la campagne 2004-

2005 (sources GNIS, Groupement National Interprofessionnel des Semences et plants).

Master Pro BioInformatique Laurent CHATELAINPage 4

Université de Nantes Rapport de stage

La région des Pays de la Loire, assurant en moyenne 10% de la production, est une zone

traditionnelle et historique de multiplication des semences. Outre les producteurs, elle regroupe

également tous les acteurs de la filière publics et privés.

La qualité des semences représente un enjeu stratégique et économique important. En effet,

le marché très compétitif oblige les producteurs de semences à garantir la qualité de leur produit

envers leurs clients. En terme de qualité physiologique, il s'agit d'assurer que les semences vendues

soient vigoureuses, lèvent rapidement, de manière homogène et tolèrent la conservation prolongée.

1.3 Objectifs de l'unité UMR PMS

L'objectif des recherches de cette unité est d'acquérir une meilleure compréhension de la

biologie des semences au cours de la germination et de la levée, en vue d'en assurer la qualité

physiologique.

Pour ce qui nous intéresse plus particulièrement dans le cadre de ce stage, l'équipe d'O. Leprince a

pour objectif général de mieux comprendre les mécanismes protecteurs et de régulation impliqués

dans la tolérance à la dessiccation ainsi que les facteurs moléculaires impliqués dans la conservation

des semences.

La tolérance à la dessiccation (TD) correspond à la propriété de résister sans dommage à la

perte presque totale de l'eau cellulaire. Chez les semences orthodoxes, elle est acquise pendant la

phase de remplissage des graines et perdue au cours de la germination. Il s'agit d'un phénomène

multifactoriel qui repose sur au moins deux composantes :

1) la synthèse de molécules protectrices tels que les sucres non réducteurs et les protéines de

stress LEA et HSP (Heat Shock Protein) (Hoekstra et al., 2001)

2) la répression coordonnée du métabolisme et l'élimination de réactions néfastes engendrées

par des dysfonctionnements métaboliques pendant la dessiccation (Leprince et al., 2000). En

termes de régulation, on sait que l'ABA (Acide Abscissique) joue un rôle majeur mais les

voies de signalisation sont loin d'être connues.

Master Pro BioInformatique Laurent CHATELAINPage 5

Université de Nantes Rapport de stage

2 Présentation des LEA

Les LEA sont des protéines en majorité très hydrophiles qui semblent impliquées dans la

protection des structures cellulaires, ce qui en fait des protéines potentiellement très importantes

dans la vie des cellules. Elles sont très nombreuses et diverses et forment un très vaste ensemble de

familles de protéines.

2.1 Localisation et expression

Une des premières caractéristiques de ces protéines est qu'elles sont ubiquitaires : on les

retrouve dans de nombreux compartiments cellulaires comme le noyau, le cytoplasme, le reticulum

endoplasmique et elles ont été récemment découvertes au niveau de la mitochondrie.

Leur importance se manifeste également dans la diversité des espèces chez lesquelles on les a

identifiées (plantes, bactéries, nématodes). Cependant les LEA n'ont toujours pas été mises en

évidence chez l'homme, d'où l'intérêt et les interrogations qu'elles suscitent : sont-elles présentes

chez l'homme et quelle est leur fonction ?

Chez les plantes, elles sont fortement exprimées pendant la maturation des graines ainsi que dans

les tissus végétatifs en réponse à différents stress : hydrique (déshydratation), thermique (froid),

salin.

2.2 Caractéristiques structurales

Ainsi les LEA sont connues depuis près de 30 ans (Dure et al., 1981) mais leur fonction

précise demeure inconnue (vs. une activité enzymatique par exemple). La ou les fonctions des LEA

ne sont donc pas caractérisées même si des études ont réussi à dégager quelques grands rôles

comme la résistance à la déshydratation.

Certaines caractéristiques structurales ont cependant été mises en évidence.

Tout d'abord ces protéines sont très hydrophiles de par leur forte teneur en acides aminés

hydrophiles. Les LEA du groupe 2 joueraient ainsi un rôle de surfactant et préviendraient

l'agrégation des macromolécules, participant de cette manière au maintien de leur intégrité.

Master Pro BioInformatique Laurent CHATELAINPage 6

Université de Nantes Rapport de stage

Des travaux récents chez Arabidopsis thaliana utilisant des mutants KO du gène ATEM6

(un gène codant une LEA) ont montré que les graines présentaient une déshydratation et une

maturation précoce (Manfree, Lanni 2006). L'une des fonctions liée à cette caractéristique

structurale serait donc de réguler la perte en eau en intervenant pendant la maturation de l'embryon.

Ensuite, une caractéristique tout à fait remarquable de ces protéines est qu'elles semblent

échapper au dogme reliant la structure d'une protéine à sa fonction : en effet elles sont non

structurées dans leur forme native, et elles s'enrichissent en structures secondaires dans des

conditions dénaturantes.

A titre d'exemple, la structure secondaire montre que MtEm6 et PM25 (2 LEA) sont non structurées

à l'état hydraté avec un pourcentage en hélice α et feuillet β de 10 et 15%. Un séchage lent induit

une augmentation significative de la teneur en hélice α (Em6, 60%; PM25, 56%). Toutefois chez

PM25 il induit également une augmentation de la proportion en feuillet β (25%). Cette structure en

feuillet β pourrait être liée à une fonction spécifique à l'état sec.

Enfin, certaines LEA possèdent des motifs répétés qui ont permis de classer ces protéines

comme nous allons le voir.

Les LEA sont étudiées depuis longtemps puisque des équipes comme celles de Dure s’y

intéressaient déjà dans les années 1980 (classification en 1989), puis Wise et Tunnacliffe par la

suite. Malgré cela elles restent mal connues.

Mais ces équipes, même si cela reste complexe, ont trouvé des critères de classification. Tout

d'abord des critères basés sur les séquences protéiques.

Ainsi, sur la base de similarités de séquences, elles ont été divisées en plusieurs groupes:

Tableau 1 : Groupes de LEA et motifs associés (Tunnacliffe & Wise, 2007)

Groupe Motif Référence Pfam1 CGQTRREQLGEEGYSQMRGK Cuming (1999) PF004772a Segment « Y » = DEYGNP Close (1997) PF002572b Segment « S » = Sn Close (1997) PF002572c Segment « K » = EKKGIMDKIKEKLPG Close (1997) PF002573 TAQAAKEKAXE Cuming (1999) PF029874 PF03760

Master Pro BioInformatique Laurent CHATELAINPage 7

Université de Nantes Rapport de stage

On remarque aussi que cette classification associe chaque groupe à une famille de protéines

(Pfam) (Bateman et al., 2004). La base de données Pfam contient des informations sur les domaines

et les familles protéiques.

A remarquer également que dans la classification de Wise & Tunnacliffe de 2007, les groupes 5 à 9

ont disparu par rapport à la classification de 2003, et que les protéines de ces groupes ont donc été

redistribuées dans les 4 groupes restants.

Il faut aussi noter que la faible complexité de ces protéines rend difficiles les alignements. En effet

les répétitions de motifs diminuent la variabilité des acides aminés entre les différentes protéines à

comparer, ce qui complique la discrimination de celles-ci, car moins de critères les distinguent.

L'absence de structure 3D disponible rend impossible les études d'homologies de structures, à moins

de se baser sur des prédictions que l'on peut obtenir à l'aide de logiciels.

Les analyses POPPS (Proteins or Oligonucleodides Probability Profiles) des séquences

constituent également des critères de classification. Cela consiste en la mesure des fréquences de

chaque acide aminé dans les protéines de chaque groupe. Il a été observé que certains mono/di ou

tri-peptides étaient sur ou sous représentés dans un groupe donné, et mieux, que certaines de ces sur

ou sous abondances peuvent servir de facteur discriminant pour classer une protéine dans un groupe

ou dans un autre (Tunnacliffe, Wise, 2007).

Ces analyses POPPs ont conduit à la définition de SuperFamilles (SF) de LEA, avec une ou

plusieurs superfamilles comprenant chacun des groupes initiaux. Ces superfamilles sont donc le

reflet de la structure des groupes de LEA.

Tableau 2 : Résultats des analyses POPPs

Groupe SF Eléments discriminants1a 4 +E, +G, +EG, +GE, +GG, +KG, +QE, +RK, +GGE, +KGG

1b 6 +E, +G, +DE, +EG, +ES, +GG, +GQ, +RE, +RK, +ARE, +DES, +REG

2a 1 +G, -L, +EK, +GG, +GT, +EKL, +IKE, +KEK, +KIK, +KKG, +KLP, +LPG

2b 10 -F, +G, -I, +AG, +EK, +GG, +GQ, +KE, +SS, +EKL, +GAG, +IKE, +KEK, +KLP, +LPG, +SSS

2c 3 -F, -I, -L, -R, -W, +DK, +EK, +KK, +KL, +LP, +TH, +EKK, +KEK, +KLP, +LPG

3a 2 +A, -C, +E, -F, -I, +K, -L, -P, +AE, +AK, +EK, +ET, +GE, +GK, +KE, +AAE, +AKD, +EKA

3b 5 +A, -I, +K, -L, -P, +Q, +T, -V, +AA, +AQ, +EK, +KE, +KT, +QA, +QQ, +QS, +QT, +TQ, +AAK, +AQA, +EKT, +QAA, +TQQ

6 7 +A, -F, -L, +AA, +AE, +MQ, +QS, +VA, +AAA, +GVA, +QSA, +SAA

Master Pro BioInformatique Laurent CHATELAINPage 8

Université de Nantes Rapport de stage

Puis sur la base de cette classification, obtenue grâce aux différents critères que nous venons

de voir, ces équipes sont parvenues à associer des mots-clés à chacun des groupes de leur

classification, ce qui se révèle être d'un grand intérêt pour les analyses syntaxiques puis sémantiques

de la fonction des LEA que l'on envisage par la suite.

Tableau 3 : Mots-clés associés aux superfamilles de LEA, et donc aux groupes de LEA

Groupe SF Mots-clés

1 4 histone H4, chromosomal protein, nuclear protein, DNA binding

1 6 dsRNA binding, DNA gyrase, breakage, CLP, ATP binding

2 1 Break, ATP binding, protein biosynthesis, topoisomerase, repair

2 3 Coiled, coil, nuclear protein, caldesmon, histone H1, chaperone, tropomyosin filament, break, DNA topoisomerase

2 8 DNA topoisomerase, nuclear protein, HMG box, coiled coil

2 9 Transcriptional inhibition, glycosyl hydrolase, nuclear protein,

2 10 nuclear protein, DNA binding, transcription regulation, intermediate filament, keratin, chaperone, homeobox, coiled coil, HMG box domain, cytoskeleton

3 2 Chaperone, coiled coil, tropomyosin, stress, filament, phosphorylation, caldesmon elongation factor, neurofilament, actin binding, cytoskeleton, rotamase

3 5 Coiled coil, histone H1, filament, nuclear protein, neurofilament, flagella, HAMP domain, synuclein, DNA binding, hsp70

6 7 Groel protein, nuclear protein, histone H1, chaperonin, DNA binding, HAMP domain, synuclein, transcription regulation

Il faut ajouter à ces critères des règles basées sur les profils d'hydrophobicité des protéines, qui

permettent de classer les LEA dans des sous-groupes (Tunnacliffe, Wise, 2007).

Tableau 4 : Règles de classification des LEA

Groupe Règles2a H < = 0.15 et aromatiques > = 0.077 et min_hyph < = -1.97et chargés < = 0.42

2b L > = 0.23 et H < = 0.3 et ave_hyph > = -1.233 et ave_hyph < = -0.978

2c aromatiques > = 0.077 and min_hyph < = -2.743 et chargés >= 0.4

3 H > = 0.34

1 E > = 0.02 et ave_hyph < = -1.241

lea5 max_hyph > = 1.0 et ave_hyph < = -0.3

lea14 aliphatiques> = 0.25

6 H > = 0.25 et max_hyph > = 0.5

4 Autres

Les règles doivent être appliquées de haut en bas (si ... sinon).

Master Pro BioInformatique Laurent CHATELAINPage 9

Université de Nantes Rapport de stage

2.3 Cas des déhydrines

Malgré la complexité de leur analyse, certaines LEA ont été plus particulièrement étudiées,

il s'agit des LEA du groupe 2, appelées aussi déhydrines, et qui sont donc aujourd'hui les mieux

connues.

Il a ainsi été défini des fonctions plus précises pour cette classe, en fonction de la présence

de certains patterns. Un motif est généralement un segment court, continu et non ambigu d'une

séquence alors qu'un pattern a une structure plus complexe. Il est souvent composé de différents

motifs qui peuvent être plus ou moins éloignés les uns des autres et sa définition peut comporter des

exclusions ou des associations de motifs.

L’alignement multiple de plusieurs séquences dotées de la même fonction est utilisé pour définir un

motif consensus (ensemble de positions conservées) qui peut alors servir de " signature "

fonctionnelle : toute nouvelle séquence dans laquelle ce motif est détecté est alors réputée

correspondre à une fonction similaire.

Les motifs K (EKKGIMDKIKEKLPG) sont souvent retrouvés dans la partie C-terminale

des protéines et peuvent être répétés de 1 à 11 fois. Des prédictions de structure indiquent une

propension à former des hélices α amphipathiques de classe A (Close, 1996, 1997; Campbell and

Close, 1997; Cuming, 1999).

Les motifs Y (DEYGNP) sont plutôt situés en partie N-terminale des protéines et concernent

une grande partie des LEA du groupe 2.

Les motifs S (Sn) peuvent subir des phosphorylations et seraient ainsi associés à la

localisation nucléaire (Goday et al., 1994; Godoy et al., 1994) .

Les motifs Φ correspondent à des enchaînements d'acides aminés polaires riches en

glycines. Il leur a été attribué un rôle dans les interactions avec les surfaces hydrophobes des

macromolécules cytoplasmiques ou nucléaires, empêchant ainsi leur agrégation (Campbell and

Close, 1997).

Prenons par exemple une déhydrine qui présenterait un motif Y, puis un motif S puis n motifs K :

les auteurs ont réussi à déterminer que cette protéine serait plutôt associée à la fixation aux

phospholipides des membranes des vésicules lipidiques.

Master Pro BioInformatique Laurent CHATELAINPage 10

Université de Nantes Rapport de stage

Tableau 5 : Association de patterns à des fonctions plus précises des déhydrines

YSKn KnS Skn, Kn, KnS- Fixation aux phospholipides des vésicules lipidiques

- Fixation aux métaux- Protection contre la peroxydation par radicaux hydroxyles- Cryoprotection

- Processus d'acclimatation au froid

Intérêts de la base

Ainsi on voit bien l'importance de ces protéines et donc les nombreux intérêts d’une base de

données pour les LEA.

1. Il n’existe pas de base de données dédiée aux LEA.

2. Son contenu a été mûrement réfléchi par un biochimiste, un informaticien et un statisticien. Il

constitue un recueil de données spécialisées sur cette vaste famille de protéines.

3. La base de données contient plusieurs milliers de séquences. Ce nombre est beaucoup plus

important que ceux sur lesquelles les études bioinformatiques antérieures reposaient.

4. Aucune structure de LEA n’est connue.

5. Par ailleurs la définition de leur fonction est floue, imprécise. Elle est souvent reliée à des

phénomènes physiologiques amples qui mettent en jeu un très grand nombre de protéines

diverses, dont les LEA.

6. En conséquence, la relation structure – fonction des LEA (groupe par groupe) est inconnue.

7. Des données expérimentales sont donc absolument nécessaires. Mais elles n’ont trait qu’à une

seule protéine LEA. Ce sont des données individuelles, pas forcément extrapolables à

l’ensemble des LEA ou à des sous-ensembles.

Master Pro BioInformatique Laurent CHATELAINPage 11

Université de Nantes Rapport de stage

8. De ce fait, l’analyse prospective par des outils bioinformatiques s’appuyant sur la base

de données LEA est une approche complémentaire aux données expérimentales.

9. Et ce d’autant plus, qu’à contrario, la fouille de données permet de traiter l’ensemble des

protéines afin de les classer, de les différencier : d’en obtenir une sorte de « carte d’identité »,

groupe par groupe.

10. Elle permet aussi d’inclure des protéines considérées comme non LEA et inversement

d’exclure des protéines « réputées » LEA qui n’en sont pas.

11. La structure de la base de données permet un grand nombre d’analyses dans le but d’étudier

la relation structure – fonction des LEA :

- analyse syntaxique et sémantique des mots-clés liés à la fonction, à la localisation

cellulaire, au stade de développement

- recherche de motifs consensus, de signatures des LEA groupe par groupe

- recherche de domaines protéiques

- caractérisation physico-chimique : masse molaire, point isoélectrique, composition en acides

aminés, profils d’hydrophobicité, propension à être nativement non repliée, …

Master Pro BioInformatique Laurent CHATELAINPage 12

Université de Nantes Rapport de stage

3 LEA-DB : aspect base de données

3.1 La base de données

Pour cette partie du projet, nous avons utilisé MySQL pour le développement de la base.

3.1.1 Modélisation

La première grande étape du projet a consisté en la définition de la base. Cette phase est

primordiale pour l'étude ultérieure des LEA et requiert donc toutes les attentions. En effet, on

souhaite remplir la base avec des données relatives aux LEA sélectionnées grâce à la requête

précise que nous verrons plus loin (section 3.2.1). La difficulté réside dans le choix de champs qui

devront se révéler pertinents lors des fouilles de données qui suivront. Nous nous sommes donc

réunis à plusieurs reprises pour décider des données qu'il nous semblait judicieux de conserver pour

chaque protéine. De ces entretiens est apparue la structure de la base.

Il est à noter que les informations sur les protéines sont extraites de fichiers « GenPept »,

format de fichier spécifique au NCBI (National Center for Biotechnology Information,

http://www.ncbi.nlm.nih.gov/), contenant de nombreuses données mais dont seulement une partie

nous intéresse.

Le NCBI est une ressource nationale américaine pour l'information biologique moléculaire. Il

développe des bases de données publiques telles que GenBank, dbSNP ou RefSeq, conduit des

recherches dans la biologie informatique, développe des logiciels pour analyser des données de

génome et fournir des informations biomédicales. Il est en quelque sorte le pendant américain de

l'Institut européen de bioinformatique (EBI).

La base est constituée de 5 tables, dont 3 tables contenant les informations sur les protéines

sont reliées entre elles par l'identifiant de la protéine. Les deux autres tables sont indépendantes et

sont destinées à stocker les mots-clés utiles aux recherches d'une part, et les données de connexion

des différents utilisateurs privilégiés d'autre part.

Master Pro BioInformatique Laurent CHATELAINPage 13

Université de Nantes Rapport de stage

3.1.2 Structure détaillée

Nous avons d'abord la table 'proteins' contenant les différentes informations sur les

protéines, la table 'fastas' contenant les séquences des protéines au format Fasta, la table 'notes'

contenant des informations biologiques, la table 'keywords' contenant les mots clés destinés aux

recherches qui seront développées dans la section 4.3.2, et la table 'membres' qui permet de gérer

des types d'utilisateurs possédant chacun des droits différents sur la base.

Les séquences Fasta, qui sont elles aussi des données relatives aux protéines ont été volontairement

séparées dans une autre table (fastas) pour des raisons de performances. En effet, les séquences

peuvent constituer des données assez lourdes (jusqu'à 800 acides aminés pour les LEA les plus

longues), or la plupart des requêtes ne faisaient pas appel aux séquences, d'où l'idée de les mettre à

part pour éviter de les manipuler inutilement.

Commençons par la table 'proteins'. Cette table contient 20 champs que nous allons

détailler.

Tout d'abord le champ 'accession' : il s'agit d'un code unique attribué à chaque publication

de protéine dans la base de données du NCBI (Genbank) qui constitue donc une clé intéressante

pour l'identification des protéines stockées. Ce code consiste en une chaîne de caractères et est donc

stockée sous un type varchar(15). Dans un fichier « GenPept » il s'agit de la première donnée de la

ligne 'LOCUS'. Ce champ sert de clé primaire.

Le nom de la protéine (champ 'name') est également stocké sous un type varchar(50). Dans le

fichier « GenPept » il s'agit de la première information retrouvée sur la ligne 'DEFINITION', c'est à

dire ce qui se trouve avant le '['.

La longueur de la séquence en acides aminés de la protéine (champ 'length'), est stockée sous un

type int(5). On retrouve cette information en deuxième position de la ligne 'LOCUS' du fichier

« GenPept ».

L'organisme (champ 'organism') dont est issue la LEA est stocké sous un type varchar(50). Il s'agit

de l'information portée sur la ligne 'SOURCE / ORGANISM' du fichier « GenPept ».

Le règne (champ 'reign') dont elle est issue est stocké sous un type varchar(50). Il s'agit de

l'information portée sur la deuxième ligne de 'SOURCE / ORGANISM' du fichier « GenPept »

après le premier ';'.

Master Pro BioInformatique Laurent CHATELAINPage 14

Université de Nantes Rapport de stage

Le champ 'uniprot' contient l'identifiant Uniprot de la protéine lorsqu'il est présent dans le fichier

« GenPept ». On le retrouve sur la ligne 'DBSOURCE / accession' et est stocké sous un type

varchar(15).

Le champ 'authors' contient les noms des auteurs, le champ 'title' contient le titre de l'article et le

champ 'journal' contient les références du journal lié à la publication de la séquence, chacun étant

stocké sous un type varchar(300). Si plusieurs références sont mentionnées, seule la première est

conservée comme nous le verrons dans la section 3.3.2. On récupère donc les lignes 'AUTHORS',

'TITLE' et 'JOURNAL' correspondants à la REFERENCE numéro 1 du fichier « GenPept ».

Notons que le champ 'title' contient beaucoup de mots-clés qui nous serviront pour l’analyse des

données de la base.

Le champ 'function' contient la fonction qui est associée à la protéine, et est stocké sous un type

varchar(200). On retrouve ces informations sur la ligne 'FEATURES / Protein / function=', situées

entre guillemets.

Le champ 'tissue_type' contient le tissu dans lequel la protéine a été identifiée (graine, feuille,

racine...) et est stocké sous un type varchar(50).On retrouve ces informations sur la ligne

'FEATURES / source / tissue_type=', situées entre guillemets.

Le champ 'dev_stage' correspond au stade de développement où cette protéine a été identifiée , et

est stocké sous un type varchar(30). On retrouve cette information sur la ligne 'FEATURES /

SOURCE / dev_stage=' entre des guillemets.

Les 3 champs suivants contiennent les différentes appellations d’une même protéine, et chacun est

stocké sous un type varchar(100). On retrouve ces informations à différents endroits du fichier

GenPept : le champ 'product' contient les informations entre les guillemets de la ligne 'FEATURES

/ Protein / product=', le champ 'protein_name' celles de la ligne 'FEATURES / Protein / name=' (et

séparées par un ';' si elles sont plusieurs). Enfin le champ 'gene' contient les données situées entre

les guillemets de la ligne 'FEATURES / CDS /gene='.

Les 3 champs suivants concernent les données relatives à la fonction supposée de la protéine et

chacun est stocké sous un type varchar(300). On récupère pour cela les informations situées entre

les guillemets des lignes 'FEATURES / Region / region_name=' pour le champ 'region_name',

Master Pro BioInformatique Laurent CHATELAINPage 15

Université de Nantes Rapport de stage

'FEATURES / Region / note=' avant le ';' pour le champ 'region_note', et 'FEATURES / CDS /

note=' pour le champ 'putative_function'.

Le champ 'pfam' indique la présence de motifs protéiques conservés, et est stocké sous un type

varchar(30). Cette donnée est récupérée dans la ligne 'FEATURES / Region / note=' après le ';'.

Le champ 'cdd' constitue un lien vers la base NCBI des domaines protéiques conservés, et est

stocké sous un type varchar(30). Il s'agit de récupérer le lien situé sur la ligne 'FEATURES / Region

/ db_xref='.

Les protéines contiennent souvent plusieurs modules ou domaines, chacun possédant une origine et

une fonction évolutives différentes. Le CDD (NCBI's Conserved Domain Database) est une

collection d'alignements multiples de séquences de domaines ancestraux et de protéines. Un outil

disponible sur le site permet d'identifier le domaine présent dans la protéine passée en paramètre, et

c'est la référence du domaine qui est stockée dans ce champ.

Le champ 'date' contient la date de publication de l'article, et est stocké sous un type int(5) car on ne

retient que l'année. Cette donnée est située en cinquième position de la ligne 'LOCUS'.

Il est important de noter que tous les champs ne sont pas obligatoirement remplis pour toutes les

protéines, et dans ce cas les champs non renseignés sont remplis avec « N/A » (pour : « Non

Available ») dans la base.

La table 'fastas' contient bien sûr le numéro d'accession de la protéine comme clé de la table,

ainsi que sa séquence. Le parti a été pris de séparer cette donnée des autres informations concernant

la protéine, car il s'agit de données plus volumineuses et qui ne seront pas utilisées à chaque étape

de l’analyse des données de la base.

Le champ 'fasta' contient la séquence protéique au format Fasta, et est donc stocké sous un type

varchar(4000). On retrouve cette information sur la ligne 'ORIGIN' du fichier « GenPept ».

La table 'notes' contient également le numéro d'accession comme clé de la table, ainsi que 2

autres champs d'informations et 2 champs relatifs aux travaux de Wise de 2003.

Le champ 'remarks' contient diverses informations portées par le biologiste, et est stocké sous un

Master Pro BioInformatique Laurent CHATELAINPage 16

Université de Nantes Rapport de stage

type varchar(200).

Les champs 'our_classif', 'wise_group', 'wise_pfam' indiquent, le cas échéant, respectivement la

classe de LEA à laquelle appartient une protéine selon nos critères, sa classification selon Wise et la

classification Pfam que Wise lui a associée. Ils sont stockés sous des types varchar(50), varchar(15)

et varchar(15).

La table 'keywords' ne contient que le champ 'keyword' qui en constitue la clé. Il est stocké

sous un type varchar(30) et sert pour la recherche des LEA par mot clé.

La table 'membres' contient le 'login' comme clé (varchar(15)) ainsi que le champ 'mdp'

(varchar(15)) pour « mot de passe », qui servent à la validation de la connexion de l'utilisateur à la

base, lui autorisant ainsi l'accès à des fonctionnalités supplémentaires qui seront détaillées dans la

section 4.2.5.

3.2 Récupération des données

3.2.1 Principe

Comme nous l'avons vu, les LEA ne sont pas bien caractérisées, et les analyses

bioinformatiques menées par Wise et Tunnacliffe portaient seulement sur un petit échantillon de

protéines (environ 150). Ici, l'objectif est d'étendre cette étude à une population beaucoup plus large

pour tenter d'élargir les règles déjà établies, et établir la relation structure-fonction de ces LEA.

Mais comment travailler sur les LEA alors que l'on n'en connaît pas de définition précise ?

D'où l'importance d'une requête aussi efficace et pertinente que possible pour récupérer le

maximum de LEA, tout en réalisant un tri sur les mots-clés qui ne donnaient pas de réponse

satisfaisante, c'est à dire des protéines n'ayant a priori pas de lien avec les LEA et qu'il ne semble

donc pas intéressant d'intégrer à l'étude envisagée.

Cette requête est construite en 2 étapes : la première consiste à chercher toutes les protéines

associées aux mots-clés que l'on peut eux-mêmes associer aux LEA (comme dehydrin OR glycine

rich OR unstructured), et ceci est réalisé grâce à l'opérateur 'or'.

Master Pro BioInformatique Laurent CHATELAINPage 17

Université de Nantes Rapport de stage

Requête de départ :

late embryogenesis abundant OR Lea OR dehydrin OR glycine rich OR unstructured OR ion sequestration OR dehydration OR dehydration stress OR dehydration-stress OR dehydration induced OR dehydration-induced OR dehydration shock OR desiccation OR desiccation stress OR desiccation-stress OR desiccation induced OR desiccation shock OR cold stress OR cold-stress OR cold induced OR cold-induced OR cold shock OR cold-shock OR water stress OR water-stress OR water induced OR water shock OR salt stress OR salt-stress OR salt induced OR salt-induced OR salt shock OR salt-shock OR abcisic acid OR abcisic acid induced OR abcisic acid-induced OR ABA OR ABA induced OR ABA-induced

Cette requête a renvoyé 55358 hits le 23/07/07 contre 53397 le 06/06/07 : on voit l'inflation

galopante de protéines 'estampillées' LEA, et donc l'intérêt de notre étude, mais aussi la nécessité de

filtrer toutes ces réponses.

C'est l'objet de la seconde étape, qui vise à éliminer le plus possible de réponses 'inadéquates' grâce

à l'opérateur 'not'. L'exemple le plus frappant concerne les protéines qui sont retournées uniquement

à cause de leur auteur dont le nom se trouve être 'Lea'.

Suite de la requête :

NOT enolase NOT hsp NOT hsps NOT kinase NOT dehydrogenase NOT oxidase NOT oxygenase NOT dioxygenase NOT reductase NOT F0 NOT aldolase NOT chitinase NOT dehydrase NOT hydrolase NOT hydrolyase NOT dehydratase NOT dehydrolase NOT dehydroquinase NOT phosphatase NOT amylase NOT beta-lactamase NOT glucuronosyltransferase NOT polygalacturonase NOT protease NOT proteinase NOT fucosyltransferase NOT sialyltransferase NOT acyltransferase NOT transferase NOT ribonuclease NOT thioredoxin NOT phospholipase NOT aminotransferase NOT torsin NOT casein NOT fasciclin NOT hemolin NOT immunoglobulin NOT noxin NOT aconitase NOT endochitinases NOT polymerase NOT crotonase NOT alpha-enolase NOT caltractin NOT kinase NOT chondrocalcin NOT K-casein NOT casein

Puis : NOT patent NOT antigen NOT lethal NOT strictosidine NOT oleosin NOT capsid NOT echovirus NOT ribulose NOT chlorophyll NOT cytochrome NOT photosystem NOT OLIGOSACCHARIDE NOT microglobulin NOT pyruvate NOT glycogen NOT glycosyl NOT prenyl NOT sporulation NOT needle NOT wall NOT betaine NOT salivaricin NOT cadherin NOT plastid-targeted NOT Shikimate NOT proline-rich NOT nicotinic NOT Chitin NOT phenylethanolamine NOT annexin NOT sarcoma NOT ankyrin NOT oocytes NOT S-adenosylmethionine NOT O-succinylbenzoate NOT cancer NOT channel NOT Disulfide NOT Luminescent NOT fluorescent NOT allergen NOT hardening NOT enhancer NOT Alzheimer NOT Glucagon NOT Capsid NOT neuroprotective

Puis : NOT leak NOT AroA NOT pMA1951 NOT CG5481 NOT LD06565p NOT Cd55 NOT CSCN1 NOT Bbcrasp NOT lti NOT BAA23547 NOT NP_563710 NOT NP_172994 NOT pipd NOT ipad NOT egf NOT PsbA NOT elip NOT rd22 NOT AtPIP5K1 NOT RiP-15 NOT FabZ NOT EF1 NOT SNF4 NOT bZIP NOT HIV-1 NOT fxuA NOT CzcD NOT BLT14 NOT TIP1 NOT F1 NOT Tim17 NOT PIP1 NOT TAZ1 NOT AZF3 NOT CSDE1 NOT SPBc2 NOT Csda

Master Pro BioInformatique Laurent CHATELAINPage 18

Université de Nantes Rapport de stage

Puis : NOT lea[Author] NOT Reshef[Author]

Puis : NOT fragment NOT peptide NOT partial

Puis : AND 80:800[Sequence Length]

Cependant il faut rester vigilant dans cette étape de tri, car on est tenté d'écarter des termes

comme 'transcription factor', qui ramènent énormément de réponses, pour simplifier l'analyse

ultérieure. Mais des auteurs attribuent aux LEA des propriétés de liaison à l'ADN , tout comme les

facteurs de transcription le font, et exclure un terme comme celui-ci risquerait donc d'ignorer des

protéines potentiellement intéressantes pour notre étude. Il ne faut donc pas être trop stringeant

pour ne pas perdre des informations potentiellement importantes. C'est là que réside toute la

difficulté de ce travail de sélection, mais cette méthode d’élimination grâce à des termes choisis

avec soin, nous permet d'obtenir 32000 réponses.

De plus, sur ces données ainsi récupérées, nous en avons parcouru beaucoup et elles semblaient tout

à fait pertinentes et adaptées aux analyses envisagées.

Il faut noter que le nombre élevé de retours est dû à la requête qui n'est que partielle, et vouée à

s'affiner en fonction des résultats qui seront obtenus lors des fouilles de données.

3.2.2 Sources de données

Il existe plusieurs bases de données protéiques que l'on peut interroger pour trouver des

informations. Plusieurs possibilités s'offraient donc à nous pour récupérer les fichiers de données

sur les protéines issues de la requête.

Tout d'abord, la base Swissprot (http://expasy.org/sprot/) qui contient de nombreuses

protéines, et pour chacune d'entre elles beaucoup d'informations intéressantes pour l'étude

envisagée. Cette base présente également l'intérêt d'attribuer à chaque protéine répertoriée un

identifiant unique (id Uniprot), dont l'avantage est qu'il est reconnu par de nombreux outils

bioinformatiques sur Internet.

Cependant, cette source de données n'a pas été retenue compte tenu de la faible performance des

requêtes possibles. En effet, les requêtes sur ce site n'autorisent pas l'utilisation d'opérateurs

booléens (ou bien 3 seulement dans les recherches avancées), et ne permettent donc pas un filtre

assez efficace pour notre étude.

Master Pro BioInformatique Laurent CHATELAINPage 19

Université de Nantes Rapport de stage

Une autre base protéique très connue est la PDB (Protein Data Bank,

http://www.rcsb.org/pdb/home/home.do), mais cette base qui gère des données sur des structures de

protéines ne présente pas d'intérêt pour nous, puisqu'on sait qu'on ne dispose pas de structure de

LEA à ce jour.

Enfin, le NCBI présente un grand intérêt pour nous puisqu'il permet d'effectuer des requêtes

assez complètes, ce qui assure un bon filtrage des protéines qui seront retenues. C'est donc cette

base que nous avons retenue pour récupérer les fichiers de données. Elle propose aussi un format de

fichier intéressant car contenant de nombreuses informations : le format « GenPept ».

Ce format présente cependant des limites puisque les règles de formatage ne semblent pas définies

de manière stricte, ou bien ne sont pas respectées scrupuleusement par les équipes publiant leurs

travaux.

Cette base de données présente aussi l'inconvénient d'identifier les protéines grâce à un numéro

interne, et qui n'est donc pas reconnu par d'autres outils sur Internet, ou du moins pas pour tous les

identifiants. Mais l'important à cette étape du projet reste essentiellement de récupérer des données

protéiques adaptées, d'où l'intérêt de ce site.

3.2.3 Récupération des données

Pour récupérer les fichiers on envoie la requête dans la partie protéique de la banque de

données du NCBI, afin de récupérer les fichiers « GenPept ».

Notons plusieurs choses :

tout d'abord, le fichier récupéré doit être enregistré avec l'extension '.html' car le programme

d'extraction des informations utilise les balises inhérentes à ce langage.

Ensuite, le NCBI ne permet pas d'obtenir des fichiers « GenPept » de plus de 500 protéines, d'où

une première tentative d'automatisation de la récupération des résultats.

Mais cette tentative n'a pour l'instant pas abouti à cause d'un problème de 'cookies', ce qui rend

assez fastidieuse la récupération des fichiers qui serviront à l'alimentation de la base puisqu'elle

nécessite de rapatrier manuellement les fichiers de protéines par paquets de 500.

Enfin, les fichiers « GenPept » doivent pour l'instant être placés dans le répertoire contenant le code

source pour être utilisables pour remplir la base.

Master Pro BioInformatique Laurent CHATELAINPage 20

Université de Nantes Rapport de stage

3.3 Extraction des données et remplissage de la base : programmation Perl

L'essentiel de cette partie du projet concerne l'extraction de certaines données choisies parmi

les nombreuses informations contenues dans les fichiers « GenPept » récupérés. Nous utilisons pour

cela le langage Perl car il est très efficace et pratique dans le parcours et l'analyse de chaînes de

caractères.

3.3.1 Analyse des fichiers à parcourir

Ce sont des fichiers formatés contenant les informations sur chaque protéine, dont seulement

certaines nous intéressent.

Même si ce format de fichier permet de retrouver certaines données de façon assez régulière comme

le numéro d'accession ou la taille, d'autres en revanche comme la fonction associée ne sont pas

présentes systématiquement, ou bien apparaissent sous diverses formes. Ceci constitue donc la

principale difficulté de l'extraction des données.

La résolution de ce problème réside dans une analyse détaillée de la structure d'un grand nombre de

fichiers « GenPept », de manière à faire émerger leur organisation 'moyenne'. Celle qui s'en dégage

est la suivante :

<pre class="genbank"> début d'une protéineLOCUS accession, length, dateDEFINITION nameACCESSIONVERSIONDBSOURCEKEYWORDSSOURCE uniprot

ORGANISM organism, reignREFERENCE

AUTHORS ou CONSRTM authorsTITLE titleJOURNAL journalPUBMED ou REMARK ou <a

FEATURESsource /organism

(/strain)

Master Pro BioInformatique Laurent CHATELAINPage 21

Université de Nantes Rapport de stage

(/dev_stage) dev_stage/db_xref/tissue_type tissue_type

(>gene< /gene/locus_tag/note)

>Protein< /name protein_name/product product(/gene)(/locus_tag)/product/function function

(>sig_peptide< /product /calculated_mol_wt)(>transit_peptide<) (>mat_peptide<)(>Region> (/gene)

(/locus_tag)/region_name region_name(/experiment)/note region_note, pfam(/FTId)/db_xref) cdd

(>Sec_Str<) (>Bond<)>CDS< /gene gene

(/locus_tag)/coded_by(/inference)(/note) putative_function(/transl_table)(/db_xref)(/codon_start)

ORIGIN fasta// fin de la séquence fasta</pre> fin de la protéine

3.3.2 Le programme

Le programme exécutant cette extraction est 'recup.pl'. Il se compose de 6 parties :

-quelques fonctions :

La fonction 'sansApostrophe($chaine)' permet d'échapper, au sens informatique du terme,

toutes les apostrophes de la chaîne qui lui est fournie grâce à une expression régulière. Ceci est

nécessaire à cause de certains noms anglo-saxons (O'Brien par exemple) qui posent des problèmes

de syntaxe lors de la construction des requêtes SQL.

La fonction 'init()' permet d'initialiser chaque champ à « N/A » (pour : « Not Available »)

par défaut.

La fonction 'sansEspaceDebutEtFin($chaine)' permet d'enlever les espaces de début et fin de

chaîne du paramètre passé.

Master Pro BioInformatique Laurent CHATELAINPage 22

Université de Nantes Rapport de stage

La fonction 'mot($chaine,$nombre)' tronque la chaîne en autant de morceaux qu'elle

rencontre d'espace, et stocke chacun dans une case d'un tableau '@mots'. Le $nombre sert à

récupérer le mot situé dans la case d'indice $nombre.

-ouverture du fichier GenPept :

On vérifie ici la syntaxe de la commande entrée par l'utilisateur visant à exécuter le programme qui

doit être de la forme : perl recup.pl nom_de_fichier.html

-stockage du fichier dans une variable :

On stocke le fichier dans une chaîne de caractères pour lui appliquer des expressions régulières.

-extraction des informations :

On utilise pour cela de nombreuses expressions régulières.

Tout d'abord il s'agit de bien découper le fichier rapatrié protéine par protéine, et nous allons voir

pourquoi.

Sur un fichier bien formaté, il aurait été aisé d'extraire toutes les données avec une seule et

même expression appliquée à la chaîne entière, ce qui aurait permis un meilleur traitement.

Mais la possible absence de certaines informations pour certaines protéines génère des erreurs. En

effet, l'expression régulière est construite pour récupérer des données situées entre deux 'balises';

ainsi lorsqu'une donnée n'est pas présente pour une protéine, l'expression extrait tout ce qui est

compris entre la première balise correspondant à une première protéine, et la seconde pouvant

correspondre à une autre protéine située plus loin dans le fichier, d'où une incohérence entre le

numéro de la protéine et ses informations propres.

Master Pro BioInformatique Laurent CHATELAINPage 23

LEA 2

Homo sapiens

Université de Nantes Rapport de stage

Sur cet exemple, si on ne découpe pas la chaîne en protéines (entre les balises '<pre

class="genbank">' et '</pre>'), le programme cherche la balise attendue jusqu'à la trouver (ici la

balise 'SOURCE').

<pre class="genbank"> début d'une protéine

</pre>

<pre class="genbank"> début d'une protéine

</pre>

On se préserve de cet écueil en découpant la chaîne en protéines successives c'est à dire entre les

balises '<pre class="genbank">' et '</pre>'.

On applique ensuite sur chacune d'entre elles des expressions régulières visant à ne sélectionner que

les informations d'intérêt. Ceci est relativement simple pour des champs comme « accession »,

« length », « date », « organism » et « fasta » qui sont remplis pour chaque protéine.

Cela devient plus difficile lorsqu'on veut obtenir le champ « reign », car les informations qui nous

intéressent ne se situent pas toujours au même endroit dans la rubrique du fichier. Il n'existe

cependant que deux cas différents (du moins sur les fichiers rencontrés et étudiés) qu'il suffit

d'envisager pour solutionner ce problème.

Les difficultés se font sentir lorsque des données ne figurent pas pour certaines protéines ou

alors sous diverses formes comme c'est le cas pour « authors » (ou consrtm), « title », « journal »

ainsi que pour de nombreuses sous-rubrique de « features ». On stocke donc les informations

relatives à « authors », « title » et « journal » dans une variable, à laquelle on applique une

expression pour en extraire les différentes sous-expressions.

Master Pro BioInformatique Laurent CHATELAINPage 24

ACCESSION

SOURCE

NAME

Protéine 1

LEA 1

ACCESSION

SOURCE

NAME

Protéine 2

accession = Protéine 1

name = LEA 2

source = Homo sapiens

Université de Nantes Rapport de stage

On fait de même pour les données situées dans la rubrique « features », mais la complexité est telle

qu'on est obligé de parcourir la variable avec autant d'expressions qu'il y a de champs à retenir, à

savoir 11.

-construction des requêtes pour chaque protéine :

Pour chaque protéine l'information étant stockée dans une variable qui porte le nom du champ, il est

aisé de construire la requête d'insertion dans la base. On écrit chaque requête dans le fichier

'sortie_qry.sql'.

-envoi de la commande d'exécution des requêtes :

Le programme recup.pl envoie enfin une commande système pour exécuter les requêtes inscrites

dans le fichier de sortie SQL. Cette commande est construite de la manière suivante :

mysql -u user -p -h host database < sortie_qry.sql

Nous avons décidé de ne garder que le contenu de la première occurrence d'une rubrique. En

effet, il arrive que la protéine en question soit citée par exemple dans plusieurs articles, ce qui

signifie plusieurs auteurs, titres et journaux. Cette décision arbitraire vient de l'observation que

ceux-ci n'apparaissent pas dans un ordre constant (ni chronologique ni alphabétique), ce qui

souligne d'ailleurs une fois de plus que le remplissage de ce genre de fichiers ne suit pas toujours

certaines normes d'où la nécessité de curation, même si des améliorations ont été constatées sur les

fichiers plus récents, notamment grâce aux différentes ontologies qui ont été mises en place.

Il faut noter que pour l'instant la base est alimentée avec 1048 protéines. Ces protéines sont

issues de 7 fichiers « html » de 200 protéines chacun, et la base devrait donc en contenir 1400. Le

formatage inconstant de ce genre de fichiers induit cette efficacité du programme de récupération

des données autour de 75%. Mais cette efficacité varie grandement entre les fichiers récupérés,

allant de 3 à 100% selon les fichiers rapatriés. En effet, même si les expressions régulières élaborées

pour extraire les informations envisagent de nombreux cas, elles ne sont pas encore exhaustives

compte tenu de la variabilité importante de l'organisation des fichiers « GenPept ».

Master Pro BioInformatique Laurent CHATELAINPage 25

Université de Nantes Rapport de stage

4 LEA-DB : aspect site Web

4.1 Généralités

LEA-DB est aussi l'interface Web qui permet d'accéder aux données de la base, ainsi qu'à

des fonctionnalités comme des outils applicables aux protéines. Elle a été conçue pour rendre la

navigation la plus simple possible, bien qu'étant assez sophistiquée et proposant différentes options

comme nous allons le voir.

Pour cette partie du projet, la programmation a été effectuée en PHP pour l'interface, avec

l'utilisation de feuilles de styles CSS, ainsi que des contrôles de réponse en Javascript.

Tout d'abord, la mise en forme du site a été réalisée en CSS (Cascading Style Sheet), ce qui

m'a permis d'aborder cet aspect intéressant de la mise en forme Internet, et présente divers

avantages.

En effet, la structure du document et la présentation peuvent être gérées dans des fichiers

séparés. De plus, le code HTML est considérablement réduit en taille et en complexité puisqu'il

contient des balises de présentation dont le contenu est diminué.

Enfin, les documents (pages « html ») faisant référence à une même feuille de styles, cela permet

une modification souple et rapide du site dans son ensemble et une présentation homogène de

l'ensemble des pages.

Toutes les pages du site sont organisées de la même façon : un bandeau de haut de page, un

menu à gauche pour accéder aux fonctionnalités du site, une zone d'affichage principale et enfin un

bas de page.

Master Pro BioInformatique Laurent CHATELAINPage 26

Université de Nantes Rapport de stage

Il est important de noter que la grande majorité des pages est validée XHTML 1.0

Transitional.

Ceci a entre autre intérêt de faciliter le travail d'indexation et d'analyse des pages, car il est

nécessaire de proposer des documents que les moteurs de recherche puissent reconnaître

facilement. XML est le parfait exemple d'un format conçu pour être à la fois lisible par l'oeil

humain et par la machine. XHTML tente d'offrir cette rigueur aux pages Web elles-mêmes, pour à

terme rendre le Web plus facile à traiter et donc plus accessible à tous.

Les tests de validité ont été réalisés grâce à un module de Firefox 2 : HTML Validator

(https://addons.mozilla.org/fr/firefox/addon/249), ainsi que le validateur du W3C

(http://validator.w3.org/).

Il se peut que certaines pages (de nouvelles pages, générées en fonction du contenu de la base) ne

soient pas valides, ceci étant principalement dû à l'affichage des données extraites par le programme

Perl. En effet, tous les cas ne sont pas envisageables pour récupérer les informations d'un fichier

« GenPept », et l'extraction pourra peut-être parfois générer des balises dans le code HTML, ce qui

provoquerait des erreurs lors de la validation, mais qui n'altèrerait en rien le bon fonctionnement du

site.

Master Pro BioInformatique Laurent CHATELAINPage 27

Université de Nantes Rapport de stage

4.2 Organisation du site et organisation d'une page type

La page d'accueil du site est 'index.php'. Elle est reliée à toutes les pages par le bouton

'Home' du menu de la zone de gauche. La structure du site et l'imbrication des programmes

apparaissent en annexe sur le schéma du même nom page 48.

A un traitement correspond une page : par exemple la fonctionnalité qui permet d'ajouter une

protéine se situe sur la page 'ajout.php', et le traitement (requête SQL) est exécuté par la page

'ajout_exe.php'.

Le code source a été organisé en quelques autres fichiers destinés à alléger l'ensemble ainsi

que dans un souci de modularité, et contenant des fragments de programme redondants. Tout

d'abord.

Le fichier 'funct.js' contient la seule fonction Javascript du site, pour bien isoler ce langage et ainsi

simplifier d’éventuelles modifications du code.

Le fichier 'fonction.php' contient les fonctions d'affichage, de navigation et de connexion à la base.

Enfin, le fichier 'fonction_prot' contient les fonctions relatives aux protéines, comme le calcul du

poids moléculaire, du point isoélectrique, ou encore de la composition en acides aminés.

Ensuite, dans un souci de simplification du code, quelques fonctions ont été écrites.

Tout d’abord le fichier 'style.css' qui contient le code gérant la mise en forme des pages, qu'on a

voulue externe pour ces mêmes raisons de modularité et de réduction du code.

L'entête de la majorité des pages étant le même, il a été mis dans une fonction 'doctype_head' qui

reprend le doctype du document (ligne de déclaration du type de document, qui indique au

navigateur dans quel type de HTML la page a été écrite) ainsi que le 'head' (code compris entre les

balises <head> et </head> de la mise en page HTML), et prend en paramètre un booléen indiquant

l'utilisation ou non de la fonction de validation Javascript.

Basée sur le même principe on retrouve la fonction 'header' d'affichage du bandeau supérieur, et la

fonction 'affiche_menu' d'affichage du menu latéral.

Master Pro BioInformatique Laurent CHATELAINPage 28

Université de Nantes Rapport de stage

<?php session_start(); // PAGE INDEX.PHPinclude("fonction.php");connexion(); //fonction.php, sélection et connexion à la base

//AFFICHAGE DU NOMBRE DE PROTEINES DANS LA BASE$requete="SELECT DISTINCT count(*) FROM proteins";$ressource=mysql_query($requete) or die ("Erreur SQL ".mysql_error()); $nb_tot=mysql_fetch_row($ressource);

doctype_head(0); //fonction.php, 1 pour utiliser la fonction de confirmation javascriptaffich_header(); //fonction.phpaffich_menu($nb_tot[0],1);//fonction.php, 1 pour afficher le nombre de protéines dans la base

?>

<div id="main"> <br/>

<?php

echo "<div class='texte'>";echo "The LEA database is dedicated to the &laquo;<b>Late Embryogenesis Abundant</b>&raquo; proteins.<br/><br/>

LEA proteins have been discovered in 1981. Although, they are almost associated with abiotic stress tolerance (particularly dehydration and cold stress), their actual function remains unkwown.<br/><br/>

The LEA database provides usefull data about the different sub-families (or groups) of LEA proteins for the analysis of their structure - function relationships. (<a href='references.php'>More...</a>)<br/><br/>";

echo "</div>";

?>

<br/><br/>

</div><div id="footer"> <i>&#169; 2007 L.Chatelain</i> </div></body></html>

Master Pro BioInformatique Laurent CHATELAINPage 29

Université de Nantes Rapport de stage

4.3 Fonctionnalités de LEA-DB

LEA-DB est destinée à manipuler et analyser les informations contenues dans sa base, et

possède par conséquent diverses fonctionnalités que nous exposons ci-dessous.

4.3.1 Consultation

Il s'agit de concevoir une interface qui se veut conviviale, simple dans son utilisation pour

parcourir les informations que la base contient. Ceci est possible en cliquant sur le bouton

« consult » du menu qui donne accès à l'ensemble de protéines contenues dans la base.

L'utilisateur peut choisir le nombre de résultats qui seront affichés par page (20 à 200).

Possibilité lui est également donnée de choisir le mode d'affichage : en mode résumé

(« summary »), on affiche seulement le numéro d'accession, le nom, l'organisme et la fonction

associée alors qu'en mode détaillé (« details ») toutes les informations « publiques » de la protéine

apparaissent.

Ces informations « publiques » sont toutes les données de la protéines qui sont accessibles à

toute personne se rendant sur cette page, par opposition aux données réservées aux utilisateurs

privilégiés qui se sont connectés à la base grâce à un login et un mot de passe fournis par

l'administrateur (nous verrons comment devenir un utilisateur privilégié dans la section 4.2.5). Il

s'agit essentiellement du champ « remarks », édité par le biologiste, qui peut contenir des notes ou

conclusions sur une protéine.

L'utilisateur peut donc consulter les pages de données au moyen de boutons de navigation

standards. Néanmoins, la difficulté de cette navigation réside dans le fait que le nombre de résultats

par page n'étant pas fixe (puisque le choix est laissé à l'utilisateur), la requête d'affichage peut

varier. Pour résoudre ce problème il faut donc garder en mémoire le numéro de la première protéine

affichée dans la page, en plus du nombre désiré de résultats par page.

Master Pro BioInformatique Laurent CHATELAINPage 30

Université de Nantes Rapport de stage

Pour chaque protéine a été prévue une case à cocher, ce qui permet de sélectionner des

protéines lors du parcours de la base en vue de les étudier par la suite. On valide cette sélection en

cliquant sur le bouton « validate » ou tout autre bouton de cette barre de navigation, excepté « Reset

selection ». La validation de la sélection passe donc par l'envoi de ce formulaire (les cases à cocher)

à la page qui enregistre cette sélection, et ceci grâce à une fonction écrite en PHP.

Un bouton permet de sélectionner toutes les protéines apparaissant sur la page, de même qu'on peut

effacer la sélection pour choisir d'autres protéines.

Le mode d'affichage par défaut est le mode résumé, ce qui permet de réduire la taille des

pages de consultation. Mais lorsqu'au moins une protéine est sélectionnée, on peut afficher le mode

détaillé de la sélection grâce au bouton « Display selected proteins ». Ceci présente l'avantage de

pouvoir consulter les informations plus précises sur les protéines sélectionnées.

De même, on peut afficher les séquences au format Fasta des protéines de la sélection dans

une zone de texte grâce au bouton « Display sequences ». Ceci donne la possibilité de les

sélectionner et de les copier facilement, avant de les soumettre à un outil d'alignement comme Blast

ou ClustalW par exemple.

Master Pro BioInformatique Laurent CHATELAINPage 31

Université de Nantes Rapport de stage

4.3.2 Recherche de données dans la base

L'un des objectifs de ce projet est de confronter les caractéristiques des protéines qu'on aura

pu sélectionner en vu d'établir des règles sur les LEA.

Il peut donc être intéressant pour l'utilisateur d'effectuer des recherches selon certains critères, ce

que permet le bouton « Search » du menu.

On accède à une page qui propose de nombreux critères de recherche.

On peut tout d'abord rechercher une protéine grâce à son numéro d'accession. Il s'agit uniquement

ici de vérifier qu'une protéine est présente dans la base, car cette recherche ne peut renvoyer qu'un

résultat puisque basée sur un identifiant.

On peut ensuite effectuer une recherche grâce à un mot-clé contenu dans la table

« keywords », qui est d'ailleurs amenée à évoluer. En effet en avançant dans le travail sur les LEA,

certains mots-clés jusqu'alors absents de la table se révèleront certainement pertinents, et il sera

alors judicieux de les y inclure.

Ces recherches permettent d'isoler les protéines correspondant à un 'thème' précis, ce qui nous

rapproche des analyses syntaxiques puis sémantiques qui permettront peut-être de dégager des

fonctions plus précises pour les LEA.

Les requêtes associées portent sur les champs « name », « function », « product »,

« region_name », « region_note », « putative_function », qui ont été conservés car ils constituent

de véritables réservoirs de mots-clés dont l'analyse est susceptible de révéler des informations

importantes quant à la relation structure-fonction des LEA.

On peut également rechercher des protéines en fonction de l'organisme chez lequel on les a

découvertes. La liste de sélection est générée automatiquement avec les organismes retrouvés dans

la base. Il faut préciser que seuls le genre et l'espèce apparaissent car ce critère de recherche est

essentiellement destiné à discriminer les règnes animal et végétal. En effet, la première application

de la base LEA-DB porte sur des LEA d'origine végétale (PsLEAm et MtPM25 par exemple)

étudiées au sein de l'UMR PMS. Ceci a donc nécessité un traitement supplémentaire de la chaîne

obtenue pour ne conserver que les 2 premiers mots.

Cette étape est réalisée dans le programme d'extraction lui-même pour éviter de fournir des données

qui seraient à retransformer, grâce à la fonction 'mots' vue précédemment.

On peut encore rechercher les protéines selon leur taille, classée par tranches de 100 acides

aminés, par groupe de la classification de Wise lorsqu'il est disponible, ou par numéro d'accession

Pfam (Famille protéique), ou par numéro d'accession CDD (Domaines conservés) ou bien encore

Master Pro BioInformatique Laurent CHATELAINPage 32

Université de Nantes Rapport de stage

par date. Tous ces champs sont générés automatiquement en fonction du contenu de la base.

On sait que certains motifs servent à classer les LEA dans un groupe plutôt qu'un autre. Il est

donc intéressant d'utiliser la recherche par motif pour interroger la base. On peut par ce biais espérer

trouver les protéines appartenant à un groupe, et, ce pool de protéines étant nettement plus

important que lors des précédentes études, tenter de préciser les fonction des protéines de ce groupe.

Avec cet outil, la recherche s'effectue grâce à une expression régulière écrite en PHP qui cherche le

motif exact entré par l'utilisateur. En effet, les motifs (Y, S, K) mis en évidence pour chaque groupe

de LEA indiqués dans le tableau de la section 2.2 sont des séquences retrouvées telles quelles, et ne

montrent pas les quelques acides aminés qui peuvent être plus ou moins conservés de part et d'autre.

Il faut noter que toutes ces recherches sont effectuées sur l'ensemble des protéines de la base.

Mais l'aspect le plus intéressant de cet outil est qu'il autorise des recherches multicritères.

On peut en effet rechercher les protéines qui vérifient par exemple une certaine longueur et qui

possèdent un certain domaine conservé et présentant tel motif. La force de cet outil est de permettre

une recherche fine et aussi précise que l'idée du biologiste qui interroge la base.

La conception de cet outil a posé des difficultés dans l'automatisation de la construction des

requêtes, qui devaient être validées en SQL quelque soit le nombre de paramètres demandés pour la

recherche. De plus, tous les critères n'ont pas forcément la même syntaxe (motif, longueur, mot-

clé...), ce qui augmente la complexité de l'automatisation.

Concernant la recherche par mot-clé, on peut envisager d'effectuer des requêtes sur la base

avec plusieurs mots-clés. Des recherches portant sur plusieurs mots-clés reliés entre eux par des

opérateurs booléens pourraient se révéler fort riches en informations, en affinant encore une fois la

requête déjà complexe ayant servi à remplir la base.

4.3.3 Les outils

Pour exploiter les données de la base, le biologiste a besoin d'outils qui vont lui donner la

possibilité de « faire parler » toutes ces données, de donner du sens à ces informations.

Pour l'instant LEA-DB est enrichie de 4 outils, mais l'architecture du site permet d'en ajouter

aisément.

Master Pro BioInformatique Laurent CHATELAINPage 33

Université de Nantes Rapport de stage

Il est important de noter que ceux-ci ne s'appliquent qu'aux protéines de la sélection.

Le premier outil est une recherche de motifs : au moyen d'une expression régulière, le

programme recherche le motif passé en paramètre par l'utilisateur, et ce uniquement dans les

séquences des protéines précédemment choisies.

Le deuxième outil concerne la composition des protéines en acides aminés. En effet, comme

nous l'avons vu, les analyses POPPs ont révélé que certaines sur ou sous-représentations d'acides

aminés étaient caractéristiques d'un groupe donné de LEA. D'où la fonction qui calcule le

pourcentage de chaque acide aminé pour chaque protéine de la sélection.

Pour rendre la lecture plus facile et surtout plus parlante pour le biologiste, les acides aminés on été

classés en fonction de leurs propriétés physico-chimiques :

G : GlycineD : Aspartate = acidesE : Glutamate R : ArginineK : Lysine = basiquesA : AlanineL : Leucine = aliphatiquesI : IsoleucineV : ValineS : Sérine = hydroxylésT : ThréonineC : Cystéine = soufrésM : MéthionineF: PhénylalanineW : Tryptophane = aromatiquesY : TyrosineN : Asparagine = amidesQ : GlutamineP : Proline = imineH : Histidine

L'outil suivant consiste à calculer la masse molaire théorique de chaque protéine de la

sélection. Il s'agit pour cela de sommer les masses de chaque acide aminé constituant la protéine.

Mais il ne faut pas oublier de retirer la masse de chaque molécule d'eau éliminée lors de chaque

liaison peptidique entre les acides aminés. En effet, lors de la liaison entre deux acides aminés, la

réaction qui se produit entre le COOH d'un acide aminé et le NH2 de l'acide aminé suivant libère une

molécule d'eau qu'il faut donc retrancher à cette masse totale. Pour une protéine de n acides aminés

il existe donc (n-1) liaisons peptidiques:

masse protéine (n acides aminés) = ∑1 n (masse acide aminé) – (n-1)*(masse molécule d'eau)

Master Pro BioInformatique Laurent CHATELAINPage 34

Université de Nantes Rapport de stage

Mais l'outil le plus intéressant d'un point de vue personnel reste sans conteste le calcul du

point isoélectrique des protéines. En effet, cette partie du projet a fait appel à mes connaissances en

biochimie, que l'outil informatique a permis d'automatiser. Le point isoélectrique ou pH

isoélectrique (pI) est le pH où une molécule (ici une protéine ou un peptide) est sous sa forme

zwitterionique ou ion mixte, sa charge globale étant alors nulle.

L'algorithme consiste donc à parcourir les pH de 0 à 14 en recherchant celui pour lequel la

charge globale de la protéine est minimale. A un pH donné, chaque acide aminé possède une charge

globale particulière qui est la somme de toutes les charges portées par ses groupements ionisables

situés sur les chaînes latérales des acides aminés. Ainsi, en parcourant les pH avec un pas

suffisamment petit (0,01 unité ici), on trouve le pH pour lequel la charge est la plus proche de 0,

c'est à dire le pI.

On tient aussi compte des groupements NH2 et COOH terminaux dans ce calcul.

Le calcul du pI ne concerne donc qu'une partie des 20 acides aminés : D, E, C, Y, H, K, et R.

Notons que les valeurs de masses molaires comme celles des pK prises pour réaliser ces

calculs sont issues des tables de Wikipedia (http://fr.wikipedia.org/wiki/Acide_amin%C3%A9), car

elles semblaient être des valeurs moyennes entre les différentes autres tables consultées (EMBOSS,

DTASelect, Solomon).

4.3.4 Comparaison des résultats avec d'autres outils sur Internet

Les outils de calcul de masse molaire et de pI ont ensuite fait l'objet de tests pour vérifier

que les algorithmes mis en place donnent des résultats satisfaisants.

Dès les premiers tests, les pI calculés par le programme étaient proches de ceux estimés par d'autres

outils sur Internet.

En revanche, en ce qui concerne les masses molaires, le programme annonçait toujours des

masses inférieures. Cette erreur me fit d'abord chercher du côté de l'algorithme, jusqu'à ce que je

pense au format même des données. En effet, il restait à la fin du traitement de la chaîne Fasta les

retours chariots, qui étaient comptés comme autant d'acides aminés, et qui de ce fait

correspondaient à autant de masses de molécules d'eau retranchées en trop. Depuis que ce problème

est résolu, les résultats sont proches des valeurs estimées par les autres outils.

Master Pro BioInformatique Laurent CHATELAINPage 35

Université de Nantes Rapport de stage

Les différents outils utilisés pour confronter les résultats peuvent être retrouvés en ligne aux

adresses suivantes :

LEA-DB : http://forge.info.univ-angers.fr/~laurentc/lea/

1 : http://isoelectric.ovh.org/

2 : http://xtals.org/

3 : http://www.expasy.org/cgi-bin/pi_tool?numéro d'accession

Les résultats de ces tests sont présentés sur les figures suivantes :

66 127 202 301 7520

1

2

3

4

5

6

7

8

9

10

Comparaison des pI

LEA-DB123

NB : le nombre d'acides aminés correspond à la taille des protéines testées.

On voit bien que les résultats obtenus sont très proches des valeurs fournies par les autres

outils retrouvés sur Internet. Les variations observées sont le fait de l'utilisation de tables de valeurs

différentes, dans le cas des masses moléculaires des acides aminés comme dans celui des pK.

Master Pro BioInformatique Laurent CHATELAINPage 36

Nombre d'acides aminés

pI calculé

Outils :

Université de Nantes Rapport de stage

66 127 202 301 7520

10000

20000

30000

40000

50000

60000

70000

80000

90000

Comparaison des masses molaire théoriques

LEA-DB123

4.3.5 Autres pages

Le site LEA-DB possède une page d'aide quant à l'utilisation des fonctionnalités proposées,

ainsi qu'une page pour contacter les membres de l'équipe ayant réalisé ce projet.

La page 'About LEA' propose un bref historique de la recherche sur les LEA, ainsi que la

bibliographie qui a été utilisée et des liens vers les articles en ligne.

Une fonctionnalité intéressante de ce site est de proposer un accès sécurisé à certaines

informations de la base. En effet, toutes les manipulations de données présentées jusqu'ici sont

accessibles à tous les utilisateurs, mais le site en prévoit certaines dont l'accès est restreint.

L'accès aux pages sensibles (erase.php, modif.php, suppress.php ...) qui permettent d'intervenir

directement sur les données contenues dans la base est donc soumis à la vérification des droits de

l'utilisateur.

Grâce au menu 'connect', l'utilisateur peut s'identifier par un login et mot de passe, et ainsi

utiliser d'autres fonctions réservées aux utilisateurs privilégiés. Ces utilisateurs privilégiés sont

gérés au niveau de la base de données, et pas au niveau du site.

L'utilisateur une fois connecté sous son compte peut ajouter une protéine en remplissant les champs

manuellement ou ajouter plusieurs protéines automatiquement, comme nous allons le voir.

Master Pro BioInformatique Laurent CHATELAINPage 37

Outils :

Nombre d'acides aminés

Masse calculée (g/mol)

Université de Nantes Rapport de stage

Il peut également modifier ou supprimer une protéine manuellement en navigant sur les

pages de consultation. Dans le cas de la modification, il est renvoyé vers une page contenant un

formulaire pré-rempli avec les informations de la protéine qu'il souhaite modifier. Nous avons pris

la décision de ne permettre la modification que des champs qui lui sont réservés ('remarks' et

'our_classif'), afin d'éviter de modifier des champs qui ne sont supposés être modifiés.

En ce qui concerne la suppression d'une protéine, une demande de confirmation écrite en Javascript

apparaît. Cette demande de confirmation assure une sécurité supplémentaire au biologiste. Elle a été

programmée en Javascript malgré notre décision d'éviter ce langage, car pour une validation aussi

simple, les interpréteurs donneront le même résultat.

Enfin, les dernières fonctionnalités réservées sont celles de remplissage et de vidage de la

base. La fonction "feed" dirige vers une page demandant le fichier html qui doit être utilisé pour

alimenter la base, puis lance le programme Perl d'extraction des données sur ce fichier.

La fonction 'erase' permet de vider les tables d'informations sur les protéines ('proteins' et

'fastas'), mais pas les autres, de manière à conserver une trace du travail effectué par le biologiste

(connecté en tant qu'utilisateur privilégié) (annotation du champ 'remarks' de la table 'notes').

Ces fonctions seront très utiles au biologiste. En effet il s'agit d'une base dédiée à la recherche, dont

la vocation est de manipuler des données sur des protéines, mais dont on sait d'une part que toutes

ne sont pas des LEA, et d'autre part qu'il manque certainement des LEA dans la base. Ainsi,

l'objectif est de travailler sur les données et de pouvoir vider puis ré-alimenter la base avec des

protéines issues d'une nouvelle requête qui nous semblera plus adaptée.

Pour l'instant ces informations de connexion sont fournies par l'administrateur à un

utilisateur intéressé, suite à un mail de contact par exemple (sur la page 'contiguïtés') mais on peut

envisager une inscription en ligne 'autonome', avec génération d'un login unique et d'un mot de

passe.

De plus, il existe à l'heure actuelle deux types d'utilisateurs. Mais l'accès a été prévu dans la

perspective d'en ajouter facilement de nouveaux. En effet, actuellement l'accès aux diverses

fonctions ou informations réservées est permis aux utilisateurs dont le login et mot de passe font

passer la variable de session 'droits' à 1.

On peut donc envisager de rajouter un champ 'droits' supplémentaire dans la table 'membres', qui

comporterait un entier. Ce nombre déterminerait le type d'utilisateur et donc les fonctionnalités

auxquelles il peut accéder. Il suffira ensuite de vérifier le champ 'droits' de l'utilisateur avant de

proposer ou non une fonctionnalité.

Master Pro BioInformatique Laurent CHATELAINPage 38

Université de Nantes Rapport de stage

5 Perspectives de recherches et améliorations possibles

L'objectif de l'UMR PMS est l'étude de la relation structure-fonction des LEA. Pour cela,

plusieurs extensions sont envisagées.

La première serait d'installer un outil d'alignements multiples en local : Multalin

(http://bioinfo.genopole-toulouse.prd.fr/multalin/multalin.html). Il s'agit d'un programme libre de

droits, efficace et dont l'interface est conviviale. L'intérêt d'un tel outil repose sur la possible mise

en évidence de motifs conservés, et ceci simplement grâce à l'option 'align' prévue sur les protéines

qui auront été préalablement sélectionnées.

A la différence de l'outil de recherche de motifs connus déjà proposé, cela permettrait de mettre en

évidence des motifs communs des protéines qu'on suppose avoir la même fonction. On cherche

donc ici des motifs inconnus qui seraient spécifiquement responsables d'une fonction protéique.

On peut ensuite envisager de rechercher des motifs connus. En effet, on prête à certaines

LEA des propriétés d'interaction avec l'ADN, ce qui nous suggère de rechercher des motifs

caractéristiques de facteurs de transcriptions. En première approche, l’outil de recherche de motifs

intégré au site semble tout à fait adapté.

De même on leur attribue un rôle protecteur de type HSP, ce qui nous indique qu'il serait intéressant

de rechercher des motifs de fixation de l'ATP, eux-mêmes présents sur ce type de protéines.

Effectuer des analyses syntaxiques puis sémantiques pourrait se révéler riche en

informations, en particulier en ce qui concerne la mise en évidence des fonctions assurées par les

LEA. Il est en effet déjà possible de réaliser des recherches syntaxiques basées sur des mots-clés, et

comme on l'a vu cela va permettre d'isoler des protéines associées à un 'thème' particulier.

Mais l'objectif est d'aller plus loin et de permettre des recherches sémantiques, de façon à

tirer du sens de ces données contenues dans la base. Pour cela il faut associer à chaque mot-clé les

différentes syntaxes que l'on est susceptible de rencontrer et qui possèdent le même sens.

Par exemple, pour les LEA du groupe 3 on peut retrouver 'group 3', 'LEA 3', LEA-3', et il s'agit

donc d'indiquer au programme de rechercher aussi ces termes lorsqu'on s'intéresse aux LEA de ce

groupe.

Master Pro BioInformatique Laurent CHATELAINPage 39

Université de Nantes Rapport de stage

Cela consiste en une sorte de lemmatisation : les mots (lemmes) d'une langue utilisent plusieurs

formes en fonction de leur genre (masculin ou féminin), leur nombre (un ou plusieurs), leur

personne (moi, toi, eux, ...), leur mode (indicatif, impératif, ...) donnant ainsi naissance à plusieurs

formes pour un même lemme.

La lemmatisation d'une forme d'un mot consiste à en prendre sa forme canonique, c'est à dire

l'infinitif pour un verbe, le masculin singulier pour les autres mots.

Ensuite, il serait donc possible de faire ressortir du sens de ces analyses. En effet une recherche du

type « DNA + binding + growth + factor + cell + division », prenant en plus compte les mots

dérivés grâce à la lemmatisation, indiquerait un rôle précis dans le cycle cellulaire au niveau du

noyau.

Parallèlement on peut effectuer des analyses statistiques sur la longueur des chaînes, la

composition en acides aminés, les propriétés physico-chimiques (profils d'hydrophobicité...). Ceci

est en partie permis par les outils intégrés à LEA-DB. Ces analyses permettraient de confronter les

résultats obtenus avec les règles déjà établies pour classer les LEA, et peut-être de faire émerger

certaines caractéristiques d'un groupe de protéines.

On peut enfin envisager d'utiliser la modélisation moléculaire. En effet, on pourrait utiliser

des logiciels libres de droit comme PyMol, Modeller pour prédire les structures des protéines.

Toutes les protéines testées seraient modélisées par le même logiciel, et on peut donc penser que les

résultats seraient homogènes. Cependant, un obstacle important demeure, car aucune vérification de

ces prédictions ne sera possible puisqu'on ne dispose d'aucune donnée sur la structure

tridimensionnelle des LEA.

En ce qui concerne l'aspect programmation du site, on pourrait envisager de faire évoluer

LEA-DB en programmation orientée objet car PHP le permet, mais cela ne nous semblait pas

adapté au début du projet. En revanche, la stratégie d’analyse des LEA s'est précisée au fil des

discussions et des réflexions. Maintenant que le plan se dessine et que le projet est plus avancé, il

semble que l'approche objet serait une bonne façon d'améliorer et de structurer le code.

On imagine très bien des objets de classe 'protéine', dont l'attribut 'accession 'serait ainsi

indissociable, et qui comporteraient des fonctions spécifiques comme les différents calculs effectués

sur les chaînes d'acides aminés, ce qui garantirait un code plus propre.

Master Pro BioInformatique Laurent CHATELAINPage 40

Université de Nantes Rapport de stage

Une autre amélioration possible serait de permettre à l'utilisateur de saisir une expression

régulière pour la recherche de motifs, ce qui mettrait en évidence des motifs dérivés de motifs

consensus qui ne l'auraient pas été par l'outil tel qu'il est proposé actuellement.

Master Pro BioInformatique Laurent CHATELAINPage 41

Université de Nantes Rapport de stage

Conclusion

Ces cinq mois de stage se sont révélés très positifs. Ce stage de fin de Master m'a apporté

plusieurs ouvertures.

Tout d'abord, j'ai pu appliquer mes connaissances sur les bases de données acquises par les

cours d'analyse des systèmes d'information et de SQL (Structure Query Language), mais également

en technologies Internet (PHP, XHTML, CSS) et en Perl.

Je suis également très satisfait de ce stage car j'ai trouvé vraiment enrichissant de travailler

à l'interface entre les biologistes et les informaticiens. En effet ce stage pratique m'a permis

d'apprendre beaucoup de choses en informatique, mais fut aussi l'occasion de nombreuses réflexions

sur l'aspect biologique du projet, et sur les possibilités qui s'offraient à nous pour le mener à bien.

Finalement, ce stage m'a permis d'affiner mes orientations professionnelles.

Concernant mes aspirations professionnelles, j'aimerais me tourner vers ce type de projets basés sur

la fouille de données, pour essayer de dégager du sens des informations biologiques disponibles sur

une problématique donnée.

Master Pro BioInformatique Laurent CHATELAINPage 42

Université de Nantes Rapport de stage

Bibliographie

Tolleter, D , Jaquinod M, Mangavel C, Passirani C, Saulnier P, Manon S, Teyssier E, Payet N,

Avelange-Macherel MH, Macherel D. . (2007) "Structure and Function of a Mitochondrial Late

Embryogenesis Abundant Protein Are Revealed by Desiccation" Plant Cell (May 25)

Tunnacliffe, A. & Wise, M.J. (2007) "The continuing conundrum of the LEA proteins"

Naturwissenschaften (May 4)

Abba', S. et al. (2006) "A dehydration-inducible gene in the truffle Tuber borchii identifies a novel

group of dehydrins" BMC Genomics 7, 39

Grelet, J. et al. (2005) "Identification in pea seed mitochondria of a late-embryogenesis abundant

protein able to protect enzymes from drying" Plant Physiol. 137, 157 - 167

Wise, M.J. (2003) "LEAping to conclusions: a computational reanalysis of late embryogenesis

abundant proteins and their possible roles" BMC Bioinformatics 4, 52

Wise M.J., Tunnacliffe A. (2004) POPP the question: What do LEA proteins do? Trends Plant Sci

9:13-17

Boudet J, Buitink J, Hoekstra FA, Rogniaux H, Larré C, Satour P, Leprince O (2006)

Comparative analysis of the heat stable proteome of radicles of Medicago truncatula seeds during

germination identifies late embryogenesis abundant proteins associated with desiccation tolerance.

Plant Physiol 140:1418,1436

Sites Internet :

http://fr.selfhtml.org/ (HTML, PHP, CSS, Perl)

http://www.info.univ-angers.fr/~gh/tuteurs/tutperl.htm (Perl)

http://css.alsacreations.com/ (CSS)

Master Pro BioInformatique Laurent CHATELAINPage 43

Université de Nantes Rapport de stage

ANNEXES

Table proteins

Nom Type Longueuraccession varchar 15name varchar 200length int 5organism varchar 50reign varchar 50uniprot varchar 15authors varchar 2000title varchar 300journal varchar 300function varchar 200tissue_type varchar 50dev_stage varchar 30product varchar 300protein_name varchar 300gene varchar 300region_name varchar 300region_note varchar 1000putative_function varchar 300pfam varchar 30cdd varchar 300date int 5

Master Pro BioInformatique Laurent CHATELAINPage 44

Université de Nantes Rapport de stage

Table fastas

Nom Type Longueuraccession varchar 15fasta varchar 4000

Table notes

Nom Type Longueuraccession varchar 15our_classif varchar 50remarks varchar 200wise_group varchar 15wise_pfam varchar 15

Table keywords

Nom Type Longueurkeyword varchar 30

Table membres

Nom Type Longueurlogin varchar 15mpd varchar 50

Master Pro BioInformatique Laurent CHATELAINPage 45

Université de Nantes Rapport de stage

Master Pro BioInformatique Laurent CHATELAINPage 46

Université de Nantes Rapport de stage

Modèle Conceptuel des Données (MCD)

Master Pro BioInformatique Laurent CHATELAINPage 47

proteins

accession

name

length

organism

reign

uniprot

authors

title

journal

function

tissue_type

dev_stage

product

protein_name

gene

region_name

region_note

putative_function

pfam

cdd

date

fastas

accession

fasta

notes

accession

our_classif

remarks

wise_group

wise_pfam

membres

login

mdp

keywords

keyword

1, 1

1, 1

1, 1