Update, 4 Jan 2018: Following advice from Bioconductor, the package magrittr is not integral to drawProteins so needs to be activated separately to use this script.
Update, 3 Nov 2017: I've renamed the functions e.g. geom_chains is now draw_chains and added a new function draw_canvas which allows one to draw without the chain, if you want.
Building on what I did previously, more work done on the drawProteins package allows the simplier script below to draw this protein schematic:
SCRIPT START
# devtools::install_github("brennanpincardiff/drawProteins")
library(drawProteins)
library(ggplot2)
library(magrittr)
# accession numbers of five NF-kappaB proteins
"Q04206 Q01201 Q04864 P19838 Q00653" %>%
drawProteins::get_features() %>%
drawProteins::feature_to_dataframe() ->
prot_data
p <- draw_canvas(prot_data)
p <- draw_chains(p, prot_data)
p <- draw_domains(p, prot_data)
p <- draw_repeat(p, prot_data)
p <- draw_motif(p, prot_data)
p <- draw_phospho(p, prot_data, size = 8)
# background and y-axis
p <- p + theme_bw(base_size = 20) + # white background and change text size
theme(panel.grid.minor=element_blank(),
panel.grid.major=element_blank()) +
theme(axis.ticks = element_blank(),
axis.text.y = element_blank()) +
theme(panel.border = element_blank())
# add titles
p <- p + labs(x = "Amino acid number", # label x-axis
y = "", # label y-axis
title = "Schematic of human NF-kappaB proteins",
subtitle = "circles = phosphorylation sites\nRHD = Rel Homology Domain\nsource:Uniprot")
# move legend to top
p <- p + theme(legend.position="top") + labs(fill="")
p
SCRIPT END
Resources
No comments:
Post a Comment
Comments and suggestions are welcome.