diff --git a/main.nf b/main.nf index b5176ea..db0064d 100644 --- a/main.nf +++ b/main.nf @@ -10,7 +10,6 @@ include { diann_search } from "./workflows/diann_search" include { get_mzmls as get_narrow_mzmls } from "./workflows/get_mzmls" include { get_mzmls as get_wide_mzmls } from "./workflows/get_mzmls" include { skyline_import } from "./workflows/skyline_import" -include { skyline_annotate_doc } from "./workflows/skyline_annotate_document" include { skyline_reports } from "./workflows/skyline_run_reports" include { generate_dia_qc_report } from "./workflows/generate_qc_report" include { panorama_upload_results } from "./workflows/panorama_upload" @@ -88,7 +87,6 @@ workflow { } } - // if accessing panoramaweb and running on aws, set up an aws secret if(workflow.profile == 'aws' && is_panorama_used) { GET_AWS_USER_ID() @@ -324,19 +322,13 @@ workflow { skyline_template_zipfile, fasta, final_elib, - wide_mzml_ch + wide_mzml_ch, + replicate_metadata ) proteowizard_version = skyline_import.out.proteowizard_version } - // annotate skyline document if replicate_metadata was specified - if(params.replicate_metadata != null || params.pdc.study_id != null) { - skyline_annotate_doc(skyline_import.out.skyline_results, - replicate_metadata) - final_skyline_file = skyline_annotate_doc.out.skyline_results - } else { - final_skyline_file = skyline_import.out.skyline_results - } + final_skyline_file = skyline_import.out.skyline_results // generate QC report if(!params.qc_report.skip) { diff --git a/modules/qc_report.nf b/modules/qc_report.nf index 92845bc..f93c9d8 100644 --- a/modules/qc_report.nf +++ b/modules/qc_report.nf @@ -47,42 +47,26 @@ process PARSE_REPORTS { script: def metadata_arg = replicate_metadata.name == 'EMPTY' ? '' : "-m $replicate_metadata" - if(params.qc_report.normalization_method == null) - """ - dia_qc parse --ofname qc_report_data.db3 ${metadata_arg} \ - --groupBy ${params.skyline.group_by_gene ? 'gene' : 'protein'} \ - '${replicate_report}' '${precursor_report}' \ - > >(tee "parse_data.stdout") 2> >(tee "parse_data.stderr") - - dia_qc qc_qmd ${format_flags(params.qc_report.standard_proteins, '--addStdProtein')} \ - ${format_flags(params.qc_report.color_vars, '--addColorVar')} \ - qc_report_data.db3 \ - > >(tee "make_qmd.stdout") 2> >(tee "make_qmd.stderr") - - # get dia_qc version and git info - dia_qc --version|awk '{print \$3}'|xargs -0 printf 'dia_qc_version=%s' > dia_qc_version.txt - echo "dia_qc_git_repo='\$GIT_REPO - \$GIT_BRANCH [\$GIT_SHORT_HASH]'" >> dia_qc_version.txt - """ - - else - """ - dia_qc parse --ofname qc_report_data.db3 ${metadata_arg} \ - --groupBy ${params.skyline.group_by_gene ? 'gene' : 'protein'} \ - '${replicate_report}' '${precursor_report}' \ - > >(tee "parse_data.stdout") 2> >(tee "parse_data.stderr") + """ + dia_qc parse --ofname qc_report_data.db3 ${metadata_arg} \ + --groupBy ${params.skyline.group_by_gene ? 'gene' : 'protein'} \ + '${replicate_report}' '${precursor_report}' \ + > >(tee "parse_data.stdout") 2> >(tee "parse_data.stderr") + if ${params.qc_report.normalization_method == null ? 'false' : 'true'} ; then dia_qc normalize -m=${params.qc_report.normalization_method} qc_report_data.db3 \ > >(tee "normalize_db.stdout") 2> >(tee "normalize_db.stderr" >&2) + fi - dia_qc qc_qmd ${format_flags(params.qc_report.standard_proteins, '--addStdProtein')} \ - ${format_flags(params.qc_report.color_vars, '--addColorVar')} \ - qc_report_data.db3 \ - > >(tee "make_qmd.stdout") 2> >(tee "make_qmd.stderr") + dia_qc qc_qmd ${format_flags(params.qc_report.standard_proteins, '--addStdProtein')} \ + ${format_flags(params.qc_report.color_vars, '--addColorVar')} \ + qc_report_data.db3 \ + > >(tee "make_qmd.stdout") 2> >(tee "make_qmd.stderr") - # get dia_qc version and git info - dia_qc --version|awk '{print \$3}'|xargs -0 printf 'dia_qc_version=%s' > dia_qc_version.txt - echo "dia_qc_git_repo='\$GIT_REPO - \$GIT_BRANCH [\$GIT_SHORT_HASH]'" >> dia_qc_version.txt - """ + # get dia_qc version and git info + dia_qc --version|awk '{print \$3}'|xargs -0 printf 'dia_qc_version=%s' > dia_qc_version.txt + echo "dia_qc_git_repo='\$GIT_REPO - \$GIT_BRANCH [\$GIT_SHORT_HASH]'" >> dia_qc_version.txt + """ stub: """ diff --git a/modules/skyline.nf b/modules/skyline.nf index de1b18c..780b60b 100644 --- a/modules/skyline.nf +++ b/modules/skyline.nf @@ -86,7 +86,7 @@ process SKYLINE_ADD_LIB { } process SKYLINE_IMPORT_MZML { - publishDir "${params.result_dir}/skyline/import-spectra", failOnError: true, mode: 'copy' + publishDir "${params.result_dir}/skyline/import-spectra", pattern: '*.std[oe][ur][tr]', failOnError: true, mode: 'copy' label 'process_medium' label 'process_high_memory' label 'process_short' @@ -123,7 +123,7 @@ process SKYLINE_IMPORT_MZML { } process SKYLINE_MERGE_RESULTS { - publishDir "${params.result_dir}/skyline/import-spectra", failOnError: true, mode: 'copy' + publishDir "${params.result_dir}/skyline/import-spectra", enabled: params.replicate_metadata == null && params.pdc.study_id == null, failOnError: true, mode: 'copy' label 'process_high' label 'error_retry' container params.images.proteowizard @@ -175,7 +175,7 @@ process SKYLINE_MERGE_RESULTS { } process ANNOTATION_TSV_TO_CSV { - publishDir "${params.result_dir}/skyline/annotate", failOnError: true, mode: 'copy' + publishDir "${params.result_dir}/skyline/import-spectra", failOnError: true, mode: 'copy' label 'process_low' label 'error_retry' container params.images.qc_pipeline @@ -199,6 +199,7 @@ process ANNOTATION_TSV_TO_CSV { } process SKYLINE_MINIMIZE_DOCUMENT { + publishDir "${params.result_dir}/skyline/minimize", failOnError: true, mode: 'copy' label 'error_retry' label 'process_high' container params.images.proteowizard @@ -238,7 +239,7 @@ process SKYLINE_MINIMIZE_DOCUMENT { } process SKYLINE_ANNOTATE_DOCUMENT { - publishDir "${params.result_dir}/skyline/annotate", failOnError: true, mode: 'copy' + publishDir "${params.result_dir}/skyline/import-spectra", failOnError: true, mode: 'copy' label 'process_memory_high_constant' container params.images.proteowizard diff --git a/workflows/skyline_annotate_document.nf b/workflows/skyline_annotate_document.nf deleted file mode 100644 index 33f756f..0000000 --- a/workflows/skyline_annotate_document.nf +++ /dev/null @@ -1,29 +0,0 @@ -// Modules -include { ANNOTATION_TSV_TO_CSV } from "../modules/skyline" -include { SKYLINE_MINIMIZE_DOCUMENT } from "../modules/skyline" -include { SKYLINE_ANNOTATE_DOCUMENT } from "../modules/skyline" - -workflow skyline_annotate_doc { - take: - skyline_input - replicate_metadata - - emit: - skyline_results - - main: - ANNOTATION_TSV_TO_CSV(replicate_metadata) - - if(params.skyline.minimize) { - SKYLINE_MINIMIZE_DOCUMENT(skyline_input) - annotate_sky_input = SKYLINE_MINIMIZE_DOCUMENT.out.final_skyline_zipfile - } else { - annotate_sky_input = skyline_input - } - - SKYLINE_ANNOTATE_DOCUMENT(annotate_sky_input, - ANNOTATION_TSV_TO_CSV.out.annotation_csv, - ANNOTATION_TSV_TO_CSV.out.annotation_definitions) - - skyline_results = SKYLINE_ANNOTATE_DOCUMENT.out.final_skyline_zipfile -} diff --git a/workflows/skyline_import.nf b/workflows/skyline_import.nf index 3d61db7..ec15da7 100644 --- a/workflows/skyline_import.nf +++ b/workflows/skyline_import.nf @@ -2,6 +2,9 @@ include { SKYLINE_ADD_LIB } from "../modules/skyline" include { SKYLINE_IMPORT_MZML } from "../modules/skyline" include { SKYLINE_MERGE_RESULTS } from "../modules/skyline" +include { ANNOTATION_TSV_TO_CSV } from "../modules/skyline" +include { SKYLINE_MINIMIZE_DOCUMENT } from "../modules/skyline" +include { SKYLINE_ANNOTATE_DOCUMENT } from "../modules/skyline" workflow skyline_import { @@ -10,9 +13,13 @@ workflow skyline_import { fasta elib wide_mzml_file_ch + replicate_metadata emit: skyline_results + skyline_results_hash + skyline_minimized_results + skyline_minimized_results_hash proteowizard_version main: @@ -32,6 +39,28 @@ workflow skyline_import { fasta ) - skyline_results = SKYLINE_MERGE_RESULTS.out.final_skyline_zipfile + if(params.replicate_metadata != null || params.pdc.study_id != null) { + ANNOTATION_TSV_TO_CSV(replicate_metadata) + + SKYLINE_ANNOTATE_DOCUMENT(SKYLINE_MERGE_RESULTS.out.final_skyline_zipfile, + ANNOTATION_TSV_TO_CSV.out.annotation_csv, + ANNOTATION_TSV_TO_CSV.out.annotation_definitions) + + skyline_results = SKYLINE_ANNOTATE_DOCUMENT.out.final_skyline_zipfile + skyline_results_hash = SKYLINE_ANNOTATE_DOCUMENT.out.file_hash + } else { + skyline_results = SKYLINE_MERGE_RESULTS.out.final_skyline_zipfile + skyline_results_hash = SKYLINE_MERGE_RESULTS.out.file_hash + } + + if(params.skyline.minimize) { + SKYLINE_MINIMIZE_DOCUMENT(skyline_results) + skyline_minimized_results = SKYLINE_MINIMIZE_DOCUMENT.out.final_skyline_zipfile + skyline_minimized_results_hash = SKYLINE_MINIMIZE_DOCUMENT.out.file_hash + } else { + skyline_minimized_results = Channel.empty() + skyline_minimized_results_hash = Channel.empty() + } + proteowizard_version = SKYLINE_ADD_LIB.out.version }