遺伝研スパコンでRの環境整備する

# 環境
遺伝研スパコン。

# 試行1. jupyter notebookを試す

まずサーバーにjupyterをインストール

```bash
pip install jupyter --user
```

```
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-43viUw/ipykernel/
You are using pip version 8.1.2, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

```
よくわからん:thinking: が、pipをアップグレードするといいっぽい
https://ja.stackoverflow.com/questions/46978/pip-でインストールエラー-command-python-setup-py-egg-info-failed
が、まぁAnaconda使った方が楽だよねということでAnacondaを入れる

```shell
wget https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh
sh Anaconda3-2019.03-Linux-x86_64.sh

```

あとは[参考](https://qiita.com/syo_cream/items/05553b41277523a131fd)
に従って進めていくと、変なバグに遭遇

https://qiita.com/cfiken/items/fd8b394eea5cdb68ff0f

これにも遭遇

https://stackoverflow.com/questions/42848130/why-i-cant-access-remote-jupyter-notebook-server

sshポートフォワーディングとか色々試したけど結果ダメだった・・・:thinking:
あまり深追いすると泥沼の予感がしたので撤退

# 試行2. コンテナ使ってRを入れる

https://www.rocker-project.org/use/singularity/

rockerがRのコンテナの最強のやつっぽい。
https://hub.docker.com/u/rocker/?page=1
ここからほしいやつを探す。bioinfoっぽいやつが見当たらないので、geo系のpackageがいっぱい入った `geospatial`を使ってみる(海洋微生物学の研究だと地図描きたいことが結構ある)。色々入ってるのでそれなりに重いが、スクラップ&ビルドを繰り返すような使い方はしないと思うのでこれでいく。
`geospatial`には`tidyverse` などの基本的なやつは全部入っているが、bioinfo特化のやつは流石に入ってないので別途入れる。インストールのためには `/usr/local/lib/R/site-library` の権限をいじる必要があるが、スパコンだと無理そう。この辺のuser権限周りはdocker <-> singularityのだるいところという感じ。

なので使い方としては
https://github.com/rocker-org/geospatial/blob/master/Dockerfile
のDockerファイルをコピーし、必要なパッケージを書き加えてビルド。

`vegan` , `dichromat` を入れるとこんな感じ。

```
FROM rocker/verse:3.6.0
MAINTAINER YOHEI_KUMAGAI

RUN apt-get update \
  && apt-get install -y --no-install-recommends \
    lbzip2 \
    libfftw3-dev \
    libgdal-dev \
    libgeos-dev \
    libgsl0-dev \
    libgl1-mesa-dev \
    libglu1-mesa-dev \
    libhdf4-alt-dev \
    libhdf5-dev \
    libjq-dev \
    liblwgeom-dev \
    libpq-dev \
    libproj-dev \
    libprotobuf-dev \
    libnetcdf-dev \
    libsqlite3-dev \
    libssl-dev \
    libudunits2-dev \
    netcdf-bin \
    postgis \
    protobuf-compiler \
    sqlite3 \
    tk-dev \
    unixodbc-dev \
  && install2.r --error \
    RColorBrewer \
    RandomFields \
    RNetCDF \
    classInt \
    deldir \
    gstat \
    hdf5r \
    lidR \
    mapdata \
    maptools \
    mapview \
    ncdf4 \
    proj4 \
    raster \
    rgdal \
    rgeos \
    rlas \
    sf \
    sp \
    spacetime \
    spatstat \
    spatialreg \
    spdep \
    geoR \
    geosphere \
    vegan \
    dichromat \
    ## from bioconductor
    && R -e "BiocManager::install('rhdf5')"

```
gitHubのリポジトリ作ってコイツをupし、docker hubと連携してpackage追加したいときはpushすれば勝手にBuildされるようにする。参考：https://qiita.com/Yohei__K/items/ffbc07454aceb459d6c1

作ったgitHubのリポジトリは以下。
https://github.com/kmooog/R_container

これでとりあえずRの環境をcontainerに閉じ込めて必要に応じてパッケージ取ってくるところまで達成。

本当はこのコンテナからR studio server起動してlocalから入りたかったんだけどなんか動きませんでした。R studio serverはjupyterと比べてweb上に情報少なくてむずい。

```bash
Singularity r-for-metagenome-latest.img:~/r/amplicon> /usr/lib/rstudio-server/bin/rstudio-server start
/usr/lib/rstudio-server/bin/rstudio-server: 1: eval: systemctl: not found
Singularity r-for-metagenome-latest.img:~/r/amplicon> /usr/lib/rstudio-server/bin/rstudio-server verify-installation
Server is running and must be stopped before running verify-installation
Singularity r-for-metagenome-latest.img:~/r/amplicon> /usr/lib/rstudio-server/bin/rstudio-server stop
/usr/lib/rstudio-server/bin/rstudio-server: 1: eval: systemctl: not found
rsession: no process found
```