nf-core / chipseq

ChIP-seq peak-calling, QC and differential analysis pipeline.
https://nf-co.re/chipseq
MIT License
191 stars 148 forks source link

Unknown config attribute: wf_container #4

Closed tiagochst closed 6 years ago

tiagochst commented 6 years ago

Hello,

I'm trying to run workflow using the docker image, but I got the following error: Unknown config attribute: wf_container.

Could you help me please?

.nextflow.log

mai-16 15:25:05.866 [main] INFO  nextflow.cli.CmdRun - N E X T F L O W  ~  version 0.28.2
mai-16 15:25:06.206 [main] INFO  nextflow.cli.CmdRun - Launching `/home/houtan/my-pipelines/chipseq/main.nf` [spontaneous_kilby] - revision: 571a81
ab77
mai-16 15:25:06.215 [main] DEBUG nextflow.config.ConfigBuilder - Found config base: /home/houtan/my-pipelines/chipseq/nextflow.config
mai-16 15:25:06.216 [main] DEBUG nextflow.config.ConfigBuilder - Parsing config file: /home/houtan/my-pipelines/chipseq/nextflow.config
mai-16 15:25:06.223 [main] DEBUG nextflow.config.ConfigBuilder - Applying config profile: `docker`
mai-16 15:25:06.310 [main] DEBUG nextflow.config.ConfigBuilder - In the following config object the attribute `wf_container` is empty:
  shell=['/bin/bash', '-euo', 'pipefail']
  executor='local'
  $executor {
  }
  time=2d

mai-16 15:25:06.316 [main] ERROR nextflow.cli.Launcher - Unknown config attribute: wf_container -- check config file: /home/houtan/my-pipelines/chi
pseq/nextflow.config

script

nextflow run  ~/my-pipelines/chipseq \
     -profile docker \
     --macsconfig 'macssetup.config' \
     --bwa_index "~/genome/hg38/bwa_index/" \
     --fasta "/home/houtan/genome/hg38/GRCh38.primary_assembly.genome.fa" \
     --gtf "/home/houtan/genome/hg38/gencode.v28.primary_assembly.annotation.gtf" \
     --max_cpus 1 \
     --reads 'data/*{1,2}.fastq.gz' \
     --outdir 'results_hg38_gencodev28/'
tiagochst commented 6 years ago

I'm not sure this is the best approach but I comment the line with wf_container in the following file https://github.com/nf-core/chipseq/blob/master/conf/docker.config

But then it says bedtools is not available: also I would like to use the workflow with hg38, but there is a warning saying no reference supplied for MACS, ngs_plot and annotation. Please, how can I fix that?

N E X T F L O W  ~  version 0.28.2
Launching `/home/houtan/my-pipelines/chipseq/main.nf` [insane_linnaeus] - revision: 571a81ab77
WARN: No reference supplied for MACS, ngs_plot and annotation. Use '--genome GRCh37' or '--genome GRCm38' to run MACS, ngs_plot and annotation.
=========================================
 nf-core/ChIPseq: ChIP-Seq Best Practice v1.4
