run: Run Command-Line Tools in a Conda Environment

View source: R/run.R

runR Documentation

Run Command-Line Tools in a Conda Environment

Description

This function allows the execution of command-line tools within a specified Conda environment. It runs the provided command in the designated Conda environment using the Micromamba binaries managed by the condathis package.

Usage

run(
  cmd,
  ...,
  env_name = "condathis-env",
  method = c("native", "auto"),
  verbose = c("silent", "cmd", "output", "full", FALSE, TRUE),
  error = c("cancel", "continue"),
  stdout = "|",
  stderr = "|"
)

Arguments

cmd

Character. The main command to be executed in the Conda environment.

...

Additional arguments to be passed to the command. These arguments will be passed directly to the command executed in the Conda environment. File paths should not contain special characters or spaces.

env_name

Character. The name of the Conda environment where the tool will be run. Defaults to "condathis-env". If the specified environment does not exist, it will be created automatically using create_env().

method

Character string. The method to use for running the command. Options are "native", "auto". Defaults to "native". This argument is soft deprecated as changing it don't really do anything.

verbose

Character string specifying the verbosity level of the function's output. Acceptable values are:

  • "silent": Suppress all output from internal command-line tools. Equivalent to FALSE.

  • "cmd": Print the internal command(s) passed to the command-line tool.

  • "output": Print the standard output and error from the command-line tool to the screen. Note that the order of the standard output and error lines may not be correct, as standard output is typically buffered. If the standard output and/or error is redirected to a file or they are ignored, they will not be echoed.

  • "full": Print both the internal command(s) ("cmd") and their standard output and error ("output"). Equivalent to TRUE. Logical values FALSE and TRUE are also accepted for backward compatibility but are soft-deprecated. Please use "silent" and "full" respectively instead.

error

Character string. How to handle errors. Options are "cancel" or "continue". Defaults to "cancel".

stdout

Default: "|" keep stdout to the R object returned by run(). A character string can be used to define a file path to be used as standard output. e.g: "output.txt".

stderr

Default: "|" keep stderr to the R object returned by run(). A character string can be used to define a file path to be used as standard error. e.g: "error.txt".

Details

The run() function provides a flexible way to execute command-line tools within Conda environments. This is particularly useful for reproducible research and ensuring that specific versions of tools are used.

Value

An object of class list representing the result of the command execution. Contains information about the standard output, standard error, and exit status of the command.

See Also

install_micromamba, create_env

Examples

## Not run: 
condathis::with_sandbox_dir({
  ## Create env
  create_env("samtools", env_name = "samtools-env")

  ## Run a command in a specific Conda environment
  samtools_res <- run("samtools", "view", fs::path_package("condathis", "extdata", "example.bam"),
    env_name = "samtools-env"
  )
  parse_output(samtools_res)[1]
  #> [1] "SOLEXA-1GA-1_6_FC20ET7:6:92:473:531\t0\tchr1\t10156..."
})

## End(Not run)


condathis documentation built on April 12, 2025, 2:01 a.m.