Miniconda
Nesta seção:
Descrição
De acordo com a Documentação do Miniconda, Miniconda é uma versão mínima do gerenciador de pacotes Conda, que inclui apenas o Conda, Python e um pequeno número de pacotes úteis. É ideal para criar ambientes leves e personalizados.
Versões Disponíveis
miniconda/3 (default)
miniconda/3-2023-09
miniconda/24.4.0-libmamba
miniconda/25.x
Carregando o Módulo
# Carregar Miniconda
module load miniconda/24.4.0-libmamba
# Verificar instalação
conda --version
python --version
Comandos Básicos do Conda
# 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
conda install -c conda-forge r-base
# Listar pacotes no ambiente
conda list
# Desativar ambiente
source deactivate
# ou
conda deactivate
# Remover ambiente
conda env remove -n meu_ambiente
# ou
conda remove -n meu_ambiente --all
# Exportar ambiente
conda env export > environment.yml
# Criar ambiente a partir de arquivo
conda env create -f environment.yml
Submissão de Jobs com Ambiente Conda
submit_conda_job.sh
#!/bin/bash
#SBATCH -J conda_job
#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/24.4.0-libmamba
source activate meu_ambiente
job-nanny python script.py dados.csv
Criando Ambiente com Pacotes Específicos
create_conda_env.sh
#!/bin/bash
#SBATCH -J create_env
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 00:30:00
#SBATCH --mem=2G
export INPUT="environment.yml"
export OUTPUT="env_creation.log"
module load miniconda/24.4.0-libmamba
# Criar ambiente a partir de arquivo YAML
job-nanny conda env create -f environment.yml > env_creation.log 2>&1
environment.yml
name: bioinfo_env
channels:
- conda-forge
- bioconda
- defaults
dependencies:
- python=3.9
- numpy
- pandas
- matplotlib
- seaborn
- jupyter
- samtools
- bcftools
- bedtools
- bwa
- fastqc
- trimmomatic
Ambiente para Machine Learning
create_ml_env.sh
#!/bin/bash
#SBATCH -J create_ml_env
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 00:30:00
#SBATCH --mem=2G
module load miniconda/24.4.0-libmamba
# Criar ambiente para ML
conda create -n ml_env python=3.9 -y
source activate ml_env
# Instalar pacotes
conda install -c conda-forge numpy pandas matplotlib seaborn scikit-learn -y
conda install -c conda-forge tensorflow-gpu -y # Para GPU
# OU
# conda install -c pytorch pytorch torchvision torchaudio cudatoolkit=11.8 -y
# Salvar lista de pacotes
conda list --export > ml_env_packages.txt
Job Array com Ambientes Diferentes
submit_conda_array.sh
#!/bin/bash
#SBATCH -J conda_array
#SBATCH --array=1-3
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 04:00:00
#SBATCH --mem=8G
ENVS=("env_python38" "env_python39" "env_python310")
ENV=${ENVS[$SLURM_ARRAY_TASK_ID-1]}
export INPUT="script.py"
export OUTPUT="results_${ENV}/"
module load miniconda/24.4.0-libmamba
source activate $ENV
mkdir -p results_${ENV}
cd results_${ENV}
job-nanny python ../script.py
Gerenciando Múltiplos Ambientes
manage_envs.sh
#!/bin/bash
# Listar todos os ambientes
conda info --envs
# Clonar ambiente
conda create -n novo_env --clone antigo_env
# Atualizar pacotes em um ambiente
source activate meu_ambiente
conda update --all
# Exportar ambiente para compartilhamento
conda env export > meu_ambiente.yml
# Importar ambiente de outro usuário
conda env create -f outro_usuario_ambiente.yml
Ambiente com Suporte a GPU
create_gpu_env.sh
#!/bin/bash
#SBATCH -J create_gpu_env
#SBATCH -p gpu
#SBATCH --gres=gpu:1
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 00:30:00
#SBATCH --mem=4G
module load miniconda/24.4.0-libmamba
module load cuda/12.9
# Criar ambiente com suporte GPU
conda create -n gpu_env python=3.9 -y
source activate gpu_env
# TensorFlow GPU
conda install -c conda-forge tensorflow-gpu -y
# PyTorch GPU
# conda install -c pytorch pytorch torchvision torchaudio cudatoolkit=12.9 -y
# Verificar instalação
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
Referências
Documentação Conda: https://docs.conda.io/en/latest/
Cheat Sheet: https://docs.conda.io/projects/conda/en/latest/user-guide/cheatsheet.html
Conda Forge: https://conda-forge.org/
Bioconda: https://bioconda.github.io/
Ver também
Anaconda - Distribuição completa com pacotes
CUDA - Suporte a GPU
Containers - Alternativa com containers
Processando Simulações - Como submeter jobs