LSHTM_analysis/scripts/plotting/consurf_plot.R

103 lines
3.5 KiB
R

myColors1 = c("0" = "yellow2"
, "1" = "cyan1"
, "2" = "steelblue2"
, "3" = "cadetblue2"
, "4" = "paleturquoise2"
, "5" = "thistle3"
, "6" = "thistle2"
, "7" = "plum2"
, "8" = "maroon"
, "9" = "violetred2")
myColors2 = c("0" = "yellow2"
, "1" = "forestgreen"
, "2" = "seagreen3"
, "3" = "palegreen1"
, "4" = "darkseagreen2"
, "5" = "thistle3"
, "6" = "lightpink1"
, "7" = "orchid3"
, "8" = "orchid4"
, "9" = "darkorchid4")
#myColors <- colorRampPalette(c("cyan", "violetred4"))(9)
#myColors <- scale_color_brewer(palette = "Cyan-Magenta")
breaks <- levels(as.factor(mtcars$cyl))
colours <- ifelse(breaks == 4, "red", "blue")
aa_position_colname = "position"
length(unique(merged_df3[[aa_position_colname]]))
positionF <- levels(as.factor(merged_df3[[aa_position_colname]]))
length(positionF)
aa_pos_colours = ifelse(positionF%in%rna_bind_aa_pos, "purple"
, ifelse(positionF%in%binding_aa_pos, "orange", "black" ))
bar = merged_df3
bar[['lab_bg']] = ifelse(bar[[aa_position_colname]]%in%rna_bind_aa_pos
, "purple"
, ifelse(bar[[aa_position_colname]]%in%binding_aa_pos
, "orange", "white" ))
head(bar[[aa_position_colname]])
head(bar[['lab_bg']])
#bar2 = as.data.frame(cbind(bar[[aa_position]], bar[['lab_bg']]) )
#geom_tile(aes(,-0.8, width = 0.95, height = 0.85)
# , fill = df$lab_bg) +
#geom_tile(aes(,-1.2, width = 0.95, height = -0.2)
# , fill = df$lab_bg2) +
my_xlim = length(unique(bar$position)); my_xlim
ymin = min(bar$consurf_score)
ymax = max(bar$consurf_score)
g = ggplot(bar, aes(x = factor(position)
, y = consurf_score
, colour = factor(consurf_colour_rev))) +
coord_cartesian(xlim = c(1, my_xlim)
, ylim = c(ymin, ymax)
, clip = "off") +
geom_point() +
#scale_colour_manual( values = myColors1) +
scale_colour_manual( values = myColors2) +
geom_errorbar(aes(ymin = consurf_ci_lower, ymax = consurf_ci_upper))
g0 = g + geom_tile(aes(,-2, width = 0.95, height = -0.2)
, fill = bar$lab_bg
, colour = "white")
g0
g1 = g0 + theme( axis.text.x = element_text(size = 10
, angle = 90
, hjust = 1
, vjust = 0.4
#, colour = aa_pos_colours
)
, axis.text.y = element_text(size = 12
, angle = 0
, hjust = 1
, vjust = 0)
, axis.title.x = element_text(size = 12)
, axis.title.y = element_text(size =12 )
, panel.background = element_rect(fill = "black", color = "black")
, panel.grid.major = element_line(color = "black")
, panel.grid.minor = element_line(color = "black")) +
guides(colour = guide_legend(title = "Consurf"
, position = "top"
#, direction = "horizontal"
)) +
labs(title = ""
, x = "Position"
, y = "Consurf_score")
g1
##########################################