Pular para o conteúdo
Skillpedia
Análise e planilhas51 mil · #1954

pysam

Ajuda seu agente a ler e escrever arquivos genômicos. É essencial para trabalhar com dados de DNA e sequenciamento.

O que ela faz

Pysam é uma ferramenta que ajuda a ler e manipular arquivos genômicos complexos. Ele permite que você extraia informações específicas, filtre dados e escreva novos arquivos genômicos.

Quando usar

  • ✓Quando você precisa ler ou escrever arquivos de dados genômicos como VCF, BAM ou FASTA.
  • ✓Ao querer filtrar informações genéticas com base em critérios específicos.
  • ✓Para obter resumos de qualidade ou contagens de dados genômicos.

Exemplo do que pedir para a IA

“Como posso filtrar um arquivo BAM para incluir apenas leituras com qualidade de mapeamento superior a 30?”

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/pysam/SKILL.md

Mensagem pronta para colar

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

Pysam funciona acessando diretamente os dados genômicos em um formato otimizado. Ele usa bibliotecas eficientes para ler e processar esses arquivos rapidamente, permitindo que você trabalhe com grandes volumes de dados genéticos.

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 pysam

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/pysam/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.

pysam

Visão Geral

Use o pysam para acesso de baixo nível e em streaming a formatos genômicos suportados pelo HTSlib:

  • AlignmentFile e AlignedSegment para SAM/BAM/CRAM
  • VariantFile, VariantHeader e VariantRecord para VCF/BCF
  • FastaFile para FASTA indexado e FastxFile para FASTA/FASTQ sequencial
  • TabixFile para tabelas BED/GFF/GTF/personalizadas comprimidas com BGZF e indexadas com tabix
  • pysam.samtools e pysam.bcftools para despachantes de comandos encapsulados

Linha de base upstream atual: pysam 0.24.1 (7 de setembro de 2026), encapsulando HTSlib/samtools/bcftools 1.24. Leia references/sources.md antes de atualizar orientações específicas de versão.

Instalação

Use a versão fixada para trabalho reproduzível:

uv pip install "pysam==0.24.1"

Confirme o tempo de execução:

import pysam

print(pysam.__version__)           # 0.24.1
print(pysam.__samtools_version__)  # 1.24

Rodas pré-compiladas estão disponíveis para plataformas macOS e Linux suportadas. Uma compilação a partir do código fonte precisa de um compilador C e dependências de compilação do HTSlib; leia o guia oficial de instalação vinculado em references/sources.md.

Decida Primeiro

Antes de escrever código:

  1. Identifique o formato real, compressão, ordem de classificação e índice disponível.
  2. Decida se as coordenadas são coordenadas numéricas do Python ou uma string de região. Não as misture.
  3. Para CRAM, identifique a montagem de referência exata e o FASTA.
  4. Prefira acesso a regiões indexadas; use iteração sequencial apenas quando pretendido.
  5. Preserve cabeçalhos ao escrever e escreva em um novo caminho por padrão.
  6. Declare a semântica de filtragem: qualidade de mapeamento/base, flags, tratamento de sobreposição, tratamento de duplicatas e limite de profundidade de pileup.

Para arquivos desconhecidos, comece com o inspetor somente leitura incluído:

python scripts/inspect_hts.py sample.bam
python scripts/inspect_hts.py cohort.vcf.gz
python scripts/inspect_hts.py reference.fa

Scripts Incluídos

Script Propósito Chamada Típica
scripts/inspect_hts.py Inspeção apenas de metadados para arquivos de alinhamento, variantes, FASTA, FASTQ e tabix python scripts/inspect_hts.py sample.cram --reference ref.fa
scripts/alignment_qc.py Contagens agregadas de leituras/QC em streaming como JSON python scripts/alignment_qc.py sample.bam --max-records 100000
scripts/variant_summary.py Variantes em streaming, FILTER e resumo de genótipo como JSON python scripts/variant_summary.py cohort.vcf.gz --region chr1:1-1000000
scripts/filter_alignments.py Filtra SAM/BAM/CRAM sem alterar a ordem dos registros python scripts/filter_alignments.py input.bam output.bam --exclude-secondary

Todos os scripts recusam sobrescrever saídas existentes. O filtro também recusa índices de saída obsoletos e oferece --index --csi para contigs BAM grandes. A inspeção FASTA requer um .fai existente; crie-o explicitamente com pysam.faidx() primeiro. Execute cada um com --help para notas sobre coordenadas, índice e privacidade.

Exemplos usam nomes de arquivo ilustrativos e limiares específicos do ensaio. O conjunto sintético local exercita esses padrões de API no pysam 0.24.1; armazenamento remoto e conjuntos de dados biológicos não fazem parte dessa validação.

Contrato de Coordenadas

Coordenadas numéricas aceitas pelas APIs do pysam são baseadas em 0, meio-abertas. Isso inclui argumentos numéricos AlignmentFile.fetch(), VariantFile.fetch(), FastaFile.fetch(), TabixFile.fetch() e pileup().

Strings de região são no estilo samtools: baseadas em 1 e inclusivas.

# The same 100 bases:
bam.fetch("chr1", 99, 199)          # [99, 199)
bam.fetch(region="chr1:100-199")    # 1-based inclusive

O texto VCF usa POS baseado em 1, enquanto as propriedades do registro expõem ambos os sistemas:

record.pos    # 1-based
record.start  # 0-based inclusive
record.stop   # 0-based exclusive

Leia references/coordinates_and_indexing.md para conversões de formato, semântica de sobreposição, escolhas de índice e verificações de nome de contig.

Arquivos de Alinhamento

Use gerenciadores de contexto e modos explícitos:

import pysam

with pysam.AlignmentFile("sample.bam", "rb", threads=4) as bam:
    for read in bam.fetch("chr1", 1_000, 2_000):
        if (
            not read.is_unmapped
            and not read.is_secondary
            and not read.is_supplementary
            and read.mapping_quality >= 30
        ):
            print(read.query_name, read.reference_start, read.cigarstring)

Use fetch(until_eof=True) para transmitir todos os registros na ordem do arquivo, incluindo leituras não posicionadas e não mapeadas, sem exigir um índice:

with pysam.AlignmentFile("sample.bam", "rb") as bam:

…
Perguntas frequentes

O que são arquivos genômicos como VCF, BAM e FASTA?

São formatos de arquivo padrão usados para armazenar informações genéticas, como sequências de DNA, variações genéticas e dados de sequenciamento.

O que significa 'qualidade de mapeamento'?

É uma medida de quão confiante o software está de que uma sequência de DNA foi corretamente alinhada a uma referência genômica.

Preciso instalar algo para usar o Pysam?

Sim, você precisa instalar o Pysam em seu ambiente de programação. O texto sugere usar 'uv pip install "pysam==0.24.1"' para uma instalação confiável.

Detalhes

Descrição original do autor

Provides Python/HTSlib workflows for genomic files. Used when reading, querying, filtering, or writing SAM/BAM/CRAM, VCF/BCF, FASTA/FASTQ, or tabix data with pysam, including pileup, coverage, indexing, and CRAM references.

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

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas