diff --git a/Data/TPM_results.RData b/Data/TPM_results.RData
index 94fb55a9685fbfc89a3a148d594e6834d07ef780..fb657585f46ebf55fbd7bfe29fb346eda70099c0 100644
Binary files a/Data/TPM_results.RData and b/Data/TPM_results.RData differ
diff --git a/global.R b/global.R
index a8bacbeb03eec010702d8cf2fb6ebeea27880f22..5c70792328c3a916a2eb2a734ee5d9b8e629f73e 100644
--- a/global.R
+++ b/global.R
@@ -109,8 +109,8 @@ dPSIKS <- function(dPSI1KS, dPSI2KS, dPSInSampleKS, dPSIabsKS, dPSIKS,dPSIeventK
         IDs<-rownames(t[t$dPSI<=dPSIKS,])
       }
     }
-    KSdata<-KSSep[rownames(KSSep)%in%IDs,c(1:6)]
-    t<-t[rownames(t)%in%IDs,]
+    KSdata<-KSSep[IDs,c(1:6)]
+    t<-t[IDs,]
     KSdata$dPSI=t$dPSI1
     KSdata=KSdata[order(-abs(KSdata$dPSI)),]
     return(KSdata)
@@ -1385,7 +1385,7 @@ trackExpProfil <- function(t, gID=c(), gName=c(), gID_Name=c(), manualColor = F,
   return(list(g,data,dataVar))
 }
 
