various stuff

This commit is contained in:
Tanushree Tunstall 2022-08-09 19:42:20 +01:00
parent 5cbaef3d36
commit 415d05ab6e
3 changed files with 99 additions and 76 deletions

View file

@ -34,7 +34,7 @@ ColourPalleteMulti = function(df, group, subgroup){
# above function
#########################
bp_stability_hmap <- function(plotdf = merged_df3
bp_stability_hmap <- function(plot_df = merged_df3
, xvar_colname = "position"
, yvar_colname = 'duet_scaled' #FIXME: temp, remove
#, bar_col_colname = "group"
@ -68,30 +68,30 @@ bp_stability_hmap <- function(plotdf = merged_df3
# Build data with colours
# ~ ligand distance
#=========================
plotdf = generate_distance_colour_map(plotdf, debug=TRUE)
plot_df = generate_distance_colour_map(plot_df, debug=TRUE)
# order the df by position and ensure it is a factor
plotdf = plotdf[order(plotdf[[xvar_colname]]), ]
plotdf[[xvar_colname]] = factor(plotdf[[xvar_colname]])
plot_df = plot_df[order(plot_df[[xvar_colname]]), ]
plot_df[[xvar_colname]] = factor(plot_df[[xvar_colname]])
#cat("\nSneak peak:\n")
head(data.frame( plotdf[[xvar_colname]], plotdf[[stability_colname]] ) )
head(data.frame( plot_df[[xvar_colname]], plot_df[[stability_colname]] ) )
# stability values isolated to help with generating column called: 'group'
my_grp = plotdf[[stability_colname]]
my_grp = plot_df[[stability_colname]]
cat( "\nLength of nsSNPs:", length(my_grp)
, "\nLength of unique values for nsSNPs:", length(unique(my_grp)) )
# Add col: 'group'
plotdf$group = paste0(plotdf[[stability_outcome_colname]], "_", my_grp, sep = "")
plot_df$group = paste0(plot_df[[stability_outcome_colname]], "_", my_grp, sep = "")
# check unique values in normalised data
cat("\nNo. of unique values in", stability_colname, "no rounding:"
, length(unique(plotdf[[stability_colname]])))
, length(unique(plot_df[[stability_colname]])))
# Call the function to create the palette based on the group defined above
#subcols_ps
subcols_bp_hmap = ColourPalleteMulti(plotdf, stability_outcome_colname, stability_colname)
subcols_bp_hmap = ColourPalleteMulti(plot_df, stability_outcome_colname, stability_colname)
cat("\nNo. of sub colours generated:", length(subcols_bp_hmap))
@ -100,40 +100,54 @@ bp_stability_hmap <- function(plotdf = merged_df3
# Generate the subcols barplot
#-------------------------------
cowplot::plot_grid(
ggplot(plotdf, aes_string(x = xvar_colname
# , ordered = T)
ggplot(plot_df, aes_string(x = xvar_colname
# , ordered = T)
)) +
geom_bar(aes(fill = group)
, colour = "grey") +
scale_fill_manual( values = subcols_bp_hmap
, guide = "none") +
# scale_x_discrete("Position", labels=factor(plot_df$position)) +
theme( axis.text.x = element_text(size = my_xaxls
, angle = 90
, hjust = 1
, vjust = 0.4)
, axis.text.y = element_text(size = my_yaxls
, angle = 0
, hjust = 1
, vjust = 0)
, axis.title.x = element_text(size = my_xaxts)
, axis.title.y = element_text(size = my_yaxts )
, plot.title = element_text(size = my_pts
, hjust = 0.5)) +
theme(
axis.text.x = element_text(size = my_xaxls
, angle = 90
, hjust = 1
, vjust = 0.4)
, axis.text.y = element_text(size = my_yaxls
, angle = 0
, hjust = 1
, vjust = 0)
, axis.title.x = element_blank()
#, axis.title.x = element_text(size = my_xaxts)
, axis.title.y = element_text(size = my_yaxts )
, plot.title = element_text(size = my_pts
, hjust = 0.5)) +
labs(title = p_title
, x = my_xlab
, y = my_ylab),
geom_tile(aes(, tpos0 # heat-mapped distance tiles along the bot
, width = tW0
, height = tH0)
, fill = plotdf$ligD_colours
, colour = plotdf$ligD_colours
, linetype = "blank"), #end of distance-heat-bar
generate_distance_legend(plotdf),
ncol = 2,
#align = "hv",
rel_widths = c(9/10, 0.4/10)
NULL,
ggplot(plot_df,
aes(x=factor(position), # THIS STUPID FUCKING FACTOR THING
)
) +
geom_tile(aes(y=0),
fill=plot_df$ligD_colours) +
scale_x_discrete("Position", labels=factor(plot_df$position)) +
theme_nothing() +
theme(plot.background = element_rect(fill = "transparent", colour=NA),
plot.margin = margin(t=0,b=0)) +
labs(x = NULL, y = NULL), #end of distance-heat-bar
NULL,
position_annotation(plot_df),
#generate_distance_legend(plot_df),
ncol = 1,
align = "v",
rel_heights = c(10,-0.1,1,-0.1,1)
#rel_widths = c(9/10, 0.4/10)
)
}
bp_stability_hmap(small_df3)