From 853fb52b3f339c3efcded8b39ea212a06e97a8a3 Mon Sep 17 00:00:00 2001 From: Chunmingl Date: Tue, 25 Nov 2025 01:46:56 -0500 Subject: [PATCH] fix batch null rs in twas pipeline --- R/file_utils.R | 1 + R/twas.R | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/R/file_utils.R b/R/file_utils.R index 6e425dbc..8b2fd5b5 100644 --- a/R/file_utils.R +++ b/R/file_utils.R @@ -1163,6 +1163,7 @@ batch_load_twas_weights <- function(twas_weights_results, meta_data_df, max_memo ) # Merge with meta_data_df to get TSS information + meta_data_df <- meta_data_df[!duplicated(meta_data_df[, c("region_id", "TSS")]), ] gene_memory_df <- merge(gene_memory_df, meta_data_df[, c("region_id", "TSS")], by.x = "gene_name", by.y = "region_id", all.x = TRUE diff --git a/R/twas.R b/R/twas.R index a70a51ef..ca4d8a07 100644 --- a/R/twas.R +++ b/R/twas.R @@ -576,7 +576,7 @@ twas_pipeline <- function(twas_weights_data, } } if (length(twas_weights_data)==0) { - return(NULL) + return(list(NULL)) } # harmonize twas weights and gwas sumstats against LD @@ -686,7 +686,7 @@ twas_pipeline <- function(twas_weights_data, gc() twas_results_db <- twas_results_db[!sapply(twas_results_db, function(x) is.null(x) || (is.list(x) && all(sapply(x, is.null))))] if (length(twas_results_db) == 0) { - return(NULL) + return(list(NULL)) } twas_results_table <- do.call(rbind, lapply(twas_results_db, function(x) x$twas_table)) mr_results <- do.call(rbind, lapply(twas_results_db, function(x) x$mr_result))