polars-bio
Ajuda seu agente a realizar operações em intervalos genômicos e ler/escrever formatos de dados bioinformáticos. É útil para análises genômicas e junções de dados.
O que ela faz
Esta ferramenta ajuda a comparar e manipular sequências genômicas (como genes em um DNA). Ela permite encontrar quais sequências se sobrepõem, quais são as mais próximas, juntar sequências contínuas, calcular a cobertura e realizar outras operações.
Quando usar
- ✓Comparar listas de genes para ver quais são comuns.
- ✓Encontrar regiões de DNA que não foram cobertas por sequenciamento.
- ✓Juntar pedaços de sequências genômicas que se sobrepõem.
Exemplo do que pedir para a IA
“Quais genes na lista A se sobrepõem com os genes na lista B?”
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
Mensagem pronta para colar
Como funciona
A ferramenta lê dados genômicos em formatos comuns (como BED, VCF, BAM) e os organiza em tabelas. Em seguida, aplica operações matemáticas para comparar as posições dessas sequências genômicas.
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 polars-bioOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/polars-bio/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
polars-bio
Use esta habilidade para aritmética de intervalos genômicos e I/O de arquivos de bioinformática através do Polars e DataFusion. Ela tem como alvo polars-bio 0.36.0, testada com Polars 1.44.2 no Python 3.13. O pacote upstream requer Polars >=1.37.1, PyArrow >=23.0.1,<25, DataFusion >=53,<54 e polars-config-meta >=0.3.2,<1. Mantenha este ambiente separado de pacotes que necessitam de releases incompatíveis de Arrow ou DataFusion.
uv pip install "polars-bio==0.36.0" "polars==1.44.2"
# Optional pandas interoperability (requires pandas >=3):
uv pip install "polars-bio[pandas]==0.36.0" "polars==1.44.2"
Verifique novas releases contra as notas oficiais de release e requisitos do pacote. Os exemplos abaixo com arquivos nomeados são templates: substitua arquivos reais e verifique seus esquemas. O exemplo de intervalo sintético e os pequenos round trips de formato local foram executados durante esta revisão.
Fluxo de Trabalho
- Registre a montagem, a nomenclatura de contigs, a convenção de coordenadas, a política de strand e a unidade de análise. Nomes de contigs idênticos não provam montagens idênticas.
- Escolha leitores por formato; BCF tem seu próprio leitor. Inspecione esquemas e metadados de origem antes de selecionar atributos ou genótipos.
- Normalize todas as entradas para um sistema de coordenadas e valide seus limites.
- Escolha pares de saída, contagens de hits, bases cobertas ou profundidade de leitura deliberadamente.
- Filtre e projete preguiçosamente, então inspecione um pequeno resultado antes de escalar.
- Valide contagens e limites de saída contra um fixture computável manualmente; preserve IDs, metadados de coordenadas e proveniência ao salvar resultados.
Contrato de Coordenadas
O padrão é 1-based fechado, incluindo leituras BED convertidas. Use
use_zero_based=True em leitores genômicos para saída 0-based semiaberto.
Este argumento converte posições; não é apenas um rótulo de metadados. Por exemplo,
BED [0,10) se torna [1,10] por padrão e permanece [0,10) com o override.
O POS do texto SAM é 1-based, enquanto BAM armazena sua posição de alinhamento internamente
como 0-based. Ambos os leitores expõem a convenção de saída solicitada.
Para DataFrames construídos manualmente, rótulos de metadados existem números e
não os converte. Converter fechado [s,e] para semiaberto significa s-1,e.
Defina metadados apenas após a conversão. Nunca converta duas vezes.
import polars as pl
import polars_bio as pb
pb.set_option("datafusion.bio.coordinate_system_zero_based", True)
pb.set_option("datafusion.bio.coordinate_system_check", True)
query = pl.DataFrame({
"query_id": ["q1", "q2", "q3"],
"chrom": ["chr1", "chr1", "chr2"],
"start": [0, 10, 0], "end": [10, 20, 10],
})
target = pl.DataFrame({
"chrom": ["chr1", "chr1"], "start": [5, 8], "end": [12, 15],
})
for frame in (query, target):
frame.config_meta.set(coordinate_system_zero_based=True)
pairs = pb.overlap(query, target).collect()
counts = pb.count_overlaps(query, target).collect().sort("query_id")
covered = pb.coverage(query, target).collect().sort("query_id")
assert pairs.height == 4
assert counts["count"].to_list() == [2, 2, 0]
assert covered["coverage"].to_list() == [5, 5, 0]
Requer contigs não nulos, posições inteiras e intervalos de comprimento positivo válidos
(0 <= start < end na forma semiaberta), dentro da montagem escolhida. Não silenciosamente
transforme pontos/inserções em intervalos não vazios: escolha a convenção biológica.
Metadados de entrada incompatíveis geram CoordinateSystemMismatchError; metadados ausentes
avisam e usam a configuração global por padrão, ou geram MissingCoordinateSystemError
em modo estrito. Inspecione pb.get_metadata(frame) após transformações e SQL.
Veja configuração.
Escolha a operação
| Pergunta | Operação | Interpretação |
|---|---|---|
| Quais pares de intervalos se intersectam? | overlap(a, b) |
Inner join de pares; uma consulta pode aparecer repetidamente |
| Quais linhas de consulta têm algum hit? | overlap(a, b, overlap_output="left", distinct_output=True) |
Um hit por linha de consulta original; linhas de entrada duplicadas mantêm a identidade |
| Quantos intervalos alvo intersectam cada consulta? | count_overlaps(a, b) |
Contagem de registros alvo, incluindo zero para nenhum hit |
| Quantas bases de consulta são cobertas? | coverage(a, b) |
Comprimento da união das interseções alvo; não profundidade de leitura |
| Quais alvos estão mais próximos? | nearest(a, b, k=1) |
Até k vizinhos, com alvo/distância anulável para nenhum candidato |
…
Perguntas frequentes
O que são 'intervalos genômicos'?
São trechos de DNA definidos por um ponto de início e um ponto de fim em um cromossomo ou sequência maior.
Quais formatos de arquivo ela suporta?
Ela suporta vários formatos usados em biologia molecular, como BED, VCF, BAM, GFF, GTF, FASTA e FASTQ.
Como ela lida com a contagem de posições (começando em 0 ou 1)?
Por padrão, ela usa um sistema de contagem de 1 a N (fechado), mas pode ser configurada para usar o sistema de 0 a N (meio aberto) se necessário, o que é comum em algumas ferramentas.
Detalhes
Descrição original do autor
Performs genomic interval overlap, nearest, merge, coverage, complement and subtraction on Polars DataFrames, and reads or writes BED, VCF, BCF, BAM, CRAM, GFF, GTF, FASTA and FASTQ data. Use for coordinate-aware genomic joins, read-depth analysis, lazy bioinformatics I/O, SQL queries or migration from bioframe.
Popularidade
- Estrelas no GitHub
- 51 mil
- Posição no ranking
- #1937
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
13c-metabolic-flux
Estima fluxos metabólicos usando dados de rastreamento de isótopos de carbono-13. É útil para analisar o metabolismo celular e vias bioquímicas.
K-Dense-AI/scientific-agent-skills
adaptyv
Projeta experimentos de caracterização de proteínas usando a API Adaptyv. Ele ajuda a estimar custos, enviar sequências e monitorar resultados de laboratório.
K-Dense-AI/scientific-agent-skills
aeon
Realiza tarefas de aprendizado de máquina em séries temporais. É útil para classificar, prever, detectar anomalias e encontrar padrões em dados sequenciais.
K-Dense-AI/scientific-agent-skills
alphagenome
Consulta efeitos genômicos pré-calculados para variantes genéticas. Ele fornece pontuações e explicações para entender o impacto das variantes no genoma.
K-Dense-AI/scientific-agent-skills
Skills parecidas
pytorch-patterns
Ajuda seu agente a usar o PyTorch para criar modelos de aprendizado de máquina. Ele aplica as melhores práticas para treinar modelos de forma eficiente e garantir que os resultados sejam consistentes.
affaan-m/ECC
evm-token-decimals
Ajuda seu agente a evitar erros com números decimais em diferentes redes blockchain. Garante que os valores de tokens sejam precisos em transações e cálculos.
affaan-m/ECC
knowledge-agent
Cria e consulta bases de conhecimento com inteligência artificial. Permite fazer perguntas sobre trabalhos passados ou compilar conhecimento sobre um tema.
thedotmack/claude-mem