## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE ) ## ----install-cran------------------------------------------------------------- # install.packages("easyLSEA") ## ----install-github----------------------------------------------------------- # # install.packages("remotes") # remotes::install_github("DavidGO464/easyLSEA") ## ----install-fgsea------------------------------------------------------------ # BiocManager::install("fgsea") ## ----quickstart--------------------------------------------------------------- # library(easyLSEA) # # resultado <- easyLSEA( # data = mis_datos_lipidicos, # lipid_col = "LipidName", # fc_col = "logFC", # pval_col = "P.Value", # case_lbl = "NASH", # ref_lbl = "Control", # engine = "both", # ejecutar KS y fgsea # min_rank = "E" # incluir todos los ranks excepto P y NA (por defecto) # ) ## ----meta--------------------------------------------------------------------- # resultado$meta$date # resultado$meta$case_lbl # resultado$meta$n_lipids ## ----lsea--------------------------------------------------------------------- # # Resultados KS — una fila por conjunto lipídico por nivel de agrupación # head(resultado$lsea$ks) # # # Resultados fgsea # head(resultado$lsea$fgsea) # # # Tabla combinada con columna de Convergencia # head(resultado$lsea$combined) ## ----chains------------------------------------------------------------------- # # Long format — una fila por cadena acilo por lípido # head(resultado$chains$parsed) # # # Resumen del estado de parseo — una fila por lípido # head(resultado$chains$summary) # # # Wide format — una fila por lípido con posiciones sn y totales # head(resultado$chains$wide) ## ----plots-list--------------------------------------------------------------- # # Ver todos los plots disponibles # names(resultado$plots$lsea) # names(resultado$plots$chains) ## ----input-------------------------------------------------------------------- # # Datos anotados con LipidClass, LipidCategory_LMAPS, etc. # head(resultado$input$data) # # # Columnas de agrupación evaluadas # resultado$input$group_cols ## ----view-plots--------------------------------------------------------------- # # Bubble plot KS — todas las clases lipídicas # resultado$plots$lsea$bubble_ks_01_Class # # # Bubble plot fgsea — solo conjuntos significativos # resultado$plots$lsea$bubble_fgsea_sig_01_Class # # # Gráfico de distribución — nivel de clase lipídica # resultado$plots$lsea$dist_01_Class ## ----bubble-label------------------------------------------------------------- # # Regenerar plots mostrando solo FDR y n # plots <- plot_lsea( # resultado$lsea, # case_lbl = "NASH", # ref_lbl = "Control", # bubble_label = c("FDR", "n") # ) ## ----export------------------------------------------------------------------- # export_lsea( # resultado, # dir = tempdir(), # format = c("csv", "excel", "pdf") # ) ## ----advanced-separate-------------------------------------------------------- # # Paso 1: anotar # anotado <- annotate_lipids(mis_datos_lipidicos, lipid_col = "LipidName") # # # Paso 2: ejecutar el enriquecimiento # lsea_res <- run_lsea( # data = anotado, # fc_col = "logFC", # engine = "both", # case_lbl = "NASH", # ref_lbl = "Control" # ) # # # Paso 3: generar plots manualmente # plots <- plot_lsea( # lsea_res, # case_lbl = "NASH", # ref_lbl = "Control", # fdr_thresh = 0.05, # bubble_label = c("FDR", "DS", "NES", "n") # ) # # # Paso 4: gráfico de distribución para un nivel específico # p_dist <- plot_distribution( # data = anotado, # lsea_result = lsea_res, # group_col = "LipidClass", # case_lbl = "NASH", # ref_lbl = "Control" # ) ## ----fgsea-rank--------------------------------------------------------------- # # Por defecto: pi-valor = signo(logFC) × −log10(P.Value) # # Combina magnitud del efecto y significancia estadística # # # Alternativa: solo logFC # resultado_fc <- easyLSEA( # data = mis_datos_lipidicos, # engine = "fgsea", # fgsea_rank = "logFC" # ) # # # Alternativa: estadístico t de LIMMA (requiere columna 't') # resultado_t <- easyLSEA( # data = mis_datos_lipidicos, # engine = "fgsea", # fgsea_rank = "t_stat" # ) ## ----thresholds--------------------------------------------------------------- # resultado <- easyLSEA( # data = mis_datos_lipidicos, # min_n = 5L, # mínimo 5 lípidos por conjunto # n_perm = 5000L, # más permutaciones para DS_perm_pval # fgsea_nperm = 20000L # más permutaciones para fgsea # ) ## ----min-rank----------------------------------------------------------------- # # Por defecto: incluye todos excepto P y NA # resultado_todos <- easyLSEA(data = mis_datos_lipidicos, min_rank = "E") # # # Estricto: solo anotaciones de alta confianza (A y B) # resultado_estricto <- easyLSEA(data = mis_datos_lipidicos, min_rank = "B") # # # O directamente en parse_lipid_chains # cadenas_estrictas <- parse_lipid_chains(anotado, min_rank = "B") # table(cadenas_estrictas$summary$status) ## ----session, eval = TRUE----------------------------------------------------- sessionInfo()