added log option to function properly

This commit is contained in:
Tanushree Tunstall 2022-01-14 10:50:56 +00:00
parent 3b7cea3c47
commit 4e2f5f35db
2 changed files with 34 additions and 46 deletions

View file

@ -43,11 +43,11 @@
# ADD legend for hydrophobicity: done
# ADD option to remove empty positions
LogoPlotCustomH <- function(plotdf
LogoPlotCustomH <- function(plot_df
, x_axis_colname = "position"
, y_axis_colname = "or_mychisq"
, symbol_colname = "mutant_type"
, y_axis_log = T
, y_axis_log = F
, log_value = log10
, my_logo_col = "chemistry"
, x_lab = "Position"
@ -73,52 +73,39 @@ LogoPlotCustomH <- function(plotdf
#################################
# Data processing for logo plot
#################################
logo_df = plotdf
logo_data_plot2 = logo_df[, c(x_axis_colname, symbol_colname, y_axis_colname)]
#==================
# logo data: OR
#==================
logo_data_plot2_or = logo_df[, c(x_axis_colname, symbol_colname, y_axis_colname)]
wide_df2_or = as.matrix(logo_data_plot2_or %>% spread(x_axis_colname, y_axis_colname, fill = 0.0))
class(wide_df2_or)
rownames(wide_df2_or) = wide_df2_or[,1]
dim(wide_df2_or)
wide_df2_or = wide_df2_or[,-1]
str(wide_df2_or)
colnames(wide_df2_or)
position_or = as.numeric(colnames(wide_df2_or))
#==================
# logo data: logOR
#==================
if (y_axis_log){
#=====================
# logo data: LogOR
#=====================
log_colname = paste0("log_", y_axis_colname)
logo_df[log_colname] = log_value(logo_df[y_axis_colname])
logo_data_plot2 = logo_df[, c(x_axis_colname, symbol_colname, y_axis_colname,log_colname )]
plot_df[log_colname] = log_value(plot_df[y_axis_colname])
logo_df = plot_df[, c(x_axis_colname, symbol_colname, log_colname)]
logo_df_plot = logo_df[, c(x_axis_colname, symbol_colname, log_colname)]
logo_dfP_wf = as.matrix(logo_df_plot %>% spread(x_axis_colname, log_colname, fill = 0.0))
logo_data_plot2_logor = logo_df[, c(x_axis_colname, symbol_colname, log_colname)]
} else {
wide_df2_logor = as.matrix(logo_data_plot2_logor %>% spread(x_axis_colname, log_colname, fill = 0.0))
class(wide_df2_logor)
#=====================
# logo data: OR
#=====================
logo_df = plot_df[, c(x_axis_colname, symbol_colname, y_axis_colname)]
logo_df_plot = logo_df[, c(x_axis_colname, symbol_colname, y_axis_colname)]
logo_dfP_wf = as.matrix(logo_df_plot %>% spread(x_axis_colname, y_axis_colname, fill = 0.0))
rownames(wide_df2_logor) = wide_df2_logor[,1]
dim(wide_df2_logor)
wide_df2_logor = wide_df2_logor[,-1]
str(wide_df2_logor)
colnames(wide_df2_logor)
position_logor = as.numeric(colnames(wide_df2_logor))
}
class(logo_dfP_wf)
rownames(logo_dfP_wf) = logo_dfP_wf[,1]
dim(logo_dfP_wf)
logo_dfP_wf = logo_dfP_wf[,-1]
str(logo_dfP_wf)
colnames(logo_dfP_wf)
position_or = as.numeric(colnames(logo_dfP_wf))
######################################
# Generating plots with given y_axis
#####################################
@ -144,7 +131,7 @@ LogoPlotCustomH <- function(plotdf
ytt_col = "black"
}
LogoPlot = ggseqlogo(wide_df2_or
LogoPlot = ggseqlogo(logo_dfP_wf
, method = "custom"
, col_scheme = my_logo_col
, seq_type = "aa") + ylab("my custom height") +

View file

@ -3,24 +3,25 @@
#source("~/git/LSHTM_analysis/scripts/plotting/get_plotting_dfs.R")
LogoPlotCustomH (plotdf = merged_df3
LogoPlotCustomH (plot_df = merged_df3
, x_axis_colname = "position"
, y_axis_colname = "or_mychisq"
, symbol_colname = "mutant_type"
, y_axis_log = F
, log_value = log10
, my_logo_col = 'chemistry'
, my_logo_col = 'taylor'
, x_lab = "Position"
, y_lab = "Odds Ratio"
, x_ats = 12 # text size
, x_tangle = 90 # text angle
, y_ats = 22
, y_tangle = 0
, x_tts = 20 # title size
, y_tts = 23
, x_tts = 19 # title size
, y_tts = 22
#, leg_pos = c(0.05,-0.12)
, leg_pos = "top"
, leg_dir = "horizontal"
, leg_ts = 15 # leg text size
, leg_tts = 16 # leg title size
)