un logiciel de scaffolding intégrant différents sources d ... - Inra
un logiciel de scaffolding intégrant différents sources d ... - Inra
un logiciel de scaffolding intégrant différents sources d ... - Inra
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
LYNX<br />
<strong>un</strong> <strong>logiciel</strong> <strong>de</strong> <strong>scaffolding</strong> intégrant<br />
différentes <strong>sources</strong> d’informations<br />
Jérôme Gouzy<br />
Plateforme Informatique & Bioinformatique du LIPM/SPE<br />
CATI BBRIC: Bioinformatique, Biodiversité,<br />
Représentation et Intégration <strong>de</strong>s Connaissances
Un peu <strong>de</strong> jargon: processus d’assemblage, contigs<br />
et scaffolds, paired-end, mate-pairs<br />
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
paired-end<br />
longueur <strong>de</strong><br />
l’insert 200-600bp<br />
Contig 1 Contig 2<br />
Scaffold 1<br />
Légen<strong>de</strong>: Les flèches représentent les fragments <strong>de</strong> séquences fournis par les séquenceurs. Les<br />
traits en pointillés qui connectent les flèches représentent <strong>un</strong> lien <strong>de</strong> longueur connue entre les<br />
<strong>de</strong>ux extrémités séquencées. Les couleurs représentent <strong>de</strong>s tailles d’inserts différentes obtenues<br />
par différents protocoles expérimentaux.<br />
Dans <strong>un</strong> premier temps les chevauchements entre séquences sont détectées et utilisés pour<br />
construire <strong>de</strong>s séquences continues plus longues que l’on nomme « contigs ». Dans <strong>un</strong> <strong>de</strong>uxième<br />
temps, les inserts « longs » sont utilisés pour ordonner les « contigs » en « scaffolds ». Les trous<br />
entre les contigs, essentiellement dus aux séquences répétées, sont représentés par la lettre ‘N’<br />
dans l’assemblage.<br />
mate-pair<br />
longueur <strong>de</strong><br />
l’insert 3,5,8,10kb,<br />
20kb, « 40kb »
Logithèque<br />
http://bbric.toulouse.inra.fr/<strong>de</strong>javu<br />
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr
Etape 1 « Contiguage »<br />
► données paired-ends illumina 2*100nt, 454<br />
► Lorsqu’il y a beaucoup <strong>de</strong> données illumina (genome/mRNA),<br />
nécessité d’<strong>un</strong>e machine dédiée avec beaucoup <strong>de</strong> mémoire<br />
vive (1To)<br />
► Utiliser le <strong>logiciel</strong> et les paramètres qui correspon<strong>de</strong>nt aux<br />
données.<br />
• 454: Newbler/cabog; illumina: velvet/soap<strong>de</strong>novo<br />
• nombreux essais <strong>de</strong> paramétrage pour maximiser le N50 sans pour<br />
autant introduire trop <strong>de</strong> chimères<br />
► Nettoyage préliminaire <strong>de</strong>s données ? Ca dépend<br />
• Sur medicago:<br />
► 100x il vaut mieux nettoyer<br />
► 200x il vaut mieux ne pas nettoyer<br />
N50: taille <strong>de</strong> contig pour laquelle on a 50% <strong>de</strong>s nucléoti<strong>de</strong>s <strong>de</strong> l’assemblage dans<br />
<strong>de</strong>s contigs <strong>de</strong> longueur supérieure<br />
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr
Parfois cela ne se « contigue » pas<br />
(lorsque cela ne vient pas <strong>de</strong>s données)<br />
► En fait, si l’on pouvait appliquer les algorithmes/programmes classiques<br />
d’assemblage (cap3, phrap, Arachne) cela marcherait certainement<br />
► Hélas, les algorithmes « anciens » ne peuvent fonctionner sur <strong>de</strong> telles<br />
quantité <strong>de</strong> lectures on doit utiliser <strong>de</strong>s programmes utilisant <strong>de</strong>s<br />
structures <strong>de</strong> données particulières (Graphes <strong>de</strong> <strong>de</strong> Bruijn) L’analyse<br />
<strong>de</strong>vient possible mais le résultat est moins bon.<br />
Biologiste lambda,<br />
cap3, phrap, ... moi<br />
>S1<br />
ATGCCGTAGTCAGTC<br />
>S2<br />
CCGTAGTCAGTCTTC<br />
Velvet<br />
1700 citations dans google<br />
scholar<br />
ATGCCGTAGTCAGTC<br />
CCGTAGTCAGTCTTC<br />
k=3<br />
>NODE_1_len_7_cov_1.5<br />
ATGCCGTAG<br />
>NODE_2_len_4_cov_3.0<br />
AGTCAG<br />
k=5<br />
>NODE_1_len11_cov_1.7<br />
ATGCCGTAGTCAGTC<br />
pas mal, il manque juste TTC<br />
k=7<br />
Pas <strong>de</strong> contig<br />
ATGCCGTAGTCAGTCTTC<br />
2 contigs chevauchant <strong>de</strong> k-1 nt<br />
il manque TCTTC à la fin<br />
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
Le contiguage marche bien<br />
= « gene space assemblé correctement<br />
► Quand le génome n’est pas polymorphe<br />
► >= 100x paired-end (50x on peut aussi avoir <strong>de</strong> bons résultats)<br />
► Lorsque les données <strong>de</strong> séquençage sont bonnes<br />
• Bonne qualité<br />
• Pas <strong>de</strong> bias<br />
• La profon<strong>de</strong>ur théorique visée est atteinte (pas <strong>de</strong><br />
contamination)<br />
« l’ assemblabilité » est <strong>un</strong> très bon indicateur <strong>de</strong> qualité<br />
<strong>de</strong>s données
Etape 2 « Scaffolding »<br />
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr
Prerequis pour <strong>un</strong> <strong>scaffolding</strong> correct<br />
► les contigs doivent être disjoints<br />
C1<br />
C2<br />
C3<br />
C4<br />
Si C3 et C2 chevauchent sur la région<br />
correspondant à l’extrémité <strong>de</strong> la paire<br />
qui fait le lien C2 et C3 (i) considérés comme repeats ?<br />
(ii) ordonnés incorrectement ?<br />
► les contigs doivent couvrir le maximum d’espace non repété<br />
C3<br />
C6<br />
C4<br />
Si C4 qui serait le meilleur hit n’est pas dans les contigs<br />
le meilleur hit n’est plus le bon<br />
► il faut <strong>de</strong>s banques mate-pairs <strong>de</strong> différentes longueurs et <strong>de</strong> bonne qualité<br />
C3<br />
C4 C7<br />
C8 Entrelacement<br />
C3 C1 C4<br />
Problème d’ordre si dans <strong>un</strong>e même banque la taille d’insert<br />
est très variable<br />
► Plus les contigs sont courts, plus il est difficile <strong>de</strong> gérer le « bruit »<br />
► Il faudrait <strong>un</strong> bon scaffol<strong>de</strong>r, très paramétrable et utilisable sur beaucoup <strong>de</strong><br />
données
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
Tests <strong>de</strong>s <strong>logiciel</strong>s existants<br />
► Velvet/Oases: contigs+scaffold<br />
• Trop long si beaucoup <strong>de</strong> données<br />
• Modularité accessible par recompilation<br />
► SOAP<strong>de</strong>novo: contig+scaffold<br />
• Modularité accessible au niveau <strong>de</strong> la ligne <strong>de</strong><br />
comman<strong>de</strong><br />
• Sous utilise les données inserts longs du type BAC-end<br />
► BAMBUS: scaffold données hétérogènes<br />
• Pas mal <strong>de</strong> bugs<br />
• Peu <strong>de</strong> paramétrage possible
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
Pas <strong>un</strong> problème <strong>de</strong> <strong>scaffolding</strong> mais <strong>de</strong>s<br />
<strong>de</strong>s problèmes (intimement liés)<br />
► Assemblage <strong>de</strong> novo<br />
► Utilisation d’<strong>un</strong>e référence pour ordonner <strong>de</strong>s<br />
contigs/assemblés par ailleurs<br />
► Utiliser <strong>un</strong> 2 e assemblage (ou <strong>de</strong>s lectures longues) pour<br />
combler les trous d’<strong>un</strong> assemblage <strong>de</strong> référence<br />
► Assembler <strong>un</strong> chromosome ou <strong>un</strong> morceau <strong>de</strong> chromosome<br />
► « Finishing »<br />
• Positionner les contigs/repeats dans les trous<br />
► Ordonner <strong>de</strong>s scaffolds<br />
• Sur <strong>un</strong>e carte optique<br />
• Sur <strong>un</strong>e carte génétique
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
► Pouvoir faire du diagnostic fin<br />
► Essayer <strong>de</strong> gérer les repeats<br />
LYNX<br />
<strong>de</strong>c 2011 - …<br />
► Intégrer tous les types <strong>de</strong> données au moment du <strong>scaffolding</strong><br />
et non pas les <strong>un</strong>es après les autres gui<strong>de</strong>r et/ou éviter <strong>de</strong><br />
faire <strong>de</strong>s choix qui seraient remis en cause ultérieurement<br />
► Pouvoir facilement corriger/maintenir <strong>un</strong> outil stratégique pour<br />
l’équipe.<br />
► Implémentation d’heuristisques modulaires parfois lour<strong>de</strong>s<br />
plutôt que d’algorithmes efficaces<br />
► Traiter avec le même outil l’ensemble <strong>de</strong>s classes <strong>de</strong> problèmes<br />
► Perl, multithreading, binding C++ (lib alnpack)
Plateforme bioinformatique du LIPM/SPE: bilan <strong>de</strong>s<br />
outils et compétences sur l’assemblage<br />
Scaffol<strong>de</strong>r<br />
LYNX<br />
supprimer<br />
redondance et<br />
chevauchements<br />
Bact.<br />
avec<br />
bcp<br />
IS<br />
x<br />
genot<br />
.<br />
mRNA<br />
diploi<strong>de</strong><br />
Champignon<br />
hapl. 25Mb<br />
(ref. partielle)<br />
x genot<br />
OOmycet<br />
e<br />
100Mb<br />
x genot<br />
Mt<br />
pe, mp,<br />
BES, OM<br />
(ref.<br />
partielle)<br />
N/A +++ OK OK En cours<br />
(très long)<br />
scaffoling pe+mp +++ En cours Attente<br />
data<br />
+ intégration<br />
OpticalMap<br />
+ intégration<br />
carte génétique<br />
<strong>de</strong>nse<br />
Assemblage<br />
guidé par<br />
référence<br />
Ms<br />
Tournesol<br />
pe, mp,<br />
(BES?),<br />
carte génet<br />
GBS<br />
x genot<br />
En cours<br />
(très long)<br />
++ - +<br />
N/A En cours N/A ++ N/A N/A<br />
N/A N/A N/A N/A N/A prévu<br />
+++ Prévu Prévu N/A prévu prévu<br />
Combler les trous ++ N/A Prévu Prévu ++ prévu prévu<br />
Réinjection <strong>de</strong>s<br />
repeats<br />
++ En cours Prévu ++/- prévu prévu
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
Stratégie<br />
►10% du temps humain pour traiter 90% <strong>de</strong>s<br />
problèmes automatiser les problèmes<br />
simples (= les plus comm<strong>un</strong>s)<br />
►90% du temps humain pour (essayer <strong>de</strong>)<br />
traiter les problèmes compliqués
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
Pipelines automatiques pour traiter les<br />
problèmes les plus simples<br />
► Assemblage <strong>de</strong> transcriptomes<br />
+ Suppression <strong>de</strong> la redondance dans <strong>un</strong> assemblage <strong>de</strong><br />
transcriptome<br />
► Assemblage paired-end <strong>de</strong> génomes<br />
+ Ordonnancement en fonction d’<strong>un</strong>e référence<br />
Basés sur:<br />
LYNX<br />
SOAP<strong>de</strong>novo<br />
Velvet<br />
cap3<br />
Interface CLI (ligne <strong>de</strong> comman<strong>de</strong> <strong>un</strong>ix), l’objectif est <strong>de</strong> les rendre<br />
disponibles à travers <strong>de</strong>s interfaces web (moteur <strong>de</strong> workflow type<br />
galaxy, mobyle, etc.; sites web dédiés)<br />
Approches « brutales » lourd + heuristiques<br />
Les métriques usuelles ne suffisent pas à évaluer la qualité du résultat<br />
toujours imaginer <strong>un</strong> contrôle externe qui vérifie le sens biologique
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
LYNX « manuel » pour les problèmes les plus complexes<br />
► Beaucoup <strong>de</strong> données <strong>de</strong> différentes natures<br />
► Design du protocole <strong>de</strong> <strong>scaffolding</strong> Fichier <strong>de</strong> configuration<br />
• Modules <strong>de</strong> la recette<br />
►Scaffolding; Ajout <strong>de</strong>s repeats; Construction d’<strong>un</strong>e pseudomolécule (si<br />
GM/OP); Scaffolding/Micro<strong>scaffolding</strong>; Détection/correction d’erreur<br />
• Paramètres <strong>de</strong>s différentes étapes du <strong>scaffolding</strong><br />
►Filtrages <strong>de</strong>s hits selon les banques (suppression redondance,<br />
contamination paired-end dans les banques mate-pairs, etc.)<br />
►Contrôle <strong>de</strong>s itérations<br />
►Contrôle <strong>de</strong>(s) algorithme(s) <strong>de</strong> <strong>scaffolding</strong><br />
Dépend <strong>de</strong>s données pas du tout générique<br />
Lourd et expérience dépendant<br />
En cours <strong>de</strong> développement (= la doc c’est le co<strong>de</strong>!)
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
Oui mais<br />
►Peut être que le jour ou l’outil sera<br />
satisfaisant les technologies l’auront<br />
rendu obsolète !
Conclusions personnelles (et peut être temporaires) sur<br />
l’assemblage <strong>de</strong> génomes à partir <strong>de</strong> données NGS<br />
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr<br />
► Comprendre pourquoi cela ne marche pas et imaginer puis développer <strong>un</strong>e<br />
solution prend du temps<br />
• « <strong>de</strong>bugguer » sur <strong>de</strong>s génomes complexes est extrêmement compliqué,<br />
nécessite <strong>un</strong> temps complet sur <strong>un</strong>e pério<strong>de</strong> longue et <strong>un</strong> accès réservé à <strong>de</strong>s<br />
res<strong>sources</strong> <strong>de</strong> calcul conséquentes il est souvent nécessaire <strong>de</strong> mettre au<br />
point <strong>de</strong>s solutions sur <strong>de</strong>s cas moins complexes<br />
► Mais penser que lorsque l’on a réglé <strong>un</strong> problème sur <strong>un</strong> cas « simple » cela<br />
va marcher pareil sur <strong>un</strong> cas plus complexe reste démesurément optimiste<br />
• effet programmes: multitu<strong>de</strong> <strong>de</strong> versions, bugs, paramètres<br />
• effet données: type, qualité, quantité, bruit<br />
• effet espèce: haploi<strong>de</strong>, diploi<strong>de</strong>, haploi<strong>de</strong> avec énormément <strong>de</strong> repeats, etc.<br />
• effet papillon: <strong>un</strong>e erreur (ex: chimère) au contiguage peut créer <strong>un</strong> souci lors<br />
du <strong>scaffolding</strong> et donc au moment <strong>de</strong> la reconstitution <strong>de</strong> la pseudomolécule<br />
► Il faut absolument penser le projet comme <strong>un</strong>e interaction<br />
bio/bioinfo sans les données rien n’est possible, sans les outils/compétences<br />
non plus.
Merci pour votre attention<br />
10 avril 2013 – Colloque EPGV – Lusignan – Jerome.Gouzy@toulouse.inra.fr