diff --git a/scripts/functions/logoP_msa.R b/scripts/functions/logoP_msa.R index f070b0c..c37e7fc 100644 --- a/scripts/functions/logoP_msa.R +++ b/scripts/functions/logoP_msa.R @@ -166,38 +166,42 @@ LogoPlotMSA <- function(msaSeq_mut , method = msa_method , col_scheme = my_logo_col , seq_type = 'aa') + - scale_x_discrete(x_lab - , breaks = i_extract - , labels = i_extract - #, limits = min(i_extract): max(i_extract)) - , limits = factor(i_extract)) - - # further customisation - msa_mut_logo_P = p0 + theme(legend.position = leg_pos - , legend.direction = leg_dir - #, legend.title = element_blank() - , legend.title = element_text(size = leg_tts - , colour = ytt_col) - , legend.text = element_text(size = leg_ts) + theme(legend.position = leg_pos + , legend.direction = leg_dir + #, legend.title = element_blank() + , legend.title = element_text(size = leg_tts + , colour = ytt_col) + , legend.text = element_text(size = leg_ts) - , axis.text.x = element_text(size = x_ats - , angle = x_tangle - , hjust = 1 - , vjust = 0.4 - , colour = xfont_bgc) - #, axis.text.y = element_blank() - , axis.text.y = element_text(size = y_ats - , angle = y_tangle - , hjust = 1 - , vjust = -1.0 - , colour = yfont_bgc) - , axis.title.x = element_text(size = x_tts - , colour = xtt_col) - , axis.title.y = element_text(size = y_tts - , colour = ytt_col) - - , plot.background = element_rect(fill = theme_bgc)) + , axis.text.x = element_text(size = x_ats + , angle = x_tangle + , hjust = 1 + , vjust = 0.4 + , colour = xfont_bgc) + #, axis.text.y = element_blank() + , axis.text.y = element_text(size = y_ats + , angle = y_tangle + , hjust = 1 + , vjust = -1.0 + , colour = yfont_bgc) + , axis.title.x = element_text(size = x_tts + , colour = xtt_col) + , axis.title.y = element_text(size = y_tts + , colour = ytt_col) + , plot.background = element_rect(fill = theme_bgc))+ + xlab(x_lab) + if (missing(plot_positions)){ + msa_mut_logo_P = p0 + + }else{ + msa_mut_logo_P = p0 + + scale_y_continuous(expand = c(0,0.09)) + + scale_x_discrete(breaks = i_extract + , expand = c(0.09,0) + , labels = i_extract + , limits = factor(i_extract)) + } cat('\nDone: msa_mut_logo_P') #return(msa_mut_logoP) @@ -210,15 +214,7 @@ LogoPlotMSA <- function(msaSeq_mut , facet = "grid" , method = msa_method , col_scheme = my_logo_col - , seq_type = 'aa')+ - scale_x_discrete(x_lab - , breaks = i_extract - , labels = i_extract - #, limits = min(i_extract): max(i_extract)) - , limits = factor(i_extract)) - - # further customisation - msa_wt_logo_P = p1 + + , seq_type = 'aa') + theme(legend.position = "none" , legend.direction = leg_dir @@ -240,8 +236,20 @@ LogoPlotMSA <- function(msaSeq_mut , colour = ytt_col) , plot.background = element_rect(fill = theme_bgc)) + - ylab("") - + ylab("") + xlab("Wild-type position") + + + if (missing(plot_positions)){ + msa_wt_logo_P = p1 + }else{ + msa_wt_logo_P = p1 + + scale_y_continuous(expand = c(0,0.09)) + + scale_x_discrete(breaks = i2_extract + , expand = c(0.09,0) + , labels = i2_extract + , limits = factor(i2_extract)) + } + cat('\nDone: msa_wt_logo_P') #return(msa_wt_logoP) LogoPlotMSAL[['msa_wt_logoP']] <- msa_wt_logo_P diff --git a/scripts/functions/tests/test_logo_plots.R b/scripts/functions/tests/test_logo_plots.R index 3ca9666..6985373 100644 --- a/scripts/functions/tests/test_logo_plots.R +++ b/scripts/functions/tests/test_logo_plots.R @@ -7,83 +7,84 @@ source("~/git/LSHTM_analysis/config/gid.R") # source("~/git/LSHTM_analysis/config/katg.R") # source("~/git/LSHTM_analysis/config/rpob.R") #--------------------------------------------------- -source("~/git/LSHTM_analysis/scripts/plotting/get_plotting_dfs.R") - -################################ -# Logo plot with custom Y axis -# mainly OR -# script: logoP.R -################################ -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 - , y_axis_increment = 5 - , rm_empty_y = F - , my_logo_col = 'chemistry' - , x_lab = "Wild-type position" - , y_lab = "Odds Ratio" - , x_ats = 12 # text size - , x_tangle = 90 # text angle - , y_ats = 22 - , y_tangle = 0 - , 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 -) - - -######################################## -# Logo plot showing nsSNPs by positions -# wild-type and mutant aa -# script: logoP_snp.R -######################################## -LogoPlotSnps(plot_df = merged_df3 - , x_axis_colname = "position" - , symbol_mut_colname = "mutant_type" - , symbol_wt_colname = "wild_type" - , omit_snp_count = c(0)# can be 1, 2, etc. - , my_logo_col = "chemistry" - , x_lab = "Wild-type position" - , y_lab = "" - , x_ats = 13 # text size - , x_tangle = 90 # text angle - , y_ats = 20 - , y_tangle = 0 - , x_tts = 18 # title size - , y_tts = 18 - , leg_pos = "top" # can be top, left, right and bottom or c(0.8, 0.9) - , leg_dir = "horizontal" # can be vertical or horizontal - , leg_ts = 14 # leg text size - , leg_tts = 16 # leg title size -) - - +#source("~/git/LSHTM_analysis/scripts/plotting/get_plotting_dfs.R") +# +# ################################ +# # Logo plot with custom Y axis +# # mainly OR +# # script: logoP.R +# ################################ +# 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 +# , y_axis_increment = 5 +# , rm_empty_y = F +# , my_logo_col = 'chemistry' +# , x_lab = "Wild-type position" +# , y_lab = "Odds Ratio" +# , x_ats = 12 # text size +# , x_tangle = 90 # text angle +# , y_ats = 22 +# , y_tangle = 0 +# , 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 +# ) +# +# +# # ######################################## +# # # Logo plot showing nsSNPs by positions +# # # wild-type and mutant aa +# # # script: logoP_snp.R +# # ######################################## +# LogoPlotSnps(plot_df = merged_df3 +# , x_axis_colname = "position" +# , symbol_mut_colname = "mutant_type" +# , symbol_wt_colname = "wild_type" +# , omit_snp_count = c(0)# can be 1, 2, etc. +# , my_logo_col = "chemistry" +# , x_lab = "Wild-type position" +# , y_lab = "" +# , x_ats = 13 # text size +# , x_tangle = 90 # text angle +# , y_ats = 20 +# , y_tangle = 0 +# , x_tts = 18 # title size +# , y_tts = 18 +# , leg_pos = "top" # can be top, left, right and bottom or c(0.8, 0.9) +# , leg_dir = "horizontal" # can be vertical or horizontal +# , leg_ts = 14 # leg text size +# , leg_tts = 16 # leg title size +# ) +# +# ######################################## # Logo plot MSA # Mutant and wild-type # wild-type and mutant aa +# Can select active site residues + # specify {plot_positions} + # To plot entire MSA, simply don't specify {plot_positions} # script: logoP_msa.R -######################################## -# BOTH WORK -#LogoPlotMSA(msa_seq, wt_seq) +# TODO perhaps: ED logo from Logolas +######################################## LogoPlotMSA(msaSeq_mut = msa_seq , msaSeq_wt = wt_seq , msa_method = 'bits' # or probability - , my_logo_col = "chemistry" + , my_logo_col = "taylor" #, plot_positions = active_aa_pos - , plot_positions - , x_lab = "Wild-type position" + , x_lab = "nsSNP position" , y_lab = "" - , x_ats = 13 # text size + , x_ats = 10 # text size , x_tangle = 90 # text angle , y_ats = 13 , y_tangle = 0 @@ -93,4 +94,4 @@ LogoPlotMSA(msaSeq_mut = msa_seq , leg_dir = "horizontal" #can be vertical or horizontal , leg_ts = 16 # leg text size , leg_tts = 16 # leg title size -) \ No newline at end of file +) diff --git a/scripts/plotting/logo_data_msa.R b/scripts/plotting/logo_data_msa.R index 461ca9b..3aea505 100644 --- a/scripts/plotting/logo_data_msa.R +++ b/scripts/plotting/logo_data_msa.R @@ -38,7 +38,9 @@ head(msa_seq) # fasta file: wt #================ -in_filename_fasta = paste0(tolower(gene), ".1fasta") +#in_filename_fasta = paste0(tolower(gene), ".1fasta") +in_filename_fasta = paste0(tolower(gene), "2.2fasta") # gid + infile_fasta = paste0(indir, "/", in_filename_fasta) cat("\nInput fasta file for WT: ", infile_fasta, "\n")