AbSeq analysis report

library(knitr)
knitr::opts_chunk$set(echo = FALSE)

.formatNumber <- function(numStr, denom) {
    n <- suppressWarnings(as.numeric(numStr))
    d <- suppressWarnings(as.numeric(denom))
    nStr <- prettyNum(n, big.mark = ",")
    dStr <- prettyNum(d, big.mark = ",")
    perc <- n / d * 100
    return(sprintf("%s%% (%s/%s)", round(perc, 2), nStr, dStr))
}

generated on r format(Sys.time(), "%a %b %d %Y %H:%M:%S")

Summary

Individual samples are listed in the following table.

Click on the sample names for more details.

The comparative analysis (if any) will appear after the table.

Individual sample reports

Number of samples: r length(unlist(strsplit(params$singleSampleLinks, ",")))

samples <- unlist(strsplit(params$singleSamples, ","))
links <- unlist(strsplit(params$singleSampleLinks, ","))
chains <- unlist(strsplit(params$chains, ","))
rawReads <- unlist(strsplit(params$rawReads, ","))
filtReads <- unlist(strsplit(params$filtReads, ","))
annotReads <- unlist(strsplit(params$annotReads, ","))
prodReads <- unlist(strsplit(params$prodReads, ","))
filters <- unlist(strsplit(params$filters, params$filterSplitter, fixed = TRUE))
if (length(samples) * 8 != (length(samples) + length(links) + length(chains) + length(rawReads) + length(filtReads) + length(annotReads) + length(prodReads)) + length(filters)) {
    stop(sprintf("Expected same argument length for singleSamples (%d), links (%d), chains (%d), rawReads (%d), filteredReads (%d), annotReads (%d), prodReads (%d) and filters (%d)",
                 length(samples),
                 length(links),
                 length(chains),
                 length(rawReads),
                 length(filtReads),
                 length(annotReads),
                 length(prodReads),
                 length(filters)
                 ))
}
singleTableInfo <- lapply(seq_along(samples), function(i) {
    reads <- prettyNum(rawReads[i], big.mark = ",")
    annots <- .formatNumber(annotReads[i], rawReads[i])
    filtered <- .formatNumber(filtReads[i], annotReads[i])
    prods <- .formatNumber(prodReads[i], filtReads[i])
    filts <- gsub(",", "<br>", filters[i], fixed = TRUE)
    knitr::knit_expand(text = sprintf("[%s](%s) | %s | %s | %s | %s | %s | %s", samples[i], links[i], chains[i], reads, annots, filtered, prods, filts))
})

singleTableInfo <- c("sample | chain | # reads | annotated reads | filtered(kept) reads | productive reads | filters applied",
                     "-------|-------|---------|-----------------|----------------------|------------------|---------------",
                     singleTableInfo)

r paste(knitr::knit(text = paste(singleTableInfo, collapse = '\n')))

Comparative reports

Number of comparative reports: r length(unlist(strsplit(params$multiSampleLinks, ",")))

samples <- unlist(strsplit(params$multiSamples, ","))
links <- unlist(strsplit(params$multiSampleLinks, ","))
if (length(samples) != length(links)) {
    stop("Expected equal number of samples and links")
}

comparativePoints <- lapply(seq_along(samples), function(i) {
    knitr::knit_expand(text = sprintf("* [%s](%s)", samples[i], links[i]))
})

r paste(knitr::knit(text = paste(comparativePoints, collapse = '\n')))

Session information

AbSeqR

# This report is generated with the following packages(and versions)
sessionInfo()

AbSeqPy

if (file.exists(params$analysisParams)) {
    con <- file(params$analysisParams, "r")
    lines <- readLines(con)
    close(con)
    versions <- lapply(lines, function(line) {
        if (grepl(".*version.*", line)) {
            line
        } else {
            NA
        }
    })

    cat(paste(versions[!is.na(versions)], collapse = "\n"))
} else {
    cat(paste(params$analysisParams), "could not be found, no information",
        "available.")
}


Try the abseqR package in your browser

Any scripts or data that you put into this service are public.

abseqR documentation built on Nov. 8, 2020, 8:28 p.m.