CGATOxford / UMI-tools

Tools for handling Unique Molecular Identifiers in NGS data sets
MIT License
491 stars 190 forks source link

Minimum python version (>=3.5) needs bumping up #511

Closed gmnelson closed 8 months ago

gmnelson commented 2 years ago

Just installed UMI-tools in a 3.6.0 conda environment and the tools weren't working, largely throwing errors related to 'PySlice_AdjustIndices' -- seems this was introduced in 3.6.1.

Re-installed in a 3.7.4 conda env and all seems to be working.

IanSudbery commented 2 years ago

Hi,

Do you have a record of the full error message? I can't reproduce, but thats mainly because right now I don't seem to be able to get matplotlib installed in a python 3.6 environment, which I'm addressing here: https://github.com/conda-forge/matplotlib-feedstock/issues/316

But by the sounds of it, your issue is different?

gmnelson commented 2 years ago

This is the error I mentioned

$ umi_tools extract --help
UMI-Tools: Version 1.1.0
Traceback (most recent call last):
  File "/n/XXXX/rep-conda/bin/umi_tools", line 11, in <module>
    sys.exit(main())
  File "/n/XXXX/rep-conda/lib/python3.6/site-packages/umi_tools/umi_tools.py", line 58, in main
    module = importlib.import_module("umi_tools." + command, "umi_tools")
  File "/n/XXXX/rep-conda/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/n/XXXX/rep-conda/lib/python3.6/site-packages/umi_tools/extract.py", line 136, in <module>
    import regex
  File "/n/XXXX/rep-conda/lib/python3.6/site-packages/regex.py", line 394, in <module>
    import _regex_core
  File "/n/XXXX/rep-conda/lib/python3.6/site-packages/_regex_core.py", line 21, in <module>
    import _regex
ImportError: /n/XXXX/rep-conda/lib/python3.6/site-packages/_regex.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PySlice_AdjustIndices

Maybe of interest, when trying to run dedup instead, I seem to get your matplotlib error

$ umi_tools dedup --help
UMI-Tools: Version 1.1.0
Traceback (most recent call last):
  File "/n/XXXX/rep-conda/bin/umi_tools", line 11, in <module>
    sys.exit(main())
  File "/n/XXXX/rep-conda/lib/python3.6/site-packages/umi_tools/umi_tools.py", line 58, in main
    module = importlib.import_module("umi_tools." + command, "umi_tools")
  File "/n/XXXX/rep-conda/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/n/XXXX/rep-conda/lib/python3.6/site-packages/umi_tools/dedup.py", line 116, in <module>
    import pandas as pd
  File "/home/XXXX/.local/lib/python3.6/site-packages/pandas/__init__.py", line 55, in <module>
    from pandas.core.api import (
  File "/home/XXXX/.local/lib/python3.6/site-packages/pandas/core/api.py", line 24, in <module>
    from pandas.core.groupby import Grouper, NamedAgg
  File "/home/XXXX/.local/lib/python3.6/site-packages/pandas/core/groupby/__init__.py", line 1, in <module>
    from pandas.core.groupby.generic import (  # noqa: F401
  File "/home/XXXX/.local/lib/python3.6/site-packages/pandas/core/groupby/generic.py", line 44, in <module>
    from pandas.core.frame import DataFrame
  File "/home/XXXX/.local/lib/python3.6/site-packages/pandas/core/frame.py", line 115, in <module>
    from pandas.core.series import Series
  File "/home/XXXX/.local/lib/python3.6/site-packages/pandas/core/series.py", line 84, in <module>
    import pandas.plotting
  File "/home/XXXX/.local/lib/python3.6/site-packages/pandas/plotting/__init__.py", line 59, in <module>
    from pandas.plotting._core import (
  File "/home/XXXX/.local/lib/python3.6/site-packages/pandas/plotting/_core.py", line 17, in <module>
    import pandas.plotting._matplotlib  # noqa
  File "/home/XXXX/.local/lib/python3.6/site-packages/pandas/plotting/_matplotlib/__init__.py", line 3, in <module>
    from pandas.plotting._matplotlib.boxplot import (
  File "/home/XXXX/.local/lib/python3.6/site-packages/pandas/plotting/_matplotlib/boxplot.py", line 4, in <module>
    from matplotlib.artist import setp
  File "/n/XXXX/rep-conda/lib/python3.6/site-packages/matplotlib/__init__.py", line 107, in <module>
    from . import cbook, rcsetup
  File "/n/XXXX/rep-conda/lib/python3.6/site-packages/matplotlib/rcsetup.py", line 28, in <module>
    from matplotlib.fontconfig_pattern import parse_fontconfig_pattern
  File "/n/XXXX/rep-conda/lib/python3.6/site-packages/matplotlib/fontconfig_pattern.py", line 15, in <module>
    from pyparsing import (Literal, ZeroOrMore, Optional, Regex, StringEnd,
  File "/n/XXXX/rep-conda/lib/python3.6/site-packages/pyparsing/__init__.py", line 130, in <module>
    __version__ = __version_info__.__version__
AttributeError: 'version_info' object has no attribute '__version__'

Probably also worth noting when I install UMI-Tools in the 3.6 environment, I get v1.1.0, while installing with 3.7.4 gives me v1.1.2

TomSmithCGAT commented 8 months ago

I believe this issue has been rectified now. Please open a new issue if not.