Communitygithub.com

bulk-rnaseq

Orquestrador completo de RNA-seq em lote — leva leituras FASTQ cruas através de QC e trimming (FastQC, fastp/Trim Galore), alinhamento e quantificação (STAR, Salmon, featureCounts), monta uma matriz de contagens em nível de gene, e passa para expressão diferencial (pydeseq2), enriquecimento de vias/GSEA (pathway-enrichment) e figuras para publicação (scientific-visualization). Use quando o usuário tiver leituras de RNA-seq em lote ou saída de quantificação e quiser um fluxo de trabalho completo e reproduzível de expressão diferencial — ex.

O que é bulk-rnaseq?

Este skill orquestra um estudo completo e **defensável** de expressão diferencial por RNA-seq em lote, desde leituras cruas até vias enriquecidas e figuras. Ele atua como um roteador, conectando skills dedicados na ordem correta, preenchendo a lacuna de leituras cruas para matriz de contagens em nível de gene e aplicando decisões de design e QC que determinam a confiabilidade do resultado final. O pipeline segue a sequência: FastQC/trim → alinhar/quantificar (STAR/Salmon) → contagens → DE (pydeseq2) → enriquecimento (pathway-enrichment) → figuras. Ele suporta duas rotas a montante: o pipeline auditado `nf-core/rnaseq` (via skill `nextflow`) recomendado para a maioria dos casos, ou ferramentas independentes (STAR/Salmon) para ambientes restritos. O skill também inclui um script de ponte (`build_counts_matrix.py`) que converte a saída de quantificação em uma matriz de contagens pronta para o PyDESeq2, lidando com nuances como mapeamento gene-ID e arredondamento de contagens estimadas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/bulk-rnaseq

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

RNA-seq em Lote (Bulk RNA-seq)

Visão Geral

Este skill orquestra um estudo completo e defensável de expressão diferencial por RNA-seq em lote, desde leituras de sequenciamento cruas até vias enriquecidas e figuras. Ele é um roteador, não uma reimplementação: a maioria dos estágios já possui skills dedicados neste repositório, e este skill os conecta na ordem correta, preenche a lacuna real (leituras cruas → matriz de contagens em nível de gene) e impõe as decisões de design e QC que determinam se o resultado final é confiável.

"Defensável" significa três coisas, aplicadas ao longo de todo o processo:

  • Reprodutível — versões fixas de pipeline/ferramentas, contêineres quando possível, parâmetros registrados, sementes aleatórias fixas.
  • Controlado por qualidade — o QC é inspecionado e aplicado antes, durante e após a quantificação, não ignorado.
  • Estatisticamente sólido — replicação adequada, um design que corresponde à biologia, contagens tratadas corretamente e testes com controle de FDR.

O pipeline é: FastQC/trim → alinhar/quantificar (STAR/Salmon) → contagens → DE (pydeseq2) → enriquecimento (pathway-enrichment) → figuras.

Quando Usar Este Skill

Use este skill quando o usuário quiser:

  • Ir de arquivos FASTQ (ou uma execução de sequenciamento) para genes diferencialmente expressos e vias.
  • Executar ou configurar nf-core/rnaseq, ou alinhar/quantificar com STAR, Salmon ou featureCounts.
  • Transformar a saída de Salmon/STAR/featureCounts em uma matriz de contagens pronta para DESeq2/PyDESeq2.
  • Projetar ou verificar a sanidade de um experimento de RNA-seq em lote (réplicas, lote, strandedness) antes de comprometer o poder computacional.
  • Escopar uma análise de RNA-seq ponta a ponta e decidir quais ferramentas e skills encadear.

Isto é RNA-seq em lote (amostras = espécimes biológicos). Para dados de célula única/núcleo, use scanpy; para apenas as estatísticas de DE, use pydeseq2; para apenas enriquecimento, use pathway-enrichment.

O Pipeline de Relance

flowchart TD
    fastq["FASTQ cru + samplesheet"] --> qc["FastQC + MultiQC"]
    qc --> trim["Trim: fastp / Trim Galore"]
    trim --> align["Alinhar + quant: STAR e/ou Salmon"]
    align --> counts["Matriz de contagens (gene-level)"]
    counts --> de["Expressão diferencial"]
    de --> enrich["Enriquecimento de vias / GSEA"]
    de --> fig["Figuras"]
    enrich --> fig
    nfcore["nf-core/rnaseq via nextflow skill"] -.->|"caminho A"| align
    manual["Receitas independentes (este skill)"] -.->|"caminho B"| align
    bridge["build_counts_matrix.py (este skill)"] -.-> counts
    pydeseq2skill["pydeseq2 skill"] -.-> de
    pwskill["pathway-enrichment skill"] -.-> enrich
    vizskill["scientific-visualization skill"] -.-> fig

