| @ -0,0 +1,72 @@ | |||||
| library(shiny) | |||||
| library(seqRFLP) | |||||
| library(reversetranslate) | |||||
| # Define UI | |||||
| ui <- fluidPage( | |||||
| # Application title | |||||
| titlePanel("Reverse tranlation"), | |||||
| navbarPage("Apps", | |||||
| tabPanel("Translation", | |||||
| sidebarPanel( | |||||
| fileInput("file1", "Sube fichero mfasta", multiple = FALSE), | |||||
| selectInput("spec", label = h3("Specie"), | |||||
| choices = list("Human" = 1, "E. Coli" = 2), | |||||
| selected = 1), | |||||
| actionButton("calab", "Analizar") | |||||
| ), | |||||
| mainPanel( | |||||
| textAreaInput("seqText", label="Enter mFasta text", width = "100%", height = "500px", value=""), | |||||
| # tags$head(tags$style(HTML("pre { white-space: pre-wrap; word-break: break-all; }"))), | |||||
| htmlOutput("seqDNA") | |||||
| ) | |||||
| ), | |||||
| tabPanel("Codon Frequency Table", | |||||
| mainPanel( | |||||
| tableOutput("tbl") | |||||
| ) | |||||
| ) | |||||
| ) | |||||
| ) | |||||
| # Define server | |||||
| server <- function(input, output) { | |||||
| output$seqDNA <- renderText({ | |||||
| if (input$seqText == ""){ | |||||
| print("Result") | |||||
| }else{ | |||||
| seqs<-strsplit(input$seqText,"\n")[[1]] | |||||
| names_seqs<-seqs[grepl("^>",seqs)] | |||||
| names_seqs<-gsub(">","", names_seqs) | |||||
| seqs<-seqs[!grepl("^>", seqs)] | |||||
| if(input$spec == 1){spec<-hsapien_tbl} | |||||
| if(input$spec == 2){spec<-ecoli_tbl} | |||||
| seqs_DNA<-c() | |||||
| progress <- shiny::Progress$new(min=0, max=length(seqs)) | |||||
| for (i in 1:length(seqs)){ | |||||
| set.seed(123) | |||||
| seqs_DNA<-c(seqsDNA<-reverse_translate(seqs[i],spec)) | |||||
| progress$set(message = "Reverse Translating", value = i) | |||||
| } | |||||
| paste(dataframe2fas(data.frame(names=names_seqs, | |||||
| seqs=seqs_DNA)), collapse="<br>") | |||||
| } | |||||
| }) | |||||
| { | |||||
| output$tbl <- renderTable({ | |||||
| if(input$spec == 1){spec<-hsapien_tbl} | |||||
| if(input$spec == 2){spec<-ecoli_tbl} | |||||
| spec %>% arrange(aa) | |||||
| }) | |||||
| } | |||||
| } | |||||
| # Run the application | |||||
| shinyApp(ui = ui, server = server) | |||||