Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spectre module fails : "unsupported operand type(s) for /: 'NoneType' and 'NoneType'" #227

Open
RxLoutre opened this issue Nov 11, 2024 · 4 comments

Comments

@RxLoutre
Copy link

Operating System

Other Linux (please specify below)

Other Linux

RedHat 8.9

Workflow Version

v2.4.1

Workflow Execution

Command line (Cluster)

Other workflow execution

No response

EPI2ME Version

No response

CLI command run

nextflow run epi2me-labs/wf-human-variation -config nextflow.config -profile singularity --cnv --bam aligned_barcode23.bam --sample_name INDEX --ref hg38.fa --bam_min_coverage 10 --bed Raissa_GRCh38_chrX_15MB_padded_CLEANSED.bed

Workflow Execution - CLI Execution Profile

singularity

What happened?

One of Spectre module fails. I succeeded to run it with the same settings (reducing coverage and giving a bed file from adaptive sampling), but this one particular run does not work, and I have no idea how to get around it :/

Relevant log output

ERROR ~ Error executing process > 'cnv_spectre:callCNV (1)'

Caused by:
  Process `cnv_spectre:callCNV (1)` terminated with an error exit status (1)

Command executed:

  spectre CNVCaller         --bin-size 1000         --threshhold-quantile 10         --dist-proportion 0.3         --coverage readstats/         --sample-id INDEX         --output-dir spectre_output/         --reference hg38.fa         --blacklist grch38_blacklist_0.3         --min-cnv-len 80000         --snv INDEX.wf_snp.vcf.gz         --metadata grch38_metadata

Command exit status:
  1

Command output:
  (empty)

Command error:
  spectre::INFO> Spectre version: 0.2.2
  spectre::INFO> Spectre enabled
  spectre::INFO> Extraction of metadata is activated
  spectre::INFO> Extracting metadata from resource: data/grch38_metadata.mdr
  spectre::INFO> Using blacklist from resource: data/grch38_blacklist_0.3.bed
  spectre::INFO> Spectre calculating for: readstats and bin size: 1000
  spectre::INFO> Data normalization and outlier removal (right tail)
  spectre::INFO> Parsing VCF to AF freqs file
  spectre::INFO> Thresholds for coverage, lower (Q10.0): None, upper(Q90.0): None
  multiprocessing.pool.RemoteTraceback:
  """
  Traceback (most recent call last):
    File "/opt/custflow/epi2meuser/conda/lib/python3.8/multiprocessing/pool.py", line 125, in worker
      result = (True, func(*args, **kwds))
    File "/opt/custflow/epi2meuser/conda/lib/python3.8/multiprocessing/pool.py", line 48, in mapstar
      return list(map(*args))
    File "/opt/custflow/epi2meuser/conda/lib/python3.8/site-packages/spectre/main.py", line 120, in outside_spectre_worker
      worker.cnv_call()
    File "/opt/custflow/epi2meuser/conda/lib/python3.8/site-packages/spectre/spectreCNV.py", line 101, in cnv_call
      self.cnv_analysis.data_normalization()
    File "/opt/custflow/epi2meuser/conda/lib/python3.8/site-packages/spectre/analysis/analysis.py", line 172, in data_normalization
      self.lower_2n_threshold = coverage_lower_threshold / genome_median * self.ploidy
  TypeError: unsupported operand type(s) for /: 'NoneType' and 'NoneType'
  """

  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "/opt/custflow/epi2meuser/conda/bin/spectre", line 10, in <module>
      sys.exit(run_main())
    File "/opt/custflow/epi2meuser/conda/lib/python3.8/site-packages/spectre/main.py", line 506, in run_main
      spectre_run.spectre_exe()
    File "/opt/custflow/epi2meuser/conda/lib/python3.8/site-packages/spectre/main.py", line 274, in spectre_exe
      results = pool.map(outside_spectre_worker, tuple(spectre_instructions))
    File "/opt/custflow/epi2meuser/conda/lib/python3.8/multiprocessing/pool.py", line 364, in map
      return self._map_async(func, iterable, mapstar, chunksize).get()
    File "/opt/custflow/epi2meuser/conda/lib/python3.8/multiprocessing/pool.py", line 771, in get
      raise self._value
  TypeError: unsupported operand type(s) for /: 'NoneType' and 'NoneType'

Work dir:
  /net/beegfs/cfg/rundata/SequencingProjects/202406-036/analysis/RaissaT_s2/PAW49591_d2aae70b/wf-human-variation/barcode23_output/work/61/725e616dd128878f2045a57ce5a094

Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run`

 -- Check '.nextflow.log' file for details

Application activity log entry

No response

Were you able to successfully run the latest version of the workflow with the demo data?

yes

Other demo data information

No response

@RxLoutre
Copy link
Author

Could anyone have a look at this please and guide me toward a potential fix to make it Spectre work ?

@vlshesketh
Copy link
Contributor

Hi @RxLoutre, apologies for the delayed response - please can you confirm if your data is targeted sequencing or WGS? As specified in the README, the tools in this workflow are designed to be used on 20x WGS data.

@RxLoutre
Copy link
Author

Hello hello !
This data is indeed targeted (adaptive sampling).
I know the pipeline is designed for WGS 20X, but I was able on similar data, with the same options (given bed, reducing coverage) to run it successfully and have CNV reports generated.
There is more than enough coverage on the region I am interested, that's why I feel like this should work but for some obscure reason it does not. I would like to understand more about why to try to find a way around

@vlshesketh
Copy link
Contributor

Thanks @RxLoutre - I will refer to colleagues in the Apps team who have developed ont-spectre, but please be aware that we never intended for Spectre to work with AS data and so even though you have seen a successful run with one dataset, in general it is unlikely that AS use cases can be supported for CNV analysis with Spectre. I will pass this along and update if there is any more information for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants