Communitygithub.com

Brain Imaging Data Structure (BIDS)

Comunidade de padrão para organizar e descrever conjuntos de dados de neurociência e biomedicina, garantindo consistência em nomenclatura, hierarquia de diretórios e metadados.

O que é Brain Imaging Data Structure (BIDS)?

Esta skill fornece um conjunto abrangente de ferramentas e workflows para trabalhar com a estrutura de dados de neuroimagem (BIDS), um padrão comunitário para organização de dados de neurociência e biomedicina. Ela suporta a criação, consulta, validação e conversão de conjuntos de dados BIDS, abrangendo diversas modalidades como MRI, EEG, MEG e PET. A skill integra as principais ferramentas do ecossistema Python, incluindo PyBIDS para consultas e indexação, o validador BIDS (bids-validator) para verificação de conformidade e conversores DICOM-para-BIDS como HeuDiConv e dcm2bids. Além disso, inclui documentação de referência detalhada, como esquemas, propostas de extensão (BEPs) e guias de solução de problemas, sendo ideal para pesquisadores que desejam estruturar dados de forma padronizada, submeter a repositórios como OpenNeuro ou DANDI, ou garantir reprodutibilidade em pipelines de análise.

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

Perguntar na sua IA favorita

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

Documentação

Estrutura de Dados de Neuroimagem (BIDS)

Visão Geral

A Estrutura de Dados de Neuroimagem (BIDS) é um padrão comunitário para organizar e descrever conjuntos de dados de neurociência e pesquisa biomédica. Ela define uma convenção consistente de nomenclatura de arquivos, hierarquia de diretórios e esquema de metadados, de modo que os conjuntos de dados sejam imediatamente compreensíveis tanto por humanos quanto por ferramentas de software. O BIDS é regido pela Especificação BIDS (atualmente v1.11.x) e é mantido pela comunidade por meio da organização BIDS-Standard no GitHub.

Embora o BIDS tenha se originado para MRI, ele cresceu muito além da neuroimagem. A especificação agora cobre 11 modalidades que abrangem imagem, eletrofisiologia e dados comportamentais:

  • Imagem: MRI (estrutural, funcional, difusão, fieldmap, perfusão/ASL), PET, microscopia
  • Eletrofisiologia: EEG, MEG, iEEG (EEG intracraniano), EMG
  • Outras: NIRS (espectroscopia de infravermelho próximo), captura de movimento, dados comportamentais (sem imagem), espectroscopia de RM

BEPs ativos estão estendendo ainda mais o BIDS — notavelmente o BEP032 (eletrofisiologia com microeletrodos) adicionará suporte para gravações extracelulares, incluindo sondas Neuropixels, trazendo o BIDS para uma metodologia predominante em pesquisa de neurociência animal (veja também a skill neuropixels-analysis).

A adoção é obrigatória ou fortemente incentivada pelos principais repositórios de dados (OpenNeuro, DANDI), periódicos de destaque (NeuroImage, Human Brain Mapping, Scientific Data) e agências de fomento (NIH, ERC).

O ecossistema Python para BIDS centra-se no PyBIDS (pybids) para consulta e indexação de conjuntos de dados BIDS, e no bids-validator (baseado em Deno, disponível como pacote PyPI bids-validator-deno ou diretamente via Deno) para verificação de conformidade. A conversão de DICOM geralmente é feita com HeuDiConv, dcm2bids ou BIDScoin.

Quando Usar Esta Skill

Aplique esta skill quando:

  • Organizar dados brutos de neurociência (imagem, eletrofisiologia, comportamentais) em estruturas de diretórios compatíveis com BIDS
  • Consultar um conjunto de dados BIDS existente para encontrar arquivos específicos por sujeito, sessão, tarefa, execução ou modalidade
  • Validar um conjunto de dados em relação à especificação BIDS antes de compartilhar ou submeter
  • Converter dados DICOM de scanners para o formato BIDS
  • Escrever ou editar arquivos de metadados JSON sidecar
  • Criar derivados compatíveis com BIDS (dados pré-processados, saídas de análise)
  • Configurar um dataset_description.json para um novo conjunto de dados
  • Trabalhar com entidades BIDS (sujeito, sessão, tarefa, aquisição, execução, etc.)
  • Configurar .bidsignore para excluir arquivos da validação
  • Preparar dados para upload para OpenNeuro, DANDI ou outros repositórios que reconhecem BIDS

Instalação

# Biblioteca principal de consulta BIDS
uv pip install pybids

# Validador BIDS (baseado em Deno, instalado via wrapper PyPI)
uv pip install bids-validator-deno
# Alternativa: instalar diretamente via Deno
# deno install -g -A npm:bids-validator

# Conversores DICOM-para-BIDS (instale conforme necessário)
uv pip install heudiconv       # HeuDiConv - conversão DICOM baseada em heurística
uv pip install dcm2bids        # dcm2bids - conversão baseada em arquivo de configuração
# BIDScoin: uv pip install bidscoin

# Complementos úteis
uv pip install nibabel         # E/S de arquivos de neuroimagem NIfTI/outros
uv pip install pydicom         # Leitura de arquivos DICOM (usado por conversores)

Workflows Principais

Doze áreas de workflow, cada uma com código prático, estão documentadas em references/core_workflows.md:

  1. Estrutura de diretórios BIDS — o layout obrigatório e onde cada modalidade pertence.
  2. dataset_description.json — os campos obrigatórios e como gerá-lo.
  3. Consulta com PyBIDS — BIDSLayout, filtros de entidade, metadados sidecar com herança automática e construção de caminhos a partir de entidades.
  4. Validação — bids-validator via wrapper PyPI (recomendado), via Deno diretamente, o validador Node legado e uso de .bidsignore para excluir arquivos.
  5. Entidades e nomenclatura de arquivos — a ordem das entidades e a gramática de nomenclatura.
  6. Conversão DICOM para BIDS — HeuDiConv (incluindo o caminho turnkey ReproIn e a sequência reconhecimento → heurística → conversão) e dcm2bids (baseado em arquivo de configuração).
  7. Sidecars de metadados — campos JSON obrigatórios e recomendados por modalidade.
  8. Arquivos de eventos — temporização de eventos de tarefa fMRI e convenções de colunas.
  9. Arquivo de participantes — participants.tsv e seu dicionário de dados.
  10. Derivados — o layout de derivados e seu dataset_description.json.
  11. PyBIDS avançado — cache de índice, inclusão de derivados, regressores de confundimento e saída em DataFrame.
  12. BIDS-Apps — o padrão de invocação, e fMRIPrep, MRIQC e QSIPrep.

Valide cedo e frequentemente: o PyBIDS valida a estrutura quando indexa um conjunto de dados, portanto, uma falha na indexação geralmente significa um problema de nomenclatura ou metadados, em vez de um bug de código.

Materiais de Referência

