diff --git a/NAMESPACE b/NAMESPACE
index cddcbd931c945c0b7b8d2fbf4cc79d4183919bbf..23a2879f70b2c867c124ba1507cdb8e566287606 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -4,15 +4,11 @@ export(calculate_lr)
 export(calculate_maf)
 export(count_alleles)
 export(count_confidences)
-export(extract_a)
-export(extract_b)
 export(extract_ranges)
 export(find_cpts)
 export(merge_segments)
 export(normalise_lr)
 export(read_axiom)
-export(read_confidences)
-export(read_summary)
 export(regroup_data)
 export(summarise_segments)
 export(transform_lr)
diff --git a/R/calculate_lr.R b/R/calculate_lr.R
index 32291bd0553b7227ccc78bb42f5b492be85b8aac..076e8ef1e45b00bac26e8a7129ad22c23b3aadb9 100644
--- a/R/calculate_lr.R
+++ b/R/calculate_lr.R
@@ -1,7 +1,7 @@
-#' Calculate lr values from signal A and signal B
+#' Calculate lr values from summary file
 #'
-#' @param signal_a signal_a values
-#' @param signal_b signal_b values
+#' @param summary_file imported summary file (usually named 'summary')
+#' @param format "wide" or "long" table (defaults to "long")
 #'
 #' @import dplyr
 #' @import tidyr
@@ -11,25 +11,52 @@
 #'
 #' @examples
 #' \dontrun{
-#' calculate_lr(signal_a, signal_b)
+#' calculate_lr(summary_file, format = "long")
 #' }
 
