Manipuler des collections de GRanges

Introduction à Bioconductor en R

Paula Andrea Martinez, PhD.

Data Scientist

GRangesList

  • La GRangesList-class est un conteneur pour une collection de GRanges
    • Efficace pour stocker un grand nombre d'éléments.
  • Pour construire une GRangesList
    • as(mylist, "GRangesList")
    • GRangesList(myGranges1, myGRanges2, ...)
  • Pour reconvertir en GRanges
    • unlist(myGRangesList)
  • Accesseurs methods(class = "GRangesList")
Introduction à Bioconductor en R

Quand utiliser des listes ?

  • Plusieurs objets GRanges peuvent être combinés en une GRangesList
    • Les GRanges d'une liste sont pris comme des caractéristiques composées d'un objet plus grand
  • Exemples de GRangesList :
    • transcrits par gène
    • exons par transcrit
    • alignements de lectures
    • fenêtres glissantes
Introduction à Bioconductor en R
# Objet GRanges avec 983 gènes 
hg_chrX

slidingWindows(hg_chrX, width = 20000, step = 10000)
# n'affiche que deux éléments de la liste
Objet GRangesList de longueur 983 :
[[1]] 
Objet GRanges avec 2 intervalles et 0 colonne de métadonnées :
       seqnames           ranges strand 
         <Rle>        <IRanges>  <Rle>  
  [1]     chrX [276322, 296321]      +      
  [2]     chrX [286322, 303356]      +      
[[2]] 
Objet GRanges avec 3 intervalles et 0 colonne de métadonnées :
       seqnames           ranges strand 
  [1]     chrX [624344, 644343]      +      
  [2]     chrX [634344, 654343]      +      
  [3]     chrX [644344, 659411]      + 
...
Introduction à Bioconductor en R

GenomicFeatures utilise des objets de base de données de transcrits (TxDb) pour stocker les métadonnées, gérer les positions génomiques et les relations entre les caractéristiques et leurs identifiants.

library(TxDb.Hsapiens.UCSC.hg38.knownGene)
(hg <- TxDb.Hsapiens.UCSC.hg38.knownGene)
Type de BD : TxDb
Plugiciel pris en charge : GenomicFeatures
Source des données : UCSC
Génome : hg38
Organisme : Homo sapiens
ID de taxonomie : 9606
URL de la ressource : http://genome.ucsc.edu/
Type d'ID de gène : Entrez Gene ID
transcript_nrow : 197782 
exon_nrow : 581036 
cds_nrow : 293052 
BD créée par : plugiciel GenomicFeatures de Bioconductor
Date de création : 2016-09-29 13:02:09 +0000 (jeu., 29 sept. 2016)
Introduction à Bioconductor en R

Gènes, transcrits, exons

library(TxDb.Hsapiens.UCSC.hg38.knownGene)
hg <- TxDb.Hsapiens.UCSC.hg38.knownGene  #  hg est un objet TxDb

seqlevels(hg) <- c("chrX") # préfiltrer les résultats à chrX
# transcripts transcripts(hg, columns = c("tx_id", "tx_name"), filter = NULL) # exons exons(hg, columns = c("tx_id", "exon_id"), filter = list(tx_id = "179161"))

columns et filter peuvent être NULL ou l'un de ceux‑ci :

"gene_id", "tx_id", "tx_name", "tx_chrom", "tx_strand", 
"exon_id", "exon_name", "exon_chrom", "exon_strand", 
"cds_id", "cds_name", "cds_chrom", "cds_strand" et "exon_rank"
Introduction à Bioconductor en R

Exons par transcrits

Exons d'ABCD1

hg <- TxDb.Hsapiens.UCSC.hg38.knownGene
seqlevels(hg) <- c("chrX")  #  préfiltrer le chromosome X
exonsBytx <- exonsBy(hg, by = "tx")  #  exons par transcrit

abcd1_179161 <- exonsBytx[["179161"]] # ID du transcrit
width(abcd1_179161) # largeur de chaque exon, régions mauves de la figure
1299  181  143  169   95  146  146   85  126 1274
Introduction à Bioconductor en R

Chevauchements

# countOverlaps retourne un vecteur d'entiers de décomptes
countOverlaps(query, subject) 

# findOverlaps retourne un objet Hits
findOverlaps(query, subject) 

# subsetByOverlaps retourne un objet GRangesList
subsetByOverlaps(query, subject) 
  • Query et subject sont des objets GRanges ou GRangesList.
  • Les chevauchements peuvent être complets ou partiels.
Introduction à Bioconductor en R

Passons à la pratique !

Introduction à Bioconductor en R

Preparing Video For Download...