Error_Installing qiime2

Hi,

I'm installing qiime2-2023.5 in HPC serve.

With command $ wget https://data.qiime2.org/distro/core/qiime2-2023.5-py38-linux-conda.yml,
I downloaded "qiime2-2023.5-py38-linux-conda.yml" in a directory "/blue/hsbae".

But in the next step,
command "$ conda env create -n qiime2-2023.5 --file qiime2-2023.5-py38-linux-conda.yml" generated following error.

CondaValueError: prefix already exists: /home/hsbae/.conda/envs/qiime2-2023.5.

It looks qiime2-2023.5 was installed in directory "/home/hsbae" while, now, I'd like to install qiime in the other directory "/blue/hsbae". How do I remove qiime2 from /home/hsbae and install it in the directory "/blue/hsbae"?

Best regards,

Hee-Sung

Hello @baehsung, do you have a particular reason for wanting to remove the environment from its current location and put it in a new one? Our install instructions have you create a named conda environment with the name being qiime2-<version>. Conda installs these environments under /home/<user>/..., but you should be able to activate the environment from anywhere on your system by running conda activate <env-name>.

If this is an issue due to the configuration of your HPC or something, you can install a conda prefix environment at any location you want on your system then activate it by running conda activate <path-to-env>. You do not need to remove the environment under home before you do this, but if you want to the command for that is conda env remove -n <env-name>.

I would not recommend doing this unless a conda named environment in your home directory does not work on your system for some reason.

1 Like

Thank you so much for your quick replay, with kind explanation.

The reason for trying to move qiime2 into new directory is that my /home// has very little space to run qiime analyses. And, then, we purchased more CUPs and storage, with creating a new directory (/blue//).

Now, I'm trying to install qiime2 using conda that was already setup in HPC system as suggested by IT staff. I think I successfully installed qiime2 in the /blue/. using following commands provided by IT man.

$ module load conda

$ mamba create -yp /blue//conda

$ mamba activate /blue//conda

$ wget https://data.qiime2.org/distro/core/qiime2-2023.5-py38-linux-conda.yml

$ conda env create -n qiime2-2023.5 --file qiime2-2023.5-py38-linux-conda.yml

$ conda activate qiime2-2023.5

And then tried to run qiime using following commands.

$ qiime tools import --type 'SampleData[PairedEndSequencesWithQuality]' --input-path /blue//xx.csv --input-format PairedEndFastqManifestPhred33 --output-path /blue//seqs.qza.

Unfortunately this trial also made this error:

Directory '/tmp/qiime2' already exists without proper permissions '0o41777' set. Current permissions are '0o41757.' This most likely means something other than QIIME 2 created the directory '/tmp/qiime2' or QIIME 2 failed between creating '/tmp/qiime2' and setting permissions on it.

Do you think I need to reinstall qiime2 in /home/<user/ (even it looks installed somewhere) and run the qiime in the new dir (/blue//) after installing conda prefix as suggested by you under HPC-installed conda? Is it no problem to use HPC-conda in running Qiime?

Best regards,

Hee-Sung

Can you look at the contents of the /tmp/qiime2/ directory? We use that directory for temporary storage, but it sounds like in your case maybe someone else created it. You should see something that looks like the following:


Screenshot from 2023-06-16 10-08-07


A directory with your username with the contents shown in the screenshot. There may also be other directories for other usernames if there are other people on your system using QIIME 2.

2 Likes

I can see a folder with other user name in tmp/qiime2, but not director with my user name.

Hello @baehsung,

Do the directory contents of these other users look similar to the screenshot @Oddant1 provided?

Yes, it looks very similar (see attached picture in screenshot of MobaXterm).
The folder in /tmp/qiime2 was made 2022.12.10 by other user.

image

Hee-Sung

Hello @baehsung,

This looks like a qiime2 cache, assumedly as @Oddant1 was expecting. Others seem to be using the cache fine, which is strange because apparently improper permissions are set on it.

Next steps are to reach out to your HPC admins to ask why or how the permissions were changed.

In the mean time you can set the appropriate temp dir environment variable (probably one of $TMP, $TEMP, $TMPDIR) to something other than /tmp. Qiime will then make a new cache there with the correct permissions set. You'll likely have to set this environment variable in any job script you submit, or just in your terminal if run things from there.

thanks for quick reply.

Would you mind giving me details to set temp dir (e.g., commands)?
I can make a new dir name TEMP within tmp, but not successful in outside of /tmp in the screenshot of MobaXterm.

Hee-Sung

Hello @baehsung,

Something like export TMPDIR=/tmp/qiime2-new should do the trick. But I can't say which environment variable your cluster will read.

thanks for this information.

I think I solved the problem based on your comment and another post ([RESOLVED] Notice to Multi-User System users regarding QIIME 2 2022.8 Installation), using following commands together.

$ mkdir $HOME/tmp/

$ export TMPDIR=$HOME/tmp/

Now, I confirmed that qiime2 is working in HPC system.

I have struggled with this issue for several weeks.

Thanks all guys for helping me to solve this problem.

Hee-Sung

1 Like

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.