Problematic conda management of QIIME2 and QIIME1 on the same machine

Hi,

I need to re-analyze some old 454 pyrosequencing data with new QIIME2 methods. After browsing the forum a bit, I found some very useful solution, expecially for the initial part of the pipeline (see this post).

Problem is that the solution requires to use old QIIME1 scripts. Luckily on the machine I am working there still is a conda env for qiime 1 (tried to re-install a new one, but due to different packages version and python2/python3 conflicts, it seems very difficult at present) and I was able to activate the env, but not to call any qiime 1 script, getting the following error:

(base) [email protected]:~$ conda activate qiime1 

(qiime1) [email protected]:~$ split_libraries.py --help 
-bash: /home/biologia/anaconda2/envs/qiime1/bin/split_libraries.py: /home/biologia/miniconda3/envs/qiime1/bin/python: bad interpreter: No such file or directory

The old QIIME1 environment (on anaconda 2) loads correctly, but then it seems to search for something in the new miniconda3 environment (i.e. were there is the QIIME2 env installation), not sure what the "interpreter" is in this case

I tried to modify my .bashrc profile (commenting out miniconda part) to point to the anacoda2 installation instead of the miniconda3 like this, but i got the same error, still searchin for an interpreter in the miniconda3 folder

# this is the >>normal>> profile
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
#__conda_setup="$('/home/biologia/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
#if [ $? -eq 0 ]; then
#    eval "$__conda_setup"
#else
#    if [ -f "/home/biologia/miniconda3/etc/profile.d/conda.sh" ]; then
#        . "/home/biologia/miniconda3/etc/profile.d/conda.sh"
#    else
#        export PATH="/home/biologia/miniconda3/bin:$PATH"
#    fi
#fi
#unset __conda_setup
# <<< conda initialize <<<

# this is for use when QIIME1 is needed (i.e. preprocessing 454 pyroseq file).
# comment this out for normal use
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/biologia/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/biologia/anaconda2/etc/profile.d/conda.sh" ]; then
        . "/home/biologia/anaconda2/etc/profile.d/conda.sh"
    else
        export PATH="/home/biologia/anaconda2/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

I am noticing that if opening the two different profiles (I made a copy of the original profile, to load if I need to use QIIME1) in nano it get different color highlighting, not sure if this means somethig or not. I made a screenshot just in case

Any hint on how to solve this?
Thanks!

Hi @FVitali,

Apologies for the delay in response on this!

Thanks for providing all of these details. Do you mind sharing exactly what the files are that you're trying to use within the QIIME 2 ecosystem? Are they .fna files/etc? There is most likely a better way to handle this than with a QIIME 1 command, and I do suspect that wires are being crossed somehow with your QIIME 1 and QIIME 2 environments. We'll try to find a solution that doesn't require the former, if possible!

Cheers :lizard:

Hi @lizgehret thank you for the answer,

Do you mind sharing exactly what the files are that you're trying to use within the QIIME 2 ecosystem?

They were fasta+qual files, the old files obtained from an sff from 454 pyrosequencing.

I ended in pre-processing the reads outside of QIIME1 as the "conflicts" with QIIME2 seemed not solvable. Then imported the demultiplexed fastq in QIIME2 for ASV and taxonomy. I used a python script with the SeqIO module for obtaining fastq files from fasta+qual, and then CUTADAPT for demultiplexing.

Seems really hard to have a system with coexisting QIIME1 and QIIME2 at the moment, and maybe not that useful... However, the porting of convert_fastaqual_fastq.py and maybe split_libraries.py from QIIME1 to QIIME2 could be enought to process old 454 data (fasta+qual) in QIIME2.

Hi @FVitali,

Thanks for sharing those details! What you ended up doing seems like the most sensible way to handle that kind of data, and it is a reasonable point that you bring up regarding having an easy way to handle conversion from fasta+qual files to fastq files. I'll check in with the rest of the core eng team and see if that's something we'd potentially add into QIIME 2 in the future. :nerd_face:

Cheers :lizard: