EI-CoreBioinformatics/mikado

error with running mikado

Closed this issue · 3 comments

Hi,

I tried to install the latest version of mikado via different approaches (conda/mamba, pip3, and as Luca proposed here: #256) without success. When I try to run e.g. mikado configure --help I get:

Traceback (most recent call last):
  File "/data/home/btx333/mambaforge/envs/mikado2/bin/mikado", line 8, in <module>
    sys.exit(main())
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/__main__.py", line 18, in main
    from Mikado.subprograms import configure, prepare, serialise, pick, compare, util
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/subprograms/__init__.py", line 6, in <module>
    from . import configure
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/subprograms/configure.py", line 28, in <module>
    from .prepare import parse_prepare_options
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/subprograms/prepare.py", line 22, in <module>
    from ..preparation.prepare import prepare
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/preparation/prepare.py", line 4, in <module>
    from .checking import create_transcript, CheckingProcess
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/preparation/checking.py", line 9, in <module>
    from ..transcripts.transcriptchecker import TranscriptChecker
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/transcripts/__init__.py", line 8, in <module>
    from .transcript import Transcript, Metric
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/transcripts/transcript.py", line 4, in <module>
    from .transcript_methods import splitting, retrieval
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/transcripts/transcript_methods/retrieval.py", line 12, in <module>
    from ...serializers.junction import Junction
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/serializers/__init__.py", line 6, in <module>
    from . import orf
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/serializers/orf.py", line 34, in <module>
    class Orf(DBBASE):
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/Mikado/serializers/orf.py", line 62, in Orf
    query = column_property(select([Query.query_name]).where(
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/sqlalchemy/sql/_selectable_constructors.py", line 493, in select
    return Select(*entities)
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/sqlalchemy/sql/selectable.py", line 5160, in __init__
    self._raw_columns = [
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/sqlalchemy/sql/selectable.py", line 5161, in <listcomp>
    coercions.expect(
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/sqlalchemy/sql/coercions.py", line 413, in expect
    resolved = impl._literal_coercion(
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/sqlalchemy/sql/coercions.py", line 652, in _literal_coercion
    self._raise_for_expected(element, argname)
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/sqlalchemy/sql/coercions.py", line 1143, in _raise_for_expected
    return super()._raise_for_expected(
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/sqlalchemy/sql/coercions.py", line 711, in _raise_for_expected
    super()._raise_for_expected(
  File "/data/home/btx333/mambaforge/envs/mikado2/lib/python3.10/site-packages/sqlalchemy/sql/coercions.py", line 536, in _raise_for_expected
    raise exc.ArgumentError(msg, code=code) from err
sqlalchemy.exc.ArgumentError: Column expression, FROM clause, or other columns clause element expected, got [<sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f324070fb00>]. Did you mean to say select(<sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f324070fb00>)?

If I try to run the test:

(mikado2) [btx333@frontend11 mikado]$ python -c "import Mikado; Mikado.test(); Mikado.test(label='slow')"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/data/SBCS-MartinDuranLab/02-Chema/src/mikado/Mikado/__init__.py", line 29, in <module>
    from .utilities.log_utils import create_default_logger
  File "/data/SBCS-MartinDuranLab/02-Chema/src/mikado/Mikado/utilities/__init__.py", line 19, in <module>
    from .overlap import overlap
ModuleNotFoundError: No module named 'Mikado.utilities.overlap'

Any idea of what is causing this?

Thanks for your help.

Best wishes,

Chema

And this is the log if I try to install it via pip3 (I'm running all this in my session in an HPC cluster)

(base) [btx333@frontend11 ~]$ pip3 install mikado --user
Collecting mikado
  Using cached Mikado-2.3.4.tar.gz (24.7 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [15 lines of output]
      Traceback (most recent call last):
        File "/data/home/btx333/.local/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/data/home/btx333/.local/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/data/home/btx333/.local/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-pxiftnrw/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 338, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
        File "/tmp/pip-build-env-pxiftnrw/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 320, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-pxiftnrw/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 335, in run_setup
          exec(code, locals())
        File "<string>", line 15, in <module>
      ModuleNotFoundError: No module named 'scipy._build_utils'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
(base) [btx333@frontend11 ~]$ pip3 install scipy --upgrade
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: scipy in ./.local/lib/python3.8/site-packages (1.10.1)
Requirement already satisfied: numpy<1.27.0,>=1.19.5 in ./.local/lib/python3.8/site-packages (from scipy) (1.24.2)
(base) [btx333@frontend11 ~]$ pip3 install numpy --upgrade
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: numpy in ./.local/lib/python3.8/site-packages (1.24.2)

I get a similar error when I run the same command on my laptop.

Hi @ChemaMD,

you need to pin the sqlalchemy to version 1.4.46 during installation: sqlalchemy==1.4.46 .

There is a newer version of sqlalchemy 2.0 in in conda that is being installed and it seems to be incompatible.

Cheers,
Einar

Thanks! Sorted :-)