Tự tạo biểu đồ tần suất nucleotide của bạn
Giờ là lúc bạn xem kỹ hơn tần suất nucleotide theo từng chu kỳ. Cách tốt nhất là trực quan hóa dữ liệu. Thường thì vài chu kỳ đầu khá ngẫu nhiên, sau đó tần suất nucleotide sẽ dần ổn định ở các chu kỳ tiếp theo.
Bài tập này dùng toàn bộ tệp fastq SRR1971253 với một chút tiền xử lý đã được chuẩn bị sẵn cho bạn:
library(ShortRead)
fqsample <- readFastq(dirPath = "data",
pattern = "SRR1971253.fastq")
# trích xuất chuỗi đọc
abc <- alphabetByCycle(sread(fqsample))
# Chuyển vị các nucleotide A, C, G, T theo cột
nucByCycle <- t(abc[1:4,])
# Dọn dữ liệu
nucByCycle <- nucByCycle %>%
as_tibble() %>% # chuyển sang tibble
mutate(cycle = 1:50) # thêm số chu kỳ
Nhiệm vụ của bạn là vẽ biểu đồ Tần suất nucleotide theo Chu kỳ bằng các hàm của tidyverse!
Bài tập này là một phần của khóa học
Giới thiệu Bioconductor trong R
Hướng dẫn bài tập
- Dùng
glimpse()với đối tượngnucByCycleđể xem nhanh dữ liệu. - Pivot các ký tự nucleotide trong
alphabetbằngpivot_longer()và tạo cộtcountmới. - Vẽ biểu đồ đường với
cycletrên trục x vàcounttrên trục y, tô màu theoalphabet.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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())