Commit abd0bf5f authored by mmassaviol's avatar mmassaviol
Browse files

Update, default tool selection and group loading with sample detection

parent 8f00e050
......@@ -123,7 +123,7 @@ generate_page_input <- function(res, cnt) {
}
}
res <- res + ' selected = "'+cnt$selected+'"' + ', width = "'+ 'auto' +'")'
res <- res + ' selected = "'+cnt$value+'"' + ', width = "'+ 'auto' +'")'
} else if(cnt$type == "radio") {
......@@ -142,7 +142,7 @@ generate_page_input <- function(res, cnt) {
}
}
res <- res + ' selected = "'+cnt$selected+'"' + ', width = "'+ 'auto' +'")'
res <- res + ' selected = "'+cnt$value+'"' + ', width = "'+ 'auto' +'")'
} else if(cnt$type == "checkbox") {
......@@ -201,7 +201,7 @@ generate_page_input <- function(res, cnt) {
}
}
res <- res + '), selected = "'+cnt$selected+'"' + ', width = "'+ 'auto' +'")'
res <- res + '), selected = "'+cnt$value+'"' + ', width = "'+ 'auto' +'")'
} else if(cnt$type == "file") {
......@@ -308,7 +308,7 @@ generate_pages_server <- function() {
if(length(boxes) > 0) {
if(length(boxes) > 1){
res <- res + '\tselectInput("select' + content$name + '", label = "Select the tool to use : ", choices = list('
res <- res + '\tselectInput("select' + content$name + '", label = "Select the tool to use : ", selected = "' + content$default + '", choices = list('
for(b in 1:length(boxes)) { # construction list box tools
res <- res + '"' + boxes[[b]]$name +'" = "' + boxes[[b]]$name + '"'
......@@ -585,6 +585,11 @@ generate_pages_server <- function() {
res <- res + '\t\tclass(result) <- "verbatim"\n'
res <- res + '\t\treturn(result)\n'
res <- res + '\t}\n'
res <- res + '\tsamples = yaml.load(system("python3 /workflow/get_samples.py /samples /samples/groups.csv",intern = T))\n'
res <- res + '\tc$samples = names(samples)\n'
res <- res + '\tc$names(samples) = NULL\n'
res <- res + '\tc$groups = unlist(samples)\n'
res <- res + '\twrite_yaml(c,"/results/params.yml",handlers=list(logical = logical))\n'
res <- res + '\ti = sample.int(1000,size = 1)\n'
......@@ -616,7 +621,10 @@ generate_pages_server <- function() {
res <- res + '\t\tclass(result) <- "verbatim"\n'
res <- res + '\t\treturn(result)\n'
res <- res + '\t}\n'
res <- res + '\tsamples = yaml.load(system("python3 /workflow/get_samples.py /samples /samples/groups.csv",intern = T))\n'
res <- res + '\tc$samples = names(samples)\n'
res <- res + '\tc$names(samples) = NULL\n'
res <- res + '\tc$groups = unlist(samples)\n'
res <- res + '\twrite_yaml(c,"/results/params.yml",handlers=list(logical = logical))\n'
res <- res + '\t '
......@@ -683,7 +691,7 @@ generate_menu <- function() {
if("DAG" %in% names(APP)){
name <- "DAG"
icon <- "pencil"
icon <- "gear"
menu <- "DAG"
res <- res + ' menuItem("'+menu+'", tabName="'+name+'", icon=icon("'+icon+'", lib="font-awesome"), newtab=FALSE),\n\n'
}
......@@ -697,13 +705,13 @@ generate_menu <- function() {
res <- res + ' tags$br(),\n\n'
res <- res + ' numericInput("cores", label = "Threads availaible", min = 1, max = NA, step = 1, width = "auto", value = 4),\n'
res <- res + ' numericInput("cores", label = "Threads available", min = 1, max = NA, step = 1, width = "auto", value = 4),\n'
if("DAG" %in% names(APP)){
res <- res + ' tags$br(),\n\n'
res <- res + ' actionButton("DAG", "DAG", icon("pencil") , class="btn btn-info"),\n\n'
res <- res + ' actionButton("DAG", "DAG", icon("gear") , class="btn btn-info"),\n\n'
}
......
......@@ -9,95 +9,195 @@ App:
- name: global_params
title: 'Global parameters :'
status: success
defined: false
content:
- {name: sample_dir, type: text, value: /, label: 'Samples directory: '}
- {name: sample_dir, type: text, value: /samples, label: 'Samples directory: '}
- {name: sample_suffix, type: text, value: .fastq.gz, label: 'Samples suffix: '}
- {name: results_dir, type: text, value: /home/mbb/Documents/results, label: 'Results
directory: '}
- {name: results_dir, type: text, value: /results, label: 'Results directory: '}
- name: SeOrPe
type: radio
selected: PE
value: PE
choices:
- {Single end: SE}
- {Paired end: PE}
label: 'Single end reads (SE) or Paired end reads (PE): '
- icon: pencil
label: Trimming
name: trimming
default: 'null'
boxes:
- name: trimmomatic
title: Trimmomatic
status: success
content:
- {name: trimmomatic_threads, prefix: -threads, type: numeric, value: 4, min: 1,
max: NA, step: 1, label: Number of threads to use}
- name: trimmomatic_qc_score
type: radio
value: -phred64
choices:
- {phred33: -phred33}
- {phred64: -phred64}
label: Quality score encoding
- {name: trimmomatic, type: help, label: 'Trimmomatic: A flexible read trimming
tool for Illumina NGS data'}
- {name: trimmomatic, type: link, label: 'Website : ', href: 'http://www.usadellab.org/cms/?page=trimmomatic'}
- {name: trimmomatic, type: link, label: 'Documentation : ', href: 'http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/TrimmomaticManual_V0.32.pdf'}
- {name: trimmomatic, type: link, label: 'Paper : ', href: 'https://doi.org/10.1093/bioinformatics/btu170'}
- name: 'null'
title: 'null'
status: success
content:
- {name: null, type: help, label: 'null: Skip this step'}
- icon: pencil
label: Quality check
name: quality_check
default: fastqc
boxes:
- name: fastqc
title: FastQC
status: success
content:
- {name: fastqc, type: help, label: A quality control tool for high throughput
raw sequence data.}
- {name: fastqc, type: link, label: 'Website : ', href: 'https://www.bioinformatics.babraham.ac.uk/projects/fastqc/'}
- {name: fastqc_threads, prefix: -t, type: numeric, default: 1, min: 1, max: NA,
- {name: fastqc_threads, prefix: -t, type: numeric, value: 4, min: 1, max: NA,
step: 1, label: Number of threads to use}
- {name: fastqc, type: help, label: 'FastQC: A quality control tool for high
throughput raw sequence data.'}
- {name: fastqc, type: link, label: 'Website : ', href: 'https://www.bioinformatics.babraham.ac.uk/projects/fastqc/'}
- {name: fastqc, type: link, label: 'Documentation : ', href: 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/'}
- icon: pencil
label: Quantification
name: quantification
default: kallisto
boxes:
- name: kallisto
title: kallisto
status: success
content:
- {name: kallisto, type: help, label: 'kallisto is a program for quantifying
abundances of transcripts from RNA-Seq data, or more generally of target
sequences using high-throughput sequencing reads.'}
- {name: kallisto, type: link, label: 'Website : ', href: 'https://pachterlab.github.io/kallisto/'}
- {name: kallisto, type: link, label: 'Paper : ', href: 'https://doi.org/10.1038/nbt.3519'}
- {name: kallisto_quant_threads, prefix: -t, type: numeric, default: 1, min: 1,
- {name: kallisto_index_input, type: text, value: '', label: Address to reference
fasta file}
- {name: kallisto_quant_threads, prefix: -t, type: numeric, value: 4, min: 1,
max: NA, step: 1, label: Number of threads to use}
- name: kallisto_quant_pe_stranded
- {name: kallisto_quant_SE_fragment_length, prefix: -l, type: numeric, value: 300,
min: 1, max: NA, step: 1, label: Estimated average fragment length}
- {name: kallisto_quant_SE_standard_deviation, prefix: -s, type: numeric, value: 2,
min: 1, max: NA, step: 1, label: Estimated standard deviation of fragment
length}
- name: kallisto_quant_PE_stranded
type: radio
choices:
- {Not stranded: ''}
- {Forward Reverse: --fr-stranded}
- {Reverse Forward: --rf-stranded}
default: ''
value: ''
label: For strand specific mode choose --fr-stranded if the first read is
forward and choose --rf-stranded if the first read is reverse
- {name: kallisto, type: help, label: 'kallisto: kallisto is a program for quantifying
abundances of transcripts from RNA-Seq data, or more generally of target
sequences using high-throughput sequencing reads.'}
- {name: kallisto, type: link, label: 'Website : ', href: 'https://pachterlab.github.io/kallisto/'}
- {name: kallisto, type: link, label: 'Documentation : ', href: 'https://pachterlab.github.io/kallisto/manual'}
- {name: kallisto, type: link, label: 'Paper : ', href: 'https://doi.org/10.1038/nbt.3519'}
- name: salmon
title: Salmon
status: success
content:
- {name: salmon, type: help, label: 'Salmon is a tool for quantifying the expression
of transcripts using RNA-seq data. '}
- {name: salmon, type: link, label: 'Website : ', href: 'https://combine-lab.github.io/salmon/'}
- {name: salmon, type: link, label: 'Paper : ', href: 'https://doi.org/10.1038/nmeth.4197'}
- {name: salmon_index_threads, prefix: -p, type: numeric, default: 1, min: 1,
- {name: salmon_index_input, prefix: -t, type: text, value: '', label: Address
to reference fasta file}
- {name: salmon_index_threads, prefix: -p, type: numeric, value: 4, min: 1,
max: NA, step: 1, label: Number of threads to use for index creation}
- {name: salmon_quant_threads, prefix: -t, type: numeric, default: 1, min: 1,
- {name: salmon_quant_threads, prefix: -t, type: numeric, value: 4, min: 1,
max: NA, step: 1, label: Number of threads to use}
- {name: salmon, type: help, label: 'Salmon: Salmon is a tool for quantifying
the expression of transcripts using RNA-seq data. '}
- {name: salmon, type: link, label: 'Website : ', href: 'https://combine-lab.github.io/salmon/'}
- {name: salmon, type: link, label: 'Documentation : ', href: 'https://salmon.readthedocs.io/en/latest/'}
- {name: salmon, type: link, label: 'Paper : ', href: 'https://doi.org/10.1038/nmeth.4197'}
- icon: pencil
label: Differential expression
name: DE
default: edger
boxes:
- name: edger
title: edgeR
status: success
content:
- {name: edger, type: help, label: Empirical Analysis of Digital Gene Expression
Data.}
- {name: edger_threads, prefix: -t, type: numeric, value: 4, min: 1, max: NA,
step: 1, label: Number of threads to use}
- {name: edger_tx2gene, type: checkbox, value: false, label: 'Aggregate transcripts
counts to gene counts : '}
- {name: edger_annotations, type: text, value: '', label: 'Annotation file (gtf
or gff) : '}
- name: edger_normfact
type: radio
value: TMM
choices:
- {TMM: TMM}
- {RLE: RLE}
- {upperquartile: upperquartile}
- {none: none}
label: Calculate normalization factors to scale the raw library sizes.
- {name: edger_dispersion, type: text, value: '0', label: 'Dispersion: either
a numeric vector of dispersions or a character string indicating that dispersions
should be taken from the data.'}
- name: edger_testType
type: radio
value: exactTest
choices:
- {exactTest: exactTest}
- {glmLRT: glmLRT}
label: 'Test type: exactTest: Computes p-values for differential abundance
for each gene between two samples, conditioning on the total count for each
gene. The counts in each group are assumed to follow a binomial distribution
glmLRT: Fits a negative binomial generalized log-linear model to the read
counts for each gene and conducts genewise statistical tests.'
- {name: edger, type: help, label: 'edgeR: Empirical Analysis of Digital Gene
Expression Data.'}
- {name: edger, type: link, label: 'Website : ', href: 'http://bioconductor.org/packages/release/bioc/html/edgeR.html'}
- {name: edger, type: link, label: 'Documentation : ', href: 'http://bioconductor.org/packages/release/bioc/manuals/edgeR/man/edgeR.pdf'}
- {name: edger, type: link, label: 'Paper : ', href: 'https://doi.org/10.18129/B9.bioc.edgeR'}
- name: deseq2
title: DESeq2
status: success
content:
- {name: deseq2, type: help, label: Differential gene expression analysis based
on the negative binomial distribution. Using normalized count data.}
- {name: deseq2_threads, prefix: -t, type: numeric, value: 4, min: 1, max: NA,
step: 1, label: Number of threads to use}
- {name: deseq2_tx2gene, type: checkbox, value: false, label: 'Aggregate transcripts
counts to gene counts : '}
- {name: deseq2_annotations, type: text, value: '', label: 'Annotation file
(gtf or gff) : '}
- name: deseq2_fitType
type: radio
value: parametric
choices:
- {parametric: parametric}
- {local: local}
- {mean: mean}
label: Type of fitting of dispersions to the mean intensity
- {name: deseq2_betaPrior, type: checkbox, value: false, label: 'betaPrior:
whether or not to put a zero-mean normal prior on the non-intercept coefficients.
By default, the beta prior is used only for the Wald test, but can also
be specified for the likelihood ratio test.'}
- name: deseq2_testType
type: radio
value: LRT
choices:
- {LRT: LRT}
- {Wald: Wald}
label: 'Test type: Use either Wald significance tests, or the likelihood ratio
test on the difference in deviance between a full and reduced model formula'
- {name: deseq2, type: help, label: 'DESeq2: Differential gene expression analysis
based on the negative binomial distribution. Using normalized count data.'}
- {name: deseq2, type: link, label: 'Website : ', href: 'https://bioconductor.org/packages/release/bioc/html/DESeq2.html'}
- {name: deseq2, type: link, label: 'Documentation : ', href: 'https://bioconductor.org/packages/release/bioc/manuals/DESeq2/man/DESeq2.pdf'}
- {name: deseq2, type: link, label: 'Paper : ', href: 'https://doi.org/10.1186/s13059-014-0550-8'}
run:
shiny_button: {name: RunPipeline, type: button, icon: pencil, class: btn btn-info,
shiny_button: {name: RunPipeline, type: button, icon: play, class: btn btn-info,
label: Run pipeline}
program: singularity exec /home/mbb/Documents/singularities/pipelineRNA.simg snakemake
-s /home/mbb/Documents/waw/workflows/RNAseq/RNAseq.snakefile --configfile /home/mbb/Documents/test/params/params.yml
program: snakemake
options:
- {name: '', type: value, value: ''}
download:
shiny_button: {name: DownloadPipeline, type: button, class: btn btn-light, label: Download
pipeline}
- {name: -s, type: value, value: /workflow/Snakefile}
- {name: --configfile, type: value, value: /results/params.yml}
- {name: -d, type: value, value: /results}
- {name: --cores, type: shiny, value: cores}
DAG: null
Report: null
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment