18
Rでゲノム上の区間データを扱う話 @yuifu 15.09.04 WACODE 2nd https://atnd.org/events/68466

Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

Embed Size (px)

Citation preview

Page 1: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

Rでゲノム上の区間データを扱う話@yuifu

15.09.04 WACODE 2nd https://atnd.org/events/68466

Page 2: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

誰?

おざき はるか

理化学研究所 情報基盤センター バイオインフォマティクス研究開発ユニット

専門: バイオインフォマティクス最近、エピジェネティクスを始めました

2

@yuifu

Page 3: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

ゲノム

生物の持つ遺伝情報のセットヒトでは46本の染色体

約30億文字のDNA配列

3https://en.wikipedia.org/wiki/Human_genome#/media/File:Karyotype.png

ヒトの染色体

Page 4: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

ゲノム配列

文字列の集合A, T, G, Cからなる

個々の文字列に染色体名がある座標が定義されている

4

GCATATAATGCAAATTTACTTTGGAACTT…

染色体名

1 10chr1

20

座標

塩基配列

TAGAAGTACCAAGAATGTCCAAATCTCAG…1 10

chr220

GTGTCTTTCTCTTTGTATTGTGGAACGGA…1 10

chr320

………

Page 5: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

ゲノム上の区間

区間を座標で定義できる

5

chr2:5-14

TAGAAGTACCAAGAATGTCCAAATCTCAG…1 10

chr220

染色体名

区間の始まりの座標

区間の終わりの座標

Page 6: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

遺伝子

ゲノムの中でたんぱく質の情報を持っている部分転写されるその部分をテンプレートとしてRNAが合成される

スプライシングされることがある簡単のため、問題のある説明です。また、非コードRNAについては割愛しています。

6

chr2

ゲノム(DNA)

転写(RNA合成)

スプライシング

エキソンイントロン

mRNA

Page 7: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

区間の集合としての遺伝子

遺伝子=区間の集合一つのエキソンが一つの区間イントロンは陽に定義しないエキソンに挟まれた区間

7

chr2

ゲノム

エキソン エキソン

イントロン

Page 8: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

エピジェネティクス: DNA配列が同じなのに異なる表現型

塩基配列の変化を伴わず、(染色体での変化によって生じる)細胞分裂を経て継承されうる変化

例: プロモータ領域のDNAメチル化状態によって遺伝子発現が亢進し、体色や太りやすさが変化

8http://archive.hudsonalpha.org/sites/default/files/mice_image_0.jpg

Page 9: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

エピジェネティクスの作用点: エピジェネティック修飾

9

ヒストンの化学修飾 DNAメチル化

Cedar and Bergman, Nature Reviews Immunology (2011) http://missinglink.ucsf.edu/lm/genes_and_genomes/methylation.html

Page 10: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

エピゲノム: エピジェネティック修飾のゲノムワイド測定

10

NGSのおかげでゲノム上の数値データとして測定できるようになった

DNAメチル化, ヌクレオソーム配置, ヒストン修飾, クロマチンアクセシビリティ, 染色体立体構造

Markenscoff-Papadimitriou et al., Cell (2014)

ゲノム上の位置

https://www.encodeproject.org

Page 11: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

様々な生命現象がゲノム上の区間として表現されるDNA結合タンパク質転写因子などの結合

エピジェネティック修飾DNAが巻きつくヒストンたんぱく質の化学修飾やCのメチル化

→区間同士を比較することで異なる生命現象のあいだの関係の解明へ

11

chr2

転写因子の結合

遺伝子

ゲノム

エピジェネティック 修飾

Page 12: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

でも、ゲノム上の区間って探索的に調べるには扱いづらい特にゲノム上の区間は染色体が複数である場合が多い例: ヒトは22種類+性染色体

区間を操作したい 実験データゆえに区間の端が正確でないかもしれない区間の中で一部に注目したいことも

例: 遺伝子の転写開始点のみなど

12

GCATATAATGCAAATTTACTTTGGAACTT…

染色体名

1 10chr1

20

座標

塩基配列

TAGAAGTACCAAGAATGTCCAAATCTCAG…1 10

chr220

GTGTCTTTCTCTTTGTATTGTGGAACGGA…1 10

chr320

………

Page 13: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

GenomicRanges パッケージ

GenomicRangesゲノム上の区間を扱うRパッケージ

Bioconductor に収録

Bioconductor生物学向けのRのレポジトリ

13http://bioconductor.org/packages/release/bioc/html/GenomicRanges.html

Page 14: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

GRanges オブジェクトでゲノム上の区間を定義する

14

gr <- GRanges(

seqnames = Rle(dt[[1]]),

ranges = IRanges(start = dt[[2]] + 1, end = dt[[3]], names = dt[[4]]),

strand = Rle(rep("*", nrow(dt))),

score = dt[[5]]

)

染色体名

区間の座標

strand

任意

Page 15: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

区間を操作する

15

gr2 <- gr

start(gr2) <- start(gr) - 500

end(gr2) <- end(gr) + 500

始点の座標

終点の座標

他にも flank, shift, resize, reduce, gaps, disjoin など

Page 16: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

2つの”区間の集合”同士の重なりを調べる

16

fo <- findOverlaps(gr1, gr2)

hit <- gr2[unique(fo@queryHits)]

重なりを検出

重なった

Query Subject

Page 17: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

あえてRでやるメリット幅やスコアの閾値を変えながら重なりを調べられるすぐに図までつくれる

例: RNA-Seqのタグとp300結合領域との重なり

17

図を削除 図を削除

Page 18: Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)

あえてRでやるメリット

公共のエピゲノムデータや遺伝子の座標を簡単にとってこれる

18

library(AnnotationHub)

ah = AnnotationHub()

id <- ah$ah_id[grep("wgEncodeAwgTfbsBroadK562P300UniPk.narrowPeak.gz", ah$title)]

gr_p300_K562 <- ah[[id]]

query(ah, c("Homo", "release-81"))

gtf <- ah[["AH47963"]]

grf_coding <- gtf[grep("protein_coding", gtf$transcript_biotype)]

http://www.roadmapepigenomics.org

http://www.genome.gov/encode/ http://www.ensembl.org/