Visualiser des données génomiques en R avec Gviz : pistes de navigateur de génome
Construisez des pistes d’annotation, d’idéogramme, de modèle de gène et de données le long des coordonnées chromosomiques
Dessinez des figures de type navigateur de génome en R avec le package Bioconductor Gviz — empilez des pistes d’annotation, d’axe génomique, d’idéogramme chromosomique, de modèle de gène, de séquence et de données le long des coordonnées chromosomiques, zoomez sur un locus et mettez des régions en évidence. La façon standard de visualiser des données génomiques à un locus en R.
Les figures ci-dessous sont la sortie réelle du code R montré, rendue avec Gviz sur Bioconductor. Il n’y a aucun bac à sable dans le navigateur sur cette page — la pile d’annotation génomique Bioconductor (BSgenome, TxDb, Biomart) est trop lourde pour s’exécuter dans le navigateur. Pour reproduire une figure, installez les packages Bioconductor et copiez n’importe quel bloc dans votre propre session R :
install.packages("BiocManager")
BiocManager::install(c("Gviz", "GenomicRanges", "GenomicFeatures",
"BSgenome.Hsapiens.UCSC.hg19"))Nouveau sur Bioconductor ? Consultez Configurer R pour l’analyse RNA-seq pour les bases de BiocManager. The runtime is the judge.
- Gviz transforme des données génomiques en une figure de type navigateur de génome : chaque type de caractéristique — gènes, couverture, annotations, séquence — est un panneau horizontal distinct appelé piste, et vous les empilez le long des mêmes coordonnées chromosomiques.
- Le flux de travail est toujours le même : construire un ou plusieurs objets piste (
AnnotationTrack,GenomeAxisTrack,IdeogramTrack,GeneRegionTrack,SequenceTrack,DataTrack,AlignmentsTrack), puis les dessiner ensemble avec un seul appelplotTracks(list(...)). - Une
DataTrackporte un signal numérique (couverture, puce à ADN, scores) et se rend sous forme de points, de ligne, d’histogramme, de boîte à moustaches, de heatmap ou de gradient — défini par l’argumenttype; le regroupement par un facteur superpose les échantillons. - Zoomez sur n’importe quel locus avec
from/to(ouextend.left/extend.right), lisez les bases individuelles avec uneSequenceTrack, et inspectez les lectures alignées avec uneAlignmentsTrack. HighlightTrackombre une région à travers toutes les pistes ;OverlayTracksuperpose des pistes sur le même panneau — les deux façons de combiner des pistes pour la mise en évidence ou la comparaison.
Introduction
Presque toutes les figures de génomique que vous avez vues dans un article — un empilement de couverture sous un modèle de gène, un pic ChIP-seq aligné sur une annotation, un appel de SNP montré face à la séquence de référence — sont une vue de navigateur de génome : plusieurs types de données dessinés sur un axe de coordonnées partagé pour que vous puissiez lire où les éléments s’alignent. Gviz est le package Bioconductor qui produit exactement ces figures en R, prêtes à publier, sans quitter votre analyse.
Le modèle mental est simple. Chaque type de données est une piste (un panneau horizontal) : un modèle de gène est une piste, la couverture des lectures en est une autre, l’idéogramme chromosomique (le dessin de chromosome en bandes qui indique où vous vous trouvez sur le chromosome) en est une autre. Vous construisez chaque piste comme un objet R, puis vous passez une list() de celles-ci à plotTracks(), qui les dessine empilées et alignées. Ce guide parcourt chaque type de piste dans cet ordre, puis couvre le zoom, la mise en évidence et les superpositions.
Les figures originales utilisent l’assemblage du génome humain hg19 (une piste = un panneau de données horizontal dessiné le long des coordonnées génomiques). Le même code fonctionne sur GRCh38/hg38 en remplaçant les packages d’annotation et de génome (par exemple BSgenome.Hsapiens.UCSC.hg38 et un TxDb hg38) — les appels Gviz eux-mêmes ne changent pas.
chr
Par défaut, Gviz valide les noms de chromosomes selon la convention UCSC : ils doivent commencer par la chaîne chr (chr7, pas 7). Si vos données utilisent des noms de style Ensembl (7, X), renommez-les ou désactivez la vérification avec options(ucscChromosomeNames = FALSE).
Une piste d’annotation
Une piste se comprend le plus facilement à travers l’exemple utile le plus simple : un ensemble de caractéristiques dessinées sous forme de boîtes le long de la ligne de coordonnées. La AnnotationTrack est cette piste — elle prend des plages génomiques (ici un objet GRanges intégré d’îlots CpG, c’est-à-dire des plages génomiques : des intervalles début–fin sur un chromosome) et dessine chacune sous forme de boîte. Construisez la piste avec AnnotationTrack(), puis dessinez-la avec plotTracks() :
library(Gviz)
library(GenomicRanges)
# Built-in GRanges of CpG islands on chr7 (hg19)
data(cpgIslands)
cpgIslands
#> GRanges object with 10 ranges and 0 metadata columns ...
# One annotation track, titled "CpG"
atrack <- AnnotationTrack(cpgIslands, name = "CpG")
plotTracks(atrack)
Chaque boîte est un îlot CpG. Seule, la piste n’a aucune référence de coordonnées — vous ne pouvez pas encore dire où sur le chromosome ces îlots se situent. C’est ce qu’ajoute la piste suivante.
AnnotationTrack est flexible
AnnotationTrack() accepte de nombreuses entrées : un GRanges, un data.frame, un IRanges/GRangesList, ou de simples arguments start/end/chromosome. Utilisez celle qui correspond aux données que vous avez déjà — la piste obtenue est la même.
Une piste d’axe génomique
La GenomeAxisTrack dessine la règle de coordonnées qui indique au lecteur quelle région est affichée. Elle n’a besoin d’aucune donnée — elle lit la plage de coordonnées à partir de ce avec quoi elle est tracée. Ajoutez-la en passant une list() de pistes à plotTracks() ; les pistes s’empilent de haut en bas dans l’ordre de la liste :
gtrack <- GenomeAxisTrack()
plotTracks(list(gtrack, atrack))
Maintenant les îlots ont des coordonnées. plotTracks(list(...)) est l’unique appel que vous utiliserez pour chaque figure à partir de maintenant — construisez les pistes, puis listez-les dans l’ordre où vous voulez les empiler.
Un idéogramme chromosomique
La IdeogramTrack dessine le célèbre dessin de chromosome en bandes (l’idéogramme) avec un marqueur montrant où se situe la vue actuelle sur l’ensemble du chromosome. Elle a besoin d’un assemblage de génome UCSC valide et d’un nom de chromosome, que vous pouvez tirer directement des données :
gen <- genome(cpgIslands) # "hg19"
chr <- as.character(unique(seqnames(cpgIslands))) # "chr7"
itrack <- IdeogramTrack(genome = gen, chromosome = chr)
plotTracks(list(itrack, gtrack, atrack))
Le marqueur rouge sur l’idéogramme montre la région affichée dans son contexte de chromosome entier.
IdeogramTrack
Elle récupère les données de bandes depuis UCSC, elle a donc besoin d’une connexion internet et peut être lente la première fois. Et c’est la seule piste qui n’est pas dessinée sur le système de coordonnées partagé — l’emplacement actuel est indiqué par la boîte rouge (ou une ligne rouge lorsque la région est trop petite pour une boîte) sur le dessin de chromosome.
Un modèle de gène
La GeneRegionTrack dessine des modèles de transcrits — exons sous forme de boîtes, introns sous forme de lignes de connexion, flèches pour le sens de la transcription — la pièce maîtresse de la plupart des figures de locus. Ici elle lit à partir d’un data.frame intégré de modèles de gènes ; la piste est ajoutée à la pile comme n’importe quelle autre :
data(geneModels)
head(geneModels)
grtrack <- GeneRegionTrack(geneModels, genome = gen,
chromosome = chr, name = "Gene Model")
plotTracks(list(itrack, gtrack, atrack, grtrack))
C’est la vue canonique de navigateur de génome : idéogramme, axe, annotations et un modèle de gène multi-transcrits, tous alignés sur les coordonnées du chromosome 7. Chaque ligne de la piste de modèle de gène est une isoforme de transcrit.
Zoomer sur une région
Vous voulez rarement la fenêtre entière. Deux façons de zoomer, toutes deux passées à plotTracks() : donner des coordonnées from/to explicites, ou extend.left/extend.right par rapport à la vue actuelle. Une troisième touche — col = NULL — supprime les bordures des exons pour un rendu plus épuré :
# Zoom to an explicit coordinate window
plotTracks(list(itrack, gtrack, atrack, grtrack),
from = 26700000, to = 26750000)
# Extend the current view left and right (relative)
plotTracks(list(itrack, gtrack, atrack, grtrack),
extend.left = 0.5, extend.right = 1000000)
# Same, with exon bounding borders removed
plotTracks(list(itrack, gtrack, atrack, grtrack),
extend.left = 0.5, extend.right = 1000000, col = NULL)