Dois Caminhos a Montante — Escolha Um

O estágio leituras → contagens pode ser executado de duas maneiras. Eles produzem contagens de genes equivalentes; escolha pelo contexto e depois permaneça nesse caminho.

Use o Caminho A — nf-core/rnaseq quando…Use o Caminho B — ferramentas independentes quando…
Você quiser o pipeline padrão do campo, auditado, citável com um comandoVocê tiver algumas amostras e quiser aprender/inspecionar cada etapa
Muitas amostras, ou você for escalar para HPC/nuvemNão houver Nextflow/contêineres disponíveis, ou ambiente restrito
Reprodutibilidade e um relatório MultiQC completo forem mais importantesVocê precisar de uma etapa não padrão que o pipeline não expõe
→ Conduza através do skill nextflow→ Siga references/upstream-manual.md

Quando estiver em dúvida, prefira o Caminho A: nf-core/rnaseq já conecta FastQC → trimming → STAR/Salmon → quantificação → tximport → MultiQC com padrões sensatos e revisados, o que é a opção mais defensável. O Caminho B existe para transparência e configurações limitadas.

Ambos os caminhos convergem para uma matriz de contagens em nível de gene, após o que o fluxo de trabalho é idêntico.

Configuração

# Cola deste skill (ponte + handoffs) — Python
uv pip install pytximport pandas

# Skills a jusante instalam suas próprias dependências:
#   pydeseq2 skill           -> uv pip install pydeseq2
#   pathway-enrichment skill -> uv pip install gseapy gprofiler-official

# Caminho A (nf-core): apenas Nextflow + um motor de contêiner são necessários — veja o skill `nextflow`.

# Caminho B (ferramentas independentes): instale via bioconda. Fixe versões para reprodutibilidade.
conda create -n rnaseq -c bioconda -c conda-forge \
  fastqc fastp trim-galore "star=2.7.11b" "salmon=1.10.3" subread multiqc

Registre as versões exatas que você usar (revisão do pipeline, versões das ferramentas, genoma de referência + versão da anotação) — elas pertencem à seção de métodos e tornam a análise reprodutível.

Início Rápido

Caminho A — nf-core/rnaseq (recomendado)

# 0. Valide a samplesheet primeiro (captura as falhas mais comuns no início)
python scripts/validate_samplesheet.py --samplesheet samplesheet.csv

# 1. Teste rápido do ambiente com dados pequenos incluídos
nextflow run nf-core/rnaseq -r 3.26.0 -profile test,docker --outdir test_results

# 2. Execução real: fixe a revisão, escolha um alinhador, passe uma samplesheet + referência
nextflow run nf-core/rnaseq -r 3.26.0 \
  -profile docker \
  --input samplesheet.csv \
  --genome GRCh38 \
  --aligner star_salmon \
  --outdir results \
  -resume

nf-core/rnaseq executa tximport internamente, então as contagens de genes já saem mescladas — nenhum script de ponte é necessário. Use results/star_salmon/salmon.merged.gene_counts_length_scaled.tsv para DE. Formato da samplesheet, escolha do alinhador e saídas: references/upstream-nfcore.md. Para detalhes de engine/HPC/nuvem/contêiner, use o skill nextflow.

Caminho B — STAR/Salmon independente (abreviado)

