Export Data

Omiprep can export data to various formats.

Setup

load the omiprep library

library(omiprep)

Read in the data and make a Omiprep object

Create a Omiprep object as described in the Getting Started vignette.

# read in the metabolon data as a list object
datain     <- read_metabolon(system.file("extdata", "metabolon_v1.1_example.xlsx", package = "omiprep"), 
                            sheet="OrigScale", 
                            return_Omiprep = FALSE)

# build the Omiprep class object
mydata      <- Omiprep(data = datain$data, samples = datain$samples, features = datain$features)

Run the quality control

## Adding suppressWarnings() to avoid deparse() error when rendering vignette with S7 method warnings
mydata         <- suppressWarnings( quality_control(mydata, cores = 1) )
#> 
#> ── Starting Omics QC Process ───────────────────────────────────────────────────
#> ℹ Validating input parameters
#> 
#> ℹ Validating input parameters── Starting 'Omics QC Process ──────────────────────────────────────────────────
#> ℹ Validating input parameters✔ Validating input parameters [22ms]
#> 
#> ℹ Validating input parameters
#> ✔ Validating input parameters [13ms]
#> 
#> ℹ Sample & Feature Summary Statistics for raw data
#> AF =  2
#> ✔ Sample & Feature Summary Statistics for raw data [521ms]
#> 
#> ℹ Copying input data to new 'qc' data layer
#> ✔ Copying input data to new 'qc' data layer [22ms]
#> 
#> ℹ Assessing for extreme sample missingness >=80% - excluding 0 sample(s)
#> ✔ Assessing for extreme sample missingness >=80% - excluding 0 sample(s) [23ms]
#> 
#> ℹ Assessing for extreme feature missingness >=80% - excluding 0 feature(s)
#> ✔ Assessing for extreme feature missingness >=80% - excluding 0 feature(s) [16m…
#> 
#> ℹ Assessing for sample missingness at specified level of >=20% - excluding 0 sa…
#> ✔ Assessing for sample missingness at specified level of >=20% - excluding 2 sa…
#> 
#> ℹ Assessing for feature missingness at specified level of >=20% - excluding 0 f…
#> ✔ Assessing for feature missingness at specified level of >=20% - excluding 0 f…
#> 
#> ℹ Calculating total sum abundance outliers at +/- 5 Sdev - excluding 0 sample(s)
#> ✔ Calculating total sum abundance outliers at +/- 5 Sdev - excluding 0 sample(s…
#> 
#> ℹ Running sample data PCA outlier analysis at +/- 5 Sdev
#> ✔ Running sample data PCA outlier analysis at +/- 5 Sdev [25ms]
#> 
#> ℹ Sample PCA outlier analysis - re-identify feature independence and PC outlier…
#> AF =  2
#> ! The stated max PCs [max_num_pcs=10] to use in PCA outlier assessment is greater than the number of available informative PCs [2]
#> ℹ Sample PCA outlier analysis - re-identify feature independence and PC outlier…✔ Sample PCA outlier analysis - re-identify feature independence and PC outlier…
#> 
#> ℹ Creating final QC dataset...
#> AF =  2
#> 
#> ℹ Creating final QC dataset...── Step timings ──
#> ℹ Creating final QC dataset...
#> ℹ Creating final QC dataset...
#>                         step seconds   pct
#>                   validation    0.02   1.1
#>                summarise_raw    0.50  27.5
#>                   copy_layer    0.00   0.0
#>   extreme_sample_missingness    0.00   0.0
#>  extreme_feature_missingness    0.00   0.0
#>           sample_missingness    0.00   0.0
#>          total_sum_abundance    0.00   0.0
#>                summarise_pca    0.58  31.9
#>              summarise_final    0.49  26.9
#>                        total    1.82 100.1
#> ✔ Creating final QC dataset... [531ms]
#> 
#> ℹ 'Omics QC Process Completed
#> ✔ 'Omics QC Process Completed [26ms]

Export Omiprep

# where to put the files
output_dir <- file.path(getwd(), "output")

# run export
export(mydata, directory = output_dir, format = "omiprep")
#> Exporting in omiprep format to: 
#>      /tmp/RtmpkE82wh/Rbuild1bba37ba5691/omiprep/vignettes/output

# view output directory files
files <- list.files(output_dir, full.names = TRUE, recursive = TRUE)
unname(sapply(files, function(path) {
  parts <- strsplit(path, .Platform$file.sep)[[1]]
  paste(tail(parts, 4), collapse = .Platform$file.sep)
}))
#>  [1] "output/omiprep_export_2026_04_20/input/config.yml"         
#>  [2] "output/omiprep_export_2026_04_20/input/data.tsv"           
#>  [3] "output/omiprep_export_2026_04_20/input/feature_summary.tsv"
#>  [4] "output/omiprep_export_2026_04_20/input/features.tsv"       
#>  [5] "output/omiprep_export_2026_04_20/input/sample_summary.tsv" 
#>  [6] "output/omiprep_export_2026_04_20/input/samples.tsv"        
#>  [7] "output/omiprep_export_2026_04_20/qc/config.yml"            
#>  [8] "output/omiprep_export_2026_04_20/qc/data.tsv"              
#>  [9] "output/omiprep_export_2026_04_20/qc/feature_summary.tsv"   
#> [10] "output/omiprep_export_2026_04_20/qc/feature_tree.RDS"      
#> [11] "output/omiprep_export_2026_04_20/qc/features.tsv"          
#> [12] "output/omiprep_export_2026_04_20/qc/sample_summary.tsv"    
#> [13] "output/omiprep_export_2026_04_20/qc/samples.tsv"           
#> [14] "output/omiprep_export_2026_04_20/qc/var_exp.tsv"           
#> [15] "output/omiprep_export_2026_05_12/input/config.yml"         
#> [16] "output/omiprep_export_2026_05_12/input/data.tsv"           
#> [17] "output/omiprep_export_2026_05_12/input/feature_summary.tsv"
#> [18] "output/omiprep_export_2026_05_12/input/features.tsv"       
#> [19] "output/omiprep_export_2026_05_12/input/sample_summary.tsv" 
#> [20] "output/omiprep_export_2026_05_12/input/samples.tsv"        
#> [21] "output/omiprep_export_2026_05_12/qc/config.yml"            
#> [22] "output/omiprep_export_2026_05_12/qc/data.tsv"              
#> [23] "output/omiprep_export_2026_05_12/qc/feature_summary.tsv"   
#> [24] "output/omiprep_export_2026_05_12/qc/feature_tree.RDS"      
#> [25] "output/omiprep_export_2026_05_12/qc/features.tsv"          
#> [26] "output/omiprep_export_2026_05_12/qc/sample_summary.tsv"    
#> [27] "output/omiprep_export_2026_05_12/qc/samples.tsv"           
#> [28] "output/omiprep_export_2026_05_12/qc/var_exp.tsv"