https://github.com/annakrystalli/outsider
:black_square_button::registered: Install and run programs, outside of R, inside of R
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.3%) to scientific vocabulary
Last synced: 9 months ago
·
JSON representation
Repository
:black_square_button::registered: Install and run programs, outside of R, inside of R
Basic Info
- Host: GitHub
- Owner: annakrystalli
- License: other
- Language: R
- Default Branch: master
- Homepage: https://antonellilab.github.io/outsider/
- Size: 1.72 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of ropensci-archive/outsider
Created over 6 years ago
· Last pushed over 6 years ago
https://github.com/annakrystalli/outsider/blob/master/
Install and run programs, outside of R, inside of R==================================================================================================== [](https://travis-ci.org/AntonelliLab/outsider) [](https://ci.appveyor.com/project/DomBennett/outsider) [](https://coveralls.io/github/AntonelliLab/outsider?branch=master) [](https://www.repostatus.org/#active) [](https://zenodo.org/badge/latestdoi/145114547) [](https://github.com/ropensci/onboarding/issues/282) > The Outsider is always unhappy, but he is an agent that ensures the happiness for millions of 'Insiders'.
*[The Outsider, Wilson, 1956](https://en.wikipedia.org/wiki/The_Outsider_(Colin_Wilson)).*
Integrating external programs into a deployable, R workflow can be challenging. Although there are many useful functions and packages (e.g. `base::system()`) for calling code and software from alternative languages, these approaches require users to independently install dependant software and may not work across platforms. `outsider` aims to make this easier by allowing users to install, run and control programs *outside of R* across all operating systems. It's like [whalebrew](https://github.com/whalebrew/whalebrew) but exclusively for R. **For more detailed information, check out the [`outsider` website](https://antonellilab.github.io/outsider/articles/outsider.html)** Installation ------------ To install the development version of the package ... ``` r remotes::install_github('AntonelliLab/outsider') ``` Additionally, you will also need to install **Docker desktop**. To install Docker visit the Docker website and follow the instructions for your operating system: [Install Docker](https://www.docker.com/products/docker-desktop). ### Compatibility Tested and functioning on Linux, Mac OS and Windows. (For some older versions of Windows, the legacy [Docker Toolbox](https://docs.docker.com/toolbox/toolbox_install_windows/) may be required instead of Docker Desktop.) Quick example ------------- ``` r library(outsider) #> ---------------- #> outsider v 0.1.0 #> ---------------- #> - Security notice: be sure of which modules you install # outsider modules are hosted on GitHub and other code-sharing sites # this repo is a demonstration outsider module # it contains a function for printing 'Hello World!' in Ubuntu 18.04 repo <- 'dombennett/om..hello.world' module_install(repo = repo, force = TRUE) # look up the help files for the module module_help(repo = repo) # import the 'hello_world' function hello_world <- module_import(fname = 'hello_world', repo = repo) # run the imported function hello_world() #> Hello world! #> ------------ #> DISTRIB_ID=Ubuntu #> DISTRIB_RELEASE=18.04 #> DISTRIB_CODENAME=bionic #> DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS" ``` Available external programs --------------------------- Modules available on GitHub since 16:38 25 October 2019 (CEST) beast trimal revbayes BAMM RAxML .... Plus, at least, 8 more! For more details, see the [available modules table](https://antonellilab.github.io/outsider/articles/available.html) ### Real-World Example: Aligning biological sequences Installing and running a multiple sequence alignment program ([mafft](https://mafft.cbrc.jp/alignment/software/)).  (See ["Evolutionary tree pipeline"](https://antonellilab.github.io/outsider/articles/phylogenetic_pipeline.html) for running this program yourself.) ### Not finding a module you need? Try raising an issue to request someone make a module, [Raise an Issue](https://github.com/AntonelliLab/outsider/issues/new). Otherwise, why not make it yourself? Check out the [`outsider.devtools`](https://github.com/AntonelliLab/outsider.devtools) package. How does it work? ----------------- `outsider` makes use of the program [docker](https://www.docker.com/) which allows users to create small, deployable machines, called Docker images. The advantage of these images is that they can be run on any machine that has Docker installed, regardless of operating system. The `outsider` package makes external programs available in R by facilitating the interaction between Docker and the R console through **outsider modules**. These modules consist of two parts: a Dockerfile that describes the Docker image that contains the external program and an R package for interacting with the Docker image. Upon installing and running a module through `outsider`, a Docker image is launched and the R code of the module is used to interact with the external program. Anyone can create a module. They are hosted on [GitHub](https://github.com/) as well as other code-sharing sites and can be searched for and downloaded through `outsider`.  Outsider CI statuses -------------------- | Repo | [Travis CI](https://travis-ci.org/) | [Appveyor](https://www.appveyor.com/) | |--------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [`outsider.base`](https://github.com/AntonelliLab/outsider.base) | [](https://travis-ci.org/AntonelliLab/outsider.base) | [](https://ci.appveyor.com/project/DomBennett/outsider.base) | | [`outsider`](https://github.com/AntonelliLab/outsider) | [](https://travis-ci.org/AntonelliLab/outsider) | [](https://ci.appveyor.com/project/DomBennett/outsider) | | [`outsider.devtools`](https://github.com/AntonelliLab/outsider.devtools) | [](https://travis-ci.org/AntonelliLab/outsider.devtools) | [](https://ci.appveyor.com/project/DomBennett/outsider.devtools) | | ["Test suites"](https://github.com/AntonelliLab/outsider-testsuites) | [](https://travis-ci.org/AntonelliLab/outsider-testsuites) | [](https://ci.appveyor.com/project/DomBennett/outsider-testsuites) | Version ------- Post-review version 0.1. Citation -------- Bennett et al. (2019). outsider: Install and run programs, outside of R, inside of R. *Journal of Open Source Software*, *In review* Maintainer ---------- [Dom Bennett](https://github.com/DomBennett)
Owner
- Name: Anna Krystalli
- Login: annakrystalli
- Kind: user
- Location: Syros, Greece
- Company: @r-rse
- Website: https://www.r-rse.eu
- Twitter: annakrystalli
- Repositories: 240
- Profile: https://github.com/annakrystalli
Research Software Engineering Service in #rstats at @r-rse. Ex @RSE-Sheffield. Editor @ropensci. Core team member @reprohack. Available for hire! 🚀😎
====================================================================================================
[](https://travis-ci.org/AntonelliLab/outsider) [](https://ci.appveyor.com/project/DomBennett/outsider) [](https://coveralls.io/github/AntonelliLab/outsider?branch=master) [](https://www.repostatus.org/#active) [](https://zenodo.org/badge/latestdoi/145114547) [](https://github.com/ropensci/onboarding/issues/282)
> The Outsider is always unhappy, but he is an agent that ensures the happiness for millions of 'Insiders'.