-trackIRProfil <- function(t, gID=c(), gName=c(), gID_Name=c(), manualColor = F, sep=T, f.max.meanIR=100, f.max.maxIR=100, f.U12only=F, f.U12genesOnly=F, mergeGraphInOne=F, mGIO.sepU12U2=F, mGIO.sepU12U2g=F, main=NULL, returnData=F, returnPlot=F,freeY=T, filterOnMat=F, nColSingle=1, KS=F, events=c(),AAF=F, addSegment=T, maxYscale=100, reRange=F) {
+trackIRProfil <- function(t, gID=c(), gName=c(), gID_Name=c(), manualColor = F, sep=T, f.max.meanIR=100, f.max.maxIR=100, f.U12only=F, f.U12genesOnly=F, mergeGraphInOne=F, mGIO.sepU12U2=F, mGIO.sepU12U2g=F, main=NULL, returnData=F, returnPlot=F,freeY=T, filterOnMat=F, nColSingle=1, KS=F, events=c(),AAF=F, addSegment=T, maxYscale=100, reRange=F, keepOrder=T) {
   # This function will show the boxplot of the expression of gID in all the stages
   # N indicate the number of values to select, OR the maximum number of values to select if minVar is set
   library(factoextra)
@@ -1532,7 +1532,8 @@ trackIRProfil <- function(t, gID=c(), gName=c(), gID_Name=c(), manualColor = F,
   dataVar$U12gene=factor(dataVar$U12gene,levels = c("MIG","non-MIG"))
   data$U12int=factor(data$U12int,levels = c("U12","U2"))
   dataVar$U12int=factor(dataVar$U12int,levels = c("U12","U2"))
-  if(length(gID)==0) {
+  if(keepOrder) {
+    print(gName)
     data$gene=factor(data$gene,levels=gName)
     dataVar$gene=factor(dataVar$gene,levels=gName)
   } else {
diff --git a/helpers.R b/helpers.R
index 46a1ebe235edbb091b75f4b003f405c7f66ee05d..2ec81a17be7de176f38652ff876b84af31990376 100644
--- a/helpers.R
+++ b/helpers.R
@@ -12,7 +12,9 @@ filterExprData <- function(Exprdataset, typeGene, biotype, fAll, fAllmin, fAllma
                 "MIG" = filtered_ExprData[which(filtered_ExprData$'U12' == T),]
     )
     
-    filtered_ExprData <- filtered_ExprData[filtered_ExprData$Gene.type%in%biotype,]
+    if(biotype==1) {
+      filtered_ExprData <- filtered_ExprData[filtered_ExprData$Gene.type=="protein_coding",]
+    }
     
     
     if(cS>1) {
diff --git a/makeData/create_RData_expression.R b/makeData/create_RData_expression.R
index f8985c7c256bfc8ab01d4610341b0ce7018c2b75..5b843d1702d8e67abbcec5963dec4a93d00ebe60 100644
--- a/makeData/create_RData_expression.R
+++ b/makeData/create_RData_expression.R
@@ -13,11 +13,11 @@ IDs <- df$ID
 expSep <- data.frame(ID=df$ID,
                      geneID=gsub("(ENSDARG\\d+)_.*","\\1",df$ID),
                      geneName=gsub("ENSDARG\\d+_(.*)","\\1",df$ID))
-expSep <- cbind(expSep,df[,2:ncol(df)])
-expSep$meanAllSamples <- round(rowMeans(expSep[,4:(ncol(expSep)-1)]),2)
-expSep$varAllSamples <- round(rowVars(as.matrix(expSep[,4:(ncol(expSep)-1)])),2)
-expSep$meanAllSelected <- round(rowMeans(expSep[,4:(ncol(expSep)-1)]),2)
-expSep$varAllSelected <- round(rowVars(as.matrix(expSep[,4:(ncol(expSep)-1)])),2)
+expSep <- cbind(expSep,round(df[,2:ncol(df)],0))
+expSep$meanAllSamples <- round(rowMeans(expSep[,4:(ncol(expSep)-1)]),0)
+expSep$varAllSamples <- round(rowVars(as.matrix(expSep[,4:(ncol(expSep)-1)])),0)
+expSep$meanAllSelected <- round(rowMeans(expSep[,4:(ncol(expSep)-1)]),0)
+expSep$varAllSelected <- round(rowVars(as.matrix(expSep[,4:(ncol(expSep)-1)])),0)
 cnes=colnames(expSep)
 expSep=merge(expSep,g2t,by.x=2,by.y=1,all.x=T,all.y=F)
 expSep=expSep[,c(cnes,"Gene.type")]
@@ -25,34 +25,34 @@ expSep$Gene.type[is.na(expSep$Gene.type)]="ERCC"
 expMerged <- data.frame(ID=expSep$ID,
                        geneID=expSep$geneID,
                        geneName=expSep$geneName,
-                       "stage1"=round(rowMeans(expSep[,4:8]),2),
-                       "stage2"=round(rowMeans(expSep[,9:13]),2),
-                       "stage3"=round(rowMeans(expSep[,14:18]),2),
-                       "stage4"=round(rowMeans(expSep[,19:23]),2),
-                       "stage5"=round(rowMeans(expSep[,24:28]),2),
-                       "stage6"=round(rowMeans(expSep[,29:33]),2),
-                       "stage7"=round(rowMeans(expSep[,34:38]),2),
-                       "stage8"=round(rowMeans(expSep[,39:43]),2),
-                       "stage9"=round(rowMeans(expSep[,44:48]),2),
-                       "stage10"=round(rowMeans(expSep[,49:53]),2),
-                       "stage11"=round(rowMeans(expSep[,54:58]),2),
-                       "stage12"=round(rowMeans(expSep[,59:63]),2),
-                       "stage13"=round(rowMeans(expSep[,64:68]),2),
-                       "stage14"=round(rowMeans(expSep[,69:73]),2),
-                       "stage15"=round(rowMeans(expSep[,74:78]),2),
-                       "stage16"=round(rowMeans(expSep[,79:83]),2),
-                       "stage17"=round(rowMeans(expSep[,84:88]),2),
-                       "stage18"=round(rowMeans(expSep[,89:93]),2),
+                       "stage1"=round(rowMeans(expSep[,4:8]),0),
+                       "stage2"=round(rowMeans(expSep[,9:13]),0),
+                       "stage3"=round(rowMeans(expSep[,14:18]),0),
+                       "stage4"=round(rowMeans(expSep[,19:23]),0),
+                       "stage5"=round(rowMeans(expSep[,24:28]),0),
+                       "stage6"=round(rowMeans(expSep[,29:33]),0),
+                       "stage7"=round(rowMeans(expSep[,34:38]),0),
+                       "stage8"=round(rowMeans(expSep[,39:43]),0),
+                       "stage9"=round(rowMeans(expSep[,44:48]),0),
+                       "stage10"=round(rowMeans(expSep[,49:53]),0),
+                       "stage11"=round(rowMeans(expSep[,54:58]),0),
+                       "stage12"=round(rowMeans(expSep[,59:63]),0),
+                       "stage13"=round(rowMeans(expSep[,64:68]),0),
+                       "stage14"=round(rowMeans(expSep[,69:73]),0),
+                       "stage15"=round(rowMeans(expSep[,74:78]),0),
+                       "stage16"=round(rowMeans(expSep[,79:83]),0),
+                       "stage17"=round(rowMeans(expSep[,84:88]),0),
+                       "stage18"=round(rowMeans(expSep[,89:93]),0),
                        U12=expSep$U12,
                        meanAllSamples=NA,
                        varAllSamples=NA,
                        meanAllSelected=NA,
                        varAllSelected=NA,
                        Gene.type=expSep$Gene.type)
-expMerged$meanAllSamples <- round(rowMeans(expMerged[,4:21]),2)
-expMerged$varAllSamples <- round(rowVars(as.matrix(expMerged[,4:21])),2)
-expMerged$meanAllSelected <- round(rowMeans(expMerged[,4:21]),2)
-expMerged$varAllSelected <- round(rowVars(as.matrix(expMerged[,4:21])),2)
+expMerged$meanAllSamples <- round(rowMeans(expMerged[,4:21]),0)
+expMerged$varAllSamples <- round(rowVars(as.matrix(expMerged[,4:21])),0)
+expMerged$meanAllSelected <- round(rowMeans(expMerged[,4:21]),0)
+expMerged$varAllSelected <- round(rowVars(as.matrix(expMerged[,4:21])),0)
 rm(dir)
 rm(df)
 rm(cnes)
diff --git a/modules/tablePanel.R b/modules/tablePanel.R
index 67099ce4aaaa2440d85c53300213693a3ec61010..3c6d0a1248f588ec78ad7355fc9914d5d4572809 100644
--- a/modules/tablePanel.R
+++ b/modules/tablePanel.R
@@ -41,12 +41,14 @@ tablePanel <- function(input, output, session, nameData, dataInput) {
         DT::datatable(dataToShow(),
                       rownames = FALSE, 
                       filter = "top",
-                      extensions = 'Buttons', 
+                      extensions = c('Buttons','FixedColumns','FixedHeader'), 
                       options = list(
                         dom = 'Bfrtip',
                         buttons = 
                           list('copy', 'print'),
                         pageLength = 30,
+                        fixedColumns = list(leftColumns=2),
+                        fixedHeader = TRUE,
                         scrollX = TRUE
                       )
         ) %>% 
diff --git a/modules/tablePanelIR.R b/modules/tablePanelIR.R
index 1daeff3f6e1fbc1c44dcdf2ccd843b0a8aeb17e3..cee1dc144ec24c753bba7d3b8cb30c085d506b59 100644
--- a/modules/tablePanelIR.R
+++ b/modules/tablePanelIR.R
@@ -41,12 +41,14 @@ tablePanelIR <- function(input, output, session, nameData, dataInput) {
       DT::datatable(dataToShow(),
                     rownames = FALSE, 
                     filter = "top",
-                    extensions = 'Buttons', 
+                    extensions = c('Buttons','FixedColumns','FixedHeader'), 
                     options = list(
                       dom = 'Bfrtip',
                       buttons = 
                         list('copy', 'print'),
                       pageLength = 30,
+                      fixedColumns = list(leftColumns=3),
+                      fixedHeader = TRUE,
                       scrollX = TRUE
                     )
       ) %>% 
diff --git a/modules/tablePanelKS.R b/modules/tablePanelKS.R
index c2f025020aa97c43ba9b975587482d7458efb880..050281f2177b51cbffd3c8c459f68230eb8f797f 100644
--- a/modules/tablePanelKS.R
+++ b/modules/tablePanelKS.R
@@ -50,12 +50,14 @@ tablePanelKS <- function(input, output, session, nameData, dataInput) {
       DT::datatable(dataToShow(),
                     rownames = FALSE, 
                     filter = "top",
-                    extensions = 'Buttons', 
+                    extensions = c('Buttons','FixedColumns','FixedHeader'), 
                     options = list(
                       dom = 'Bfrtip',
                       buttons = 
                         list('copy', 'print'),
                       pageLength = 30,
+                      fixedColumns = list(leftColumns=3),
+                      fixedHeader = TRUE,
                       scrollX = TRUE
                     )
       ) %>% 
diff --git a/server.R b/server.R
index 7a7a5bf61cb78fec3f5addb958b7e54fb59d6e35..a1835364d080ad7d861bb77b1ffbf6d7c7b6738f 100644
--- a/server.R
+++ b/server.R
@@ -748,7 +748,7 @@ server <- function(input, output, session) {
     t=dPSIKS(input$dPSI1KS, input$dPSI2KS, input$dPSInSampleKS, input$dPSIabsKS, input$dPSIKS, input$dPSIeventKS)
     if(is.null(t) | nrow(t)>0) {
       tH=head(t,n=30)
-      l=trackIRProfil(KSSep[rownames(KSSep)%in%rownames(tH),],f.max.meanIR = 100,f.max.maxIR = 100,freeY=F,f.U12only = F, nColSingle = 2,KS=T)
+      l=trackIRProfil(KSSep[rownames(tH),],f.max.meanIR = 100,f.max.maxIR = 100,freeY=F,f.U12only = F, nColSingle = 2,KS=T)
     } else {
       l=NULL
     }
diff --git a/ui.R b/ui.R
index ca066594e0951443e71408cbddaa4dd3c4149179..98c9eb931062f6291a285dcaafcfe7deb7abb2a6 100644
--- a/ui.R
+++ b/ui.R
@@ -7,46 +7,47 @@ ui <- fluidPage(
            tabPanel("Zebrafish Dataset",
                     fluidRow(
                       column(width=8, offset = 2,
-                             div(h1("Welcome to the Zebrafish Transcriptome during Development Shiny Application"), br(),
-                                 div(style= "text-align:justify", p("Minor intron splicing plays a central role in human embryonic development and survival. Indeed, biallelic mutations in RNU4ATAC, the gene transcribed into the minor spliceosomal U4atac snRNA, are responsible for a rare autosomal recessive disorder named microcephalic osteodysplastic primordial dwarfism type 1 (MOPD1) or Taybi-Linder syndrome (TALS). RNU4ATAC is also involved in different and less severe developmental diseases, Roifman (RFMN) and Lowry-Wood (LWS) syndromes."),
-                                     p("To gain knowledge on Minor Intron-containg Genes (MIG) and non-MIG expression and splicing during development, we analysed the publicaly available dataset E-ERAD-475 (ArrayExpress) containing 360 runs comprising of 18 developmental stages from 1 cell (0hpf) to 5 days. The associated publication can be find ",
-                                       a("here", href="https://elifesciences.org/articles/30860", target="_blank"),"."),
-                                     p("We did not analysed the RNA-seq from stages 16 and further (3, 4 and 5 dpf). For each selected stages, we pooled the technical replicates together and we kept the 5 biological replicates seperated. We analysed this dataset with a special focus on MIG genes. However, this Shiny App can be used to explore the expression/splicing profiles of any genes!"),
-                                     p("Reads from stage 1 to 15 were aligned with STAR to the GRCz11 genome version with ensembl95 annotation version. The same reads were also assembled using KisSplice."),
-                                     p("Each section of this app focus on one type of analysis : Expression, Intron Retention (IR) and Alternative Splicing (AS). Each section contain a dynamic table containing the raw results and give access to the same analyses: PCA-plot, differential analysis and \"track plots\" that allow to follow one or more gene/intron/splicing event throughout stages. Below is a quick description of each of these analyses:")),
+                             div(h1("Welcome to the Shiny Application for \"Zebrafish Transcriptome during Development\""), br(),
+                                 div(style= "text-align:justify", p("In most eukaryotes, two types of introns co-exist, major introns and minor introns, hence called because the first type largely outnumbers the second one. The major and minor class introns have distinct consensus splice site and branch point sequences and are removed by different spliceosomes, designed \"U2-type\" for the major and \"U12-type\" for the minor spliceosomes. Major and minor introns are also called U2- and U12-type introns."),
+                                     p("Minor intron splicing plays a central role in human embryonic development and survival. Indeed, biallelic mutations in RNU4ATAC, the gene transcribed into the minor spliceosomal U4atac snRNA, are responsible for a rare autosomal recessive disorder named microcephalic osteodysplastic primordial dwarfism type 1 (MOPD1) or Taybi-Linder syndrome (TALS). RNU4ATAC is also involved in different and less severe developmental diseases, Roifman (RFMN) and Lowry-Wood (LWS) syndromes."),
+                                     p("To gain knowledge on gene expression and splicing during development, taking into account whether they contain a minor intron or not, we used the publically available E-ERAD-475 study (ArrayExpress collection) containing 360 RNA-seq datasets from whole embryo mRNA at 18 developmental stages from 1 cell (0 hpf) to 5 days. The associated publication can be found ",
+                                       a("here.", href="https://elifesciences.org/articles/30860", target="_blank"),"."),
+                                     p("For each stage, we pooled the four technical replicates but kept the five biological replicates separated. We analysed these datasets with a special focus on minor introns and on the genes that contain them. However, this Shiny App can be used to explore the expression/splicing profile of any transcript!"),
+                                     p("Reads from all stages were aligned with STAR to the GRCz11 genome version with ensembl95 annotation version. The same reads were also assembled using KisSplice."),
+                                     p("Each section of this app focuses on one type of analysis: Expression, Intron Retention (IR) and Alternative Splicing (AS). Each section displays a dynamic table containing the raw results and gives access to several methods, PCA plot, differential analysis and track plot, which allow to follow one or more gene/intron/splicing event throughout the different stages. Below is a quick description of each of these sections and of each of the methods.")),
                                  br(), hr(), br(),
                                  align = "center"
                              ),
-                             div(h2(strong("PCA-plot (using ade4 1.7-17)")),br(),
-                                 p("Enable to plot a PCA from the n most variable entries of the active table. Users can choose the number of entries to use and which PC to plot on the 2D graph."),
-                                 p("By default, the n-most variable genes are selected, but with gene expression, variability increase with the expression level. To tackle this issue, users can try a selection normalised by the maximum expression level of each gene (ec/max method, which is simply the standard deviation of the gene divided by the maximum expression level observed for the gene)."),
-                                 h3("Genes contribution to each PC"),
-                                 p("In addition to the PCA-plot, the expression profile of the genes contributing the most to each PC will also be printed, to give a visual overview of the main dynamics decifering the samples."),
+                             div(h1(strong("Expression Analysis")),br(),
+                                 p("This section gives results related to gene expression measurement. The metric used is the TPM, Transcript Per Million, as computed by RSEM."),
+                                 p("One line per gene. The columns give the TPM value of each gene at each developmental stage for each biological replicate (they can be merged). The last column indicates if the gene contains a minor intron (for those genes, the line is highlighted in yellow)."),
                                  br()),
-                             div(h2(strong("Differential analysis (using DESeq2 1.32.0 or kissDE 1.13.0)")),br(),
-                                 p("Enable users to run differential analyses between any two groups of selected stages. These analyses are time-consuming for IR and AS."),
-                                 p("In addition to a comprehensive summary table, an interactive summary plot will also be outputed (MA-plot for expression, PSI-plot for IR and AS)"),
-                                 h3("GO enrichment (using TopGO 2.44.0)"),
-                                 p("Users can run a GO enrichment analysis on the differentially expressed genes (with org.Dr.eg.db 3.13.0). Depending on the number of differential elements, this can be a time-consuming step. For expression, 3 GO enrichment analyses are launched: one with differentially under-expressed genes vs unchanged genes (UNDER analysis), one with differentially over-expressed genes vs unchanged genes (OVER analysis) and one with differentially expressed genes vs unchanged genes."),
-                                 p("Each gene from a GO term of interest can then be access with the GOID (that can be found in the TopGO result table on the Shiny App). Further informations on these genes can be access in a table and a plot."),
-                                 p("Users can also creat a bar-plot graph to summarize the GO enrichment results."),
+                             div(h1(strong("Intron Retention (IR) Analysis")),br(),
+                                 p("This section gives results related to intron retention detection and measurement. The metric used is the PSI, Percent Spliced In, as computed by KisSplice2refgenome and kissDE. PSI is comprised between 0% and 100%; the higher the value, the higher the retention."),
+                                 p("One line per intron. The columns give the PSI value of each intron at each developmental stage for each biological replicate (they can be merged). The last columns indicate if the gene contains a minor intron and if the intron is a minor one (for those introns, the line is highlighted in yellow)."),
                                  br()),
-                             div(h2(strong("Tracking graph")),br(),
-                                 p("Users can select one ore more genes/introns/splicing event, or genes involved in a given biological process, to visualize their expression or splicing profile throughout the selected stages."),
+                             div(h1(strong("Alternative Splicing (AS) Analysis")),br(),
+                                 p("This section shows results related to alternative splicing event detection and measurement. The metric used is the PSI, Percent Spliced In, as computed by KisSplice2refgenome and kissDE. PSI is comprised between 0% and 100%; the higher the value, the higher the abundance of the longer isoform."),
+                                 p("One line per alternative splicing event. The columns give the PSI value of each event at each developmental stage for each biological replicate (they can be merged). The columns indicate the type of event, if the event involves a U12-type donor or acceptor splice site, a minor intron and if it concerns a gene that contains a minor intron (for those introns, the line is highlighted in yellow)."),
                                  br()),
                              hr(),
                              br(),
-                             div(h1(strong("Expression Analysis")),br(),
-                                 p("This section shows results related to the genes expressions. The main metric is the TPM, Transcript Per Milion, as computed by RSEM."),
-                                 p("One line per genes. The columns give the TPM value of each gene at each development stage. Last column indicate if the gene is a MIG."),
+                             div(h2(strong("Tracking graph analysis")),br(),
+                                 p("Enables to select one or more genes/introns/splicing events, or genes involved in a given biological process, and visualize their expression or splicing profile throughout the selected stages."),
                                  br()),
-                             div(h1(strong("Intron Retention (IR) Analysis")),br(),
-                                 p("This section shows results related to the intron retention. The main metric is the PSI, Percent Spliced In, as computed by kissplice2refgenome and kissDE. PSI is a value between 0 and 1 (or 0% and 100%). The higher the PSI, the higher the retention."),
-                                 p("One line per intron. The columns give the PSI value of each intron at each development stage. Last columns indicate if the gene is a MIG and if the intron is U12."),
+                             div(h2(strong("PCA-plot analysis (using ade4 version 1.7-17)")),br(),
+                                 p("Enables to perform PCA on genes/introns/events of the active table. Users can select all of them or choose the number of genes/introns/events to use. Which PC to plot on the 2D graph can also be selected."),
+                                 p("Concerning gene expression, all or the n-most variable genes can be used. If all the genes are selected, then the TPM distribution is rescale to have a mean value of 0 and a variance of 1. Else, the n-most variable genes are selected, which will bias the PCA toward higly expressed genes as variability increase with expression."),
+                                 h3("Genes/introns/events contributing to each PC"),
+                                 p("In addition to the PCA-plot, the expression profile of the genes most contributing to each PC will also be shown, to give a visual overview of the main dynamics of the different developmental stages."),
                                  br()),
-                             div(h1(strong("Alternative Splicing (AS) Analysis")),br(),
-                                 p("This section shows results related to alternative splicing events. The main metric is the PSI, Percent Spliced In, as computed by kissplice2refgenome and kissDE. PSI is a value between 0 and 1 (or 0% and 100%). The higher the PSI, the higher the abundance of the longer isoform."),
-                                 p("One line per alternative splicing event. The columns give the PSI value of each event at each development stage. Last columns indicate if the gene is a MIG and if the event involve an U12 intron."),
+                             div(h2(strong("Differential analysis (using DESeq2 version 1.32.0 or kissDE version 1.15.0)")),br(),
+                                 p("Enables to run differential analyses between any two groups of selected stages. These analyses are time-consuming for IR and AS."),
+                                 p("In addition to providing a comprehensive summary table, an interactive summary plot will also be shown (MA-plot for expression level, PSI-plot for IR and AS)."),
+                                 h3("GO enrichment analysis (using TopGO version 2.44.0)"),
+                                 p("Enables to run a GO enrichment analysis on the differentially expressed/spliced genes using the genome wide annotation for zebrafish org.Dr.eg.db version 3.13.0. Depending on the number of differential elements analysed, this can be a time-consuming step."),
+                                 p("Each gene associated with a GO term of interest can then be accessed with the GOID (that can be found in the TopGO result table on the Shiny App). Further information on these genes can be accessed in a table and a plot."),
+                                 p("Users can also create a bar-plot graph to summarize the GO enrichment results."),
                                  br()),
                              column(width=12,
                                     div(img(src = "https://lbbe.univ-lyon1.fr/sites/default/files/icons/logo_1.svg", height = 75, hspace = 5), 
diff --git a/ui_scripts/uiExprdata.R b/ui_scripts/uiExprdata.R
index cee7b3f402a4fef130a8d00ae3e57a2a3c0ed907..7c4e1e58490d1a1d66d01b7fe6a54e6a305caacd 100644
--- a/ui_scripts/uiExprdata.R
+++ b/ui_scripts/uiExprdata.R
@@ -15,31 +15,36 @@ return(
                              selectizeInput(inputId = "exprGroup",label="Select one or more expression group (Spearman correlation >= 0.8, ordered from largest to smallest groups)",choices = paste("G",c(2:length(unique(expMerged$group))-1),sep="."),selected=NULL,multiple=T),
                              
                              h3("Gene biotype"),
-                             checkboxGroupInput("fBiotype",label = "Show only the genes with these biotypes:", choices = unique(expSep$Gene.type),selected = "protein_coding"),
+                             radioButtons("fBiotype",
+                                          label = "Select genes biotype:",
+                                          choiceNames = c("All genes", "Protein-coding genes"),
+                                          choiceValues = c(0,1),
+                                          inline = TRUE),
+                             #checkboxGroupInput("fBiotype",label = "Show only the genes with these biotypes:", choices = unique(expSep$Gene.type),selected = "protein_coding"),
                              
                              h3("ERCC"),
                              checkboxInput("fERCC", "Include ERCC (spike-in) data", F),
                              
-                             h3("Dev. stages"),
-                             
-                             checkboxInput("fExp1", "Filter dev. stage 1 (1-cell, 0hpf)", F),
-                             checkboxInput("fExp2", "Filter dev. stage 2 (2-cell, 0.75hpf)", F),
-                             checkboxInput("fExp3", "Filter dev. stage 3 (128-cell, 2.25hpf)", F),
-                             checkboxInput("fExp4", "Filter dev. stage 4 (1k-cell, 3hpf)", F),
-                             checkboxInput("fExp5", "Filter dev. stage 5 (Dome, 4.3hpf)", F),
-                             checkboxInput("fExp6", "Filter dev. stage 6 (50%epi, 5.25hpf)", F),
-                             checkboxInput("fExp7", "Filter dev. stage 7 (Shield, 6hpf)", F),
-                             checkboxInput("fExp8", "Filter dev. stage 8 (75%epi, 8hpf)", F),
-                             checkboxInput("fExp9", "Filter dev. stage 9 (1-4Som, 10.3hpf)", F),
-                             checkboxInput("fExp10", "Filter dev. stage 10 (14-19Som, 16hpf)", F),
-                             checkboxInput("fExp11", "Filter dev. stage 11 (20-25Som, 19hpf)", F),
-                             checkboxInput("fExp12", "Filter dev. stage 12 (Prim-5, 24hpf)", F),
-                             checkboxInput("fExp13", "Filter dev. stage 13 (Prim-15, 30hpf)", F),
-                             checkboxInput("fExp14", "Filter dev. stage 14 (Prim-25, 36hpf)", F),
-                             checkboxInput("fExp15", "Filter dev. stage 15 (Long-Pec, 48hpf)", F),
-                             checkboxInput("fExp16", "Filter dev. stage 16 (ProtrudingMouth, 3dpf)", F),
-                             checkboxInput("fExp17", "Filter dev. stage 17 (Day4, 4dpf)", F),
-                             checkboxInput("fExp18", "Filter dev. stage 18 (Day5, 5pf)", F),
+                             h3("Filter Developmental stages"),
+
+                             checkboxInput("fExp1", "Stage 1 (1-cell, 0hpf)", F),
+                             checkboxInput("fExp2", "Stage 2 (2-cell, 0.75hpf)", F),
+                             checkboxInput("fExp3", "Stage 3 (128-cell, 2.25hpf)", F),
+                             checkboxInput("fExp4", "Stage 4 (1k-cell, 3hpf)", F),
+                             checkboxInput("fExp5", "Stage 5 (Dome, 4.3hpf)", F),
+                             checkboxInput("fExp6", "Stage 6 (50%epi, 5.25hpf)", F),
+                             checkboxInput("fExp7", "Stage 7 (Shield, 6hpf)", F),
+                             checkboxInput("fExp8", "Stage 8 (75%epi, 8hpf)", F),
+                             checkboxInput("fExp9", "Stage 9 (1-4Som, 10.3hpf)", F),
+                             checkboxInput("fExp10", "Stage 10 (14-19Som, 16hpf)", F),
+                             checkboxInput("fExp11", "Stage 11 (20-25Som, 19hpf)", F),
+                             checkboxInput("fExp12", "Stage 12 (Prim-5, 24hpf)", F),
+                             checkboxInput("fExp13", "Stage 13 (Prim-15, 30hpf)", F),
+                             checkboxInput("fExp14", "Stage 14 (Prim-25, 36hpf)", F),
+                             checkboxInput("fExp15", "Stage 15 (Long-Pec, 48hpf)", F),
+                             checkboxInput("fExp16", "Stage 16 (ProtrudingMouth, 3dpf)", F),
+                             checkboxInput("fExp17", "Stage 17 (Day4, 4dpf)", F),
+                             checkboxInput("fExp18", "Stage 18 (Day5, 5pf)", F),
                              
                              h3("Mean values"),