phyloacc / PhyloAcc

PhyloAcc a software to detect the changes of conservation of a genomic region
GNU General Public License v3.0
26 stars 12 forks source link

PackagesNotFoundError #46

Closed francicco closed 1 year ago

francicco commented 1 year ago

Hi,

For some reason I can't install phyloacc with conda. I'm following your instruction by executing

conda create -n phyloacc-env
conda activate phyloacc-env
conda install phyloacc

the install command gives me

(phyloacc-env) []$ conda install phyloacc
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

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

  - phyloacc

Current channels:

  - https://repo.anaconda.com/pkgs/main/linux-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/linux-64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

therefore I executed: conda config --append channels conda-forge but the error persists.

Any help?

Thanks a lot Francesco

gwct commented 1 year ago

Hi Francesco, Can you try adding the channels in the order specified by bioconda here: https://bioconda.github.io/

Just run the commands:

conda config --add channels defaults
conda config --add channels bioconda
conda config --add channels conda-forge
conda config --set channel_priority strict

and try to install again and then hopefully it will know to look for phyloacc in the bioconda channel. Let me know if that doesn't work though!

francicco commented 1 year ago

Thanks a lot, gonna give it a go. I have a lot of questions to ask you once I've installed this. A referee asks to run PhyloAcc on my data. I'm a bit disoriented, I'd love a guidance, if you don't mind!

Cheers F

francicco commented 1 year ago

It says

Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed

ResolvePackageNotFound: 
  - python=3.1
gwct commented 1 year ago

Sure, happy to help!

Can you paste the output from the following commands for me?

cat ~/.condarc

and

conda list

Maybe something will jump out to me with those.

francicco commented 1 year ago

.condarc is

channels:
  - conda-forge
  - bioconda
  - defaults
channel_priority: strict

while conda list is:

# packages in environment at /user/home/tk19812/.conda/envs/phyloacc-env:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
_openmp_mutex             5.1                       1_gnu  
beautifulsoup4            4.11.1                   pypi_0    pypi
brotlipy                  0.7.0                    pypi_0    pypi
bzip2                     1.0.8                h7b6447c_0  
ca-certificates           2023.01.10           h06a4308_0  
certifi                   2022.12.7                pypi_0    pypi
cffi                      1.15.1                   pypi_0    pypi
chardet                   4.0.0                    pypi_0    pypi
charset-normalizer        2.0.4              pyhd3eb1b0_0  
conda                     23.1.0                   pypi_0    pypi
conda-build               3.23.3                   pypi_0    pypi
conda-package-handling    2.0.2                    pypi_0    pypi
conda-package-streaming   0.7.0                    pypi_0    pypi
cryptography              38.0.4                   pypi_0    pypi
filelock                  3.9.0                    pypi_0    pypi
glob2                     0.7                pyhd3eb1b0_0  
icu                       58.2                 he6710b0_3  
idna                      3.4                      pypi_0    pypi
jinja2                    3.1.2                    pypi_0    pypi
ld_impl_linux-64          2.38                 h1181459_1  
libarchive                3.6.2                hab531cd_0  
libffi                    3.4.2                h6a678d5_6  
libgcc-ng                 11.2.0               h1234567_1  
libgomp                   11.2.0               h1234567_1  
liblief                   0.12.3               h6a678d5_0  
libstdcxx-ng              11.2.0               h1234567_1  
libuuid                   1.41.5               h5eee18b_0  
libxml2                   2.9.14               h74e7548_0  
lz4-c                     1.9.4                h6a678d5_0  
markupsafe                2.1.1                    pypi_0    pypi
ncurses                   6.4                  h6a678d5_0  
openssl                   1.1.1t               h7f8727e_0  
patch                     2.7.6             h7b6447c_1001  
patchelf                  0.17.2               h6a678d5_0  
pip                       22.3.1                   pypi_0    pypi
pkginfo                   1.8.3                    pypi_0    pypi
pluggy                    1.0.0                    pypi_0    pypi
psutil                    5.9.0                    pypi_0    pypi
py-lief                   0.12.3          py310h6a678d5_0  
pycosat                   0.6.4                    pypi_0    pypi
pycparser                 2.21               pyhd3eb1b0_0  
pyopenssl                 22.0.0             pyhd3eb1b0_0  
pysocks                   1.7.1                    pypi_0    pypi
python                    3.10.9               h7a1cb2a_0  
python-libarchive-c       2.9                pyhd3eb1b0_1  
pytz                      2022.7                   pypi_0    pypi
pyyaml                    6.0                      pypi_0    pypi
readline                  8.2                  h5eee18b_0  
requests                  2.28.1                   pypi_0    pypi
ripgrep                   13.0.0               hbdeaff8_0  
ruamel-yaml               0.17.21                  pypi_0    pypi
ruamel-yaml-clib          0.2.6                    pypi_0    pypi
ruamel.yaml               0.17.21         py310h5eee18b_0  
ruamel.yaml.clib          0.2.6           py310h5eee18b_1  
setuptools                65.6.3                   pypi_0    pypi
six                       1.16.0             pyhd3eb1b0_1  
soupsieve                 2.3.2.post1              pypi_0    pypi
sqlite                    3.40.1               h5082296_0  
tk                        8.6.12               h1ccaba5_0  
toml                      0.10.2             pyhd3eb1b0_0  
toolz                     0.12.0                   pypi_0    pypi
tqdm                      4.64.1                   pypi_0    pypi
tzdata                    2022g                h04d1e81_0  
urllib3                   1.26.14                  pypi_0    pypi
wheel                     0.38.4                   pypi_0    pypi
xz                        5.2.10               h5eee18b_1  
yaml                      0.2.5                h7b6447c_0  
zlib                      1.2.13               h5eee18b_0  
zstandard                 0.19.0                   pypi_0    pypi
zstd                      1.5.2                ha4553b6_0 
gwct commented 1 year ago

