始める無料で始める

自分でヌクレオチド頻度プロットを作ってみましょう

ここでは、サイクルごとのヌクレオチド頻度を詳しく見ていきます。最適なのは可視化することです。通常、最初の数サイクルはややランダムになり、その後はサイクルが進むにつれてヌクレオチド頻度が安定していきます。

この演習では、いくつかの前処理を施した完全な 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())
コードを編集して実行