¿Qué hace SMR?
Enseña a los agentes de codificación de IA cómo trabajar eficazmente con el código base C++ de SMR (Randomización Mendeliana basada en datos resumidos). Cubre arquitectura, formatos de datos, sistema de compilación, métodos estadísticos y errores comunes.
Arquitectura del código base
El proyecto está organizado en los siguientes directorios principales:
src/: Código fuente C++main.cpp: Punto de entradasmr.cpp: Núcleo del análisis SMRheidi.cpp: Implementación del test HEIDIio.cpp: Manejo de entrada/salida de archivosutils.cpp: Utilidades generales
include/: Archivos de cabeceradata/: Datos de ejemploscripts/: Scripts auxiliares (shell, R, Python)Makefile: Sistema de compilación
Formatos de datos
SMR utiliza formatos binarios y de texto específicos:
- BESD: Formato binario para resúmenes de GWAS
- MA: Datos de expresión (eQTL)
- SMR: Resultados del análisis SMR
- HEIDI: Resultados del test de heterogeneidad
Sistema de compilación
Para compilar el proyecto:
make clean
make
Para compilar en modo depuración:
make DEBUG=1
Métodos estadísticos
- SMR: Randomización Mendeliana basada en datos resumidos
- HEIDI: Test de heterogeneidad en instrumentos dependientes
- Multi-SNP: Combinación de múltiples variantes
Errores comunes
- Problemas de compilación: falta de bibliotecas (como
zlib,boost) - Desbordamiento de memoria al procesar archivos grandes
- Inconsistencias en los formatos de datos BESD o MA
- Alineación incorrecta de alelos en los datos de entrada