Esta skill inclui documentação de referência detalhada:

  • bids_schema.json: Esquema BIDS legível por máquina (de https://bids-specification.readthedocs.io/en/stable/schema.json). Esta é a fonte autoritativa para definições de entidades, regras de ordenação, modelos de nomes de arquivo, sufixos permitidos por tipo de dados e requisitos de campos de metadados. Esquemas específicos de BEP estão em https://github.com/bids-standard/bids-schema/tree/main/BEPs.
  • beps.yml: Lista atual de todas as Propostas de Extensão BIDS com títulos, líderes, status e links (do bids-website)
  • bids_specification.md: Resumo legível por humanos da tabela de entidades, referência de tipos de dados, regras de estrutura de diretórios, espaços de modelo e changelog da especificação
  • metadata_fields.md: Campos JSON sidecar obrigatórios e recomendados para cada modalidade BIDS (anat, func, dwi, fmap, eeg, meg, pet, etc.)
  • conversion_tools.md: Workflows detalhados para HeuDiConv, dcm2bids e BIDScoin, incluindo exemplos de heurística/configuração e solução de problemas

Atualize esquema e BEPs com: python scripts/update_schema.py

Problemas Comuns e Soluções

1. Validador relata "Não é um conjunto de dados BIDS"

Causa: dataset_description.json ausente na raiz. Correção: Crie o arquivo com no mínimo {"Name": "...", "BIDSVersion": "1.10.0"}.

2. Aviso de sujeitos inconsistentes

Causa: Nem todos os sujeitos têm o mesmo conjunto de arquivos (alguns faltando sessões, execuções, etc.). Correção: Isso é um aviso, não um erro. Use --ignoreSubjectConsistency se intencional. Documente dados ausentes em participants.tsv ou scans.tsv.

3. SliceTiming ausente

Causa: dcm2niix não conseguiu extrair a temporização de slice dos cabeçalhos DICOM. Correção: Determine a ordem dos slices a partir do protocolo de varredura e adicione manualmente ao sidecar JSON. Padrões comuns: ascendente, descendente, intercalado (ímpar primeiro ou par primeiro).

4. Confusão na direção de codificação de fase

Causa: Rótulos de eixo (i/j/k vs x/y/z vs LR/AP/SI) são confusos. Correção: No BIDS, use eixos de imagem NIfTI: i=primeiro eixo, j=segundo, k=terceiro. - significa direção negativa. Para aquisições axiais padrão: j é tipicamente anteroposterior. Verifique com o protocolo de aquisição.

5. PyBIDS lento em grandes conjuntos de dados

Causa: Indexação completa do sistema de arquivos a cada chamada BIDSLayout(). Correção: Use database_path para armazenar em cache o índice em um arquivo SQLite:

layout = BIDSLayout("/data", database_path="/data/.pybids_cache.db")

6. Derivados não encontrados pelo PyBIDS

Causa: Diretório de derivados sem seu próprio dataset_description.json. Correção: Todo diretório de derivados deve ter dataset_description.json com "DatasetType": "derivative".

7. Temporização do arquivo de eventos incorreta

Causa: Os tempos onset são relativos à referência errada (por exemplo, tempo de trigger vs primeiro volume). Correção: Os onsets devem estar em segundos relativos ao primeiro volume daquela execução da aquisição. Considere varreduras dummy se foram descartadas.

8. Arquivos TSV falham na validação

Causa: Problemas de codificação ou delimitador (espaços em vez de tabulações, caracteres BOM, finais de linha do Windows). Correção: Garanta valores separados por tabulação com codificação UTF-8 e finais de linha Unix (\n). Use n/a (não NA, NaN ou vazio) para valores ausentes.

Melhores Práticas

  1. Valide cedo e frequentemente — Execute o validador BIDS após cada conversão ou modificação. Corrija erros antes que se acumulem.

  2. Use herança de metadados — Coloque metadados compartilhados (por exemplo, TaskName, parâmetros do scanner) em arquivos sidecar de nível superior, em vez de duplicar no diretório de cada sujeito.

  3. Mantenha dados de origem — Armazene os dados DICOM (ou outros brutos) originais em sourcedata/ para que as conversões sejam reproduzíveis. Adicione sourcedata/ ao .bidsignore.

  4. Use nomenclatura consistente desde o início — Defina seu esquema de nomenclatura BIDS antes da coleta de dados. Use a convenção de nomenclatura ReproIn para protocolos de varredura para permitir conversão automática.

  5. Documente seu conjunto de dados — Escreva um README completo descrevendo o desenho do estudo, parâmetros de aquisição, problemas conhecidos e quaisquer desvios do BIDS.

  6. Use scans.tsv para metadados no nível de execução — Registre tempos de aquisição por execução e notas de qualidade:

    filename	acq_time	quality
    func/sub-01_task-rest_bold.nii.gz	2025-01-15T10:30:00	good
    
  7. Versionamento do conjunto de dados — Use CHANGES para documentar modificações. Considere o DataLad para controle de versão completo de conjuntos de dados grandes.

  8. Desfaceie imagens anatômicas — Remova características faciais de imagens T1w/T2w antes de compartilhar (por exemplo, usando pydeface, mri_deface ou afni_refacer). Armazene versões desfaceadas como dados primários ou use arquivos _defacemask.

  9. Use URIs BIDS para proveniência — Em derivados, referencie arquivos de origem usando URIs BIDS: bids::sub-01/anat/sub-01_T1w.nii.gz.

  10. Prefira ferramentas comunitárias — Use BIDS-Apps estabelecidos (fMRIPrep, MRIQC, QSIPrep) em vez de pipelines personalizados quando possível. Eles manipulam corretamente E/S BIDS e produzem derivados compatíveis com BIDS.

  11. Estude bids-examples — O repositório bids-examples é a coleção canônica de conjuntos de dados BIDS prototípicos cobrindo diferentes modalidades e casos de uso (MRI, fMRI, DWI, EEG, MEG, iEEG, PET, ASL, genética, derivados e muito mais). Use-o como referência ao estruturar seu próprio conjunto de dados, como dados de teste para ferramentas BIDS ou para entender como uma modalidade específica deve ser organizada. Cada exemplo passa pelo validador BIDS.

Propostas de Extensão BIDS (BEPs)

BEPs são propostas orientadas pela comunidade para estender o BIDS a novas modalidades, derivados ou metadados. A lista completa com status, líderes e links está em references/beps.yml (buscada do bids-website). Visualizações de esquema específicas de BEP são renderizadas em https://github.com/bids-standard/bids-schema/tree/main/BEPs.

BEPs atuais (a partir da atualização do esquema):

BEPTítuloConteúdoStatus
004Imagem ponderada por susceptibilidaderawProcurando novo líder
011Derivados de pré-processamento estruturalderivativeTem PR (#518)
012Derivados de pré-processamento funcionalderivativeTem PR (#519), esquema implementado
014Transformações afins e deformações de campo não linearesderivativeDesenvolvimento do formato X5
016Derivados de imagem ponderada por difusãoderivativeTem PR (#2211)
017Esquema genérico de dados de conectividade BIDSderivativeEm desenvolvimento
021Derivados eletrofisiológicos comunsderivativeEm desenvolvimento
023Derivados de pré-processamento PETderivativeEm desenvolvimento
024Tomografia computadorizadarawProcurando contribuidores
026Gravações com microeletrodosrawProcurando novo líder
028ProveniênciametadataTem PR (#2099)
032Eletrofisiologia com microeletrodosrawTem PR (#2307), visualização disponível — cobre Neuropixels e outras sondas extracelulares; relacionado à skill neuropixels-analysis
033Imagem ponderada por difusão avançadarawProcurando contribuidores
034Modelagem computacionalderivativeTem PR (#967)
035Megaanálises com derivados não conformesderivativeEm desenvolvimento
036Diretrizes de dados fenotípicosrawRevisão comunitária
037Estimulação cerebral não invasivarawEm desenvolvimento
039Redes baseadas em redução de dimensionalidaderawEm desenvolvimento
040Ultrassom funcionalrawEm desenvolvimento
041Derivados de modelos estatísticosderivativeColetando feedback
043Mapeamento de termos BIDSmetadataColetando feedback
044EstímulosrawTem PR (#2022), revisão comunitária
045Gravações fisiológicas periféricasrawTem PR (#2267)
046Tratografia de difusãoderivativeEm desenvolvimento
047Gravações de áudio/vídeo para experimentos comportamentaisrawTem PR (#2231)

Padrões relacionados:

  • BIDS-Stats Models: Especificação JSON para definir análises de neuroimagem baseadas em GLM
  • BIDS-Derivatives (BEP003): Padrão para saídas pré-processadas/de análise (parcialmente mesclado na especificação)

Ecossistema de Ferramentas Relacionadas

FerramentaPropósito
fMRIPrepPré-processamento de fMRI (produz derivados BIDS)
MRIQCControle de qualidade de MRI (produz derivados BIDS)
QSIPrepPré-processamento de MRI de difusão
TemplateFlowModelos e atlas de neuroimagem com nomenclatura semelhante a BIDS
FitlinsImplementação de BIDS Stats Models
DataLadControle de versão para grandes conjuntos de dados, integra-se com BIDS
OpenNeuroRepositório gratuito de conjuntos de dados BIDS
DANDIArquivo de dados de neurofisiologia (usa BIDS para algumas modalidades)
HeuDiConvDICOM-para-BIDS com arquivos Python heurísticos
dcm2bidsDICOM-para-BIDS com configuração JSON
BIDScoinDICOM-para-BIDS com GUI e configuração YAML
nwb2bidsConverter arquivos NWB (Neurodata Without Borders) para BIDS
CuBIDSCuradoria e harmonização de conjuntos de dados BIDS
bids2tableIndexação tabular eficiente de conjuntos de dados BIDS
bids-examplesColeção canônica de conjuntos de dados BIDS prototípicos para todas as modalidades

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.

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.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

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