Anaconda
Nesta seção:
Descrição
De acordo com a página do Anaconda, Anaconda é uma distribuição de Python/R para ciência de dados que inclui mais de 7.500 pacotes open-source, além de um gerenciador de pacotes e ambientes.
Versões Disponíveis
anaconda2/5.1.0
anaconda3/4.4.0 (default)
Comandos Básicos
# Listar ambientes
conda info --envs
# Criar novo ambiente
conda create -n meu_ambiente python=3.9
# Ativar ambiente
source activate meu_ambiente
# Instalar pacotes
conda install numpy pandas matplotlib
conda install -c bioconda samtools
# Desativar ambiente
source deactivate
# Remover ambiente
conda env remove -n meu_ambiente
Submissão de Jobs Seriais
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
Submissão de Jobs com OpenMP
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
# Para programas que usam multiprocessing
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
job-nanny python script_omp.py
Submissão de Jobs com MPI
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 meu_ambiente
job-nanny mpirun -n 56 python script_mpi.py
Exemplo de Script Python com 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}")
# Distribuir trabalho entre processos
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()
Criando Ambiente com Pacotes Específicos
# Criar ambiente com versões específicas
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
# Salvar lista de pacotes
conda list --export > environment.txt
# Recriar ambiente a partir da lista
conda create -n novo_ambiente --file environment.txt
Usando em Scripts de Submissão
submit_com_ambiente.sh
#!/bin/bash
#SBATCH -J ambiente
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 02:00:00
export INPUT="dados.fastq"
export OUTPUT="resultados/"
module load miniconda/25.x
source activate bioinfo
job-nanny samtools view -bS dados.sam > dados.bam
Referências
Documentação Anaconda: https://docs.anaconda.com/
Conda Cheat Sheet: https://docs.conda.io/projects/conda/en/latest/user-guide/cheatsheet.html
Bioconda: https://bioconda.github.io/
Ver também
Miniconda - Versão mínima do Conda
Instalando Aplicações - Instalação local de aplicações
Processando Simulações - Como submeter jobs