Search code examples
installationanacondacondabioinformaticsapple-m1

conda creation NGS environment, sra-tools fastqc multiqc samtools bowtie2 hisat2 subread


I cannot easily create an environment with conda containing the NGS tools I want. I reinstalled conda to get a fresh start since I had many python packages in the base env. I also took the occasion to install the full anaconda3 instead of miniconda I had before now I have way enough space.

Although all the packages are available via bioconda the only 2 i can add to my env are fastqc and multiqc. Before that I could install sra-tools and fastqc in the base env with miniconda3.

Config: MacOS Monterey 12.1 M1 chip. migration from my old macbook air with the lastest time machine bkp. I uninstalled miniconda with the anaconda-clean procedure and after that I also removed a python 3.9.5 I had in the apps folder I had initially installed to start learning 1yr ago before knowing about conda.

Also to be mentioned in case it may help: anaconda-navigator was not installed by the Anaconda3-2022.05-MacOSX-arm64.pkg (sha256 integrity check was ok) in following the check installation/navigator troubleshooting on anaconda website I came across an error upon launching spyder:

```(ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets')```

Does somebody know where this unability to find the packages comes?

Thank you for your help! best, Daniel

Env creation command and console output:

(base) mymac:~ D________$ conda create --name ngstools fastqc multiqc sra-tools samtools bowtie2 hisat2 subread -c conda-forge -c bioconda -c bioconda/label/cf201901

Terminal output:

Collecting package metadata (current_repodata.json): done

Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.

Collecting package metadata (repodata.json): done Solving environment: failed

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

  • hisat2
  • subread
  • bowtie2
  • samtools
  • sra-tools

Current channels:

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.


Solution

  • Prefatory Comments

    That is not a configuration I would recommend to bioinformatics users with M1 machines at the moment. There is no support yet for osx-arm64 in Bioconda. I expect one would find the least configuration issues by having everything in emulation (osx-64) from the base. Or you can continue with the osx-arm64 base (as you have now), but create new environments with the subdir setting. The answer below shows steps in this direction.

    Also, I would very much avoid Anaconda/Miniconda. Miniforge base is what I recommend to all bioinformaticians. And set the Bioconda channels globally.

    Lastly, only advanced users should use channel labels (e.g., bioconda/label/cf201901). I realize they automatically show up on Anaconda Cloud, but they are only ever applicable in specialized circumstances, which most users will never encounter.


    Immediate workaround

    If you want to keep the osx-arm64 base, then you'll need to create a osx-64 environment for the NGS tools. I recommend the following protocol for best practice:

    ## create empty environment
    conda create -n ngstools
    
    ## activate environment
    conda activate ngstools
    
    ## configure architecture
    conda config --env --set subdir osx-64
    
    ## configure channels for Bioconda
    conda config --env --add channels defaults
    conda config --env --add channels bioconda
    conda config --env --add channels conda-forge
    
    ## install packages
    conda install fastqc multiqc sra-tools samtools bowtie2 hisat2 subread
    

    It's convoluted and, until osx-arm64 sees full support, you'd have to do this for every environment that requires emulation and Bioconda. Hence, why I recommend instead that you reinstall a osx-64 base (Miniforge), which would just work.