操作 GRanges 集合

R 中的 Bioconductor 入门

Paula Andrea Martinez, PhD.

Data Scientist

GRangesList

  • GRangesList-class 是用于存储一组 GRanges 的容器
    • 适合高效存放大量元素。
  • 构造 GRangesList
    • as(mylist, "GRangesList")
    • GRangesList(myGranges1, myGRanges2, ...)
  • 转回 GRanges
    • unlist(myGRangesList)
  • 访问器:methods(class = "GRangesList")
R 中的 Bioconductor 入门

何时使用列表?

  • 多个 GRanges 可合并为一个 GRangesList
    • 列表中的 GRanges 作为更大对象的复合特征
  • GRangesList 示例:
    • 按基因的转录本
    • 按转录本的外显子
    • 比对读段
    • 滑动窗口
R 中的 Bioconductor 入门
# 含 983 个基因的 GRanges 对象 
hg_chrX

slidingWindows(hg_chrX, width = 20000, step = 10000)
# 仅展示列表中的两个元素
GRangesList object of length 983:
[[1]] 
GRanges object with 2 ranges and 0 metadata columns:
       seqnames           ranges strand 
         <Rle>        <IRanges>  <Rle>  
  [1]     chrX [276322, 296321]      +      
  [2]     chrX [286322, 303356]      +      
[[2]] 
GRanges object with 3 ranges and 0 metadata columns:
       seqnames           ranges strand 
  [1]     chrX [624344, 644343]      +      
  [2]     chrX [634344, 654343]      +      
  [3]     chrX [644344, 659411]      + 
...
R 中的 Bioconductor 入门

GenomicFeatures 使用转录本数据库(TxDb)对象来存储元数据、管理基因组位置以及特征与其标识符的关系。

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)
R 中的 Bioconductor 入门

基因、转录本、外显子

library(TxDb.Hsapiens.UCSC.hg38.knownGene)
hg <- TxDb.Hsapiens.UCSC.hg38.knownGene  #  hg 为 TxDb 对象

seqlevels(hg) <- c("chrX") # 仅保留 chrX
# 转录本 transcripts(hg, columns = c("tx_id", "tx_name"), filter = NULL) # 外显子 exons(hg, columns = c("tx_id", "exon_id"), filter = list(tx_id = "179161"))

columns 与 filter 可为 NULL 或以下任意项:

"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"
R 中的 Bioconductor 入门

按转录本分组的外显子

ABCD1 外显子

hg <- TxDb.Hsapiens.UCSC.hg38.knownGene
seqlevels(hg) <- c("chrX")  #  预筛选 X 染色体
exonsBytx <- exonsBy(hg, by = "tx")  #  按转录本分组的外显子

abcd1_179161 <- exonsBytx[["179161"]] # 转录本 ID
width(abcd1_179161) # 每个外显子的长度,图中紫色区域
1299  181  143  169   95  146  146   85  126 1274
R 中的 Bioconductor 入门

重叠(Overlaps)

# countOverlaps 返回计数的整数向量
countOverlaps(query, subject) 

# findOverlaps 返回 Hits 对象
findOverlaps(query, subject) 

# subsetByOverlaps 返回 GRangesList 对象
subsetByOverlaps(query, subject) 
  • query 和 subject 均为 GRanges 或 GRangesList 对象。
  • 重叠可为完全或部分。
R 中的 Bioconductor 入门

轮到您练习了!

R 中的 Bioconductor 入门

Preparing Video For Download...