nanoporetech / megalodon

Megalodon is a research command line tool to extract high accuracy modified base and sequence variant calls from raw nanopore reads by anchoring the information rich basecalling neural network output to a reference genome/transriptome.
Other
196 stars 30 forks source link

INSTALLATION ERROR: Need to install numpy before megalodon installation. #343

Closed rayljc closed 1 year ago

rayljc commented 1 year ago

Hello,

From the README it seems pretty easy to install this package with python 3.6 and above. However, I am unable to install this package with pip.

Steps to reproduce: conda create --name meow python=3.6 numpy (python=3.7, python=3.8 and python=3.9 work the same) conda activate meow pip install megalodon

Unfortunately I got

 error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [7 lines of output]
      ************************************************************
      INSTALLATION ERROR:
          Need to install numpy before megalodon installation.
          This is required in order to get maximum efficincy from cython code optimizations.
      To install run:
      $ pip install numpy
      ************************************************************
      [end of output]

Please let me know if I miss anything or if there is a way to resolve this error. Thanks

cjw85 commented 1 year ago

Hi @rayljc,

Can I check that you have followed the instructions given in the error message?

rayljc commented 1 year ago

Hi Chris,

Thanks for the reply! I believe I specify installing numpy when creating the virtual env. Even after manually installing numpy, the error still exists.

pip list

Package         Version
--------------- ---------
certifi         2021.10.8
cycler          0.10.0
distlib         0.3.6
filelock        3.9.0
joblib          1.0.1
kiwisolver      1.3.1
matplotlib      3.4.2
numpy           1.21.0
pandas          1.2.5
Pillow          8.3.0
pip             23.1.2
platformdirs    3.1.0
pyparsing       2.4.7
python-dateutil 2.8.1
pytz            2021.1
scikit-learn    0.24.2
scipy           1.7.0
setuptools      56.0.0
six             1.16.0
STRique         0.4.2
threadpoolctl   2.1.0
virtualenv      20.20.0

pip install megalodon

Collecting megalodon
  Using cached megalodon-2.4.2.tar.gz (6.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
  Using cached megalodon-2.4.1.tar.gz (6.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
  Using cached megalodon-2.4.0.tar.gz (6.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
  Using cached megalodon-2.3.5.tar.gz (6.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
  Using cached megalodon-2.3.4.tar.gz (6.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
  Using cached megalodon-2.3.3.tar.gz (6.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
  Using cached megalodon-2.3.2.tar.gz (6.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
INFO: pip is looking at multiple versions of megalodon to determine which version is compatible with other requirements. This could take a while.
  Using cached megalodon-2.3.1.tar.gz (6.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
  Using cached megalodon-2.3.0.tar.gz (174 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
  Using cached megalodon-2.2.10.tar.gz (8.1 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
  ╰─> [7 lines of output]
      ************************************************************
      INSTALLATION ERROR:
          Need to install numpy before megalodon installation.
          This is required in order to get maximum efficincy from cython code optimizations.
      To install run:
      $ pip install numpy
      ************************************************************
      [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.
cjw85 commented 1 year ago

Before going down this tricksy line of debugging, perhaps it is worth asking what you wish to use megalodon for.

Much of its utility has been supplanted by direct modified basecalling within the Guppy and Dorado basecallers. If your only task is to identify modified bases in reads you should use these tools instead.

rayljc commented 1 year ago

Hi Chris,

I am specifically interested in CpG methylation detection and would like to compare your algorithms with Guppy in my specific regions of interest. Your suggestions are much appreciated!

Thanks, Ray

cjw85 commented 1 year ago

For CpG methylation detection the techniques used in Dorado are now the recommended route to produce the highest quality calls.