직접 만들어 보는 뉴클레오타이드 빈도 플롯
이제 사이클별 뉴클레오타이드 빈도를 좀 더 자세히 살펴볼 차례예요. 가장 좋은 방법은 시각화를 만드는 것이죠. 보통 초기 몇 개 사이클은 다소 무작위적이며, 그다음부터는 사이클이 진행되면서 뉴클레오타이드 빈도가 안정되는 경향이 있어요.
이번 연습에서는 일부 전처리가 적용된 전체 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 함수들을 사용해 사이클별 뉴클레오타이드 빈도 플롯을 만드는 거예요!
이 연습은 강의의 일부입니다
R로 시작하는 Bioconductor
연습 안내
- 데이터 구조를 확인하려면
nucByCycle객체에glimpse()를 사용하세요. pivot_longer()로alphabet의 뉴클레오타이드 문자를 피벗해 새count열을 만드세요.- x축에
cycle, y축에count를 두고,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())