Ejemplo n.º 1
0
def drawer_curve(R_result):
    '''
    input 1: set_minus_set_minus.xlsx
    output 1: set minus curve plot
    input and output are all in R_result
    '''
    R_code_draw_curve = '''
    drawer_curve=function(result_R){
    require(tidyverse)
    require(readxl)
    in_fl=read_xlsx(
        paste(result_R,"set_minus_set_minus.xlsx",sep = "")
        )
    in_fl$species=factor(in_fl$species,levels = in_fl$species)
    plot_line=ggplot(
        data = in_fl,
        mapping=aes(
        x=as.numeric(row.names(in_fl)),
        # y=minus
        group=1
        )
    )+
        geom_line(
        aes(
            y=minus
        ),
        size=1
        )+
        geom_line(
        aes(
            y=add
        ),
        size=1
        )+
        # scale_y_continuous(
        #   breaks = c(8511,9000,10000,11000,12000,12110),
        #   labels = c(8511,9000,10000,11000,12000,12110)
        # )+
        theme(
        panel.background = element_blank(),
        axis.line = element_line(size=1, colour = "black"),
        axis.title = element_text(size=20),
        axis.text = element_text(size = 20)
        )+
        xlab(label = "Number of strain")+
        ylab(label = "Number of gene")+
        geom_hline(
        yintercept = c(max(in_fl$add),min(in_fl$minus)),lty=3,lwd=1,alpha=0.8
        )+
        annotate(
        "text",
        x = 110,
        y = 9000,
        label="Core",
        size=10
        )+
        annotate(
        "text",
        x = 110,
        y = 14500,
        label="Pan",
        size=10
        )
    ggsave(
        paste(result_R,"curve.png",sep = ""),
        plot = plot_line,
        width = 8,
        height = 5
        )
    }
    '''
    R_darw_curve = SignatureTranslatedAnonymousPackage(R_code_draw_curve,
                                                       "R_darw_curve")
    R_darw_curve.drawer_curve(R_result)