Спробуйте побудувати власний графік частоти нуклеотидів
Тепер час уважніше подивитися на частоту нуклеотидів у кожному циклі. Найкращий спосіб — зробити візуалізацію. Зазвичай перші цикли дещо випадкові, а далі частоти нуклеотидів мають стабілізуватися з наступними циклами.
У цій вправі використано повний файл 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!
Ця вправа є частиною курсу
Вступ до Bioconductor в R
Інструкції до вправи
- Виконайте
glimpse()для об'єктаnucByCycle, щоб оглянути дані. - Розгорніть літери нуклеотидів у
alphabetза допомогоюpivot_longer()і отримайте новий стовпецьcount. - Побудуйте лінійний графік з
cycleна осі x іcountна осі y, з кольорами за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())