raredisease icon indicating copy to clipboard operation
raredisease copied to clipboard

Error_during_installation

Open vishramt7 opened this issue 10 months ago • 10 comments

Description of the bug

Hi, I am trying to install this pipeline using conda. The command used is mentioned below. Conda is expecting an environment.yml file to be present inside "raredisease/modules/local/" folder. This environment.yml is missing from the git repository. How can I solve this issue ?

Command used and terminal output

Command: nextflow run main.nf -profile test_one_sample,conda --outdir install -resume

ERROR ~ Error executing process > 'NFCORE_RAREDISEASE:RAREDISEASE:CALL_SNV:POSTPROCESS_MT_CALLS:ADD_VARCALLER_TO_BED (1)'

Caused by:
  Conda environment file does not exist: /home/diagnostics/pipelines/raredisease/./workflows/../subworkflows/local/./variant_calling/../../../modules/local/environment.yml

Relevant files

No response

System information

No response

vishramt7 avatar Apr 01 '24 03:04 vishramt7

Indeed, the `environment.yml-file seems to be missing. It might be that the pipeline has not been very well tested with conda. (It is my impression that very few people use conda for running the nf-core pipelines.)

I tried running a very similar command:

nextflow run nf-core/raredisease -r 2.0.1 -profile test_one_sample,conda --outdir results

with nf 23.10.1, but got:

ERROR ~ mapping values are not allowed here
 in 'reader', line 2, column 15:
        cut: Usage: cut
                  ^

 -- Check script '/home/ubuntu/.nextflow/assets/nf-core/raredisease/./subworkflows/local/utils_nfcore_raredisease_pipeline/../../nf-core/utils_nfcore_pipeline/main.nf' at line: 100 or see '.nextflow.log' file for more details

That doesn't seem to be a problem if I use singularity or docker. @vishramt7 : Could you reproduce the error for singularity or docker?

asp8200 avatar Apr 01 '24 17:04 asp8200

Hi @asp8200, Thanks for the reply! I want to avoid docker/singularity so I chose conda. This seems to be a conda specific issue. I faced the same error as posted by you. This was due to a line of code trying to print the version of the "cut" command.

vishramt7 avatar Apr 02 '24 03:04 vishramt7

Hi @asp8200, Thanks for the reply! I want to avoid docker/singularity so I chose conda. This seems to be a conda specific issue. I faced the same error as posted by you. This was due to a line of code trying to print the version of the "cut" command.

It seems that the raredisease-pipeline doesn't support conda 🤔 I can try to fix the issue with the missing environment.yml-files, but there might be other issues related to conda.

The error

ERROR ~ mapping values are not allowed here
 in 'reader', line 2, column 15:
        cut: Usage: cut

comes from the "version-statement" in modules/local/get_chrom_sizes.nf, right?

asp8200 avatar Apr 02 '24 06:04 asp8200

Hi @vishramt7 and @asp8200, You're right that the conda part isn't that well tested as we've had issues getting some tools to run with conda, the SNV/INDEL caller deepvariant being one of them. cut should of course work though.

jemten avatar Apr 02 '24 06:04 jemten

Hi @vishramt7 and @asp8200, You're right that the conda part isn't that well tested as we've had issues getting some tools to run with conda, the SNV/INDEL caller deepvariant being one of them. cut should of course work though.

Right you are, @jemten. After just locally fixing the issue with the missing environment.yml-files, I run into this:

-[nf-core/raredisease] Pipeline completed with errors-
ERROR ~ Error executing process > 'NFCORE_RAREDISEASE:RAREDISEASE:CALL_SNV:CALL_SNV_DEEPVARIANT:DEEPVARIANT (1)'

Caused by:
  DEEPVARIANT module does not support Conda. Please use Docker / Singularity / Podman instead. -- Check script './workflows/../subwor
kflows/local/./variant_calling/../../../modules/nf-core/deepvariant/main.nf' at line: 26

Source block:
  if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
          error "DEEPVARIANT module does not support Conda. Please use Docker / Singularity / Podman instead."
      }
  def args = task.ext.args ?: ''
  prefix = task.ext.prefix ?: "${meta.id}"
  def regions = intervals ? "--regions=${intervals}" : ""
  """
      /opt/deepvariant/bin/run_deepvariant \\
          --ref=${fasta} \\
          --reads=${input} \\
...

The only alternative to deepvariant in the raredisease-pipeline is sentieon-dnascope, right?

It seems that deepvariant can be skipped by setting the params.variant_calller to blank, but then perhaps there isn't much point in running the pipeline?

asp8200 avatar Apr 02 '24 06:04 asp8200

Hi @asp8200, Thanks for the reply! I want to avoid docker/singularity so I chose conda. This seems to be a conda specific issue. I faced the same error as posted by you. This was due to a line of code trying to print the version of the "cut" command.

It seems that the raredisease-pipeline doesn't support conda 🤔 I can try to fix the issue with the missing environment.yml-files, but there might be other issues related to conda.

The error

ERROR ~ mapping values are not allowed here
 in 'reader', line 2, column 15:
        cut: Usage: cut

comes from the "version-statement" in modules/local/get_chrom_sizes.nf, right?

Hi @asp8200 , Yes, that's right

vishramt7 avatar Apr 02 '24 09:04 vishramt7

So I tried setting params.variant_caller to blank, but the pipeline eventually failed with:

Caused by:
  Process `NFCORE_RAREDISEASE:RAREDISEASE:CALL_MOBILE_ELEMENTS:RETROSEQ_DISCOVER (hugelymodelbat)` terminated with an error exit status (127)

Command executed:

  paste <(printf "%s\n" [L1, SVA, ALU, HERV] | tr -d '[],') <(printf "%s\n" grch37_g1k_l1_21.bed grch37_g1k_sva_21.bed grch37_g1k_alu_21.bed grch37_g1k_herv_21.bed) > me_reference_manifest.ts
v
  retroseq.pl \
      -discover \
       \
      -bam hugelymodelbat_6.bam \
      -refTEs me_reference_manifest.tsv\
      -output hugelymodelbat_6_retroseq_discover.tab
 
  cat <<-END_VERSIONS > versions.yml
  "NFCORE_RAREDISEASE:RAREDISEASE:CALL_MOBILE_ELEMENTS:RETROSEQ_DISCOVER":
      retroseq_discover: 1.5
  END_VERSIONS

Command exit status:
  127

Command output:
 
  RetroSeq: A tool for discovery of transposable elements from short read alignments
 
  Version: 1.5
  Author: Thomas Keane ([email protected])
 
  Reading -refTEs file: me_reference_manifest.tsv
 
  Min anchor quality: 20
  Min percent identity: 80
  Min length for hit: 36

Command error:
 
  RetroSeq: A tool for discovery of transposable elements from short read alignments
 
  Version: 1.5
  Author: Thomas Keane ([email protected])
 
  Reading -refTEs file: me_reference_manifest.tsv
 
  Min anchor quality: 20
  Min percent identity: 80
  Min length for hit: 36
 
  ERROR: Cant determine version number of samtools

asp8200 avatar Apr 02 '24 10:04 asp8200

Hi @jemten and @asp8200, Does this mean that this pipeline can only be installed and executed using docker/singularity ?

vishramt7 avatar Apr 02 '24 10:04 vishramt7

At this moment, yes. It is stated in the prerequisites in the usage doc (https://github.com/nf-core/raredisease/blob/master/docs/usage.md#prerequisites) but we can add to the README as well. It would be nice to add the GATK variantcalling subworkflow from sarek and/or getting deepvariant to run with conda as well but we're not there yet.

jemten avatar Apr 02 '24 10:04 jemten

@vishramt7 : Since you got conda on your system, perhaps you can just conda-install singularity? (That seems to work on my system.)

asp8200 avatar Apr 02 '24 11:04 asp8200