Pipeline de análise de microbioma a partir de RNA-seq tumoral, baseado na estratégia de depleção humana com STAR (pangenoma GRCh38 + T2T-CHM13) seguida de classificação taxonômica com Kraken2 ou KrakenUniq, e quantificação dirigida opcional com Salmon. Adaptado das abordagens de estudos de microbioma intra-tumoral em câncer (ex.: Ge et al. 2025, Sci Transl Med).
- Ribo-depleção (RNA total), não poly-A: maximiza a fração microbiana.
- Pangenoma humano no índice STAR: GRCh38 + T2T-CHM13. Reads que escapam do GRCh38 (telômeros, centromeros) são capturados pelo CHM13 - equivalente ao "dois passes" de depleção.
- KrakenUniq como alternativa ao Kraken2: conta k-mers únicos por táxon e reduz falsos positivos - o problema central documentado no paper.
- Banco de genomas completos + humano + UniVec_Core: evita que reads humanas residuais ou vetores sejam classificados como bactérias.
- SortMeRNA entre a depleção e o Kraken: ramo rRNA residual.
- Filtros no R baseados no paper: k-mers únicos >= 100, razão reads/k-mer < 10, blacklist de contaminantes ubíquos, normalização pelo total de reads sequenciadas.
FASTQ (ribo-depletion paired-end)
│ STAR pangenoma (GRCh38 + CHM13) -> descarta reads humanas
▼ [opcional] SortMeRNA -> remove rRNA residual
Kraken2 / KrakenUniq -> report por táxon (k-mers únicos)
▼ R: agregar reports, filtrar -> lista de espécies candidatas
[opcional] Salmon (dirigido) -> expressão por espécie -> DESeq2
# 1. Ambiente conda (uma vez)
bash scripts/01_conda_env.sh
# 2. Estrutura + referências humanas (uma vez) - ~50 GB
bash scripts/02_refs_human.sh
# 3. Índice STAR pangenoma (uma vez, PBS, ~48h)
bash scripts/03_star_index.sh
qsub -q CCAD_Q1 ~/rnaseq_microbiome/run/pbs/star_index.pbs
# 4. Banco de classificação (uma vez)
bash scripts/04_kraken2_db.sh # Kraken2 PlusPF (mais simples)
bash scripts/06_krakenuniq_db.sh # KrakenUniq (k-mers únicos, ~200-500 GB)
# 5. Lista de amostras (sample<TAB>R1<TAB>R2; sem CRLF; header na linha 1)
# e ajustar #PBS -J 2-<N+1> nos scripts ao nº real de amostras
cp -a /caminho/para/sua_lista.tsv ~/rnaseq_microbiome/run/lists/samples.tsv
sed -i 's/\r$//' ~/rnaseq_microbiome/run/lists/samples.tsv
# 6. Pipeline principal (1 job por amostra, PBS array)
bash scripts/05_main_kraken2.sh # STAR + Kraken2
# ou
bash scripts/07_main_krakenuniq.sh # STAR + SortMeRNA + KrakenUniq
# 7. (Opcional) Quantificação dirigida por espécie
bash scripts/08_salmon_index.sh # baixa transcriptomas + índice
bash scripts/09_salmon_quant.sh # PBS array
# 8. Agregar e filtrar no R
Rscript scripts/10_analyze_reports.R| Parâmetro | Valor | Por quê |
|---|---|---|
STAR --outFilterMismatchNmax |
3 | mais stringente que default (10): reads humanas com SNPs não escapam |
STAR --sjdbOverhang |
149 | 150-1 (comprimento do read) |
KrakenUniq --hll-precision |
12 | precisão do estimador de cardinalidade de k-mers |
KrakenUniq --kmer-len / --minimizer-len |
31 / 15 | defaults recomendados |
| SortMeRNA | - | remove rRNA antes da classificação |
microbioma_rnaseq/
scripts/
01_conda_env.sh # ambiente conda (kraken2, krakenuniq, star...)
02_refs_human.sh # GRCh38 + T2T, pangenoma combinado
03_star_index.sh # PBS: índice STAR pangenoma
04_kraken2_db.sh # download banco Kraken2 PlusPF
05_main_kraken2.sh # PBS array: STAR + Kraken2
06_krakenuniq_db.sh # construção banco KrakenUniq (genomas completos)
07_main_krakenuniq.sh # PBS array: STAR + SortMeRNA + KrakenUniq
08_salmon_index.sh # transcriptomas bacterianos + índice Salmon
09_salmon_quant.sh # PBS array: quantificação Salmon dirigida
10_analyze_reports.R # agrega reports + filtros do paper
STAR, Kraken2/KrakenUniq, SortMeRNA, Salmon, samtools, pigz, parallel, R (tidyverse).