Miniconda

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

Ver também