Постройте собственный график частоты нуклеотидов
Теперь пришло время подробнее изучить частоту нуклеотидов по циклам. Лучший способ сделать это — построить визуализацию. Как правило, первые циклы немного хаотичны, а затем частота нуклеотидов стабилизируется.
В этом упражнении используется полный файл 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())