deeptools / HiCExplorer

HiCExplorer is a powerful and easy to use set of tools to process, normalize and visualize Hi-C data.
https://hicexplorer.readthedocs.org
GNU General Public License v3.0
224 stars 70 forks source link

Hicexplorer and py38 with conda #776

Open giuliospinozzi opened 2 years ago

giuliospinozzi commented 2 years ago

I installed in my debian workstation hicexplorer with conda and py37 without any issue. Today I would like to install hicexplorer in my macbook pro m1max with 64gb of RAM, but I cannot. For Apple silicon is available with conda only py38 and when I try to install hicexplorer I receive a general dependency error and the installation crash. Can you fix the compatibility with py38? Is the only way for apple silicon cpu.

The command in a clean installation of miniconda: conda install -n hic hicexplorer -c bioconda -c conda-forge

joachimwolff commented 2 years ago

Hi Giulio,

I used so far the x86 version via Rosetta2 on my M1. This worked quite well, but I need to check which Python version it is using. I was not aware there is finally a native version for Apple Silicon provided by conda. Can you please post the error message? And as a workaround: Try to use the x86 + Rosetta2.

Best,

Joachim

giuliospinozzi commented 2 years ago

The problem was the same on debian with py38, only with py37 I was able to install in x86 machine. ASAP I'll post the error in verbose mode, but I think that is related to py38 and not to the architecture.

giuliospinozzi commented 2 years ago

here is the command:

% conda install -n hic hicexplorer -c bioconda -c conda-forge -v Collecting package metadata (current_repodata.json): ...working... Unable to retrieve repodata (response: 404) for https://conda.anaconda.org/bioconda/osx-arm64/current_repodata.json

Unable to retrieve repodata (response: 404) for https://repo.anaconda.com/pkgs/r/osx-arm64/current_repodata.json

Unable to retrieve repodata (response: 404) for https://conda.anaconda.org/bioconda/osx-arm64/repodata.json

Unable to retrieve repodata (response: 404) for https://repo.anaconda.com/pkgs/r/osx-arm64/repodata.json

done Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve. Solving environment: ...working... failed with repodata from current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): ...working... Unable to retrieve repodata (response: 404) for https://conda.anaconda.org/bioconda/osx-arm64/repodata.json

Unable to retrieve repodata (response: 404) for https://repo.anaconda.com/pkgs/r/osx-arm64/repodata.json

done Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve. Solving environment: ...working... Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. failed
Traceback (most recent call last): File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/cli/install.py", line 259, in install unlink_link_transaction = solver.solve_for_transaction( File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 114, in solve_for_transaction unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier, File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 157, in solve_for_diff final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned, File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 281, in solve_final_state ssc = self._run_sat(ssc) File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/common/io.py", line 88, in decorated return f(*args, *kwds) File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 815, in _run_sat ssc.solution_precs = ssc.r.solve(tuple(final_environment_specs), File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/common/io.py", line 88, in decorated return f(args, **kwds) File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/resolve.py", line 1320, in solve raise UnsatisfiableError({}) conda.exceptions.UnsatisfiableError: Did not find conflicting dependencies. If you would like to know which packages conflict ensure that you have enabled unsatisfiable hints.

conda config --set unsatisfiable_hints True

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/exceptions.py", line 1080, in call return func(*args, kwargs) File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/cli/main.py", line 84, in _main exit_code = do_call(args, p) File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/cli/conda_argparse.py", line 83, in do_call return getattr(module, func_name)(args, parser) File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/cli/main_install.py", line 20, in execute install(args, parser, 'install') File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/cli/install.py", line 306, in install raise e File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/cli/install.py", line 293, in install unlink_link_transaction = solver.solve_for_transaction( File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 114, in solve_for_transaction unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier, File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 157, in solve_for_diff final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned, File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 281, in solve_final_state ssc = self._run_sat(ssc) File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/common/io.py", line 88, in decorated return f(*args, *kwds) File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 815, in _run_sat ssc.solution_precs = ssc.r.solve(tuple(final_environment_specs), File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/common/io.py", line 88, in decorated return f(args, kwds) File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/resolve.py", line 1322, in solve self.find_conflicts(specs, specs_to_add, history_specs) File "/Users/gspinozzi/miniconda3/lib/python3.8/site-packages/conda/resolve.py", line 352, in find_conflicts raise UnsatisfiableError(bad_deps, strict=strict_channel_priority) conda.exceptions.UnsatisfiableError

joachimwolff commented 2 years ago

That looks to me that the conda dependency resolver is having once more troubles. Can you try mamba to install HiCExplorer? That’s an alternative conda installation and dependency resolver tool. Also: I can highly recommend to use conda environments to separate your software installations. Having already some dependencies of HiCExplorer installed, but maybe with a different version can also lead to this behavior you observe.

giuliospinozzi commented 2 years ago

You are right. I tried also with a fresh installation of Miniconda for M1, same problems. Also before to upgrade at the last version of conda. Same problem in x86 with this py38. I have to manage a huge dataset and I would like to improve performances with Apple Silicon architecture. I don't know mamba, but when it is possibile I'll try.

I hope that this problem can be solved soon.

joachimwolff commented 2 years ago

Just install „conda install mamba“ and use it like conda e.g. „mamba create -n hicexplorer hicexplorer -c conda-forge -c bioconda“ and activate the environment. -- Joachim Wolff M.Sc. Computer Science Chair for Bioinformatics Department of Computer Science Albert-Ludwigs-University Freiburg Georges-Koehler-Allee 079 D-79110 Freiburg

http://www.bioinf.uni-freiburg.de

giuliospinozzi commented 2 years ago

PackagesNotFoundError: The following packages are not available from current channels:

Current channels:

Probably is not available for M1 chips (https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh)

joachimwolff commented 2 years ago

Conda-forge?

giuliospinozzi commented 2 years ago

yes

Eng. Giulio Spinozzi, PhD Vector Integration Core San Raffaele Telethon Institute for Gene Therapy (SR-Tiget)

Section of Hematology Department of Medicine University of Perugia

On 2 Feb 2022, at 11:55, Joachim Wolff @.***> wrote:

Conda-forge?

Giulio Spinozzi, PhD @.***> schrieb am Mi. 2. Feb. 2022 um 10:45:

PackagesNotFoundError: The following packages are not available from current channels:

  • mamba

Current channels:

Probably is not available for M1 chips

— Reply to this email directly, view it on GitHub https://github.com/deeptools/HiCExplorer/issues/776#issuecomment-1027755176, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADGQCAE4EUOORH3Q7XF6GWLUZD4NJANCNFSM5NJYH3FQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

-- Joachim Wolff M.Sc. Computer Science Chair for Bioinformatics Department of Computer Science Albert-Ludwigs-University Freiburg Georges-Koehler-Allee 079 D-79110 Freiburg

http://www.bioinf.uni-freiburg.de — Reply to this email directly, view it on GitHub https://github.com/deeptools/HiCExplorer/issues/776#issuecomment-1027814439, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACE7KW3QWCZTJRHPWS3QUK3UZEETXANCNFSM5NJYH3FQ. You are receiving this because you authored the thread.

joachimwolff commented 2 years ago

Ok, so I tested a bit on my M1 Mac. I think the problem is the selection of the native osx-arm64 packages. I am using the osx-64 (aka x86) packages and Rosetta2. With this setup, mamba and HiCExplorer can be installed and work fine, the Python version does not matter.

I think the explanation is that maybe some dependencies are not available for osx-arm64. I need to investigate this, but even when I figure out which packages are missing, I cannot do much. This is a problem that needs to be solved upstream by conda, conda-forge and or bioconda.

giuliospinozzi commented 2 years ago

I agree with you. Can we send this issue to the conda team? How can we report this? Can you do?

Best

Inviato da iPhone Giulio Spinozzi, Ph.D.

Il giorno 2 feb 2022, alle ore 13:57, Joachim Wolff @.***> ha scritto:

 Ok, so I tested a bit on my M1 Mac. I think the problem is the selection of the native osx-arm64 packages. I am using the osx-64 (aka x86) packages and Rosetta2. With this setup, mamba and HiCExplorer can be installed and work fine, the Python version does not matter.

I think the explanation is that maybe some dependencies are not available for osx-arm64. I need to investigate this, but even when I figure out which packages are missing, I cannot do much. This is a problem that needs to be solved upstream by conda, conda-forge and or bioconda.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.