#' Paralog expression
#'
#' Compare RNAseq data for a given gene vs its paralogs
#'
#' @param con A \code{SQLiteConnection} object
#' @param input_gene An ensembl gene ID
#' @return A ggplot2 object
#' @import ggplot2
#' @export
plotParalogRNAseq <- function(con, input_gene) {
#get paralogs
paralog_data <- dplyr::src_sqlite(con@dbname) %>%
dplyr::tbl('count_paralogs_martdata') %>%
dplyr::filter(ensembl_gene_id == input_gene & filter ==1) %>%
dplyr::collect()
#sort out gene info
plot_genes <- c(input_gene, input_gene, paralog_data$hsapiens_paralog_ensembl_gene)
plot_gene_info <- dplyr::src_sqlite(con@dbname) %>%
dplyr::tbl('human_genes') %>%
dplyr::filter(gene_id %in% plot_genes) %>%
dplyr::select(gene_id, gene_name) %>%
dplyr::collect()
#get expression data
plot_data <- dplyr::src_sqlite(con@dbname) %>%
dplyr::tbl('tcga_rnaseq_data') %>%
dplyr::filter(gene_id %in% plot_genes) %>%
dplyr::collect() %>%
dplyr::inner_join(plot_gene_info, by='gene_id')
#do the plot
p <- ggplot(plot_data, aes(x=gene_name, y=log2(value), fill=gene_id)) +
geom_point( shape=21, position = position_jitter(w=0.3)) +
theme_bw() +
ylab('log2RPKM') + xlab('') +
theme(legend.position='none',
axis.text.y=element_text(size=rel(2)),
axis.text.x=element_text(size=rel(2), angle=330, vjust=1, hjust=0),
axis.title=element_text(size=rel(2.5)),
strip.text=element_text(size=rel(3)))
return(p)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.