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)
# リストの2要素のみ表示
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入門

オーバーラップ

# 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...