1) Instalar e verificar o WSL2 + Ubuntu 24.04
Execute no Windows PowerShell (Administrador):
wsl --install -d Ubuntu-24.04
wsl --set-default-version 2
wsl --update
wsl --status
Depois de criar o usuário no Ubuntu, confira a versão:
wsl -l -v
Atualize o sistema dentro do Ubuntu:
sudo apt update && sudo apt upgrade -y && sudo apt install -y build-essential git curl wget unzip parallel pigz
2) Configurar /etc/wsl.conf
(systemd + montagens do Windows)
Se os discos do Windows (ex.: /mnt/c, /mnt/d) não aparecerem, habilite systemd e ajuste as opções de automount. Edite com sudo:
sudo nano /etc/wsl.conf
Conteúdo recomendado:
[boot]
systemd=true
[automount]
enabled=true
root = /mnt/
options = "metadata,umask=22,fmask=11,uid=1000,gid=1000"
printf "[boot]
systemd=true
[automount]
enabled=true
root=/mnt/
options="metadata,umask=22,fmask=11,uid=1000,gid=1000"
" | sudo tee /etc/wsl.conf
Reinicie o WSL:
wsl --shutdown
3) Instalar Conda (Miniforge) e ativar corretamente
Instalar Miniforge
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh -b -p $HOME/miniforge3
$HOME/miniforge3/bin/conda init bash
exec bash
Se preferir, instale Miniconda (similar):
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
conda init bash
exec bash
Dicas de ativação
Se o conda não for reconhecido após instalar:
eval "$($HOME/miniconda3/bin/conda shell.bash hook)" || eval "$($HOME/miniforge3/bin/conda shell.bash hook)"
Evitar ativação automática do base:
conda config --set auto_activate_base false
4) Tkinter/GUI no WSL (para scripts Python com janelas)
No Windows 11, o WSLg já habilita janelas gráficas. Instale o Tkinter e rode:
sudo apt update && sudo apt install -y python3-tk
Se aparecer no $DISPLAY, atualize o WSL e reinicie (wsl --update, wsl --shutdown).
5) AMRFinderPlus & abritAMR (ambiente Conda e banco de dados)
Criar ambiente e instalar
conda config --add channels conda-forge
conda config --add channels bioconda
conda create -n abritamr python=3.12 -y
conda activate abritamr
conda install -c bioconda -c conda-forge abritamr ncbi-amrfinderplus=3.12.8 blast parallel -y
amrfinder --version
Baixar e indexar DB do AMRFinderPlus
amrfinder -u
O DB será baixado em $CONDA_PREFIX/share/amrfinderplus/data/<DATA>. Para usar sem passar -d sempre:
export AMRFINDER_DB=$CONDA_PREFIX/share/amrfinderplus/data/2024-07-22.1/
# adicione ao ~/.bashrc se quiser tornar permanente
Executar abritAMR em contigs FASTA (ex.: Pseudomonas putida)
Problema comum: caminhos com espaços (ex.: /mnt/d/OneDrive/ALERTA/Felipe Lei/...). Solução robusta: criar symlinks em uma pasta sem espaços e gerar a lista contigs.txt.
mkdir -p $HOME/PSPU_fasta_links
ln -s /mnt/d/OneDrive/ALERTA/Felipe\ Lei/PSPU/Genomas\ PSPU/FASTA\ juntos/*.fasta $HOME/PSPU_fasta_links/
cd $HOME/PSPU_fasta_links
ls *.fasta | awk -v path="$HOME/PSPU_fasta_links/" '{print $1 " " path $1}' > contigs.txt
# (Opcional) evitar conflito de nomes de diretório de saída
awk '{print "sample_" $1 " " $2}' contigs.txt > contigs_updated.txt
# Rodar com a lista gerada
abritamr run --contigs $HOME/PSPU_fasta_links/contigs_updated.txt --prefix PSPU_analysis
6) Caminhos com espaços/acentos (ex.: “Área de Trabalho”)
Use aspas ou \ para escapar espaços/acentos ou, preferencialmente, symlinks:
# Exemplo copiando dois arquivos do Windows para uma pasta no WSL
cp /mnt/d/OneDrive/Backup/Área\ de\ Trabalho/AMR.LIB $HOME/
cp /mnt/d/OneDrive/Backup/Área\ de\ Trabalho/database_format_version.txt $HOME/
Se um pipeline não aceitar aspas, crie links simbólicos numa pasta sem espaços (como mostrado acima).
7) SPAdes / plasmidSPAdes
Instalar SPAdes e adicionar ao PATH
# Baixar e extrair
wget https://cab.spbu.ru/files/release3.15.5/SPAdes-3.15.5-Linux.tar.gz
tar -xzf SPAdes-3.15.5-Linux.tar.gz -C $HOME
# (ex.: você já tinha /home/felipe/SPAdes-4.2.0-Linux/bin)
# Adicionar ao PATH (sessão atual e permanente)
export PATH=$HOME/SPAdes-3.15.5-Linux/bin:$PATH
echo 'export PATH=$HOME/SPAdes-3.15.5-Linux/bin:$PATH' >> ~/.bashrc
# Testar
spades.py --version
plasmidspades.py --help
Executar plasmidSPAdes (leitura Illumina) – 1 ou várias bibliotecas
# Pasta recomendada: trabalhar em diretório Linux, não em /mnt/
mkdir -p $HOME/assemblies/PSPU && cd $HOME/assemblies/PSPU
# Exemplo com uma biblioteca pareada
plasmidspades.py --pe1-1 R1.fastq.gz --pe1-2 R2.fastq.gz -o out_plasmidspades --careful -t 16 -m 32
# Múltiplas bibliotecas (repita índices)
plasmidspades.py --pe1-1 lib1_R1.fq.gz --pe1-2 lib1_R2.fq.gz --pe2-1 lib2_R1.fq.gz --pe2-2 lib2_R2.fq.gz --pe3-1 lib3_R1.fq.gz --pe3-2 lib3_R2.fq.gz -o out_multi --careful -t 20 -m 48
# Dicas
# - Use caminhos /mnt/d/... apenas para leitura; copie para $HOME para melhor desempenho
# - Saída principal: out_*/contigs.fasta (plasmid contigs)
8) Instalar e rodar o plasmid-screen
Instalar (venv) + dependências
sudo apt install -y git python3-venv
cd $HOME
git clone https://github.com/BCCDC-PHL/plasmid-screen.git
cd plasmid-screen
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -r requirements.txt
# Dependências externas (via Conda é mais simples)
conda install -c bioconda -c conda-forge prokka blast -y
Uso básico
plasmid-screen --help
# Exemplo genérico
plasmid-screen -i /caminho/para/contigs.fasta -o $HOME/plasmid_screen_out
9) Extra: script de extração de PDF (tkinter) & pasta padrão
Dependências Python comuns
pip install pandas openpyxl pdfminer.six pdfplumber PyPDF2 pillow cryptography
Rodar script salvo no Windows
python3 /mnt/d/OneDrive/1PROJETO_CCIH_2023_2024/LAUDOS/HMB/extract_pdf_data.py
Definir pasta padrão dentro do script (exemplo)
# Trecho Python (no seu script)
import os
os.chdir('/mnt/d/OneDrive/1PROJETO_CCIH_2023_2024/LAUDOS/HMB')
# ou, se usar tkinter.filedialog, defina initialdir=...
Checklist rápido de verificação
- WSL 2 ativo (wsl -l -v) e discos montados (/mnt/c, /mnt/d).
- Conda funcionando (conda --version), ambiente abritamr criado e ativo.
- amrfinder --version ≥ 3.12.1 e DB baixado (amrfinder -u).
- Arquivos com espaços/acentos tratados via symlinks sem espaços.
- SPAdes no PATH (spades.py --version), plasmidspades.py OK.
- plasmid-screen instalado, dependências externas (Prokka/BLAST) disponíveis.