etal / cnvkit

Copy number variant detection from targeted DNA sequencing
http://cnvkit.readthedocs.org
Other
501 stars 162 forks source link

AttributeError: module 'pomegranate' has no attribute 'NormalDistribution' in hmm-germline #815

Open mikpom opened 1 year ago

mikpom commented 1 year ago

Getting the following stack when running freshly installed cnvkit 0.9.10

Segmenting with method 'hmm-germline' in 1 processes
Smoothing overshot at 1 / 151 indices: (-0.2363971618901517, 1.1721341875644276) vs. original (-0.62521, 1.12396)
Building model from observations
Traceback (most recent call last):
  File "/home/mikpom/.local/venv/cnv/bin/cnvkit.py", line 8, in <module>
    sys.exit(main())
  File "/home/mikpom/.local/venv/cnv/lib/python3.8/site-packages/cnvlib/cnvkit.py", line 10, in main
    args.func(args)
  File "/home/mikpom/.local/venv/cnv/lib/python3.8/site-packages/cnvlib/commands.py", line 994, in _cmd_segment
    results = segmentation.do_segmentation(
  File "/home/mikpom/.local/venv/cnv/lib/python3.8/site-packages/cnvlib/segmentation/__init__.py", line 62, in do_segmentation
    cna = _do_segmentation(
  File "/home/mikpom/.local/venv/cnv/lib/python3.8/site-packages/cnvlib/segmentation/__init__.py", line 180, in _do_segmentation
    segarr = hmm.segment_hmm(filtered_cn, method, threshold, variants)
  File "/home/mikpom/.local/venv/cnv/lib/python3.8/site-packages/cnvlib/segmentation/hmm.py", line 42, in segment_hmm
    model = hmm_get_model(cnarr, method, processes)
  File "/home/mikpom/.local/venv/cnv/lib/python3.8/site-packages/cnvlib/segmentation/hmm.py", line 94, in hmm_get_model
    pom.NormalDistribution(-1.0, stdev, frozen=True),
AttributeError: module 'pomegranate' has no attribute 'NormalDistribution'

Happy to investigate the issue up to your hints and/or contribute fixes.

Best, Mikhail

mikpom commented 1 year ago

pomegranate version 1.0.0

savyajha commented 1 year ago

Pomegranate version 1.0.0 is a major breaking change. cnvlib/segmentation/hmm.py will need to be refactored accordingly. I do not use either cnvkit or pomegranate else would have looked at submitting a PR.