НачатьНачать бесплатно

Постройте собственный график частоты нуклеотидов

Теперь пришло время подробнее изучить частоту нуклеотидов по циклам. Лучший способ сделать это — построить визуализацию. Как правило, первые циклы немного хаотичны, а затем частота нуклеотидов стабилизируется.

В этом упражнении используется полный файл 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())
Редактировать и запускать код