-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE REQUEST] Simplify the anvi'o conda installation command #2368
Comments
Hey @ahenoch , I don't see any reason to not do it! if we create a file called environment.yml under the Anvio directory and update it like this; name: anvio-dev
channels:
- conda-forge
- bioconda
- defaults
dependencies:
- bioconductor-qvalue
- biopython
- blast
- bottle
- bowtie2
- bwa
- colored
- diamond
- django
- ete3
- famsa
- fastani
- fasttree
- ghostscript
- graphviz
- hmmer
- idba
- illumina-utils
- iqtree
- matplotlib==3.5.1
- mcl
- megahit
- meme
- mistune
- multiprocess
- muscle=3.8.1551
- networkx==3.1
- nodejs
- numba
- numpy[version='<=1.24']
- pandas==1.4.4
- paste
- plotext
- prodigal
- psutil
- pulp==2.7.0
- pyani
- pymupdf
- pysam
- python=3.10
- r-base
- r-magrittr
- r-optparse
- r-stringi
- r-tidyverse
- reportlab
- requests
- rich-argparse
- samtools[version='>=1.9']
- scikit-learn==1.2.2
- scipy
- six
- snakemake
- spades
- sqlite
- statsmodels
- tabulate
- trimal
- trnascan-se
- vmatch It would be enough to run a simple code to download all packages, conda env create -f environment.yml We could even create separate environment files for Anvio-version and Anvio-dev and manage them separately. PS: If you going to run that, don't forget to change name: anvio-dev to something else. |
Is it possible to not have the name of the env in the yaml file? So that the user can choose the name. |
Yes we can do that @FlorianTrigodet we can remove conda env create -n anvio-whatever -f environment.yml By the way, we already have environment.yml file under anvio/.conda directory. We use that for creating test env on Github. |
@metehaansever the channels:
- conda-forge
- bioconda
- defaults
dependencies:
- bioconductor-qvalue
- biopython
- blast
- bottle
- bowtie2
- bwa
- colored
- diamond
- django
- ete3
- famsa
- fastani
- fasttree
- ghostscript
- graphviz
- hmmer
- idba
- illumina-utils
- iqtree
- matplotlib==3.5.1
- mcl
- megahit
- meme
- mistune
- multiprocess
- muscle=3.8.1551
- networkx==3.1
- nodejs
- numba
- numpy[version='<=1.24']
- pandas==1.4.4
- paste
- plotext
- prodigal
- psutil
- pulp==2.7.0
- pyani
- pymupdf
- pysam
- python=3.10
- r-base
- r-magrittr
- r-optparse
- r-stringi
- r-tidyverse
- reportlab
- requests
- rich-argparse
- samtools[version='>=1.9']
- scikit-learn==1.2.2
- scipy
- six
- snakemake
- spades
- sqlite
- statsmodels
- tabulate
- trimal
- trnascan-se
- vmatch conda env create -n anvio-dev -f environment.yml -y -p /path/to/environment |
The need
Using different means of installing packages for anvi'o might raise the chance of conflicts in the future.
The solution
I would like to start a discussion whether we can simplify the anvi'o installation command by completely removing
pip install
. I don't know if there was a need to separate the installation of the packages e.g. limited availability but with today'sconda forge
library, a lot of packages are available throughconda install -c conda-forge
. Below I attach a one line conda installation command containing all the packages inrequirements.txt
and the related terminal output.Happy to hear some feedback from the community :)
Beneficiaries
With anvi'o growing every day thinking about means to prevent future package conflicts might be useful to everyone :)
The text was updated successfully, but these errors were encountered: