FoxoTech / methylcheck

Python-based Illumina methylation array quality control software.
MIT License
10 stars 7 forks source link

`qc_signal_intensity` plot merge (line 182) fails on pandas v1.3.0+ #52

Open marcmaxson opened 3 years ago

marcmaxson commented 3 years ago

This code failed on circleci running pandas v1.3.2 (also tested and failed on 1.3.0) but works on earlier pandas versions (1.2.x).

               qc = pd.merge(left=medians,
               right=percent_failures_hues,
               left_on=medians.index,
               right_on=percent_failures_hues.index,
               how='inner')

something changed in pandas merge function. https://pandas.pydata.org/docs/whatsnew/v1.3.0.html -- deprecated

possibly related to

Deprecated using merge(), DataFrame.merge(), and DataFrame.join() on a different number of levels (GH34862) Deprecated merge() producing duplicated columns through the suffixes keyword and already existing columns (GH22818)

the error produced is:

ValueError: Unable to fill values because RangeIndex cannot contain NA

For now, the quick fix is to disallow pandas version 1.3.0 when installing methylcheck. But resolving the merge issue would be a better long term fix.

marcmaxson commented 3 years ago

Currently: methylcheck and methylprep specify using pandas v1.2x-v1.3x to avoid this bug. Hopefully a future version of pandas resolves this and we can open it up.