Commit a7b75da0 authored by Gael  MILLOT's avatar Gael MILLOT
Browse files

For Fred : still problem of cache even if no more option true + problem of wrong files in reports

parent 213318ab
File mode changed from 100644 to 100755
......@@ -394,6 +394,8 @@ if( ! grepl(x = file_name, pattern = "^.*nodup.*$")){
options(scipen = 1000)
write.table(res, file = paste0("./", file_name, "_annot_selected.freq"), row.names = FALSE, col.names = TRUE, append = FALSE, quote = FALSE, sep = "\t") # if duplicated -> selected data for highest usage # file for plotting selection insertion sites in duplicated reads
options(scipen = 0)
}else{
write.table(NULL, file = paste0("./", file_name, "_annot_selected.freq"), row.names = FALSE, col.names = TRUE, append = FALSE, quote = FALSE, sep = "\t")
}
options(scipen = 1000) # to avoid writing of scientific numbers in tables, see https://stackoverflow.com/questions/3978266/number-format-writing-1e-5-instead-of-0-00001
......
......@@ -27,7 +27,7 @@ attc_seq=$7
log=$8
echo -e "<br /><br />\n\n### Selection of reads with the attC in 5'\n\n" > ${log}
echo -e "<br /><br />\n\n### Selection of reads with the attC in 5' and trimming of this sequence\n\n" > ${log}
# fastq filtering
awk -v var1=${fivep_seq_filtering} '
{lineKind=(NR-1)%4;}
......@@ -105,7 +105,8 @@ gawk -v var1=$header 'BEGIN{
# printing the result
echo -e "<br /><br />\n\n### Preparation of the graph of base frequencies\n\n" >> ${log}
echo -e "\n\nLength of the expected attC sequence at the 5' part of reads: ${fivep_seq_nb}\n\n" >> ${log}
echo -e "Number of bases added after the expected attC sequence at the 5' part of reads, for graphical purpose: ${added_nb}\n\n" >> ${log}
echo -e "\n\nNumber of bases added after the expected attC sequence at the 5' part of reads, for graphical purpose: ${added_nb}\n\n" >> ${log}
echo -e "\n\nFrequencies of the graph are in the [${output_file}_5pAttc_1-${sum_of_2_nb}.stat](./files/${output_file}_5pAttc_1-${sum_of_2_nb}.stat) file\n\n" >> ${log}
# cat ${output_file}_5pAttc_1-${fivep_seq_nb}.stat >> ${log}
echo -e "\n\n" >> ${log}
# end printing the result
......
......@@ -85,6 +85,7 @@ if(interactive() == FALSE){ # if(grepl(x = commandArgs(trailingOnly = FALSE), pa
"window_size",
"step",
"file_name",
"task.cpus",
"cute",
"log"
) # objects names exactly in the same order as in the bash code and recovered in args. Here only one, because only the path of the config file to indicate after the plot_insertion.R script execution
......@@ -153,6 +154,7 @@ param.list <- c(
"window_size",
"step",
"file_name",
"task.cpus",
"cute",
"log"
)
......@@ -237,6 +239,7 @@ if( ! is.null(tempo)){
# R Packages required
req.package.list <- c(
"lubridate",
"parallel",
"ggplot2",
"lemon",
"pdftools"
......@@ -272,6 +275,7 @@ tempo <- fun_check(data = prop_ess_coding_genome, class = "vector", typeof = "ch
tempo <- fun_check(data = window_size, class = "vector", typeof = "character", length = 1) ; eval(ee)
tempo <- fun_check(data = step, class = "vector", typeof = "character", length = 1) ; eval(ee)
tempo <- fun_check(data = file_name, class = "vector", typeof = "character", length = 1) ; eval(ee)
tempo <- fun_check(data = task.cpus, class = "vector", typeof = "character", length = 1) ; eval(ee)
tempo <- fun_check(data = cute, class = "vector", typeof = "character", length = 1) ; eval(ee)
tempo <- fun_check(data = log, class = "vector", typeof = "character", length = 1) ; eval(ee)
if(any(arg.check) == TRUE){ # normally no NA
......@@ -296,6 +300,7 @@ tempo.arg <-c(
"window_size",
"step",
"file_name",
"task.cpus",
"cute",
"log"
)
......@@ -391,7 +396,16 @@ if(any(grepl(step, pattern = "\\D"))){ # "\\D" means at least something other th
stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE)
}
}
if(length(task.cpus) != 1 & any(grepl(task.cpus, pattern = "\\D"))){# normally no NA with is.null()
tempo.cat <- paste0("ERROR IN plot_insertion.R:\nTHE task.cpus PARAMETER MUST BE A SINGLE INTEGER\nHERE IT IS: \n", paste0(task.cpus, collapse = " "))
stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) # == in stop() to be able to add several messages between ==
}else{
task.cpus <- as.integer(task.cpus)
if(any(is.na(task.cpus))){
tempo.cat <- paste0("ERROR IN plot_insertion.R:\nTHE CONVERSION OF THE task.cpus PARAMETER INTO INTEGER RETURNS NA: \n", paste0(task.cpus, collapse = " "))
stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE)
}
}
# end other checkings
# reserved word checking
......@@ -651,10 +665,10 @@ if(ncol(obs.rd.freq) > 0){
for(i0 in window_size){
# leading and lagging
lead.obs <- fun_slide(data = obs.rd.pos$Position[obs.rd.pos$fork== "Leading" & obs.rd.pos$KIND == "obs"], window.size = i0, step = step, fun = length, from = min(obs.rd.pos$Position), to = max(obs.rd.pos$Position), parall = FALSE, cute.path = cute)
lag.obs <- fun_slide(data = obs.rd.pos$Position[obs.rd.pos$fork== "Lagging" & obs.rd.pos$KIND == "obs"], window.size = i0, step = step, fun = length, from = min(obs.rd.pos$Position), to = max(obs.rd.pos$Position), parall = FALSE, cute.path = cute)
lead.rd <- fun_slide(data = obs.rd.pos$Position[obs.rd.pos$fork== "Leading" & obs.rd.pos$KIND == "random"], window.size = i0, step = step, fun = length, from = min(obs.rd.pos$Position), to = max(obs.rd.pos$Position), parall = FALSE, cute.path = cute)
lag.rd <- fun_slide(data = obs.rd.pos$Position[obs.rd.pos$fork== "Lagging" & obs.rd.pos$KIND == "random"], window.size = i0, step = step, fun = length, from = min(obs.rd.pos$Position), to = max(obs.rd.pos$Position), parall = FALSE, cute.path = cute)
lead.obs <- fun_slide(data = obs.rd.pos$Position[obs.rd.pos$fork== "Leading" & obs.rd.pos$KIND == "obs"], window.size = i0, step = step, fun = length, from = min(obs.rd.pos$Position), to = max(obs.rd.pos$Position), parall = TRUE, thread.nb = task.cpus, cute.path = cute)
lag.obs <- fun_slide(data = obs.rd.pos$Position[obs.rd.pos$fork== "Lagging" & obs.rd.pos$KIND == "obs"], window.size = i0, step = step, fun = length, from = min(obs.rd.pos$Position), to = max(obs.rd.pos$Position), parall = TRUE, thread.nb = task.cpus, cute.path = cute)
lead.rd <- fun_slide(data = obs.rd.pos$Position[obs.rd.pos$fork== "Leading" & obs.rd.pos$KIND == "random"], window.size = i0, step = step, fun = length, from = min(obs.rd.pos$Position), to = max(obs.rd.pos$Position), parall = TRUE, thread.nb = task.cpus, cute.path = cute)
lag.rd <- fun_slide(data = obs.rd.pos$Position[obs.rd.pos$fork== "Lagging" & obs.rd.pos$KIND == "random"], window.size = i0, step = step, fun = length, from = min(obs.rd.pos$Position), to = max(obs.rd.pos$Position), parall = TRUE, thread.nb = task.cpus, cute.path = cute)
lead.obs <- data.frame(lead.obs, STRAND = "Leading", KIND = "OBS", stringsAsFactors = TRUE)
......
......@@ -261,14 +261,6 @@ process fivep_filtering { // section 8.6 to 8.13 of the labbook 20200520. Instea
script:
"""
fivep_filtering.sh ${fq} "${file_name}" "${fivep_seq_filtering}" ${fivep_seq_nb} ${added_nb} ${sum_of_2_nb} "${attc_seq}" "report.rmd"
echo "Nucleotide frequencies of the 5\' part of reads:\n\n" > report.rmd
echo "
\\`\\`\\`{r, echo = FALSE}
tempo <- read.table('./files/${file_name}_5pAttc_1-${sum_of_2_nb}.stat', header = TRUE, row.names = 1, colClasses = 'character', sep = '\\t', check.names = FALSE) ;
kableExtra::kable_styling(knitr::kable(tempo, row.names = TRUE, digits = 2, caption = NULL, format='html'), c('striped', 'bordered', 'responsive', 'condensed'), font_size=10, full_width = FALSE, position = 'left')
\\`\\`\\`
\n\n
" >> report.rmd
"""
// single \n and not \\n because echo "" and not echo ''
// for nice tables in knitted documents, see https://cran.r-project.org/web/packages/kableExtra/vignettes/awesome_table_in_html.html
......@@ -630,7 +622,7 @@ process insertion { // section 24.7 of the labbook 20200707
label 'samtools' // see the withLabel: bash in the nextflow config file
// publishDir "${out_path}/reports", mode: 'copy', pattern: "*_insertion_report.txt", overwrite: false
publishDir "${out_path}/files", mode: 'copy', pattern: "*.pos", overwrite: false //
cache 'lenient'
cache 'true'
input:
val file_name
......@@ -639,24 +631,25 @@ process insertion { // section 24.7 of the labbook 20200707
output:
file "${bam.baseName}.pos" into orient_ch1 // warning: 2 files (no duplication and duplications)
file "insertion_report.txt" into insertion_report_ch // warning: several files
file "report.rmd" optional true into log_ch15 // single file
file "report.rmd" into tempo_log_ch // optional true into log_ch15 // single file
// optional true: report.rmd sent into a channel only if the process has generated a report.rmd. Of note, if("${bam}" == "${file_name}_q20_nodup.bam"){file "report.rmd" into log_ch15} does not work
script:
"""
if [[ ${bam} == "${file_name}_q20_nodup.bam" ]] ; then
echo -e "\\n\\n<br /><br />\\n\\n### Insertion positions\\n\\n" > report.rmd
echo -e "\\n\\nOne of the step is to correct insertion site read extremity for the reverse reads. It consist in the redefinition of POS according to FLAG in the bam file. See the [insertion_report.txt](./reports/insertion_report.txt) file in the reports folders for details\\n\\n" >> report.rmd
echo -e "\\n\\nOne of the step is to recover positions of reverse reads (16), that use the 3\' end of the read as insertion site and not the 5\' part as with forward reads (0).\\nIt consist in the redefinition of POS according to FLAG in the bam file. See the [insertion_report.txt](./reports/insertion_report.txt) file in the reports folders for details\\n\\n" >> report.rmd
fi
# extraction of bam column 2, 4 and 10, i.e., FLAG, POS and SEQ
samtools view ${bam} | awk 'BEGIN{FS="\\t" ; OFS="" ; ORS=""}{print ">"\$2"\\t"\$4"\\n"\$10"\\n" }' > tempo
# Of note, samtools fasta \$DIR/\$SAMPLE_NAME > \${OUTPUT}.fasta # convert bam into fasta
echo -e "\\n\\n######## ${bam} file\n\nExtraction of the FLAG (containing the read orientation) the POS and the SEQ of the bams\\nHeader is the 1) sens of insersion (0 or 16) and 2) insertion site position\\n\\n" >> insertion_report.txt
echo -e "\\n\\n######## ${bam} file\\n\\n" > insertion_report.txt
cat tempo | head -60 | tail -20 >> insertion_report.txt
echo -e "\\n\\nExtraction of the FLAG (containing the read orientation) the POS and the SEQ of the bams\\nHeader is the 1) sens of insersion (0 or 16) and 2) insertion site position\\n\\n" >> insertion_report.txt
# redefinition of POS according to FLAG
awk 'BEGIN{FS="\t" ; OFS="" ; ORS=""}{lineKind=(NR-1)%2}lineKind==0{orient=(\$1~">16") ; if(orient){var1 = \$1 ; var2 = \$2}else{print \$0"\\n"}}lineKind==1{if(orient){var3 = length(\$0) ; var4 = var2 + var3 - 1 ; print var1"\\t"var4"\\n"\$0"\\n"}else{print \$0"\\n"}}' tempo > ${file_name}_reorient.fasta
echo -e "\\n\\nFinal fasta file\\n\\n" >> insertion_report.txt
echo -e "\\n\\nFinal fasta file\\n\\nPositions of reverse reads (16) use the 3\\' end of the read as insertion site and not the 5\\' part as with forward reads (0)\\n\\n" >> insertion_report.txt
cat ${file_name}_reorient.fasta | head -60 | tail -20 >> insertion_report.txt
awk '{lineKind=(NR-1)%2}lineKind==0{gsub(/>/, "", \$1) ; print \$0}' ${file_name}_reorient.fasta > ${bam.baseName}.pos
echo -e "\\n\\nFinal pos file\\n\\n" >> insertion_report.txt
......@@ -670,17 +663,20 @@ process insertion { // section 24.7 of the labbook 20200707
echo -e "Ratio: " >> report.rmd
echo -e \$(printf "%.2f\n" \$(echo \$" \$read_nb_after / \$read_nb_before " | bc -l)) >> report.rmd # the number in '%.2f\\n' is the number of decimals
echo -e "\\n\\n" >> report.rmd
else
echo -e "\\n\\n" >> report.rmd
fi
"""
}
tempo_log_ch.collectFile(name: "report.rmd").set{log_ch15}
insertion_report_ch.collectFile(name: "insertion_report.txt").subscribe{it -> it.copyTo("${out_path}/reports")} // concatenate all the cov_report.txt files in channel cov_report_ch into a single file published into ${out_path}/reports
process final_insertion_files { // 44.1 of the labbook 20201210. Also select the nb_max_insertion_sites most frequent sites in the duplicated file
label 'r_ext' // see the withLabel: bash in the nextflow config file
publishDir "${out_path}/files", mode: 'copy', pattern: "{*.pos,*.freq}", overwrite: false
cache 'lenient'
cache 'true'
input:
file pos from orient_ch1 // warning: 2 files
......@@ -693,7 +689,7 @@ process final_insertion_files { // 44.1 of the labbook 20201210. Also select the
file "${pos.baseName}.pos" into pos_ch1, pos_ch2 // warning: 2 files, selected sites if duplicated
file "${pos.baseName}_annot.pos" into pos_annot_ch // warning: 2 files, non selected sites if duplicated
file "${pos.baseName}_annot.freq" into freq_ch // warning: 2 files, non selected sites if duplicated
file "${pos.baseName}_annot_selected.freq" optional true into freq_dup_selected_ch1, freq_dup_selected_ch2 // warning: 1 files, optional true because only made with dup file
file "${pos.baseName}_annot_selected.freq" into freq_dup_selected_ch // optional true into freq_dup_selected_ch1, freq_dup_selected_ch2 // warning: 1 files, optional true because only made with dup file
file "final_insertion_files_report.txt" into final_insertion_files_report_ch // warning: 2 files
script:
......@@ -719,9 +715,14 @@ freq_ch.branch{
nodup: it.getName() =~ /nodup/
dup: true
}.set{tempo_ch2}
// tempo_ch2.nodup.set{freq_nodup_ch1} // warning: 1 file now
tempo_ch2.dup.set{freq_dup_ch1} // warning: 1 file now
freq_dup_selected_ch.branch{
nodup: it.getName() =~ /nodup/
dup: true
}.set{tempo_ch2}
tempo_ch2.dup.into{freq_dup_selected_ch1 ; freq_dup_selected_ch2} // warning: 1 file now
final_insertion_files_report_ch.collectFile(name: "final_insertion_files_report.txt").subscribe{it -> it.copyTo("${out_path}/reports")}
......@@ -1030,7 +1031,7 @@ process random_insertion { // sections 44 of the labbook 20201210
echo -e "\\n\\n<br /><br />\\n\\n### Random insertion sites\\n\\n" > report.rmd
echo -e "\\n\\n#### Insertion site counts\\n\\n" >> report.rmd
echo -e "\\n\\nSee the [random_insertion_report.txt](./files/random_insertion_report.txt) file for details\\n\\n" >> report.rmd
echo -e "\\n\\nSee the [random_insertion_report.txt](./reports/random_insertion_report.txt) file for details, notably the number of random sites (which should be the same as the number of observed sites)\\n\\n" >> report.rmd
echo -e '
\\n\\n<br /><br />\\n\\n</center>\\n\\n
![Figure 14: Number of motifs insertion per fork](./figures/plot_motif_insertion_per_fork.png){width=400}
......@@ -1058,7 +1059,7 @@ process random_insertion { // sections 44 of the labbook 20201210
process plot_insertion { // sections 24.7.2 and 45 of the labbook 20200520, for TSS, section 47 20201211, for CDS section 48 20201211
label 'r_ext' // see the withLabel: bash in the nextflow config file
label 'r_ext_12cpu' // see the withLabel: bash in the nextflow config file
publishDir "${out_path}/figures", mode: 'copy', pattern: "{*.png,*.pdf}", overwrite: false // https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob
publishDir "${out_path}/reports", mode: 'copy', pattern: "{plot_insertion_report.txt}", overwrite: false //
cache 'true'
......@@ -1088,7 +1089,7 @@ process plot_insertion { // sections 24.7.2 and 45 of the labbook 20200520, for
script:
"""
echo -e "\\n\\n<br /><br />\\n\\n### Insertion plots\\n\\n" > report.rmd
plot_insertion.R "${pos}" "${freq}" "$tss" "$ess" "$cds" "${ori_coord}" "${ter_coord}" "${xlab}" "${genome_size}" "${prop_coding_genome}" "${prop_ess_coding_genome}" "${window_size}" "${step}" "${file_name}" "${cute_path}" "plot_insertion_report.txt"
plot_insertion.R "${pos}" "${freq}" "$tss" "$ess" "$cds" "${ori_coord}" "${ter_coord}" "${xlab}" "${genome_size}" "${prop_coding_genome}" "${prop_ess_coding_genome}" "${window_size}" "${step}" "${file_name}" "${task.cpus}" "${cute_path}" "plot_insertion_report.txt"
echo -e "\\n\\n#### Histograms\\n\\n" >> report.rmd
echo -e '
\\n\\n</center>\\n\\n
......@@ -1140,6 +1141,7 @@ process plot_insertion { // sections 24.7.2 and 45 of the labbook 20200520, for
![Figure \'\$((28 + \$count))\': Insertion relative to TSS without unknown.](./figures/boxplot_${file_name}_tss_wo_unknown.png){width=600}
\\n\\n</center>\\n\\n<br /><br />\\n\\n
\\n\\n<br /><br />\\n\\n### Coding sequences (CDS) plots\\n\\n
\\n\\n<br /><br />\\n\\nThe number of insertions sites inside CDS are indicated above graphs.\\n\\n
\\n\\n</center>\\n\\n<br /><br />\\n\\n
![Figure \'\$((29 + \$count))\': Insertion relative to CDS.](./figures/boxplot_${file_name}_cds.png){width=600}
\\n\\n</center>\\n\\n<br /><br />\\n\\n
......@@ -1299,7 +1301,7 @@ kableExtra::kable_styling(knitr::kable(tempo, row.names = TRUE, digits = 0, capt
" >> report.rmd
echo -e '
\\n\\n<br /><br />\\n\\n</center>\\n\\n
![Figure \'\$(echo \$((\$FIG_NB + 2)))\': Alignment of the selected sites](./figures/alignment.html){width=600}
![Figure \'\$(echo \$((\$FIG_NB + 2)))\': Alignment of the selected sites (click [here](./figures/alignment.html) to extand)](./figures/alignment.html){width=600}
\\n\\n</center>\\n\\n
' >> report.rmd
echo -e "\\n\\n<br /><br />\\n\\nWarning: the frequency of each position is taken into account in the logo plot\\n\\n" >> report.rmd
......
......@@ -64,11 +64,11 @@ env {
insertion_dist="20" // nb of bases upstream and downstream of insertions sites on the ref genome to define a consensus sequence
motif_fw='G[AT]T' // regex indicating the sequence motif to use for random insertions. "NULL" means completely random. Must be 5' -> 3'
motif_rev='A[AT]C' // the antiparallel of motif_fw
window_size = "50000" // width of the sliding window on the reference genome in bp. A single space between the number between double quotes. Example: "50000 200000"
window_size = "50000 200000 500000" // width of the sliding window on the reference genome in bp. A single space between the number between double quotes. Example: "50000 200000"
step = 100 // steps of the sliding window on the reference genome in bp
nb_max_insertion_sites = "6" // nb of higest sites used for insertion in data without duplicates removal
cute_path="https://gitlab.pasteur.fr/gmillot/cute_little_R_functions/-/raw/v11.2.0/cute_little_R_functions.R" // single character string indicating the file (and absolute pathway) of the required cute_little_R_functions toolbox. With ethernet connection available, this can also be used: "https://gitlab.pasteur.fr/gmillot/cute_little_R_functions/raw/v5.1.0/cute_little_R_functions.R" or local "C:\\Users\\Gael\\Documents\\Git_projects\\cute_little_R_functions\\cute_little_R_functions.R"
cute_path="https://gitlab.pasteur.fr/gmillot/cute_little_R_functions/-/raw/v11.4.0/cute_little_R_functions.R" // single character string indicating the file (and absolute pathway) of the required cute_little_R_functions toolbox. With ethernet connection available, this can also be used: "https://gitlab.pasteur.fr/gmillot/cute_little_R_functions/raw/v5.1.0/cute_little_R_functions.R" or local "C:\\Users\\Gael\\Documents\\Git_projects\\cute_little_R_functions\\cute_little_R_functions.R"
}
//////// end variables that will be used only in the main.nf
......@@ -92,9 +92,9 @@ result_folder_name="20220120_test"
//// slurm variables
fastqueue = 'common,dedicated' // fast for -p option of slurm. Example: fastqueue = 'common,dedicated'. Example: fastqueue = 'hubbioit'
fastqos= '--qos=fast' // fast for --qos option of slurm. Example: fastqos= '--qos=fast'
normalqueue = 'common,dedicated' // normal for -p option of slurm. Example: normalqueue = 'bioevo'
normalqueue = 'hubbioit' // normal for -p option of slurm. Example: normalqueue = 'bioevo'
normalqos = '--qos=hubbioit' // normal for --qos option of slurm. Example: normalqos = '--qos=dedicated'
longqueue = 'common,dedicated' // slow for -p option of slurm. Example: longqueue = 'bioevo'
longqueue = 'hubbioit' // slow for -p option of slurm. Example: longqueue = 'bioevo'
longqos = '--qos=hubbioit' // slow for --qos option of slurm. Example: longqos = '--qos=dedicated'
add_options = ' ' // additional option of slurm. Example: addoptions = '--exclude=maestro-1101,maestro-1034' or add_options = ' '
//// end slurm variables
......@@ -195,7 +195,7 @@ process {
queue = "$fastqueue"
clusterOptions = "$fastqos $add_options"
scratch=false
maxRetries=1
maxRetries=30 // not less than 30 here because on dedicated, I can be thrown away by a dedicated user.
errorStrategy='retry'
}else{
maxRetries=0
......@@ -219,7 +219,7 @@ process {
container="evolbioinfo/kraken:v2.0.8-beta"
cpus=20
if(system_exec == 'slurm'){
memory='512G'
memory='64G'
}else{
memory='64G'
}
......@@ -235,9 +235,19 @@ process {
container='gmillot/r_v4.1.2_extended_v2.0:gitlab_v8.2'
cpus=1 // only used when name = "local" in the executor part above
if(system_exec == 'slurm'){
memory='512G'
memory='64G'
}else{
memory='64G'
}
}
withLabel: r_ext_12cpu { // for parallelization processes
container='gmillot/r_v4.1.2_extended_v2.0:gitlab_v8.2'
cpus=12 // only used when name = "local" in the executor part above
if(system_exec == 'slurm'){
memory='64G'
}else{
memory='90G'
memory='64G'
}
}
......@@ -245,9 +255,9 @@ process {
container='gmillot/bowtie2_v2.3.4.3_extended_v2.0:gitlab_v8.0'
cpus=12 // only used when name = "local" in the executor part above
if(system_exec == 'slurm'){
memory='512G'
memory='16G'
}else{
memory='64G'
memory='16G'
}
}
......@@ -273,9 +283,9 @@ process {
container='evolbioinfo/goalign:v0.3.5'
cpus=12
if(system_exec == 'slurm'){
memory='512G'
memory='1G'
}else{
memory='64G'
memory='1G'
}
}
......
Supports Markdown
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