col = NULL, supprimant les bordures englobantes des exons pour un rendu de modèle de gène plus épuré.Un extend.left = 0.5 zoome sur la moitié de la plage actuellement affichée ; extend.right = 1000000 ajoute une mégabase de contexte à droite.
Une piste de séquence
Zoomez suffisamment et vous pouvez montrer la séquence de référence elle-même. La SequenceTrack tire les bases d’un package BSgenome (le génome de référence empaqueté) et dessine les lettres dès que la région est assez étroite pour les contenir :
library(BSgenome.Hsapiens.UCSC.hg19)
strack <- SequenceTrack(Hsapiens, chromosome = chr)
plotTracks(list(itrack, gtrack, atrack, grtrack, strack),
from = 26591822, to = 26591852, cex = 0.8)
À cette échelle de 30 bases, les nucléotides individuels sont lisibles. La piste de séquence est ce qui permet à une figure d’alignement de montrer les mésappariements par rapport à la référence (ci-dessous).
Une piste de données : signal numérique
La DataTrack est la façon de dessiner des données quantitatives le long du génome — couverture, intensités de puce à ADN, scores par fenêtre. En interne, c’est un vecteur ou une matrice numérique encodés en run-length et liés à un ensemble de plages. Construisez-en une à partir des valeurs et de leurs coordonnées :
set.seed(255)
lim <- c(26700000, 26750000)
coords <- sort(c(lim[1], sample(seq(lim[1], lim[2]), 99), lim[2]))
dat <- runif(100, min = -10, max = 10)
dtrack <- DataTrack(data = dat, start = coords[-length(coords)],
end = coords[-1], chromosome = chr, genome = gen,
name = "Uniform")
# Default: a dot plot
plotTracks(list(itrack, gtrack, atrack, grtrack, dtrack),
from = lim[1], to = lim[2])
# Same data as a histogram
plotTracks(list(itrack, gtrack, atrack, grtrack, dtrack),
from = lim[1], to = lim[2], type = "histogram")

