Pular para o conteúdo
Skillpedia
Machine learning51 mil · #1834

arboreto

Faz seu agente descobrir como os genes se regulam a partir de dados de expressão. É útil para entender as relações entre genes em estudos biológicos.

O que ela faz

Esta ferramenta ajuda a descobrir quais genes podem controlar a expressão de outros genes, com base em dados de expressão gênica. Ela cria uma lista classificada de possíveis conexões entre genes.

Quando usar

  • ✓Quando você tem dados de expressão de genes e quer saber quais genes podem estar regulando outros.
  • ✓Para identificar potenciais redes de controle genético em amostras biológicas.
  • ✓Ao comparar diferentes métodos de análise de redes de genes.

Exemplo do que pedir para a IA

“Descubra as possíveis conexões entre genes a partir dos meus dados de expressão.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/arboreto/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/arboreto/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta analisa seus dados de expressão gênica e usa algoritmos (como GRNBoost2 ou GENIE3) para prever quais genes (reguladores) podem influenciar a expressão de outros genes (alvos). Ela retorna uma lista classificada dessas possíveis influências.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add K-Dense-AI/scientific-agent-skills --skill arboreto

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/arboreto/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Arboreto

Quando usar

Use Arboreto para classificar associações candidatas entre reguladores e alvos a partir de medições de expressão. GRNBoost2 ajusta regressões de gradient boosting estocástico; GENIE3 ajusta random forests. Cada alvo é previsto a partir de reguladores candidatos, excluindo a si mesmo. Estas são associações preditivas observacionais, não prova de ligação direta, ativação/repressão ou regulação causal.

A versão mais recente do PyPI verificada é a 0.1.6 (09/02/2021). O Read the Docs ainda rotula sua documentação como 0.1.5; o código fonte atual do GitHub contém correções que não estão no wheel do PyPI. Não assuma que uma instalação sem pin bem-sucedida pode executar inferência. Veja detalhes de compatibilidade e distribuição.

Instalação e compatibilidade

A seguinte pilha exata passou nos testes de fumaça para GRNBoost2 denso e CSC-esparso, GENIE3 denso, GBM/RF customizado e wrappers no macOS arm64 com Python 3.11.11:

uv venv --python 3.11 .venv-arboreto
uv pip install --python .venv-arboreto/bin/python \
  'arboreto==0.1.6' 'dask[complete]==2024.7.1' 'distributed==2024.7.1' \
  'numpy==1.26.4' 'pandas==2.2.3' 'scikit-learn==1.5.2' 'scipy==1.13.1'

Esta é uma receita de compatibilidade limitada, não uma afirmação de que as versões atuais de todas as dependências funcionam. O Arboreto do PyPI constrói um grafo de metadados vazio que a implementação mais nova do dataframe Dask rejeita. Para esta versão fixada do Dask, selecione seu backend de dataframe legado antes de importar Arboreto ou dask.dataframe:

import dask
dask.config.set({"dataframe.query-planning": False})
from arboreto.algo import grnboost2, genie3

O wrapper empacotado faz isso para o Dask 2024.7.1. Reinicie um kernel de notebook existente se ele já importou o backend de dataframe mais novo. Alvos esparsos também usam .A dentro do Arboreto 0.1.6; este atributo foi removido no SciPy 1.14. Mantenha o pin SciPy testado para inferência esparsa. Nenhum monkeypatch no site-packages é exigido por esta receita.

Fluxo de trabalho

  1. Selecione células/amostras biologicamente comparáveis; documente normalização, filtragem, tratamento de batch, organismo, namespace de identificador e camada de expressão.
  2. Prepare linhas = observações, colunas = genes. Exclua IDs de amostra dos valores de expressão. Exija nomes de genes únicos, valores numéricos finitos e uma lista de TFs com sobreposição não vazia. Genes totalmente zero/constantes não fornecem alvos úteis.
  3. Escolha GRNBoost2 para uma análise inicial eficiente, GENIE3 para comparação de métodos, ou diy para configurações explícitas de regressores. Veja algoritmos.
  4. Execute um pequeno subconjunto primeiro no ambiente fixado, depois escale as contagens de workers para a memória disponível. Mantenha a proteção if __name__ == "__main__": em scripts baseados em processos.
  5. Inspecione avisos de workers e cobertura de alvos, salve a rede classificada completa e avalie a estabilidade entre seeds e observações reamostradas antes de priorizar arestas.

Execute o wrapper empacotado

A partir deste diretório de skill, com um TSV contendo cabeçalhos de genes e linhas numéricas:

.venv-arboreto/bin/python scripts/basic_grn_inference.py expression_data.tsv network.tsv \
  --tf-file tfs.txt --seed 777 --workers 2 --limit 5000

Adicione --index-col 0 apenas se a primeira coluna contiver identificadores de célula/amostra. O wrapper rejeita cabeçalhos duplicados antes que o pandas possa renomeá-los, valores não numéricos ou não finitos, sobreposição de TF vazia, limites inválidos e resultados completamente vazios. Ele relata a sobreposição de TF e usa um novo cliente Dask limitado que fecha em caso de erro. O padrão é um worker; aumente-o após um piloto bem-sucedido. Sem um arquivo de TF, todos os genes são reguladores candidatos, mesmo que a coluna de saída seja nomeada TF.

A saída é um TSV sem cabeçalho na ordem TF, target, importance. Para consumidores a jusante que exigem cabeçalhos de coluna (incluindo carregamento de adjacência pySCENIC), escreva uma cópia separada com header=True em vez de assumir que toda ferramenta aceita o formato de exemplo de entrada sem cabeçalho.

Exemplo mínimo de Python

Este exemplo sintético verifica a execução e a estrutura de saída; não é um benchmark biológico. As mesmas chamadas foram testadas com um fixture de 32 observações e quatro genes.

import dask
dask.config.set({"dataframe.query-planning": False})
import numpy as np
import pandas as pd
from arboreto.algo import grnboost2
from distributed import Client, LocalCluster

if __name__ == "__main__":
    rng = np.random.default_rng(123)
    values = rng.normal(size=(32, 4))
    values[:, 2] = 3 * values[:, 0] + rng.normal(scale=0.1, size=32)

…
Perguntas frequentes

O que são 'reguladores' e 'alvos'?

Reguladores são genes que podem controlar a expressão de outros genes. Alvos são os genes cuja expressão é controlada.

A lista gerada prova que um gene controla o outro?

Não, a lista mostra associações preditivas baseadas nos dados. Ela sugere possíveis conexões, mas não prova causalidade ou ligação direta.

Qual a diferença entre GRNBoost2 e GENIE3?

São dois algoritmos diferentes que a ferramenta pode usar. GRNBoost2 usa 'gradient boosting' e GENIE3 usa 'random forests'. Eles podem dar resultados ligeiramente diferentes e são úteis para comparação.

Detalhes

Descrição original do autor

Infers candidate gene regulatory networks from bulk or single-cell expression data using AertsLab Arboreto GRNBoost2 and GENIE3. Use for transcription factor-target association ranking, compatible Dask execution, sparse expression inputs, and network stability checks.

repo: K-Dense-AI/scientific-agent-skills

Popularidade

Estrelas no GitHub
51 mil
Posição no ranking
#1834
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas