@@ -169,17 +169,14 @@ use_bed_file_to_update_gwas <- function(gwas, bed_file) {
169169 return (gwas )
170170}
171171
172- standardise_columns <- function (gwas , N ) {
172+ standardise_columns <- function (gwas ) {
173173 gwas_columns <- colnames(gwas )
174174
175- if (! all(c(" CHR" , " BP" ) %in% gwas_columns )) {
176- if (all(grepl(" \\ d:\\ d" , gwas $ SNP ))) {
177- gwas <- tidyr :: separate(data = gwas , col = " SNP" , into = c(" CHR" , " BP" ), sep = " [:_]" , remove = F )
178- gwas $ BP <- as.numeric(gwas $ BP )
179- }
180- }
175+ chr_numeric <- suppressWarnings(as.numeric(gsub(" ^chr" , " " , as.character(gwas $ CHR ))))
176+ gwas <- gwas [chr_numeric %in% 1 : 22 , ]
177+ gwas $ CHR <- chr_numeric [chr_numeric %in% 1 : 22 ]
181178
182- if (all(c(" OR" , " OR_LB" , " OR_UB" ) %in% gwas_columns ) && ! all(c(" BETA" , " SE" ) %in% colnames( gwas ) )) {
179+ if (all(c(" OR" , " OR_LB" , " OR_UB" ) %in% gwas_columns ) && ! all(c(" BETA" , " SE" ) %in% gwas_columns )) {
183180 gwas <- convert_or_to_beta(gwas )
184181 }
185182
@@ -191,21 +188,15 @@ standardise_columns <- function(gwas, N) {
191188 gwas <- convert_z_score_to_beta(gwas )
192189 }
193190
194- if (" BP" %in% gwas_columns ) gwas $ BP <- as.numeric(gwas $ BP )
195- if (" P" %in% gwas_columns ) {
196- gwas $ P <- as.numeric(gwas $ P )
197- gwas $ P [gwas $ P == 0 ] <- .Machine $ double.xmin
198- }
199- if (" BETA" %in% gwas_columns ) {
200- gwas $ BETA <- as.numeric(gwas $ BETA )
201- }
202-
203- if (" BETA" %in% gwas_columns ) {
204- gwas $ BETA <- as.numeric(gwas $ BETA )
205- }
191+ gwas $ BP <- as.numeric(gwas $ BP )
192+ gwas $ BETA <- as.numeric(gwas $ BETA )
193+ gwas $ P <- as.numeric(gwas $ P )
194+ gwas $ P [gwas $ P == 0 ] <- .Machine $ double.xmin
206195
207196 return (gwas )
208197}
198+
199+
209200standardise_alleles <- function (gwas ) {
210201 gwas $ EA <- toupper(gwas $ EA )
211202 gwas $ OA <- toupper(gwas $ OA )
@@ -343,7 +334,6 @@ split_into_regions <- function(gwas, ld_blocks, study_metadata, p_value_threshol
343334# ' @import stats
344335# ' @export
345336convert_or_to_beta <- function (gwas ) {
346- gwas <- get_file_or_dataframe(gwas )
347337 if (! all(c(" OR" , " OR_LB" , " OR_UB" ) %in% colnames(gwas ))) {
348338 stop(" Need OR, OR_LB + OR_UB to complete conversion" )
349339 }
0 commit comments