type = "histogram", les valeurs montrées sous forme de barres verticales au lieu de points.L’argument type change le rendu — les mêmes nombres deviennent des points ou des barres. C’est la piste que vous utilisez pour la couverture de lectures NGS ou les mesures de sondes de puce à ADN le long d’un chromosome.
Les types de tracé
DataTrack prend en charge toute une famille de rendus, définis par type. En utilisant un jeu de données intégré à deux groupes, voici les plus courants côte à côte :
data(twoGroups)
plotTracks(DataTrack(twoGroups, name = "p"), type = "p") # dot plot
plotTracks(DataTrack(twoGroups, name = "l"), type = "l") # lines
plotTracks(DataTrack(twoGroups, name = "b"), type = "b") # both
plotTracks(DataTrack(twoGroups, name = "a"), type = "a") # average line
plotTracks(DataTrack(twoGroups, name = "h"), type = "h") # histogram lines
plotTracks(DataTrack(twoGroups, name = "histogram"), type = "histogram") # bars
plotTracks(DataTrack(twoGroups, name = "polygon"), type = "polygon") # filled to baseline
plotTracks(DataTrack(twoGroups, name = "boxplot"), type = "boxplot") # box-and-whisker
plotTracks(DataTrack(twoGroups, name = "heatmap"), type = "heatmap") # false-colour image
type = "p" : un nuage de points des valeurs de la piste de données.
type = "l" : les valeurs reliées en une ligne.
type = "b" : à la fois des points et des lignes de connexion.
type = "a" : une ligne passant par la moyenne du groupe.
type = "h" : des lignes verticales de style histogramme depuis la ligne de base.
type = "histogram" : des barres remplies dont la largeur est égale à chaque plage.
type = "polygon" : le signal rempli jusqu’à une ligne de base sous forme de polygone.
type = "boxplot" : un résumé en boîte à moustaches par position.
type = "heatmap" : les valeurs individuelles sous forme d’image en fausses couleurs.Vous pouvez aussi combiner les types en passant un vecteur — type = c("boxplot", "a", "g") dessine une boîte à moustaches avec une ligne de moyenne sur une grille de fond.
Regrouper et agréger les échantillons
Lorsqu’une DataTrack contient plusieurs échantillons, un facteur de regroupement les superpose ou les résume. Passez groups = (un facteur de la même longueur que le nombre d’échantillons) et, éventuellement, aggregateGroups/aggregation pour réduire chaque groupe à une seule statistique :
dTrack <- DataTrack(twoGroups, name = "uniform")
# Overlay two groups, points + average line, with a legend
plotTracks(dTrack, groups = rep(c("control", "treated"), each = 3),
type = c("a", "p"), legend = TRUE)
# Grouped boxplot
plotTracks(dTrack, groups = rep(c("control", "treated"), each = 3),
type = "boxplot")
# Collapse each group to its maximum
plotTracks(dTrack, groups = rep(c("control", "treated"), each = 3),
type = "b", aggregateGroups = TRUE, aggregation = "max")


aggregation accepte mean, median, extreme, sum, min ou max — la façon de transformer plusieurs échantillons en une seule ligne de résumé.
Diffuser une piste de données depuis un fichier
DataTrack lit directement les formats de fichiers génomiques courants — wig, bigWig, bedGraph et bam (Gviz utilise rtracklayer pour l’import). Le véritable avantage est la diffusion depuis des fichiers indexés : seule la région que vous tracez est chargée, de sorte que le fichier sous-jacent peut être énorme sans coût de mémoire ou de vitesse.
Pour un fichier BAM (Binary Alignment Map — lectures de séquençage alignées), la DataTrack naturelle est la couverture par position, calculée à la volée avec window = -1 :
bamFile <- system.file("extdata/test.bam", package = "Gviz")
dTrack4 <- DataTrack(range = bamFile, genome = "hg19", type = "l",
name = "Coverage", window = -1, chromosome = "chr1")
plotTracks(dTrack4, from = 189990000, to = 190000000)
Le même fichier BAM peut à la place être montré sous forme d’AnnotationTrack pour afficher les lectures individuelles sous forme de boîtes plutôt que leur couverture cumulée :
aTrack2 <- AnnotationTrack(range = bamFile, genome = "hg19",
name = "Reads", chromosome = "chr1")
plotTracks(aTrack2, from = 189995000, to = 190000000)
Un modèle de gène à partir d’une TranscriptDb
Vous n’avez pas à fournir les modèles de gènes à la main. Le package GenomicFeatures stocke l’annotation sous forme de TxDb (une base de données SQLite locale de transcrits), et GeneRegionTrack() en lit une directement — avec en prime le détail codant/non codant (les UTR 5′ et 3′ et les régions CDS dessinées distinctement) :
library(GenomicFeatures)
samplefile <- system.file("extdata", "UCSC_knownGene_sample.sqlite",
package = "GenomicFeatures")
txdb <- loadDb(samplefile)
txTr <- GeneRegionTrack(txdb, chromosome = "chr6",
start = 300000, end = 350000)
plotTracks(txTr)
Les boîtes plus épaisses sont les exons codants (CDS), les plus fines les UTR — un détail qu’un simple modèle de gène data.frame ne porte pas. Pour des modèles de gènes récupérés en direct depuis Ensembl à la place, BiomartGeneRegionTrack() contacte le service Biomart et construit le modèle à la volée (il a besoin d’une connexion internet).
Lectures alignées : la AlignmentsTrack
Pour inspecter les lectures réelles — par exemple pour examiner un variant appelé — la AlignmentsTrack dessine un fichier BAM sous forme d’histogramme de couverture au-dessus d’un empilement de lectures individuelles. Ici, des lectures RNA-seq appariées sont montrées face à un modèle de gène Ensembl pour la région :
afrom <- 2960000
ato <- 3160000
alTrack <- AlignmentsTrack(
system.file(package = "Gviz", "extdata", "gapped.bam"), isPaired = TRUE)
bmt <- BiomartGeneRegionTrack(genome = "hg19", chromosome = "chr12",
start = afrom, end = ato,
filter = list(with_ox_refseq_mrna = TRUE),
stacking = "dense")
plotTracks(c(bmt, alTrack), from = afrom, to = ato, chromosome = "chr12")
Le panneau du haut est la couverture ; en dessous, chaque ligne est une lecture. Les paires de lectures sont reliées par une ligne gris clair et les trous d’alignement par des connecteurs plus foncés. Passez type = "coverage" pour supprimer l’empilement lorsqu’il est trop dense pour être utile.
Pour une vue d’appel de SNP DNA-seq, ajoutez une SequenceTrack afin que les mésappariements par rapport à la référence soient colorés à la fois sur les lectures et sur l’histogramme de couverture :
afrom <- 44945200
ato <- 44947200
sTrack <- SequenceTrack(Hsapiens)
alTrack <- AlignmentsTrack(
system.file(package = "Gviz", "extdata", "snps.bam"), isPaired = TRUE)
plotTracks(c(alTrack, sTrack), chromosome = "chr21",
from = afrom, to = ato)
Les marques colorées sont des bases qui divergent de la référence — la signature visuelle d’un SNP hétérozygote. Zoomez davantage (from/to) et Gviz dessine les lettres individuelles.
Modifier l’apparence des pistes : les paramètres d’affichage
Chaque piste accepte des paramètres d’affichage — couleurs, arrière-plans, positions des étiquettes, style d’annotation — définis soit dans le constructeur, soit plus tard avec displayPars(). Pour une GeneRegionTrack, transcriptAnnotation = "symbol" étiquette chaque transcrit et les paramètres background.* recolorent le panneau :
grtrack <- GeneRegionTrack(geneModels, genome = gen, chromosome = chr,
name = "Gene Model",
transcriptAnnotation = "symbol",
background.panel = "#FFFEDB",
background.title = "darkblue")
plotTracks(list(itrack, gtrack, atrack, grtrack))
La même idée s’applique par type de piste. Une GenomeAxisTrack, par exemple, peut étiqueter des plages sous l’axe et afficher des identifiants dans une couleur choisie :
axisTrack <- GenomeAxisTrack(
range = IRanges(start = c(2000000, 4000000),
end = c(3000000, 7000000),
names = rep("N-stretch", 2)))
plotTracks(axisTrack, from = 1000000, to = 9000000,
labelPos = "below", showId = TRUE, col = "red")
Tracer sur le brin inverse
Par défaut, les pistes sont dessinées 5′→3′. Définissez reverseStrand = TRUE pour montrer les données par rapport au brin opposé — l’axe de coordonnées se retourne en conséquence :
plotTracks(list(itrack, gtrack, atrack, grtrack),
reverseStrand = TRUE)
Remarquez que les coordonnées de l’axe se lisent de droite à gauche — l’inversion est reflétée dans la GenomeAxisTrack, pas seulement dans le modèle de gène.
Mettre en évidence une région à travers les pistes
Une HighlightTrack ombre une fenêtre de coordonnées à travers un ensemble de pistes à la fois — la façon d’attirer l’œil du lecteur sur un locus. Enveloppez les pistes que vous voulez ombrer dans HighlightTrack() et donnez-lui la ou les régions :
ht <- HighlightTrack(trackList = list(atrack, grtrack, dtrack),
start = c(26705000, 26720000), width = 7000,
chromosome = 7)
plotTracks(list(itrack, gtrack, ht), from = lim[1], to = lim[2])
Les deux bandes ombrées s’étendent sur chaque piste enveloppée, de sorte qu’une région d’intérêt s’aligne visuellement de l’annotation jusqu’aux données.
Superposer des pistes sur un seul panneau
Là où HighlightTrack empile, une OverlayTrack superpose — elle dessine plusieurs pistes dans le même panneau, la façon de comparer deux échantillons directement. Construisez une seconde DataTrack, enveloppez les deux dans OverlayTrack(), et tracez :
dat2 <- runif(100, min = -2, max = 22)
dtrack2 <- DataTrack(data = dat2, start = coords[-length(coords)],
end = coords[-1], chromosome = chr, genome = gen,
name = "Uniform2",
groups = factor("sample 2",
levels = c("sample 1", "sample 2")),
legend = TRUE)
displayPars(dtrack) <- list(
groups = factor("sample 1", levels = c("sample 1", "sample 2")),
legend = TRUE)
ot <- OverlayTrack(trackList = list(dtrack2, dtrack))
ylims <- extendrange(range(c(values(dtrack), values(dtrack2))))
plotTracks(list(itrack, gtrack, ot), from = lim[1], to = lim[2],
ylim = ylims, type = c("smooth", "p"))
Les deux échantillons partagent un seul panneau, de sorte que leurs tendances se comparent directement. Sur les périphériques qui prennent en charge la transparence, définir alpha sur chaque piste (displayPars(dtrack)$alpha <- 0.5) réduit le surtracé lorsque les données superposées sont denses.
Problèmes fréquents
Error: Invalid chromosome name. Gviz impose la convention UCSC selon laquelle les noms de chromosomes commencent par chr. Renommez 7 en chr7, ou désactivez la vérification avec options(ucscChromosomeNames = FALSE) si tout votre flux de travail utilise des noms de style Ensembl.
IdeogramTrack ou BiomartGeneRegionTrack se bloque ou renvoie une erreur. Les deux récupèrent des données sur le réseau (UCSC et Ensembl respectivement). Vérifiez que vous avez une connexion internet ; sur une machine scellée/hors ligne, construisez plutôt des modèles de gènes à partir d’un TxDb local (voir la section TranscriptDb) et sautez l’idéogramme.
Les lettres de séquence n’apparaissent pas sur une SequenceTrack. Les bases ne sont dessinées que lorsque la fenêtre est assez étroite pour que les lettres tiennent — typiquement quelques centaines de bases ou moins. Zoomez avec from/to ; dans une vue large, la piste affiche plutôt une bande de densité colorée.
Questions fréquentes
Gviz est un package Bioconductor pour dessiner des figures de type navigateur de génome en R. Il trace n’importe quel type de données — modèles de gènes, couverture des lectures, annotations, séquence, alignements — sous forme de pistes empilées le long des coordonnées génomiques, de sorte que vous pouvez produire des figures de locus prêtes à publier directement à partir de votre analyse sans passer à un navigateur autonome comme IGV ou le navigateur UCSC.
Construisez chaque piste comme un objet (AnnotationTrack, GenomeAxisTrack, GeneRegionTrack, DataTrack, …) et passez-les sous forme de list() à un seul appel plotTracks() : plotTracks(list(itrack, gtrack, atrack, grtrack)). Les pistes s’empilent de haut en bas dans l’ordre où vous les listez, toutes alignées sur le même axe de coordonnées.
Passez des coordonnées from et to à plotTracks() — par exemple plotTracks(tracks, from = 26700000, to = 26750000). Vous pouvez aussi utiliser extend.left et extend.right pour agrandir la vue actuelle par rapport à ce qui est affiché (extend.left = 0.5 zoome sur la moitié de la plage).
Utilisez une DataTrack. Elle contient un vecteur ou une matrice numérique lié à des plages génomiques et se rend sous forme de nuage de points, de ligne, d’histogramme, de boîte à moustaches ou de heatmap via l’argument type. Construisez la couverture directement à partir d’un fichier BAM avec DataTrack(range = bamFile, type = "l", window = -1, ...), qui ne diffuse que la région tracée.
Oui. DataTrack() et AnnotationTrack() acceptent les fichiers wig, bigWig, bedGraph et BAM via l’argument range = (Gviz utilise rtracklayer pour l’import). Les fichiers indexés sont diffusés — seule la région que vous tracez est chargée — de sorte que de très gros fichiers se tracent rapidement sans une grande empreinte mémoire.
Tâche. Vous avez la profondeur de lecture d’un échantillon stockée dans un GRanges appelé cov (avec une colonne de métadonnées numérique score) sur chr7, et un modèle de gène dans un data.frame appelé genes. Esquissez le code Gviz qui dessine, de haut en bas : un idéogramme du chromosome 7, un axe de coordonnées, le modèle de gène et la couverture sous forme d’histogramme — le tout zoomé sur 26 700 000–26 750 000.
Vous avez besoin de quatre objets piste — IdeogramTrack, GenomeAxisTrack, GeneRegionTrack et DataTrack — puis d’un seul plotTracks(list(...)) avec from/to. Le rendu en histogramme vient de type = "histogram" sur la piste de données (ou dans l’appel plotTracks).
library(Gviz)
itrack <- IdeogramTrack(genome = "hg19", chromosome = "chr7")
gtrack <- GenomeAxisTrack()
grtrack <- GeneRegionTrack(genes, genome = "hg19",
chromosome = "chr7", name = "Gene Model")
dtrack <- DataTrack(cov, name = "Coverage", type = "histogram")
plotTracks(list(itrack, gtrack, grtrack, dtrack),
from = 26700000, to = 26750000)Chaque piste est construite une fois, puis listée dans l’ordre d’empilement ; from/to zooment toute la figure sur le locus, et type = "histogram" dessine la couverture sous forme de barres. (Passer un GRanges à DataTrack() lui permet de récupérer automatiquement la colonne score.)
Quelle fonction unique dessine un ensemble d’objets piste Gviz déjà construits sous forme d’une seule figure alignée ?
A. AnnotationTrack() B. plotTracks() C. DataTrack()
B — plotTracks(). Les constructeurs *Track() construisent des objets piste individuels ; plotTracks(list(...)) est ce qui les dessine, empilés et alignés sur un axe de coordonnées partagé.
Conclusion
Gviz construit une figure de navigateur de génome à partir de pistes interchangeables : des pistes d’annotation et de modèle de gène pour les caractéristiques, un axe génomique et un idéogramme pour l’orientation, une piste de séquence pour les bases, DataTrack pour le signal numérique et AlignmentsTrack pour les lectures — toutes dessinées ensemble par un seul appel plotTracks(list(...)). Ajoutez from/to pour zoomer, type pour changer le rendu d’une piste de données, groups pour comparer des échantillons, et HighlightTrack/OverlayTrack pour combiner des pistes pour la mise en évidence ou la comparaison. Comme toutes les pistes partagent un seul système de coordonnées, n’importe quelle combinaison s’aligne correctement, vous donnant une figure de locus reproductible et prête à publier sans quitter R.
Leçons connexes
- GRanges et GRangesList — les objets d’intervalles génomiques à partir desquels les pistes Gviz sont construites ; apprenez-les d’abord si
GRangesest nouveau pour vous. · Formats de fichiers bio-informatiques — ce que contiennent BAM, bigWig, bedGraph et GFF et en quoi leurs coordonnées diffèrent, les entrées que Gviz lit. · Configurer R pour l’analyse RNA-seq — installez BiocManager et la pile Bioconductor dont ces figures dépendent. - Où cela s’inscrit : Données génomiques en R — la série complète (intervalles génomiques, visualisation de pistes de génome et contrôle qualité des lectures). · Bio-informatique — le pilier : RNA-seq, single-cell et flux de travail omiques reproductibles.
Cette leçon est un guide illustré : chaque figure ci-dessus est la sortie réelle du code R montré, rendue avec Gviz sur Bioconductor. Pour les reproduire, installez les packages Bioconductor (BiocManager::install(c("Gviz", "GenomicRanges", ...))) et copiez n’importe quel bloc dans votre propre session R — il n’y a aucun bac à sable dans le navigateur sur cette page car la pile d’annotation génomique Bioconductor est trop lourde pour le navigateur. The runtime is the judge.
Références
- Hahne, F., & Ivanek, R. (2016). Visualizing genomic data using Gviz and Bioconductor. Methods in Molecular Biology, 1418, 335–351.
- Gviz — Plotting data and annotation information along genomic coordinates. Bioconductor — page du package.
Réutilisation
Citation
@online{2026,
author = {},
title = {Visualiser des données génomiques en R avec Gviz : pistes de
navigateur de génome},
date = {2026-07-08},
url = {https://www.datanovia.com/learn/bioinformatics/genomics/gviz-visualize-genomic-data},
langid = {fr}
}