自分でヌクレオチド頻度プロットを作ってみましょう
ここでは、サイクルごとのヌクレオチド頻度を詳しく見ていきます。最適なのは可視化することです。通常、最初の数サイクルはややランダムになり、その後はサイクルが進むにつれてヌクレオチド頻度が安定していきます。
この演習では、いくつかの前処理を施した完全な fastq ファイル SRR1971253 を使用します。
library(ShortRead)
fqsample <- readFastq(dirPath = "data",
pattern = "SRR1971253.fastq")
# extract reads
abc <- alphabetByCycle(sread(fqsample))
# Transpose nucleotides A, C, G, T per column
nucByCycle <- t(abc[1:4,])
# Tidy dataset
nucByCycle <- nucByCycle %>%
as_tibble() %>% # convert to tibble
mutate(cycle = 1:50) # add cycle numbers
あなたのタスクは、tidyverse の関数を使って「サイクル別ヌクレオチド頻度」プロットを作成することです!
この演習はコースの一部です
Rで始めるBioconductor入門
演習の手順
- データの概要を確認するために、
nucByCycleオブジェクトに対してglimpse()を実行します。 pivot_longer()を使ってalphabet内のヌクレオチド文字を縦持ちにし、新しいcount列を作成します。- x 軸を
cycle、y 軸をcountとし、alphabetで色分けした折れ線グラフを作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Glimpse nucByCycle
___
# Create a line plot of cycle vs. count
nucByCycle %>%
# Gather the nucleotide letters in alphabet and get a new count column
pivot_longer(-cycle, names_to = ___, values_to = ___) %>%
ggplot(aes(x = ___, y = ___, color = ___)) +
geom_line(size = 0.5 ) +
labs(y = "Frequency") +
theme_bw() +
theme(panel.grid.major.x = element_blank())