-calculate_lr <- function(signal_a, signal_b) {
+calculate_lr <- function(summary_file, format = "long") {
 
   # Set NULL variables
 
   a <- b <- pivot_longer <- probeset_id <- NULL
 
-  # Transform to long format
+  # Extract A signal from summary file
+  message("Extracting A signal from summary file")
+  signal_a <- summary_file |>
+    dplyr::filter(!grepl(pattern = "NP", x = probeset_id)) |>
+    dplyr::filter(grepl("AX-[0-9]*-A", probeset_id)) |>
+    dplyr::mutate(probeset_id = stringr::str_remove(string = probeset_id, pattern = "-A")) |>
+    tidyr::pivot_longer(cols = -probeset_id,
+                        names_to = "file_name",
+                        values_to = "signal_a")
 
-  signal_a_lg <- signal_a %>%
-    tidyr::pivot_longer(!probeset_id, names_to = "file_name", values_to = "a")
-
-  signal_b_lg <- signal_b %>%
-    tidyr::pivot_longer(!probeset_id, names_to = "file_name", values_to = "b")
+  # Extract B signal from summary file
+  message("Extracting B signal from summary file")
+  signal_b <- summary_file |>
+    dplyr::filter(!grepl(pattern = "NP", x = probeset_id)) |>
+    dplyr::filter(grepl("AX-[0-9]*-B", probeset_id)) |>
+    dplyr::mutate(probeset_id = stringr::str_remove(string = probeset_id, pattern = "-B")) |>
+    tidyr::pivot_longer(cols = -probeset_id,
+                        names_to = "file_name",
+                        values_to = "signal_b")
 
   # Calculate lr values
-  dplyr::left_join(signal_a_lg, signal_b_lg) %>%
-    dplyr::mutate(lr = log2(sqrt(a^2 + b^2))) %>%
-    dplyr::select(-c(a, b))
+  message("Calculating lr values")
+  lr <- signal_a |>
+    dplyr::left_join(signal_b) |>
+    dplyr::mutate(lr = log2(sqrt(signal_a^2 + signal_b^2)),
+                  .keep = "unused")
+
+  # If format is set to "wide", transform the table
+  if (format == "wide") {
+    message("Pivoting output table to wide format")
+    lr <- lr |>
+      tidyr::pivot_wider(id_cols = probeset_id,
+                         names_from = file_name,
+                         values_from = lr)
+  }
+
+  # Assign to Global Environment
+  assign(x = "lr", value = lr, pos = ".GlobalEnv")
+
 }
diff --git a/R/extract_a.R b/R/extract_a.R
deleted file mode 100644
index c59a4f81ec81f8e2cbff6071ad380878bd3e5288..0000000000000000000000000000000000000000
--- a/R/extract_a.R
+++ /dev/null
@@ -1,27 +0,0 @@
-#' Extract signal A values from summary file
-#'
-#' @param summary_file summary file
-#'
-#' @import dplyr
-#'
-#' @return A [tibble()].
-#' @export
-#'
-#' @examples
-#' \dontrun{
-#' extract_a(summary_file)
-#' }
-
-extract_a <- function(summary_file) {
-
-  # Set NULL variables
-
-  probeset_id <- NULL
-
-  # Extract signal A values
-
-  signal_a <- summary_file %>%
-    subset(!grepl(pattern = "NP", probeset_id)) %>%
-    subset(grepl("AX-[0-9]*-A", probeset_id)) %>%
-    dplyr::mutate(probeset_id = gsub(pattern = "-A", replacement = "", x = probeset_id))
-}
diff --git a/R/extract_b.R b/R/extract_b.R
deleted file mode 100644
index c4f5b9e9de17c2e81e637af7ac019a6a5cfb21ee..0000000000000000000000000000000000000000
--- a/R/extract_b.R
+++ /dev/null
@@ -1,27 +0,0 @@
-#' Extract signal B values from summary file
-#'
-#' @param summary_file summary file
-#'
-#' @import dplyr
-#'
-#' @return A [tibble()].
-#' @export
-#'
-#' @examples
-#' \dontrun{
-#' extract_b(summary_file)
-#' }
-
-extract_b <- function(summary_file) {
-
-  # Set NULL variables
-
-  probeset_id <- NULL
-
-  # Extract signal B values
-
-  signal_b <- summary_file %>%
-    subset(!grepl(pattern = "NP", probeset_id)) %>%
-    subset(grepl("AX-[0-9]*-B", probeset_id)) %>%
-    dplyr::mutate(probeset_id = gsub(pattern = "-B", replacement = "", x = probeset_id))
-}
diff --git a/man/calculate_lr.Rd b/man/calculate_lr.Rd
index 7c21481d549322f83502ea5f082add04ff8cd537..38748af93ba130eb9f5b08d9252228f9413da475 100644
--- a/man/calculate_lr.Rd
+++ b/man/calculate_lr.Rd
@@ -2,23 +2,23 @@
 % Please edit documentation in R/calculate_lr.R
 \name{calculate_lr}
 \alias{calculate_lr}
-\title{Calculate lr values from signal A and signal B}
+\title{Calculate lr values from summary file}
 \usage{
-calculate_lr(signal_a, signal_b)
+calculate_lr(summary_file, format = "long")
 }
 \arguments{
-\item{signal_a}{signal_a values}
+\item{summary_file}{imported summary file (usually named 'summary')}
 
-\item{signal_b}{signal_b values}
+\item{format}{"wide" or "long" table (defaults to "long")}
 }
 \value{
 A \code{\link[=tibble]{tibble()}}.
 }
 \description{
-Calculate lr values from signal A and signal B
+Calculate lr values from summary file
 }
 \examples{
 \dontrun{
-calculate_lr(signal_a, signal_b)
+calculate_lr(summary_file, format = "long")
 }
 }
diff --git a/man/extract_a.Rd b/man/extract_a.Rd
deleted file mode 100644
index 274455e960c21de2db4e38358885def838c7addb..0000000000000000000000000000000000000000
--- a/man/extract_a.Rd
+++ /dev/null
@@ -1,22 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/extract_a.R
-\name{extract_a}
-\alias{extract_a}
-\title{Extract signal A values from summary file}
-\usage{
-extract_a(summary_file)
-}
-\arguments{
-\item{summary_file}{summary file}
-}
-\value{
-A \code{\link[=tibble]{tibble()}}.
-}
-\description{
-Extract signal A values from summary file
-}
-\examples{
-\dontrun{
-extract_a(summary_file)
-}
-}
diff --git a/man/extract_b.Rd b/man/extract_b.Rd
deleted file mode 100644
index f9e8410aae7f5f8c68dd214e4872eea1e2355824..0000000000000000000000000000000000000000
--- a/man/extract_b.Rd
+++ /dev/null
@@ -1,22 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/extract_b.R
-\name{extract_b}
-\alias{extract_b}
-\title{Extract signal B values from summary file}
-\usage{
-extract_b(summary_file)
-}
-\arguments{
-\item{summary_file}{summary file}
-}
-\value{
-A \code{\link[=tibble]{tibble()}}.
-}
-\description{
-Extract signal B values from summary file
-}
-\examples{
-\dontrun{
-extract_b(summary_file)
-}
-}
diff --git a/man/read_confidences.Rd b/man/read_confidences.Rd
deleted file mode 100644
index a5f9b905c46eb68e4875984db07bc44450f195bb..0000000000000000000000000000000000000000
--- a/man/read_confidences.Rd
+++ /dev/null
@@ -1,22 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/read_confidences.R
-\name{read_confidences}
-\alias{read_confidences}
-\title{Read confidences file from genotyping pipeline output}
-\usage{
-read_confidences(confidences_file)
-}
-\arguments{
-\item{confidences_file}{path to confidences file}
-}
-\value{
-A \code{\link[=tibble]{tibble()}}.
-}
-\description{
-Read confidences file from genotyping pipeline output
-}
-\examples{
-\dontrun{
-read_confidences(confidences_file)
-}
-}
diff --git a/man/read_summary.Rd b/man/read_summary.Rd
deleted file mode 100644
index 2ec67088f59c948bb153752c259900af4f388e4f..0000000000000000000000000000000000000000
--- a/man/read_summary.Rd
+++ /dev/null
@@ -1,22 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/read_summary.R
-\name{read_summary}
-\alias{read_summary}
-\title{Read summary file from genotyping pipeline output}
-\usage{
-read_summary(summary_file)
-}
-\arguments{
-\item{summary_file}{path to summary file}
-}
-\value{
-A \code{\link[=tibble]{tibble()}}.
-}
-\description{
-Read summary file from genotyping pipeline output
-}
-\examples{
-\dontrun{
-read_summary(summary_file)
-}
-}