เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ลองสร้างกราฟความถี่นิวคลีโอไทด์ด้วยตัวเอง

ถึงเวลาเจาะลึกความถี่ของนิวคลีโอไทด์ในแต่ละรอบการอ่าน (cycle) วิธีที่ดีที่สุดคือการสร้างภาพแสดงข้อมูล โดยทั่วไปแล้ว รอบแรกๆ มักจะสุ่มค่อนข้างมาก และความถี่ของนิวคลีโอไทด์จะเริ่มคงที่ขึ้นในรอบถัดไป

แบบฝึกหัดนี้ใช้ไฟล์ 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())
แก้ไขและรันโค้ด