R/plotParalogRNAseq.R

#' 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)

}
chapmandu2/CollateralVulnerability2016 documentation built on May 13, 2019, 3:27 p.m.