diff --git a/NAMESPACE b/NAMESPACE
index 1529b553c039154520726d6097135d080067fd3f..88439a8fe3116874d2df7faa770a5b216314bb63 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -9,6 +9,7 @@ export(load_compound_input)
 export(load_data_input)
 export(load_inputs)
 export(mk_comp_tab)
+export(prescreen)
 export(run)
 export(run_in_dir)
 import(data.table)
diff --git a/R/api.R b/R/api.R
index b8a85b6dc6b3307a0bf7a286b1f6a5c8fe0f6c3f..95b06eee225361ee033a0b3bd3561ba05e0771fc 100644
--- a/R/api.R
+++ b/R/api.R
@@ -293,3 +293,14 @@ conf_trans <- function(conf) {
     conf$prescreen <- conf_trans_pres(conf$prescreen)
     conf
 }
+
+##' @export
+prescreen <- function(m) {
+    ## Top-level auto prescreening function.
+    m$qa <- create_qa_table(m$extr$ms,m$conf$prescreen)
+    mms1 <- assess_ms1(m)
+    m <- assess_ms2(mms1)
+    fields <- c("Files","adduct","ID",QA_COLS)
+    m$out$tab$ftab <- merge(m$out$tab$comp,m$qa$ms[,..fields],by=c("Files","adduct","ID"))
+    m
+}