etal / cnvkit

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

`import-rna` not compatible with pandas 2 #826

Open pontushojer opened 1 year ago

pontushojer commented 1 year ago

I got this error running cnvkit.py import-rna.

Traceback (most recent call last):
  File "/Users/pontus.hojer/miniconda3/envs/cnvkit/bin/cnvkit.py", line 10, in <module>
    sys.exit(main())
  File "/Users/pontus.hojer/miniconda3/envs/cnvkit/lib/python3.10/site-packages/cnvlib/cnvkit.py", line 10, in main
    args.func(args)
  File "/Users/pontus.hojer/miniconda3/envs/cnvkit/lib/python3.10/site-packages/cnvlib/commands.py", line 2429, in _cmd_import_rna
    for cnr in cnrs:
  File "/Users/pontus.hojer/miniconda3/envs/cnvkit/lib/python3.10/site-packages/cnvlib/import_rna.py", line 55, in <genexpr>
    cnrs = (rna.correct_cnr(cnr, do_gc, do_txlen, max_log2) for cnr in cnrs)
  File "/Users/pontus.hojer/miniconda3/envs/cnvkit/lib/python3.10/site-packages/cnvlib/rna.py", line 411, in attach_gene_info_to_cnr
    sample_counts.iteritems(), sample_data_log2.iteritems()
  File "/Users/pontus.hojer/miniconda3/envs/cnvkit/lib/python3.10/site-packages/pandas/core/generic.py", line 5989, in __getattr__
    return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'iteritems'. Did you mean: 'isetitem'?

I installed CNVkit from bioconda, the pandas version 2.0.2

iteritems is depreciated in v2.0.0 see https://pandas.pydata.org/docs/whatsnew/v2.0.0.html

etal commented 1 year ago

Thanks for the report. According to pandas-dev/pandas#45321 it looks like the fix is to use items in place of iteritems.