Les outils d'annotation
Ensembl Variant Effect Predictor (VEP)
VEP est un outil d'annotation de variations développé en Perl sous licence Apache-2.0 au sein du projet Ensembl.
Il permet d'informer quel(s) gène(s) et transcrits sont impactés par une variation et l'impact de cette variation sur ceux-ci mais également d'ajouter des annotations complémentaires inclues dans l'outil de base, récupérées de plugins ou directement d'une source d'informations personnelle sous format VCF, BED, GFF, GTF ou bigWig.
Output
Par défaut son fichier de sortie est un fichier tabulé où toutes les annotations complémentaires sont ajoutées sous la forme clef=valeur dans une colonne Extra
, mais il peut annoter directement un vcf ou produire un JSON.
Outputs avec annotation de base
Commande
1 |
|
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
Commande
1 |
|
Note
- Si une annotation contient une
,
elle sera remplacée par une&
dans le VCF produit. - Pour cet exemple, toutes les annotations disponibles de base dans VEP ont été appliquées.
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
Commande
1 |
|
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
Commande
1 |
|
Output
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Annotations avancées
Il est possible de compléter les annotations de base de VEP par des annotations issues de bases de données prévues à cet effet (plugins) ou créées par l'utilisateur (custom).
Plugins
Les plugins sont des extensions de VEP nécessitant une installation (simplement avec la commande perl INSTALL.pl -a p --PLUGINS dbNSFP,CADD
). Une fois l'installation faite et la source d'annotations récupérée, il suffit pour ajouter ces informations d'appeler le plugin lors du lancement d'une annotation, préciser le chemin de la source d'annotation et selon les plugins, préciser les colonnes désirées.
Par exemple :
1 2 |
|
Custom
Il est également possible d'ajouter des annotations de fichiers BED, VCF, GFF, GTF ou bigWig tant qu'ils ont été préalablement indexés via tabix.
Il suffit ensuite de préciser au lancement d'une annotation le chemin vers le fichier, le nom pour nommer les colonnes, le format de fichier, le type d'annotation, s'il faut rapporter les coordonnées de la feature recouvrante puis les champs à récupérer.
Par exemple :
1 2 |
|
Précision sur l'annotation de VCF
Note
Il est préférable de bien connaître les spécificités du format VCF
Voici un exemple de VCF réunissant des colonnes de plugins et de la base ClinVar la plus récente, mais n'affichant que le transcrit considéré prioritaire pour plus de lisibilité.
Exemple de fichier VCF annoté par VEP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
Le header
Lorsqu'il est utilisé, VEP ajoute dans le header
- la version du script et des DB utilisées
- le champs
##INFO=<ID=CSQ[...]>
précisant l'ordre des annotations ajoutées pour chaque transcrit - La définition de toutes les colonnes personnalisées utilisées
- la ligne de commande utilisée pour lancer l'annotation (peut être incomplète ou obfusquée dans le cas d'un recours à un fichier
config
)
Le champ CSQ
L'annotation même est ajoutée dans la colonne INFO via un champs "CSQ" (par défaut) dédié.
- Pour chaque transcrit relevé, les annotations sont insérées dans l'ordre spécifié par la ligne
##INFO=<ID=CSQ[...]>
du header et séparées par des|
. - Les transcrits quant à eux sont séparés par des virgules
,
- Enfin, le CSQ se conclue par un point-virgule
;
ou une tabulation.
Exemple de plusieurs transcrits
Exemple d'une annotation sur plusieurs transcrits (le retour à la ligne a été ajouté pour une meilleure lisibilité)
1 2 3 4 5 6 7 8 9 |
|
Il est à noter que le deuxième transcrit annoté concerne un second gène (upstream_gene_variant signifiant que la variation est en amont de ce gène).
Exemple de plusieurs ALT
Dans le cas d'un VCF non normalisé, plusieurs ALT sont notées sur une seule ligne du VCF. VEP fera l'annotation pour toutes les ALT au sein du même champ CSQ et les séparera par des virgules. Il reste possible de les différencier grâce à la colonne Allele
permettant de savoir quelle ALT est concernée par l'annotation jusqu'à la virgule suivante.
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Reformatage par VEP
Si une annotation contient une virgule ou un pipe, VEP la remplace par une esperluette &
Par exemple :
1 2 3 4 |
|