Hmm, ok. It is strange that it says it can't find python=3.1 when that is not a restriction we set in the recipe.

Let's just try installing it in a fresh environment. I'm not sure if you installed something else in that environment that may be conflicting, or if one of the previous install attempts did something weird, but when I try a new environment my conda list is empty and I am able to install phyloacc.

So run the following, unless you've already tried something like this, and let me know what happens:

conda deactivate
conda create -n phyloacc-env-2
conda activate phyloacc-env-2
conda list
conda install phyloacc

If it doesn't work, can you tell me what conda list said before you ran conda install? Thanks!

francicco commented 1 year ago
(phyloacc-env-2) [tk19812@bp1-login03 PhyloAcc-2.1.1]$ conda list
# packages in environment at /user/home/tk19812/.conda/envs/phyloacc-env-2:
#
# Name                    Version                   Build  Channel

Empty.

It's installing it!

F

francicco commented 1 year ago
/user/home/tk19812/.conda/envs/phyloacc-env-2/bin/phyloacc.py

#
# =============================================================================================================================
 _____ _           _        ___           
| ___ \ |         | |      / _ \          
| |_/ / |__  _   _| | ___ / /_\ \ ___ ___ 
|  __/| '_ \| | | | |/ _ \|  _  |/ __/ __|
| |   | | | | |_| | | (_) | | | | (_| (__ 
\_|   |_| |_|\__, |_|\___/\_| |_/\___\___|
              __/ |                       
             |___/                        
    Bayesian rate analysis of conserved
       non-coding genomic elements

------------------------------------------------
**Error OP3: A mod file must be provided with -m
------------------------------------------------

Script call: /user/home/tk19812/.conda/envs/phyloacc-env-2/bin/phyloacc.py

I'll play with it now, thanks a lot! F

francicco commented 1 year ago

That's the test run...

(phyloacc-env-2) [tk19812@bp1-login03 PhyloAcc-test-data]$ snakemake -p -s /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/snakemake/run_phyloacc.smk --configfile /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/snakemake/phyloacc-config.yaml --profile /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/snakemake/profiles/slurm_profile --dryrun
Building DAG of jobs...
Job stats:
job             count    min threads    max threads
------------  -------  -------------  -------------
all                 1              1              1
run_phyloacc        2              1              1
total               3              1              1

[Mon Feb 27 16:51:10 2023]
rule run_phyloacc:
    input: /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/cfgs/2-st.cfg
    output: /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/2-phyloacc-st-out/2_elem_lik.txt
    log: /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/2-phyloacc-st-out/2-phyloacc.log
    jobid: 2
    reason: Missing output files: /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/2-phyloacc-st-out/2_elem_lik.txt
    wildcards: st_batch=2
    resources: mem_mb=4000, mem_mib=954, disk_mb=1000, disk_mib=954, tmpdir=<TBD>, partition=/user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data, nodes=1, mem=4g, time=1:00:00, cpus=1

        PhyloAcc-ST /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/cfgs/2-st.cfg &> /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/2-phyloacc-st-out/2-phyloacc.log

[Mon Feb 27 16:51:10 2023]
rule run_phyloacc:
    input: /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/cfgs/1-st.cfg
    output: /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/1-phyloacc-st-out/1_elem_lik.txt
    log: /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/1-phyloacc-st-out/1-phyloacc.log
    jobid: 1
    reason: Missing output files: /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/1-phyloacc-st-out/1_elem_lik.txt
    wildcards: st_batch=1
    resources: mem_mb=4000, mem_mib=954, disk_mb=1000, disk_mib=954, tmpdir=<TBD>, partition=/user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data, nodes=1, mem=4g, time=1:00:00, cpus=1

        PhyloAcc-ST /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/cfgs/1-st.cfg &> /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/1-phyloacc-st-out/1-phyloacc.log

[Mon Feb 27 16:51:10 2023]
localrule all:
    input: /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/1-phyloacc-st-out/1_elem_lik.txt, /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/2-phyloacc-st-out/2_elem_lik.txt
    jobid: 0
    reason: Input files updated by another job: /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/1-phyloacc-st-out/1_elem_lik.txt, /user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data/phyloacc-test/phyloacc-job-files/phyloacc-output/2-phyloacc-st-out/2_elem_lik.txt
    resources: mem_mb=4000, disk_mb=<TBD>, tmpdir=/tmp, partition=/user/work/tk19812/software/PhyloAcc-2.1.1/PhyloAcc-test-data, nodes=1, mem=4g, time=1:00:00, cpus=1

Job stats:
job             count    min threads    max threads
------------  -------  -------------  -------------
all                 1              1              1
run_phyloacc        2              1              1
total               3              1              1

Reasons:
    (check individual jobs above for details)
    input files updated by another job:
        all
    missing output files:
        run_phyloacc

This was a dry-run (flag -n). The order of jobs does not reflect the order of execution.

It seems fine... right? F

gwct commented 1 year ago

Yea, that seems good! You could also try running one of the batches manually as another test with one of the PhyloAcc-ST commands it prints out.