Awesome, thank you very much.
Visualize nucleotides for every position in R
Hi, please, how can I visualize nucelotides for every position. I have a percentage of bases but now I don't know how to create a plot.
fastq <- readDNAStringSet("https://d28rh4a8wq0iu5.cloudfront.net/ads1/data/ERR037900_1.first1000.fastq","fastq")
fastq
freq <- alphabetFrequency(fastq, as.prob = T,baseOnly=T)
I would like something like this (sorry for quality):

• 5,664 views
•
link
3 answers
You need to change your code. It is not alphabet frequency. It is consensus matrix. Example code and image below:
library(Biostrings)
fastq <- readDNAStringSet("sample.fastq","fastq")
## At each position, base frequency
afmc=consensusMatrix(fastq, baseOnly=T,as.prob = T)
tafmc=t(afmc)
matplot(tafmc[,-5], type="l", lwd=2, xlab="Read Length", ylab= "Base frequency at each position")
legend(legend = colnames(tafmc)[-5],"topright",col=1:4, lty=1:4, lwd=2)
5th column is others (other than A,T, G and C).
• 0 views
•
link
• 0 views
•
link
library(Biostrings)
fastq <- readDNAStringSet("https://d28rh4a8wq0iu5.cloudfront.net/ads1/data/ERR037900_1.first1000.fastq","fastq")
freq <- alphabetFrequency(fastq, as.prob = T,baseOnly=T)
matplot(freq,type='l')
legend(legend = colnames(freq),x=700,y=0.7,lty=1:5,col=1:5)
Note answer about consensusMatrix. That code is the best answer.
• 0 views
•
link
Log in to answer this question.


or use fastqc https://www.bioinformatics.babraham.ac.uk/projects/fastqc/ ?