Anaconda
In this section:
Description
According to the page of Anaconda, Anaconda is a Python/R distribution for data science that includes over 7,500 open-source packages, in addition to a package manager and environments.
Available Versions
anaconda2/5.1.0
anaconda3/4.4.0 (default)
Basic Commands
# List environments
conda info --envs
# Create a new environment
conda create -n meu_ambiente python=3.9
# Activate environment
source activate meu_ambiente
# Install packages
conda install numpy pandas matplotlib
conda install -c bioconda samtools
# Deactivate environment
source deactivate
# Remove environment
conda env remove -n meu_ambiente
Serial Job Submission
submit_anaconda_serial.sh
#!/bin/bash
#SBATCH -J conda_serial
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 02:00:00
#SBATCH --mem=4G
export INPUT="script.py dados.csv"
export OUTPUT="resultados/"
module load miniconda/25.x
source activate meu_ambiente
job-nanny python script.py dados.csv
OpenMP Job Submission
submit_anaconda_omp.sh
#!/bin/bash
#SBATCH -J conda_omp
#SBATCH -N 1
#SBATCH -c 8
#SBATCH -t 04:00:00
#SBATCH --mem=16G
export INPUT="script_omp.py dados/"
export OUTPUT="resultados_omp/"
module load miniconda/25.x
source activate meu_ambiente
# For programs using multiprocessing
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
job-nanny python script_omp.py
MPI Job Submission
submit_anaconda_mpi.sh
#!/bin/bash
#SBATCH -J conda_mpi
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 12:00:00
#SBATCH --mem-per-cpu=2G
export INPUT="script_mpi.py dados/"
export OUTPUT="resultados_mpi/"
module load miniconda/25.x
module load openmpi/4.1.5
source activate my_environment
job-nanny mpirun -n 56 python script_mpi.py
Example Python Script with MPI
script_mpi.py
from mpi4py import MPI
import numpy as np
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()
print(f"Processo {rank} de {size}")
# Distribute work among processes
data = None
if rank == 0:
data = np.arange(1000)
else:
data = np.zeros(1000)
comm.Bcast(data, root=0)
print(f"Processo {rank} recebeu dados")
MPI.Finalize()
Creating an Environment with Specific Packages
# Create environment with specific version
conda create -n bioinfo python=3.8
source activate bioinfo
conda install -c bioconda samtools bcftools bedtools
conda install -c conda-forge pandas numpy matplotlib
# Save list of packages
conda list --export > environment.txt
# Recreate environment from list
conda create -n novo_ambiente --file environment.txt
Using in Submission Scripts
submit_com_ambiente.sh
#!/bin/bash
#SBATCH -J environment
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 02:00:00
export INPUT="data.fastq"
export OUTPUT="results/"
module load miniconda/25.x
source activate bioinfo
job-nanny samtools view -bS dados.sam > dados.bam
References
Anaconda documentation: https://docs.anaconda.com/
Conda Cheat Sheet: https://docs.conda.io/projects/conda/en/latest/user-guide/cheatsheet.html
Bioconda: https://bioconda.github.io/
See also
Miniconda - Minimal version of Conda
Installing Applications - Local application installation
Running Simulations - How to submit jobs