Generate a report summarizing the main aspects of an alevin/alevin-fry quantification run. The report generation assumes that alevin/alevin-fry has been run with the –dumpFeatures flag to generate the necessary output files.

alevinQCReport(
  baseDir,
  sampleId,
  outputFile,
  outputDir = "./",
  outputFormat = NULL,
  showCode = FALSE,
  forceOverwrite = FALSE,
  knitrProgress = FALSE,
  quiet = FALSE,
  ignorePandoc = FALSE,
  customCBList = list(),
  ...
)

simpleafQCReport(
  simpleafQuantDir,
  sampleId,
  outputFile,
  outputDir = "./",
  outputFormat = NULL,
  showCode = FALSE,
  forceOverwrite = FALSE,
  knitrProgress = FALSE,
  quiet = FALSE,
  ignorePandoc = FALSE,
  customCBList = list(),
  ...
)

alevinFryQCReport(
  mapDir,
  permitDir,
  quantDir,
  sampleId,
  outputFile,
  outputDir = "./",
  outputFormat = NULL,
  showCode = FALSE,
  forceOverwrite = FALSE,
  knitrProgress = FALSE,
  quiet = FALSE,
  ignorePandoc = FALSE,
  customCBList = list(),
  ...
)

Arguments

baseDir

(Only used for alevin output) Path to the output directory from the alevin run (should be the directory containing the alevin directory).

sampleId

Sample ID, will be used to set the title for the report.

outputFile

File name of the output report. The file name extension must be either .html or .pdf, and consistent with the value of outputFormat.

outputDir

Path to the output directory where the report will be generated.

outputFormat

The format of the output report. Either "html_document", "pdf_document", "BiocStyle::html_document" or "BiocStyle::pdf_document". The file name extension of outputFile must be consistent with this choice.

showCode

Logical, whether to display the R code in the report.

forceOverwrite

Logical, whether to force overwrite an existing report with the same name in the output directory.

knitrProgress

Logical, whether to display the progress of knitr when generating the report.

quiet

Logical, whether to show progress messages.

ignorePandoc

Logical, determines what to do if pandoc or pandoc-citeproc is missing (if Sys.which("pandoc") or Sys.which("pandoc-citeproc") returns ""). If ignorePandoc is TRUE, only a warning is given. The figures will be generated, but not the final report. If ignorePandoc is FALSE (default), the execution stops immediately.

customCBList

Named list with custom set(s) of barcodes to provide summary statistics/plots for, in addition to the whitelists generated by alevin.

...

Other arguments that will be passed to rmarkdown::render.

simpleafQuantDir

(Only used for simpleaf output) Path to the output directory from the simpleaf run (should be the directory containing the af_map and af_quant directories).

mapDir

(Only used for alevin-fry output) Path to the output directory from the salmon alevin run (should be the directory containing the map.rad file).

permitDir

(Only used for alevin-fry output) Path to the output directory from the permit list generation step (should be the directory containing the all_freq.tsv file).

quantDir

(Only used for alevin-fry output) Path to the output directory from the alevin-fry quantification step (should be the directory containing the alevin directory).

Value

Generates a summary report in the outputDir directory, and returns (invisibly) the name of the generated report.

Details

When the function is called, a .Rmd template file will be copied into the output directory, and rmarkdown::render will be called to generate the final report. If there is already a .Rmd file with the same name in the output directory, the function will raise an error and stop, to avoid overwriting the existing file. The reason for this behaviour is that the copied template in the output directory will be deleted once the report is generated.

Author

Charlotte Soneson

Examples

alevinQCReport(
    baseDir = system.file("extdata/alevin_example_v0.14",
                          package = "alevinQC"),
    sampleId = "example", outputFile = "alevinReport.html",
    outputDir = tempdir(), forceOverwrite = TRUE)
#> Warning: unable to load shared object '/Library/Frameworks/R.framework/Resources/modules//R_X11.so':
#>   dlopen(/Library/Frameworks/R.framework/Resources/modules//R_X11.so, 0x0006): Library not loaded: /opt/X11/lib/libSM.6.dylib
#>   Referenced from: <9787D5C5-915A-33A4-A4E0-4C500143DC8D> /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/modules/R_X11.so
#>   Reason: tried: '/opt/X11/lib/libSM.6.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/X11/lib/libSM.6.dylib' (no such file), '/opt/X11/lib/libSM.6.dylib' (no such file), '/Library/Frameworks/R.framework/Resources/lib/libSM.6.dylib' (no such file), '/Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/21.0.5-11.0/arm64/Contents/Home//lib/server/libSM.6.dylib' (no such file)
#> Warning: unable to load shared object '/Library/Frameworks/R.framework/Resources/library/grDevices/libs//cairo.so':
#>   dlopen(/Library/Frameworks/R.framework/Resources/library/grDevices/libs//cairo.so, 0x0006): Library not loaded: /opt/X11/lib/libXrender.1.dylib
#>   Referenced from: <C6A11057-3B07-39E4-BC6D-BF4311277098> /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/library/grDevices/libs/cairo.so
#>   Reason: tried: '/opt/X11/lib/libXrender.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/X11/lib/libXrender.1.dylib' (no such file), '/opt/X11/lib/libXrender.1.dylib' (no such file), '/Library/Frameworks/R.framework/Resources/lib/libXrender.1.dylib' (no such file), '/Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/21.0.5-11.0/arm64/Contents/Home//lib/server/libXrender.1.dylib' (no such file)
#> Warning: failed to load cairo DLL
#> Warning: failed to load cairo DLL
#> Error in dev.control(displaylist = if (record) "enable" else "inhibit"): dev.control() called without an open graphics device
#> 
#> Quitting from lines 30-40 [prep] (alevinReport.Rmd)

alevinFryQCReport(
    mapDir = system.file("extdata/alevinfry_example_v0.5.0/map",
                         package = "alevinQC"),
    permitDir = system.file("extdata/alevinfry_example_v0.5.0/permit",
                            package = "alevinQC"),
    quantDir = system.file("extdata/alevinfry_example_v0.5.0/quant",
                           package = "alevinQC"),
    sampleId = "example", outputFile = "alevinFryReport.html",
    outputDir = tempdir(), forceOverwrite = TRUE)
#> Warning: failed to load cairo DLL
#> Warning: failed to load cairo DLL
#> Error in dev.control(displaylist = if (record) "enable" else "inhibit"): dev.control() called without an open graphics device
#> 
#> Quitting from lines 43-47 [setup-alevin] (alevinFryReport.Rmd)

simpleafQCReport(
    simpleafQuantDir = system.file("extdata/alevinfry_example_piscem_v0.6.0",
                                   package = "alevinQC"),
    sampleId = "example", outputFile = "simpleafReport.html",
    outputDir = tempdir(), forceOverwrite = TRUE)
#> Warning: failed to load cairo DLL
#> Warning: failed to load cairo DLL
#> Error in dev.control(displaylist = if (record) "enable" else "inhibit"): dev.control() called without an open graphics device
#> 
#> Quitting from lines 43-47 [setup-alevin] (simpleafReport.Rmd)