LoslegenKostenlos loslegen

Erstelle deinen eigenen Plot zur Nukleotidhäufigkeit

Jetzt ist es an der Zeit, die Häufigkeit der Nukleotide pro Zyklus genauer anzuschauen. Am besten geht das mit einer Visualisierung. Üblicherweise sind die ersten Zyklen etwas zufällig, und anschließend sollte sich die Nukleotidhäufigkeit mit den folgenden Zyklen stabilisieren.

In dieser Übung wird die komplette fastq-Datei SRR1971253 verwendet, für die bereits etwas Vorverarbeitung erledigt wurde:

library(ShortRead)
fqsample <- readFastq(dirPath = "data", 
                      pattern = "SRR1971253.fastq")
# Reads extrahieren                      
abc <- alphabetByCycle(sread(fqsample))

# Nukleotide A, C, G, T spaltenweise transponieren
nucByCycle <- t(abc[1:4,]) 

# Datensatz aufräumen
nucByCycle <- nucByCycle %>% 
  as_tibble() %>% # in tibble umwandeln
  mutate(cycle = 1:50) # Zyklusnummern hinzufügen

Deine Aufgabe ist es, mit tidyverse-Funktionen einen Plot "Nucleotide Frequency by Cycle" zu erstellen!

Diese Übung ist Teil des Kurses

Einführung in Bioconductor in R

Kurs anzeigen

Anleitung zur Übung

  • Wende glimpse() auf das Objekt nucByCycle an, um einen Überblick über die Daten zu bekommen.
  • Pivotiere die Nukleotid-Buchstaben in alphabet mit pivot_longer() und erzeuge eine neue Spalte count.
  • Erstelle einen Liniendiagramm-Plot mit cycle auf der x-Achse und count auf der y-Achse, eingefärbt nach alphabet.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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())
Code bearbeiten und ausführen