Upload
dominica-ronnie
View
57
Download
4
Embed Size (px)
DESCRIPTION
DESS Bioinformatique (2003-2004). MISE EN PLACE D’UN PIPELINE DE TRAITEMENT DE SEQUENCES ISSUES DE BANQUES ENRICHIES EN SEQUENCES MICROSATELLITES ASSOCIE A UNE BASE DE DONNEES. Alexis DEREEPER. Université Montpellier II CIRAD – Programme Biotrop - PowerPoint PPT Presentation
Citation preview
MISE EN PLACE D’UN PIPELINE DE TRAITEMENT DE SEQUENCES ISSUES DE BANQUES ENRICHIES
EN SEQUENCES MICROSATELLITES ASSOCIE A UNE BASE DE DONNEES
Alexis DEREEPER
Université Montpellier IICIRAD – Programme Biotrop
Encadrement : Jean-François Rami, Claire Billot, Manuel Ruiz
DESS Bioinformatique (2003-2004)
PLAN
I - Introduction
II – Contexte biologique
III – Mise en place du pipeline
IV – Base de données
V – Interface web
VI – Conclusions et perspectives
I - Introduction
CIRAD : Organisme scientifique français spécialisé en recherche agronomique appliquée aux régions chaudes.
Programme BIOTROP : Utilisation de la biologie moléculaire pour étudier la diversité génétique des plantes (marqueurs moléculaires, cartographie)
réalisation de banques enrichies en séquences microsatellites
séquençage
Obtention de marqueurs microsatellites exploitables
Analyse des séquences
Besoin d’un pipeline de traitement automatique
II – Contexte biologique
GTGTGTGTGTGTGTGTCACACACACACACACA
Plante A Plante B
GTGTGTGTGTGTGTGTGTGTGTGTCACACACACACACACACACACACA
GTGTGTGTGTGTGTGTCACACACACACACACA
GTGTGTGTGTGTGTGTGTGTGTGTCACACACACACACACACACACACA
Primer 1
Primer1
Primer 2 amplification PCR
AA BB
(GT)8 (GT)12
2 allèles
Microsatellite : courte séquence de motifs d’ADN répétés en tandem Unité de répétition variant de 1 à 6 pb : (CA)n, (CTT)n…
polymorphisme multiallélique détecté par PCR puis électrophorèse du locus (microsat + régions flanquantes)
GTGTGTGTTGTGTGTG
RsaI RsaI RsaI
GTGTGTGTTGTGTGTG
Digestion enzymatique par RsaI
GTGTGTGTTGTGTGTG
Ligation d’adaptateurs et PCR
TGTGTGTG
TGTGTGTG
Dénaturation et hybridation avec un oligonucléotide biotinylé
GTGTGTGT
RE
ALI
SA
TIO
N D
E B
AN
QU
ES
Capture du microsatellite avec un complexe avidine/bille magnétique
TGTGTGTG
GTGTGTGT
aimant
Lavage, élution puis amplification par PCR
GTGTGTGT
clonage
GTGTGTGTTGTGTGTG
TGTGTGTG GTGTGTGTTGTGTGTG
GTGTGTGTTGTGTGTG
Chromatogrammes de séquence
CHAÎNE DE TRAITEMENT
ANALYSE DES SEQUENCES
SEQUENCAGE
CULTURE + SELECTION
Obtention d’une banque enrichie en séquences microsatellitesGène de la β-
galactosidase
Gène de résistance à un antibiotique
GTGTGTGTTGTGTGTG
amorce forward
amorce reverse
Chaîne de traitement : les différentes étapes
III - Mise en place du pipeline
Chromatogrammes de séquence
Séquences d’ADN brute
Base-calling
Séquences d’ADN nettoyée
Élimination du vecteur et des adaptateurs
Fragments de digestion ayant un microsatellite
Digestion enzymatique in silico
+ recherche de microsatellites
Séquences consensus
Clustering, contigage
Couples d’amorces de PCR
Définition d’amorces d’amplification
Objectifs
Mettre en place un pipeline = chaîne de traitement reliant plusieurs logiciels afin d’effectuer une tâche
Outil convivial et paramétrable :
Possibilité d’une double digestion
Possibilité pour l’utilisateur de choisir les étapes à effectuer
Interfaçage du pipeline et de la base de données
Sauvegarde automatique des résultats en base de données à chaque étape du pipeline traçabilité des séquences
Modélisation
Chromatogrammes de séquence
Phred.pm
Séquences d’ADN brute
Un module Perl par étape, par logiciel utilisé
Base-calling : module Phred.pm
>DW0AI001ZA05FM1.SCFTATCATATGGGACTGGCCGAGTGCATCTCCGCGC
Fichier séquence .seq
Fichier qualité .qual
>DW0AI001ZA02RM1.SCF6 6 9 6 10 12 16 11 19 9 9 9 19 19 22 22 29 29 35 34 34 34 37 19
Modélisation
Phred.pm
Chromatogrammes de séquence
Séquences d’ADN brute
Séquences d’ADN nettoyée
Lucy.pm
Un module Perl par étape, par logiciel utilisé
Nettoyage des séquences : module Lucy.pm
Détection de la position du vecteur
Détection des régions de mauvaise qualité
>DW0AI001ZA05FM1.SCF 0 0 0 113 442TATCATATGGGACTGGCCGAGTGCATCTCCGCGCAGGCCG
Lucy :
Méthode retrait_vecteur():
Retrait du vecteur en fonction de la sortie de Lucy
Modélisation
Phred.pm
Digestion.pm
+ Select_ssr.pm
Fragments de digestion ayant un microsatellite
Chromatogrammes de séquence
Séquences d’ADN brute
Séquences d’ADN nettoyée
Lucy.pm
Un module Perl par étape, par logiciel utilisé
Digestion enzymatique : module Digestion.pm
Utilisation du module Bioperl Bio::Tools::RestrictionEnzyme
Utilisation de la fonction cut_seq()
@fragment = $re1->cut_seq($seq);
Sélection des fragments contenant un microsatellite: module Select_ssr.pm
Utilisation d’un script de recherche de microsatellites
>DW0AI001ZA05FM1.0 0 2 ac 8 51 64 330GCACATATGTGAAGTCCATTCAGTGGCCACTGGAGCAAGGTAACCAACGACACACACACACACACAGGT
Modélisation
Digestion.pm
+ Select_ssr.pm
Fragments de digestion ayant un microsatellite
Phred.pm
Séquences consensus
Stackpack.pm, Cap3.pm
Chromatogrammes de séquence
Séquences d’ADN brute
Séquences d’ADN nettoyée
Lucy.pm
Un module Perl par étape, par logiciel utilisé
Clustering : module Stackpack.pm
Clustering : premier regroupement des séquences selon leur similarité relative
Stackpack : pipeline de contigage
clustering contigage analyse
d2_cluster phrap craw
Contigage : module Stackpack.pm ou Cap3.pm
Alignement des séquences regroupées au sein d’un cluster
Séquences consensus
consensusreverse
forward
Modélisation
Digestion.pm
+ Select_ssr.pm
Fragments de digestion ayant un microsatellite
Séquences consensus
Phred.pm
Stackpack.pm, Cap3.pm
Couples d’amorces de PCR
Primer3.pm
Chromatogrammes de séquence
Séquences d’ADN brute
Séquences d’ADN nettoyée
Lucy.pm
DataBase.pm
Base de données
Requêtes
Un module Perl par étape, par logiciel utilisé
Définition d’amorces : module Primer3.pm
Utilisation du logiciel ePrimer3 de EMBOSS
# Start Len Tm GC% Sequence 1 PRODUCT SIZE: 116 FORWARD PRIMER 26 20 54.65 55.00 GTACCCTGTGTCTCTCCTTG REVERSE PRIMER 122 20 55.24 50.00 TGGTATGAAGGGTGTAGCTC
Cible d’amplification : positions du microsatellite sur le consensus
IV – Base de données
Existence d’une base de données renfermant des informations communes: séquence brute, séquence nettoyée, contigs…
Modification par ajout de nouvelles tables spécifiques
Projet+ nom_projet+ date_creation+ description
Microsat
+ Id_microsat+ ssr_num+ ssr_type+ ssr+ size+ start+ end
Seq_init
+ nom_seq+ source_fichier_chromato+ sequence_brute+ sequence_qualite+ sequence_nettoyee+ qual_nettoyee+ nom_espece
1
1..*
Cluster_element
+ Id_element+ nom_element+ sequence_consensus+ num_cluster+ nom_contig+ longueur+ align_phrap+ res_align+ align_craw+ longest
1..* 0..1
Possède
Possède
0..*
0..*
0..*
0..*
Est_amplifié_par1..*
Primer
+ Id_primer+ primer_compt+ forw_nom+ forw_seq+ forw_temp+ forw_size+ rev_nom+ rev_seq+ rev_temp+ rev_size+ prod_size+ prod_start+ prod_end+ valide+ forw_infosblast+ rev_infosblast
0..*
1A_pour_origine
Seq_dig
+ nom_seq_dig+ sequence_dig+ qual_dig+ enzyme+ pres_micro
1..*
FK_Reference_1
FK_Reference_2
FK_Reference_3
FK_Reference_4 FK_Reference_5
FK_Reference_6
FK_Reference_7
FK_Reference_8
FK_Reference_9
FK_Reference_10 FK_Reference_11
FK_Reference_12
FK_Reference_13FK_Reference_14
FK_Reference_15
FK_Reference_16
FK_Reference_17
FK_Reference_18
FK_Reference_19
FK_Reference_20
FK_Reference_21
FK_Reference_22
FK_Reference_23
FK_Reference_24
FK_Reference_25
FK_Reference_26
FK_Reference_27
Utilisateur
login_utilisateurmot_de_passedate_fin
varchar (30)varchar (30)date
<pk>
Projet
nom_projetdate_creationdescription
varchar (50)datelongtext
<pk>
Intervient
statut_utilisateurlogin_utilisateurnom_projet
varchar (30)varchar (30)varchar (50)
<pk><pk,ak1,fk1><pk,ak2,fk2>
Est
nom_Estsource_fichier_chromatosequence_brutesequence_qualitenumero_plaqueposition_puitpresence_oligonom_especenom_banquecode_primernum_versionnom_projet
Varchar (30)Varchar(250)LongtextLongtextvarchar (10)varchar(5)varchar (5)varchar (30)varchar (30)varchar(10)tinyintvarchar(30)
<pk>
<pk,ak,fk>
Est_nonValide
nom_Estnom_projetpetite_tailleinsert_multiplefaible_qualitepasInsert
Varchar (30)varchar (50)tinyinttinyinttinyinttinyint
<pk,ak,fk><pk,ak,fk>
Cluster_element
Id_elementnom_elementsequence_consensusnom_clusternom_contiglongueuralign_phrapres_alignalign_crawlongest
varchar(100)Varchar (100)longtextintvarchar (100)intlongtextlongtextlongtextvarchar(100)
<pk>
Est_Valide : 1
nom_Estnom_projetinsert_estlongueur_insertpresence_polyApresence_polyTtype_clusterId_element
Varchar (30)varchar (50)Longtextinttinyinttinyintvarchar (20)Varchar (100)
<pk,ak1,fk1><pk,ak1,fk1>
<ak2,fk2>
Fonction
fonctionnom_projet
varchar (200)varchar (50)
<pk><pk,ak,fk>
Entete_annotation : 1
Id_enteterequetelongueurprogrammeversionbaseseq_baselettredatefonctionnom_projet1nom_projet2Id_elementnom_Est
integervarchar (100)intvarchar (15)varchar (30)varchar (100)varchar (20)varchar (20)varchar (15)varchar (200)varchar (50)varchar (50)Varchar (100)Varchar (30)
<pk>
<ak1,fk1><ak1,fk1><ak2,fk2><ak3,fk3><ak2,fk2>
Hit
Id_hithit_nomhit_descriptionhit_bitshit_evalueId_entete
integervarchar (200)longtextvarchar (10)doubleinteger
<pk>
<ak2,fk>
Hsp
Id_hsphsp_compthsp_evaluehsp_scorehsp_bitshsp_frac_idenhsp_frac_conshsp_gapqhsp_gapshsp_identhsp_conshsp_longhsp_lienhsp_alignhsp_debhsp_finId_hit
integerintvarchar (10)varchar (10)varchar (10)varchar (10)varchar (10)intintvarchar (10)varchar (10)varchar (10)longtextlongtextvarchar (10)varchar (10)integer
<pk>
<ak,fk>
Projet_inter
nom_clusteringdate_creationdescription
Varchar (100)datelongtext
<pk>
Est_associe_clustering
nom_clusteringnom_projet
Varchar (100)varchar (50)
<pk,ak1,fk1><pk,ak2,fk2>
Single_inter
nom_singlenom_clustering
varchar (30)varchar(100)
<pk><pk,ak,fk> Cluster_inter
Id_elementnom_elementsequence_consensusnom_clusternom_contiglongueuralign_phrapres_alignalign_crawlongestnom_clustering
varchar(100)Varchar (30)longtextintvarchar (10)intlongtextlongtextlongtextvarchar(30)varchar(100)
<pk>
<ak,fk>
Est_inter
nom_Estseq_formatId_element
varchar (30)longtextvarchar(100)
<pk>
<pk,ak,fk>
Entete_annotation_inter
Id_enteterequetelongueurprogrammeversionbaseseq_baselettredateId_element
varchar (100)varchar (100)intvarchar (15)varchar (30)varchar (30)varchar (20)varchar (20)varchar (15)Varchar (100)
<pk>
<ak,fk>
Hit_inter
Id_hithit_nomhit_descriptionhit_bitshit_evalueId_entete
varchar (100)varchar (200)longtextvarchar (10)doublevarchar(100)
<pk>
<ak,fk>
Hsp_inter
Id_hsphsp_compthsp_evaluehsp_scorehsp_bitshsp_frac_idenhsp_frac_conshsp_gapqhsp_gapshsp_identhsp_conshsp_longhsp_lienhsp_alignhsp_debhsp_finId_hit
varchar (100)intvarchar (10)varchar (10)varchar (10)varchar (10)varchar (10)intintvarchar (10)varchar (10)varchar (10)longtextlongtextvarchar (10)varchar (10)varchar (100)
<pk>
<ak,fk>
Seq_init
nom_seqsource_fichier_chromatosequence_brutesequence_qualitesequence_nettoyeequal_nettoyeenom_especenom_projet
varchar (30)Varchar(250)LongtextLongtextLongtextLongtextvarchar (30)varchar(30)
<pk>
<pk,ak,fk>
Seq_dig
nom_seq_digsequence_digqual_digenzymepres_micronom_seqnom_projetId_element
varchar (30)LongtextLongtextVarchar(100)tinyintvarchar (30)varchar (30)Varchar (100)
<pk>
<ak1,fk1><pk,ak1,fk1><ak2,fk2>
Microsat
Id_microsatssr_numssr_typessrsizestartendnom_Estnom_projet1Id_elementnom_seq_dignom_projet2
intintvarchar (10)longtextintintintvarchar (30)varchar (30)Varchar (100)varchar (30)varchar (30)
<pk>
<ak1,fk1><ak1,fk1><ak2,fk2><ak3,fk3><ak3,fk3>
Primer
Id_primerprimer_comptforw_nomforw_seqforw_tempforw_sizerev_nomrev_seqrev_temprev_sizeprod_sizeprod_startprod_endvalideId_microsatforw_infosblastrev_infosblast
intintvarchar (100)longtextdoubleintvarchar (100)longtextdoubleintintintintintinttexttext
<pk>
<ak,fk>
Entete_annotation : 2
Id_enteterequetelongueurprogrammeversionbaseseq_baselettredatefonctionnom_projet1nom_projet2Id_elementnom_Est
integervarchar (100)intvarchar (15)varchar (30)varchar (100)varchar (20)varchar (20)varchar (15)varchar (200)varchar (50)varchar (50)Varchar (100)Varchar (30)
<pk>
<ak1,fk1><ak1,fk1><ak2,fk2><ak3,fk3><ak2,fk2>
Est_Valide : 2
nom_Estnom_projetinsert_estlongueur_insertpresence_polyApresence_polyTtype_clusterId_element
Varchar (30)varchar (50)Longtextinttinyinttinyintvarchar (20)Varchar (100)
<pk,ak1,fk1><pk,ak1,fk1>
<ak2,fk2>
V – Interface web
Manipulation de pages web par l’utilisation de scripts CGI
Utilisation de feuilles de styles
Nécessité d’une interface web commune au pipeline et à la base de données
L’interface doit permettre de :
Paramétrer le pipeline
Lancer le pipeline
Consulter les résultats d’un projet stockés en base de données
Visualiser directement les résultats du pipeline
biologiste
Interface web
Consulter la base de données
Lancer le pipeline
S’identifier
« include »
Choisir les étapes à effectuer
Paramétrer les différentes étapes
« include »
« include »
Faire un paramétrage avancé de Cap3
« extend »
Administrateur Créer un nouvel utilisateur de la BD
Se connecter sur l’accueil
VI – Conclusions et perspectives
Outil performant de traitement de séquences issues des banques microsatellites
Possibilité pour l’utilisateur de choisir les étapes à effectuer. Possibilité de paramétrer chacune des étapes.
Enregistrement des résultats en base de données à chaque étape
Interface web conviviale et simple d’utilisation permettant de lancer le pipeline ou de consulter les résultats
Découverte du langage Perl : Perl objet, BioPerl, Perl CGI
Découverte d’un nouveau SGBD : MySQL
Plusieurs perspectives sont envisageables pour la suite :
Effectuer un blast d’une séquence donnée que ce soit contre GenBank ou contre des banques de séquences des utilisateurs
Créer une sortie automatique d’un fichier de soumission pour l’enregistrement direct dans GenBank.
Un téléchargement des chromatogrammes sur le serveur pourrait être intéressant pour l’utilisateur au moment où il fournit le chemin de ses chromatogrammes.
Fournir un fichier Excel répertoriant l’ensemble des couples d’amorces validés à commander.
Enrichir l’interface Web de consultation des résultats par de nouvelles pages d’interrogations de la base de données
Merci de votre attention
Merci à Jean-François Rami, Claire Billot, Manuel Ruiz, Pierre Larmande, pour m’avoir accueilli et encadré au CIRAD
Merci aux intervenants du DESS pour les cours qu’ils ont enseignés