bpmapply {BiocParallel} | R Documentation

## Parallel mapply-like functionality

### Description

`bpmapply` applies `FUN` to first elements of `...`, the second elements and so on. Any type of object in `...` is allowed, provided `length`, `[`, and `[[` methods are available. The return value is a `list` of length equal to the length of all objects provided, as with `mapply`.

### Usage

    bpmapply(FUN, ..., MoreArgs=NULL, SIMPLIFY=TRUE, USE.NAMES=TRUE,
        BPREDO=list(), BPPARAM=bpparam())

    ## S4 method for signature 'ANY,missing'
    bpmapply(FUN, ..., MoreArgs=NULL, SIMPLIFY=TRUE,
        USE.NAMES=TRUE, BPREDO=list(), BPPARAM=bpparam())

    ## S4 method for signature 'ANY,BiocParallelParam'
    bpmapply(FUN, ..., MoreArgs=NULL,
        SIMPLIFY=TRUE, USE.NAMES=TRUE, BPREDO=list(), BPPARAM=bpparam())

### Arguments

`FUN` | The `function` to be applied to each element passed via `...`.
`...` | Objects for which methods `length`, `[`, and `[[` are implemented. All objects must have the same length or shorter objects will be replicated to have length equal to the longest.
`MoreArgs` | List of additional arguments to `FUN`.
`SIMPLIFY` | If `TRUE` the result will be simplified using `simplify2array`.
`USE.NAMES` | If `TRUE` the result will be named.
`BPPARAM` | An optional `BiocParallelParam` instance defining the parallel back-end to be used during evaluation.
`BPREDO` | A `list` of output from `bpmapply` with one or more failed elements. When a list is given in `BPREDO`, `bpok` is used to identify errors, tasks are rerun and inserted into the original results.

### Details

See `methods{bpmapply}` for additional methods, e.g., `method?bpmapply("MulticoreParam")`.

### Value

See `mapply`.

### Author(s)

Michel Lang . Original code as attributed in `mclapply`.

### See Also

- `bpvec` for parallel, vectorized calculations.

- `BiocParallelParam` for possible values of `BPPARAM`.

### Examples

    methods("bpmapply")

    fun <- function(greet, who) {
        paste(Sys.getpid(), greet, who)
    }
    greet <- c("morning", "night")
    who <- c("sun", "moon")

    param <- bpparam()
    original <- bpworkers(param)
    bpworkers(param) <- 2
    result <- bpmapply(fun, greet, who, BPPARAM = param)
    cat(paste(result, collapse="\n"), "\n")
    bpworkers(param) <- original

[Package BiocParallel version 1.18.1 Index]