diff --git a/.travis.yml b/.travis.yml index 5ee8220ea..269de171f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ before_install: # Pull the docker image first so the test doesn't wait for this - docker pull nfcore/eager:dev # Fake the tag locally so that the pipeline runs properly - - docker tag nfcore/eager:dev nfcore/eager:2.0.3 + - docker tag nfcore/eager:dev nfcore/eager:latest install: # Install Nextflow diff --git a/Dockerfile b/Dockerfile index ff2c6dc3f..6567f8263 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,4 +3,4 @@ FROM nfcore/base LABEL description="Docker image containing all requirements for nf-core/eager pipeline" COPY environment.yml / RUN conda env create -f /environment.yml && conda clean -a -ENV PATH /opt/conda/envs/nf-core-eager-2.0.3/bin:$PATH +ENV PATH /opt/conda/envs/nf-core-eager-2.0.4dev/bin:$PATH diff --git a/Singularity b/Singularity index 704696365..c5b80c4f8 100644 --- a/Singularity +++ b/Singularity @@ -4,10 +4,10 @@ Bootstrap:docker %labels MAINTAINER Alexander Peltzer DESCRIPTION Container image containing all requirements for the nf-core/eager pipeline - VERSION 2.0.3 + VERSION 2.0.4dev %environment - PATH=/opt/conda/envs/nf-core-eager-2.0.3/bin:$PATH + PATH=/opt/conda/envs/nf-core-eager-2.0.4dev/bin:$PATH export PATH %files diff --git a/bin/scrape_software_versions.py b/bin/scrape_software_versions.py index e125ffc6d..0fb028c1f 100755 --- a/bin/scrape_software_versions.py +++ b/bin/scrape_software_versions.py @@ -16,6 +16,7 @@ 'GATK': ['v_gatk.txt', r"Version:([\d\.]+)"], 'bamUtil' : ['v_bamutil.txt', r"Version: ([\d\.]+)"], 'fastP': ['v_fastp.txt', r"([\d\.]+)"], + 'DamageProfiler' : ['v_damageprofiler.txt', r"version\": \"([\d\.]+)"], } results = OrderedDict() results['nf-core/eager'] = 'N/A' @@ -30,6 +31,7 @@ results['GATK'] = 'N/A' results['bamUtil'] = 'N/A' results['fastP'] = 'N/A' +results['DamageProfiler'] = 'N/A' # Search each file using its regex for k, v in regexes.items(): diff --git a/environment.yml b/environment.yml index 56ac833a2..5a433cd57 100644 --- a/environment.yml +++ b/environment.yml @@ -1,4 +1,4 @@ -name: nf-core-eager-2.0.3 +name: nf-core-eager-2.0.4dev channels: - defaults - bioconda @@ -9,12 +9,12 @@ dependencies: - bioconda::adapterremoval=2.2.2 - bioconda::adapterremovalfixprefix=0.0.4 - bioconda::bwa=0.7.17 - - bioconda::picard=2.18.15 + - bioconda::picard=2.18.21 - bioconda::samtools=1.9 - bioconda::dedup=0.12.3 - bioconda::angsd=0.923 - bioconda::circularmapper=1.93.4 - - bioconda::gatk4=4.0.11.0 + - bioconda::gatk4=4.0.12.0 - bioconda::qualimap=2.2.2b - bioconda::vcf2genome=0.91 - bioconda::damageprofiler=0.4.4 @@ -25,6 +25,6 @@ dependencies: - conda-forge::pigz=2.3.4 - bioconda::sequencetools=1.2.2 - bioconda::preseq=2.0.3 - - bioconda::fastp=0.19.4 + - bioconda::fastp=0.19.5 - bioconda::bamutil=1.0.14 #Missing Schmutzi,snpAD diff --git a/main.nf b/main.nf index 9115d8e10..901488a4b 100644 --- a/main.nf +++ b/main.nf @@ -372,35 +372,6 @@ ${summary.collect { k,v -> "
$k
${v ?: ' v_pipeline.txt - echo $workflow.nextflow.version &> v_nextflow.txt - fastqc --version &> v_fastqc.txt 2>&1 || true - multiqc --version &> v_multiqc.txt 2>&1 || true - bwa &> v_bwa.txt 2>&1 || true - samtools --version &> v_samtools.txt 2>&1 || true - AdapterRemoval -version &> v_adapterremoval.txt 2>&1 || true - picard MarkDuplicates --version &> v_markduplicates.txt 2>&1 || true - dedup -v &> v_dedup.txt 2>&1 || true - preseq &> v_preseq.txt 2>&1 || true - gatk BaseRecalibrator --version 2>&1 | grep Version: > v_gatk.txt 2>&1 || true - vcf2genome &> v_vcf2genome.txt 2>&1 || true - fastp --version &> v_fastp.txt 2>&1 || true - bam --version &> v_bamutil.txt 2>&1 || true - qualimap --version &> v_qualimap.txt 2>&1 || true - - scrape_software_versions.py &> software_versions_mqc.yaml - """ -} /* * Create BWA indices if they are not present @@ -615,7 +586,7 @@ process bwa { output: file "*.sorted.bam" into ch_mapped_reads_idxstats,ch_mapped_reads_filter,ch_mapped_reads_preseq, ch_mapped_reads_damageprofiler - file "*.bai" + file "*.bai" into ch_bam_index_for_damageprofiler script: @@ -868,9 +839,12 @@ process damageprofiler { input: file bam from ch_mapped_reads_damageprofiler.mix(ch_mapped_reads_damageprofiler_cm,ch_bwamem_mapped_reads_damageprofiler) file fasta from ch_fasta_for_damageprofiler + file bai from ch_bam_index_for_damageprofiler + output: - file "*.json" into ch_damageprofiler_results + file "*" + file "*/*.json" into ch_damageprofiler_results, ch_damageprofiler_for_software_versions script: """ @@ -1029,6 +1003,63 @@ Downstream VCF tools: + + + +/* + * STEP 3 - Output Description HTML + */ +process output_documentation { + publishDir "${params.outdir}/Documentation", mode: 'copy' + + input: + file output_docs from ch_output_docs + + output: + file "results_description.html" + + script: + """ + markdown_to_html.r $output_docs results_description.html + """ +} + + +/* + * Parse software version numbers + */ +process get_software_versions { + + input: + file json from ch_damageprofiler_for_software_versions + + output: + file 'software_versions_mqc.yaml' into software_versions_yaml + + script: + """ + echo $workflow.manifest.version &> v_pipeline.txt + echo $workflow.nextflow.version &> v_nextflow.txt + fastqc --version &> v_fastqc.txt 2>&1 || true + multiqc --version &> v_multiqc.txt 2>&1 || true + bwa &> v_bwa.txt 2>&1 || true + samtools --version &> v_samtools.txt 2>&1 || true + AdapterRemoval -version &> v_adapterremoval.txt 2>&1 || true + picard MarkDuplicates --version &> v_markduplicates.txt 2>&1 || true + dedup -v &> v_dedup.txt 2>&1 || true + preseq &> v_preseq.txt 2>&1 || true + gatk BaseRecalibrator --version 2>&1 | grep Version: > v_gatk.txt 2>&1 || true + vcf2genome &> v_vcf2genome.txt 2>&1 || true + fastp --version &> v_fastp.txt 2>&1 || true + bam --version &> v_bamutil.txt 2>&1 || true + qualimap --version &> v_qualimap.txt 2>&1 || true + cat $json &> v_damageprofiler.txt 2>&1 || true + + scrape_software_versions.py &> software_versions_mqc.yaml + """ +} + + /* * STEP 2 - MultiQC */ @@ -1065,26 +1096,6 @@ process multiqc { -/* - * STEP 3 - Output Description HTML - */ -process output_documentation { - publishDir "${params.outdir}/Documentation", mode: 'copy' - - input: - file output_docs from ch_output_docs - - output: - file "results_description.html" - - script: - """ - markdown_to_html.r $output_docs results_description.html - """ -} - - - /* * Completion e-mail notification diff --git a/nextflow.config b/nextflow.config index a7de3cef2..a2f836d5c 100644 --- a/nextflow.config +++ b/nextflow.config @@ -10,7 +10,7 @@ // Global default params, used in configs params { - container = 'nfcore/eager:2.0.3' + container = 'nfcore/eager:latest' //Pipeline options aligner = 'bwa' @@ -107,7 +107,7 @@ manifest { name = 'nf-core/eager' author = 'Alexander Peltzer, Stephen Clayton, James A Fellows-Yates' homePage = 'https://github.com/nf-core/eager' - version = '2.0.3' + version = '2.0.4dev' description = 'A fully reproducible and modern ancient DNA pipeline in Nextflow and with cloud support.' mainScript = 'main.nf' nextflowVersion = '>=0.32.0'