nservant / HiC-Pro

HiC-Pro: An optimized and flexible pipeline for Hi-C data processing
Other
381 stars 182 forks source link

Install ignores the provided python path #417

Open ArielPaulson opened 3 years ago

ArielPaulson commented 3 years ago

Hi,

In my config-install.txt, the path is given to a custom python 3.7.9 installation:

PREFIX = /home/apa/hic/hicpro/install BOWTIE2_PATH = /n/apps/CentOS7/install/bowtie2-2.4.2/bin/bowtie2 SAMTOOLS_PATH = /n/apps/CentOS7/install/samtools-1.9/bin/samtools R_PATH = /n/apps/CentOS7/install/r-4.0.0/bin/R PYTHON_PATH = /home/apa/hic/hiclib/python3/install/bin/python3.7

However, when running 'make configure', make completely ignores this path and defaults to the sitewide python path, which is totally nonsensical. I do not have root permissions there, and it has no business using that python build anyway:

make configure make -f ./scripts/install/Makefile CONFIG_SYS=./config-install.txt prefix=/n/apps/CentOS7 make[1]: Entering directory '/home/apa/gcloud_stuff/hic/hicpro/HiC-Pro' ./scripts/install/install_dependencies.sh -c ./config-install.txt -p /home/apa/gcloud_stuff/hicpro/install -o /home/apa/gcloud_stuff/hicpro/install/HiC-Pro_3.0.0 -q Make sure internet connection works for your shell prompt under current user's privilege ... Starting HiC-Pro installation ... export /n/apps/CentOS7/install/bowtie2-2.4.2/bin/bowtie2 in PATH export /n/apps/CentOS7/install/samtools-1.9/bin/samtools in PATH export /n/apps/CentOS7/install/r-4.0.0/bin/R in PATH export /home/apa/gcloud_stuff/hic/hiclib/python3/install/bin/python3.7 in PATH Python v3.7.X or higher is needed [2.7.5 detected]. make[1]: [scripts/install/Makefile:41: configure] Error 1 make[1]: Leaving directory '/home/apa/gcloud_stuff/hic/hicpro/HiC-Pro' make: [Makefile:38: configure] Error 2

Please make the 'make' process respect the indicated python path in the config file.

Thanks, Ariel

nservant commented 3 years ago

Hi Could you please run ?

/home/apa/gcloud_stuff/hic/hiclib/python3/install/bin/python3.7 --version 

I think it uses the right version, but I'm suspecting an issue when checking the version number .... Thanks

ArielPaulson commented 3 years ago

Hi,

That command returns "3.7.9".

The install process actually relies upon the sitewide 'python' command for its version checking, definitely not the config python path. I have verified this with a clean install on a google cloud VM. At my location the install dies because our sitewide 'python' is 2.7.5. On the cloud VM, the install dies because it is 2.7.12.

Only if I delete /usr/bin/python and replace it with a symlink to the config python path, does the install actually proceed.

Thanks, Ariel

nservant commented 3 years ago

arff, I know ! You need to put the path to the exec folder ...

BOWTIE2_PATH = /n/apps/CentOS7/install/bowtie2-2.4.2/bin/
SAMTOOLS_PATH = /n/apps/CentOS7/install/samtools-1.9/bin/
R_PATH = /n/apps/CentOS7/install/r-4.0.0/bin/
PYTHON_PATH = /home/apa/hic/hiclib/python3/install/bin/

Because, those paths are simply added to the PATH env variable. Then, for instance, for python it runs ${PYTHON_PATH}/python

ArielPaulson commented 3 years ago

Sorry for the wait, I finally had a chance to re-attempt this off the cloud an in our sitewide environment, where I don't have root, and we use pyenv for python version control. The sitewide default is 2.7.5.

I have modified the config-install.txt as you indicated:

BOWTIE2_PATH = /n/apps/CentOS7/install/bowtie2-2.2.9/bin SAMTOOLS_PATH = /n/apps/CentOS7/install/samtools-1.2/bin R_PATH = /n/apps/CentOS7/install/r-3.6.1/bin PYTHON_PATH = /n/core/Bioinformatics/Software/HiC_Python_3.7.9/python3/bin

But the install still chooses the sitewide 2.7.5:

apa@cypress ~/arima/HiC-Pro$ make configure make -f ./scripts/install/Makefile CONFIG_SYS=./config-install.txt prefix=/n/apps/CentOS7 make[1]: Entering directory '/home/apa/arima/HiC-Pro' ./scripts/install/install_dependencies.sh -c ./config-install.txt -p /n/core/Bioinformatics/Software/HiC-Pro -o /n/core/Bioinformatics/Software/HiC-Pro/HiC-Pro_3.0.0 -q Make sure internet connection works for your shell prompt under current user's privilege ... Starting HiC-Pro installation ... export /n/apps/CentOS7/install/bowtie2-2.2.9/bin in PATH export /n/apps/CentOS7/install/samtools-1.2/bin in PATH export /n/apps/CentOS7/install/r-3.6.1/bin in PATH export /n/core/Bioinformatics/Software/HiC_Python_3.7.9/python3/bin in PATH Python v3.7.X or higher is needed [2.7.5 detected]. make[1]: [scripts/install/Makefile:41: configure] Error 1 make[1]: Leaving directory '/home/apa/arima/HiC-Pro' make: [Makefile:38: configure] Error 2

I have added the python 3.7.9 path to the front of $PATH manually, also re-aliased the 'python' command in my bashrc to the desired python3, I don't know how it is detecting sitewide still, but it is clearly ignoring the version in the config.txt...

Thanks, Ariel

guvkay20 commented 2 years ago

I have the exact same problem, but I could not find a solution yet.