=========================================
Run Name             : insane_linnaeus
Reads                : data/*{1,2}.fastq.gz
Data Type            : Paired-End
Genome               : false
BWA Index            : ~/genome/hg38/bwa_index/
GTF File             : /home/houtan/genome/hg38/gencode.v28.primary_assembly.annotation.gtf
Multiple alignments allowed: false
MACS Config          : macssetup.config
Saturation analysis  : false
MACS broad peaks     : false
Blacklist filtering  : false
Extend Reads         : 100 bp
Container            : [:]
Current home         : /home/houtan
Current user         : root
Current path         : /home/houtan/ESCA/chip-seq
Working dir          : /home/houtan/ESCA/chip-seq/work
Output dir           : results_hg38_gencodev28/
R libraries          : false
Script dir           : /home/houtan/my-pipelines/chipseq
Save Reference       : false
Save Trimmed         : false
Save Intermeds       : false
Trim R1              : 0
Trim R2              : 0
Trim 3' R1           : 0
Trim 3' R2           : 0
Config Profile       : docker
E-mail Address       : tiagochst@gmail.com
====================================
[warm up] executor > local
[55/a8e2fa] Submitted process > fastqc (OE33-input-SA08817_S20_L005)
[cf/51e61e] Submitted process > fastqc (OE33-TCF7L2-SA08818_S21_L005)
[4f/619466] Submitted process > trim_galore (OE33-TCF7L2-SA08818_S21_L005)
[9e/7daf1d] Submitted process > trim_galore (OE33-input-SA08817_S20_L005)
[b3/6c69f3] Submitted process > get_software_versions
ERROR ~ Error executing process > 'get_software_versions'

Caused by:
  Process `get_software_versions` terminated with an error exit status (127)

Command executed:

  echo 1.4 > v_ngi_chipseq.txt
  echo 0.28.2 > v_nextflow.txt
  fastqc --version > v_fastqc.txt
  trim_galore --version > v_trim_galore.txt
  echo $(bwa 2>&1) > v_bwa.txt
  samtools --version > v_samtools.txt
  bedtools --version > v_bedtools.txt
  echo "version" $(java -Xmx2g -jar $PICARD_HOME/picard.jar MarkDuplicates --version 2>&1) >v_picard.txt
  echo $(plotFingerprint --version 2>&1) > v_deeptools.txt
  echo $(ngs.plot.r 2>&1) > v_ngsplot.txt
  echo $(macs2 --version 2>&1) > v_macs2.txt
  multiqc --version > v_multiqc.txt
  scrape_software_versions.py > software_versions_mqc.yaml

Command exit status:
  127

Command output:
  (empty)

Command error:
  .command.sh: line 8: bedtools: command not found
  .command.stub: line 98: 13076 Terminated              nxf_trace "$pid" .command.trace
ewels commented 6 years ago

Hi @tiagochst,

This pipeline was only moved to nf-core a few days ago and hasn’t been worked on yet to make it properly stable for a release. I think your error is due to a problem in the file that you linked to. We’re a quick bunch around here though and @apeltzer has already looked at the code and fixed it. He submitted a pull request that you can see linked above, which I have just merged.

Could you please pull the latest version of the code and have another go?

Cheers,

Phil

tiagochst commented 6 years ago

The problem was the docker image never was pushed: https://hub.docker.com/r/nfcore/chipseq/

For the moment, I reverted https://github.com/nf-core/chipseq/blob/ebc8032ecb1f7a26cbdf2c716a18e82861abf3e9/nextflow.config#L16 to the container in scilifelab/ngi-chipseq:latest

The code is running for GRCh37. I'll take a look how to run hg38.

ewels commented 6 years ago

Ah ok - you can do that on the command line for a one off if you like: -with-docker scilifelab/ngi-rnaseq

I think that --genome GRCh38 should work? Not sure though.

apeltzer commented 6 years ago

I fixed the typo mentioned above, good spot! And we need to install the CI for spotting these types of small errors on spot :-)

apeltzer commented 6 years ago

I also triggered a build of the container, so once that runs through you might have luck and things run without adjustments anymore: https://hub.docker.com/r/nfcore/chipseq/builds/

(no guarantee, as Phil said this repository has not been updated to nf-core guidelines yet in its entirety).

apeltzer commented 6 years ago

Doesn't build: I started finishing the environment.yaml file, so if Phil approves that one, we might have a working container very soon .-)

tiagochst commented 6 years ago

@ewels The --genome GRCh38 was not set. So I was checking the repository https://ewels.github.io/AWS-iGenomes/. I'm interest in using the last version of the human genome available (GRCh38.p12, if I'm not wrong).

Question 1: when was this repository last updated?

Question 2: Please, is it possible to add GRCh38 for ENSEMBL ? I saw there is a hg38 for USC but not for ENSEMBL. Also, I could not figure out the the exact patched version of the genome, this might be useful some times.

Thanks!

ewels commented 6 years ago

Hi @tiagochst,

The iGenomes resource is not very up to date, you can see the changelog on the GitHub repository: https://github.com/ewels/AWS-iGenomes

So basically it's not been changed since 2016 (probably earlier actually, that's just when I uploaded the data).

This obviously isn't great, but there is a long history to this. Essentially, it originally came from illumina and I don't really want to go too far from that. Another factor is that I'm aware of other efforts to collect reference genomes and indexes in similar resources that will be more future proofed (see recent discussion on the nf-core gitter channel and this repository).

So, in short, I'm not planning to put much time towards the AWS-iGenomes resource for now, until its future is more certain.

It's worth noting that the support in the pipeline for iGenomes is for convenience only. You are free of course to download whatever reference data you like from anywhere and use those paths. Either via the command line (--bwa_index etc) or by creating your own custom config file with a params.genome block (see docs).

Phil

ewels commented 6 years ago

Ok, I think that the main problem in this issue is now fixed, so I will close the issue. Shout if we missed anything!

Phil