252 lines
8.4 KiB
Markdown
252 lines
8.4 KiB
Markdown
# Installation
|
|
|
|
You can install RAPIDS using Docker (the fastest), or native instructions for MacOS and Linux (Ubuntu). Windows is supported through Docker or WSL.
|
|
|
|
=== "Docker"
|
|
|
|
1. Install [Docker](https://docs.docker.com/desktop/)
|
|
|
|
2. Pull our RAPIDS container
|
|
``` bash
|
|
docker pull moshiresearch/rapids:latest
|
|
```
|
|
|
|
3. Run RAPIDS\' container (after this step is done you should see a
|
|
prompt in the main RAPIDS folder with its python environment active)
|
|
|
|
``` bash
|
|
docker run -it moshiresearch/rapids:latest
|
|
```
|
|
|
|
4. Pull the latest version of RAPIDS
|
|
|
|
``` bash
|
|
git pull
|
|
```
|
|
|
|
5. Make RAPIDS script executable
|
|
```bash
|
|
chmod +x rapids
|
|
```
|
|
|
|
6. Check that RAPIDS is working
|
|
``` bash
|
|
./rapids -j1
|
|
```
|
|
7. *Optional*. You can edit RAPIDS files with `vim` but we recommend using `Visual Studio Code` and its `Remote Containers` extension
|
|
|
|
??? info "How to configure the Remote Containers extension"
|
|
|
|
- Make sure RAPIDS Docker container is running
|
|
|
|
- Install VS Code and its [Remote - Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
|
|
|
|
- Click the `Remote Explorer` icon on the left-hand sidebar (the icon is a computer monitor)
|
|
|
|
- On the top right dropdown menu, choose `Containers`
|
|
|
|
- Right-click on the `moshiresearch/rapids` container in the `CONTAINERS` tree and select `Attach to Container`. A new VS Code window should open
|
|
|
|
- In the new window, open the `/rapids/` folder via the `File/Open...` menu
|
|
|
|
- Run RAPIDS inside a terminal in VS Code. Open one with the `Terminal/New Terminal` menu
|
|
|
|
!!! warning
|
|
If you installed RAPIDS using Docker for Windows on Windows 10, the container will have [limits](https://stackoverflow.com/questions/43460770/docker-windows-container-memory-limit) on the amount of RAM it can use. If you find that RAPIDS crashes due to running out of memory, [increase](https://stackoverflow.com/a/56583203/6030343) this limit.
|
|
|
|
=== "MacOS"
|
|
We tested these instructions in Catalina and Big Sur
|
|
|
|
??? info "M1 Macs"
|
|
RAPIDS can run on M1 Macs, the only changes as of Feb 21, 2021 are:
|
|
|
|
- R needs to be installed via brew under Rosetta (x86 arch) due to incompatibility issues with some R libraries. To do this, run your terminal [via Rosetta](https://www.youtube.com/watch?v=nv2ylxro7rM&t=138s), then proceed with the usual brew installation command. Use x86 brew to install R and restore RAPIDS' packages (`snakemake -j1 renv_install & snakemake -j1 renv_restore`).
|
|
- There is a bug related to timezone codes. We set the correct `TZ_DIR` in `renv/activate.R` (line #19) `Sys.setenv("TZDIR" = file.path(R.home(), "share", "zoneinfo"))` (RAPIDS does this automatically).
|
|
|
|
1. Install [brew](https://brew.sh/)
|
|
|
|
2. Install MySQL
|
|
|
|
``` bash
|
|
brew install mysql
|
|
brew services start mysql
|
|
```
|
|
|
|
3. Install R 4.0, pandoc and rmarkdown. If you have other instances of R, we recommend uninstalling them
|
|
|
|
``` bash
|
|
brew install r
|
|
brew install pandoc
|
|
Rscript --vanilla -e 'install.packages("rmarkdown", repos="http://cran.us.r-project.org")'
|
|
```
|
|
|
|
4. Install miniconda (restart your terminal afterwards)
|
|
|
|
``` bash
|
|
brew cask install miniconda
|
|
conda init zsh # (or conda init bash)
|
|
```
|
|
|
|
5. Clone our repo
|
|
|
|
``` bash
|
|
git clone https://github.com/carissalow/rapids
|
|
```
|
|
|
|
6. Create a python virtual environment
|
|
|
|
``` bash
|
|
cd rapids
|
|
conda env create -f environment.yml -n rapids
|
|
conda activate rapids
|
|
```
|
|
|
|
7. Install R packages and virtual environment:
|
|
|
|
``` bash
|
|
snakemake -j1 renv_install
|
|
snakemake -j1 renv_restore
|
|
|
|
```
|
|
|
|
!!! note
|
|
This step could take several minutes to complete, especially if you have less than 3Gb of RAM or packages need to be compiled from source. Please be patient and let it run until completion.
|
|
|
|
5. Make RAPIDS script executable
|
|
```bash
|
|
chmod +x rapids
|
|
```
|
|
|
|
8. Check that RAPIDS is working
|
|
``` bash
|
|
./rapids -j1
|
|
```
|
|
|
|
=== "Ubuntu"
|
|
|
|
We tested RAPIDS on Ubuntu 18.04 & 20.04. Note that the necessary Python and R packages are available in other Linux distributions, so if you decide to give it a try, let us know and we can update these docs.
|
|
|
|
1. Install dependencies
|
|
|
|
``` bash
|
|
sudo apt install libcurl4-openssl-dev
|
|
sudo apt install libssl-dev
|
|
sudo apt install libxml2-dev
|
|
sudo apt install libglpk40
|
|
```
|
|
|
|
2. Install MySQL
|
|
|
|
``` bash
|
|
sudo apt install libmysqlclient-dev
|
|
sudo apt install mysql-server
|
|
```
|
|
|
|
3. Add key for R's repository.
|
|
|
|
``` bash
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
|
|
```
|
|
|
|
4. Add R's repository
|
|
|
|
=== "Ubuntu 18.04 Bionic"
|
|
|
|
``` bash
|
|
sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran40/'
|
|
```
|
|
|
|
=== "Ubuntu 20.04 Focal"
|
|
|
|
``` bash
|
|
sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/'
|
|
```
|
|
|
|
5. Install R 4.0. If you have other instances of R, we recommend uninstalling them
|
|
|
|
``` bash
|
|
sudo apt update
|
|
sudo apt install r-base
|
|
```
|
|
|
|
6. Install Pandoc and rmarkdown
|
|
|
|
``` bash
|
|
sudo apt install pandoc
|
|
Rscript --vanilla -e 'install.packages("rmarkdown", repos="http://cran.us.r-project.org")'
|
|
```
|
|
|
|
7. Install git
|
|
|
|
``` bash
|
|
sudo apt install git
|
|
```
|
|
|
|
8. Install [miniconda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/linux.html)
|
|
|
|
9. Restart your current shell
|
|
|
|
10. Clone our repo:
|
|
|
|
``` bash
|
|
git clone https://github.com/carissalow/rapids
|
|
```
|
|
|
|
11. Create a python virtual environment:
|
|
|
|
``` bash
|
|
cd rapids
|
|
conda env create -f environment.yml -n MY_ENV_NAME
|
|
conda activate MY_ENV_NAME
|
|
```
|
|
|
|
7. Install the R virtual environment management package (renv)
|
|
|
|
``` bash
|
|
snakemake -j1 renv_install
|
|
```
|
|
|
|
8. Restore the R virtual environment
|
|
|
|
=== "Ubuntu 18.04 Bionic (fast)"
|
|
|
|
Run the following command to restore the R virtual environment using [RSPM](https://packagemanager.rstudio.com/client/#/repos/1/overview) binaries
|
|
```bash
|
|
R -e 'renv::restore(repos = c(CRAN = "https://packagemanager.rstudio.com/all/__linux__/bionic/latest"))'
|
|
```
|
|
|
|
=== "Ubuntu 20.04 Focal (fast)"
|
|
|
|
Run the following command to restore the R virtual environment using [RSPM](https://packagemanager.rstudio.com/client/#/repos/1/overview) binaries
|
|
```bash
|
|
R -e 'renv::restore(repos = c(CRAN = "https://packagemanager.rstudio.com/all/__linux__/focal/latest"))'
|
|
```
|
|
|
|
=== "Ubuntu (slow)"
|
|
|
|
If the fast installation command failed for some reason, you can restore the R virtual environment from source:
|
|
```bash
|
|
R -e 'renv::restore()'
|
|
```
|
|
|
|
!!! note
|
|
This step could take several minutes to complete, especially if you have less than 3Gb of RAM or packages need to be compiled from source. Please be patient and let it run until completion.
|
|
|
|
5. Make RAPIDS script executable
|
|
```bash
|
|
chmod +x rapids
|
|
```
|
|
|
|
8. Check that RAPIDS is working
|
|
``` bash
|
|
./rapids -j1
|
|
```
|
|
|
|
=== "Windows"
|
|
|
|
There are several options varying in complexity:
|
|
|
|
- You can use our Docker instructions (tested)
|
|
- You can use our Ubuntu 20.04 instructions on [WSL2](https://docs.microsoft.com/en-us/windows/wsl/install-win10) (not tested but it will likely work)
|
|
- Native installation (experimental). If you would like to contribute to RAPIDS you could try to install MySQL, miniconda, Python, and R 4.0+ in Windows and restore the Python and R virtual environments using steps 6 and 7 of the instructions for Mac. You can [get in touch](../../team) if you would like to discuss this with the team.
|