jtlovell / GENESPACE

Other
180 stars 24 forks source link

Could not find a valid path to the orthofinder program from R. #145

Closed celphin closed 6 months ago

celphin commented 6 months ago

Hello,

I get the following error when I try to start GeneSpace from R. Note that I am running this on a remote Linux server with slurm, no conda and no root access.

NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"

Initial code that I tried:

module load StdEnv/2020 python/3.11.5 scipy-stack/2021a diamond/2.1.7 fastme/2.1.6.2 gcc/9.3.0 mcl/14.137 java/13.0.2 r/4.2.2 glpk/5.0

# I have installed both OrthoFinder and OrthoFinder_source so I export both to the PATH
export PATH=$PATH:/home/celphin/scratch/Oxyria/GeneSpace/OrthoFinder/bin
export PATH=$PATH:/home/celphin/scratch/Oxyria/GeneSpace/OrthoFinder_source
alias orthofinder='orthofinder.py'

orthofinder -h
# works

# in R
R
library(GENESPACE)
gpar <- init_genespace(
  wd = "/home/celphin/scratch/Oxyria/GeneSpace", 
  path2mcscanx = "/home/celphin/scratch/Oxyria/GeneSpace/MCScanX/")
out <- run_genespace(gsParam = gpar) 

Checking dependencies ...
        Found valid path to DIAMOND2 v2.17: `diamond`
        Found valid MCScanX_h executable: `/home/celphin/scratch/Oxyria/GeneSpace/MCScanX//MCScanX_h`

This runs until the following error:

ERROR: Could not find a valid path to the orthofinder program from R. To run orthofinder, ensure that the orthofinder program is in the $PATH, then call the following from the shell: orthofinder -f /home/celphin/scratch/Oxyria/GeneSpace/tmp -t 16 -a 1 -X -o /home/celphin/scratch/Oxyria/GeneSpace/orthofinderError in run_orthofinder(gsParam = gsParam, verbose = TRUE) . Once OrthoFinder has been run, re-call run_genespace.

I ran OrthoFinder from the shell with the following commands and it finished with no problems:

module load StdEnv/2020 python/3.11.5 scipy-stack/2021a diamond/2.1.7 fastme/2.1.6.2 gcc/9.3.0 mcl/14.137 java/13.0.2 r/4.2.2 glpk/5.0

# I have installed both OrthoFinder and OrthoFinder_source so I export both to the PATH
export PATH=$PATH:/home/celphin/scratch/Oxyria/GeneSpace/OrthoFinder/bin
export PATH=$PATH:/home/celphin/scratch/Oxyria/GeneSpace/OrthoFinder_source
alias orthofinder='orthofinder.py'

orthofinder -f /home/celphin/scratch/Oxyria/GeneSpace/tmp -t 16 -a 1 -X -o /home/celphin/scratch/Oxyria/GeneSpace/orthofinder

I then tried to run the following in bash/R:

module load StdEnv/2020 python/3.11.5 scipy-stack/2021a diamond/2.1.7 fastme/2.1.6.2 gcc/9.3.0 mcl/14.137 java/13.0.2 r/4.2.2 glpk/5.0

# I have installed both OrthoFinder and OrthoFinder_source so I export both to the PATH
export PATH=$PATH:/home/celphin/scratch/Oxyria/GeneSpace/OrthoFinder/bin
export PATH=$PATH:/home/celphin/scratch/Oxyria/GeneSpace/OrthoFinder_source
alias orthofinder='orthofinder.py'

orthofinder -h
# works

R

library(GENESPACE)

# https://rdrr.io/github/jtlovell/GENESPACE/man/init_genespace.html
gpar <- init_genespace(
  wd = "/home/celphin/scratch/Oxyria/GeneSpace", 
  path2mcscanx = "/home/celphin/scratch/Oxyria/GeneSpace/MCScanX/",
  rawOrthofinderDir = "/home/celphin/scratch/Oxyria/GeneSpace/orthofinder/Results_Feb23_1")

run_genespace(gsParam = gpar)

############################
1. Running orthofinder (or parsing existing results)
        Checking for existing orthofinder results ...
[1] TRUE
        Copying files over to the temporary directory:
                /home/celphin/scratch/Oxyria/GeneSpace/tmp
Could not find a valid path to the orthofinder program from R. To run         orthofinder, ensure that the orthofinder program is in the         $PATH, then call the following from the shell: orthofinder -f /home/celphin/scratch/Oxyria/GeneSpace/tmp -t 16 -a 1 -X -o /home/celphin/scratch/Oxyria/GeneSpace/orthofinderError in run_orthofinder(gsParam = gsParam, verbose = TRUE) :
  Once OrthoFinder has been run, re-call run_genespace

Also, maybe unrelated when I use OrthoFinder not OrthoFinder_source (without the alias) I get the following error:

export PATH=$PATH:/home/celphin/scratch/Oxyria/GeneSpace/OrthoFinder/bin
export PATH=$PATH:/home/celphin/scratch/Oxyria/GeneSpace/OrthoFinder
orthofinder -h

[56445] Error loading Python lib '/tmp/_MEIcL4qCu/libpython3.10.so.1.0': dlopen: /lib64/libm.so.6: version `GLIBC_2.35' not found (required by /tmp/_MEIcL4qCu/libpython3.10.so.1.0)

Any suggestions for how to get this working? Would a different version of orthofinder help? https://stackoverflow.com/questions/76951628/glibc-2-35-not-found-required-by-tmp-meiqx6yrs-libpython3-10-so-1-0

Thanks, Cassandra

celphin commented 6 months ago

It works now when I restarted everything fresh today.