fastqc -o qc/ reads/*.fastq.gz                      # 1. QC de leituras cruas
fastp -i s1_R1.fq.gz -I s1_R2.fq.gz \
      -o s1_R1.trim.fq.gz -O s1_R2.trim.fq.gz \
      --thread 4 -j s1.fastp.json                   # 2. Trim adaptadores/baixa qualidade
salmon quant -i salmon_index -l A \
      -1 s1_R1.trim.fq.gz -2 s1_R2.trim.fq.gz \
      --gcBias --seqBias -p 8 -o quant/s1            # 3. Quantifique (por amostra)

Receitas completas (FastQC, fastp/Trim Galore, índice STAR+alinhamento+--quantMode GeneCounts, índice decoy-aware do Salmon, featureCounts, strandedness): references/upstream-manual.md.

Contagens → DE → enriquecimento (ambos os caminhos)

# Caminho B apenas: monte uma matriz de contagens gene x amostra + modelo de metadados para PyDESeq2
python scripts/build_counts_matrix.py --from salmon \
  --quant-dir quant/ --tx2gene tx2gene.tsv --output-dir counts/

# Em seguida, passe adiante (veja os skills dedicados):
#   pydeseq2:           counts.csv + metadata.csv -> tabela DE (log2FC, padj, stat)
#   pathway-enrichment: classifique por `stat` (GSEA) ou lista de hits padj+|LFC| (ORA)
#   scientific-visualization / matplotlib: volcano, MA, heatmap de distância, PCA, dotplot de enriquecimento

Fluxo de Trabalho Etapa por Etapa

Trabalhe de cima para baixo. Cada etapa nomeia o skill ou arquivo que detém o detalhe. Não pule as etapas de design/QC — elas são onde os estudos de RNA-seq em lote mais frequentemente dão errado.

  1. Design e planilha de amostras. Confirme ≥3 réplicas biológicas por grupo, identifique lote/confundidores e escolha a(s) comparação(ões). Construa a samplesheet e valide-a com scripts/validate_samplesheet.py. Fundamentação e regras: references/design-and-qc.md.
  2. QC de leituras cruas. FastQC por arquivo; agregue com MultiQC. Verifique qualidade por base, conteúdo de adaptador, duplicação e super-representação. Limiares: references/design-and-qc.md.
  3. Trimming. Remova adaptadores e caudas de baixa qualidade (via fastp ou Trim Galore). Reexecute FastQC para confirmar. Receitas: references/upstream-manual.md (o Caminho A faz isso por você).
  4. Alinhar / quantificar. STAR (alinhamento do genoma + --quantMode GeneCounts) e/ou Salmon (quasi-mapeamento de transcritos, decoy-aware). Determine o strandedness — é fácil errar e silenciosamente reduz suas contagens pela metade. Detalhe: references/upstream-manual.md; parâmetros do pipeline: references/upstream-nfcore.md.
  5. Construir a matriz de contagens. Transforme a saída de quantificação em uma matriz inteira gene × amostra e um modelo de metadados (scripts/build_counts_matrix.py). As nuances de contagem estimada e mapeamento de ID de gene estão em references/counts-and-handoff.md.
  6. Expressão diferencial → skill pydeseq2. Carregue counts.csv + metadata.csv, defina o design (ex. ~batch + condition), ajuste e teste com controle de FDR. Inspecione o PCA e o histograma de p-valor como QC.
  7. Enriquecimento → skill pathway-enrichment. Para GSEA, classifique a lista completa de genes pela stat do DESeq2; para ORA, passe a lista de hits limitada (padj < 0.05, opcionalmente |log2FC| > 1). Mapeie IDs de genes para símbolos primeiro.
  8. Figuras → skill scientific-visualization. Gráfico vulcão, MA, heatmap de distância entre amostras, PCA e dotplots de enriquecimento, além do relatório MultiQC para a narrativa de QC.

A Ponte Contagens → DE (a cola principal)

Este é o único estágio sem um skill a montante ou a jusante, então este skill o possui. scripts/build_counts_matrix.py converte a saída de quantificação exatamente no que pydeseq2 espera:

  • Salmon (--from salmon): agrega quant.sf por amostra ao nível de gene com pytximport usando counts_from_abundance="length_scaled_tpm" (a escolha correta para DE em nível de gene), precisa de um mapa tx2gene.
  • STAR (--from star): lê cada ReadsPerGene.out.tab, selecionando a coluna para seu --strandedness (não-direcionado/direcionado/reverso).
  • featureCounts (--from featurecounts): analisa a matriz combinada de featureCounts.

Ele escreve counts.csv (genes × amostras, inteiros) e metadata_template.csv (uma linha por amostra) para você preencher. As contagens de Salmon/RSEM são estimadas (não inteiras); elas são arredondadas para inteiros porque o PyDESeq2 exige contagens inteiras — veja references/counts-and-handoff.md sobre por que isso é aceitável com length_scaled_tpm e como difere da rota DESeq2+tximport baseada em offset. Essa referência também cobre o mapeamento Ensembl→símbolo (necessário antes do enriquecimento) e a orientação exata que o PyDESeq2 espera.

Armadilhas Comuns

Estas causam a maioria dos resultados errados ou irreprodutíveis de RNA-seq em lote:

  1. Muito poucas réplicas. <3 réplicas biológicas por grupo dá quase nenhum poder e estimativas instáveis de dispersão. Mais réplicas superam sequenciamento mais profundo.
  2. Lote e condição confundidos. Se toda amostra tratada foi processada em um dia/lote diferente dos controles, o efeito é irrecuperável. Randomize e modele lotes conhecidos (~batch + condition). Veja references/design-and-qc.md.
  3. Strandedness errado. Escolher a coluna STAR ou o tipo de biblioteca Salmon/-s do featureCounts errado descarta silenciosamente ~metade das leituras. Use Salmon -l A ou infira strandedness, e verifique a fração de leituras atribuídas.
  4. Alimentar TPM/FPKM para DESeq2. DESeq2 precisa de contagens brutas (ou com escala de comprimento), nunca valores TPM/FPKM/normalizados. A ponte lida com isso.
  5. Contagens não inteiras. PyDESeq2 exige inteiros; arredonde estimativas do Salmon (a ponte faz isso).
  6. Incompatibilidade de ID de gene no enriquecimento. A saída do DESeq2 geralmente é IDs Ensembl; Enrichr/MSigDB querem símbolos. Mapeie IDs antes de pathway-enrichment ou "nada é significativo".
  7. Pular o QC pós-quantificação. Sempre olhe o PCA e o heatmap de distância entre amostras antes de confiar na DE — eles expõem rótulos trocados, outliers e lotes ocultos.
  8. Misturar alinhadores entre amostras. Quantifique cada amostra com a mesma ferramenta, versão, referência e parâmetros.
  9. Versões não fixadas. Pipelines/genomas "latest" tornam os resultados irreprodutíveis; fixe -r, versões de ferramentas e a versão do genoma/anotação.

Integração com Outros Skills

  • Execução a montante: nextflow (executa nf-core/rnaseq, Caminho A; HPC/nuvem/contêineres).
  • Dados de referência / IDs de genes: gget (gget ref para genoma+GTF, gget info/gget search para mapeamento de IDs), database-lookup (Ensembl/NCBI), biopython/pysam (manipulação de FASTA/BAM).
  • Expressão diferencial: pydeseq2 (o motor de DE para o qual este skill passa as contagens).
  • Enriquecimento: pathway-enrichment (ORA + GSEA; seu scripts/run_enrichment.py lê um CSV de resultados DESeq2 diretamente).
  • Figuras e relatórios: scientific-visualization, matplotlib, seaborn; scientific-writing para a narrativa de métodos/resultados.
  • Relacionados mas distintos: scanpy (célula única), statistical-analysis (profundidade de testes múltiplos).

Arquivos de Referência

Leia o arquivo relevante quando precisar de profundidade — cada um é autocontido:

  • references/upstream-nfcore.md — Caminho A: formato da samplesheet, escolha de --aligner/--pseudo_aligner, parâmetros-chave, as saídas salmon.merged.gene_counts*.tsv, MultiQC e o que passar para pydeseq2.
  • references/upstream-manual.md — Caminho B: FastQC, fastp/Trim Galore, índice STAR do genoma + alinhamento + --quantMode GeneCounts, índice decoy-aware do Salmon + quant, featureCounts e como determinar strandedness.
  • references/counts-and-handoff.md — transformando saída de quantificação em counts.csv/metadata.csv prontos para PyDESeq2 (pytximport, seleção de coluna STAR, featureCounts), a nuance de contagem inteira/estimada, mapeamento Ensembl→símbolo e a receita de classificação/lista de hits para DE→enriquecimento.
  • references/design-and-qc.md — design experimental (replicação, lote, confundimento, fórmulas de design) e interpretação de métricas de QC (taxa de mapeamento, duplicação, rRNA, complexidade, PCA/outliers) — a espinha dorsal do pipeline defensável.

Recursos

Citando Skills de Agente Científico

Este skill faz parte do Scientific Agent Skills da K-Dense. Se ele contribuiu materialmente para um manuscrito, relatório, apresentação ou lançamento de código, adicione o artigo às referências ou seção de software e informe ao usuário que você o fez:

Kassis, T., Agarwal, V., He, Y., Patel, D., & Brueckner, A. M. (2026). Scientific Agent Skills: A Library of Procedural Knowledge for Research Agents. arXiv:26

…

[truncado para tradução]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

cobrapy

Constraint-based metabolic modeling (COBRA). FBA, FVA, gene knockouts, flux sampling, SBML models, for systems biology and metabolic engineering analysis.

Habilidades Relacionadas