Manipulando coleções de GRanges

Introdução ao Bioconductor em R

Paula Andrea Martinez, PhD.

Data Scientist

GRangesList

  • A GRangesList-class é um contêiner para guardar uma coleção de GRanges
    • Eficiente para armazenar muitos elementos.
  • Para construir um GRangesList
    • as(mylist, "GRangesList")
    • GRangesList(myGranges1, myGRanges2, ...)
  • Para converter de volta para GRanges
    • unlist(myGRangesList)
  • Acessores methods(class = "GRangesList")
Introdução ao Bioconductor em R

Quando usar listas?

  • Vários objetos GRanges podem ser combinados em um GRangesList
    • GRanges em uma lista são tratados como recursos compostos de um objeto maior
  • Exemplos de GRangesList incluem
    • transcritos por gene
    • éxons por transcrito
    • alinhamentos de leituras
    • janelas deslizantes
Introdução ao Bioconductor em R
# Objeto GRanges com 983 genes 
hg_chrX

slidingWindows(hg_chrX, width = 20000, step = 10000)
# mostrando apenas dois elementos da lista
Objeto GRangesList com comprimento 983:
[[1]] 
Objeto GRanges com 2 intervalos e 0 colunas de metadados:
       seqnames           ranges strand 
         <Rle>        <IRanges>  <Rle>  
  [1]     chrX [276322, 296321]      +      
  [2]     chrX [286322, 303356]      +      
[[2]] 
Objeto GRanges com 3 intervalos e 0 colunas de metadados:
       seqnames           ranges strand 
  [1]     chrX [624344, 644343]      +      
  [2]     chrX [634344, 654343]      +      
  [3]     chrX [644344, 659411]      + 
...
Introdução ao Bioconductor em R

GenomicFeatures usa objetos de banco de dados de transcritos (TxDb) para armazenar metadados, gerenciar locais genômicos e as relações entre recursos e seus identificadores.

library(TxDb.Hsapiens.UCSC.hg38.knownGene)
(hg <- TxDb.Hsapiens.UCSC.hg38.knownGene)
Db type: TxDb
Supporting package: GenomicFeatures
Data source: UCSC
Genome: hg38
Organism: Homo sapiens
Taxonomy ID: 9606
Resource URL: http://genome.ucsc.edu/
Type of Gene ID: Entrez Gene ID
transcript_nrow: 197782 
exon_nrow: 581036 
cds_nrow: 293052 
Db created by: GenomicFeatures package from Bioconductor
Creation time: 2016-09-29 13:02:09 +0000 (Thu, 29 Sep 2016)
Introdução ao Bioconductor em R

Genes, transcritos, éxons

library(TxDb.Hsapiens.UCSC.hg38.knownGene)
hg <- TxDb.Hsapiens.UCSC.hg38.knownGene  #  hg é um objeto TxDb

seqlevels(hg) <- c("chrX") # pré-filtrar resultados para 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 e filter podem ser NULL ou qualquer um destes:

"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" and "exon_rank"
Introdução ao Bioconductor em R

Éxons por transcritos

Éxons de ABCD1

hg <- TxDb.Hsapiens.UCSC.hg38.knownGene
seqlevels(hg) <- c("chrX")  #  pré-filtrar cromossomo X
exonsBytx <- exonsBy(hg, by = "tx")  #  éxons por transcrito

abcd1_179161 <- exonsBytx[["179161"]] # id do transcrito
width(abcd1_179161) # largura de cada éxon, as regiões roxas da figura
1299  181  143  169   95  146  146   85  126 1274
Introdução ao Bioconductor em R

Sobreposições

# countOverlaps resulta em um vetor inteiro de contagens
countOverlaps(query, subject) 

# findOverlaps resulta em um objeto Hits
findOverlaps(query, subject) 

# subsetByOverlaps retorna um objeto GRangesList
subsetByOverlaps(query, subject) 
  • Query e subject são objetos GRanges ou GRangesList.
  • As sobreposições podem ser completas ou parciais.
Introdução ao Bioconductor em R

Agora é sua vez de colocar em prática!

Introdução ao Bioconductor em R

Preparing Video For Download...