vscode-web のインストール#
- dockerをインストールします
- QUIC から SOCKS5 へ
mkdir -p ~/app/vscode && cd ~/app/vscode && nano docker-compose.yml
sudo docker-compose up -d && sudo docker-compose logs
version: "2.1"
services:
code-server:
image: linuxserver/code-server:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- PASSWORD=password
- SUDO_PASSWORD=password
- PROXY_DOMAIN=code-server.my.domain #optional
- DEFAULT_WORKSPACE=/config/workspace #optional
volumes:
- ./config:/config
ports:
- 2441:8443
restart: unless-stopped
プロキシと中国語の設定#
- Visual Studio Code を開き、Manage をクリックし、リストから Settings を選択します
- ポップアップの検索ボックスに「proxy」と入力すると、プロキシの設定項目「Http」が表示されます
- ホストマシンで docker0 の IP を取得:
ip address | grep docker0
- 次に docker 内でプロキシを設定
http://docker0のip:port
拡張機能内で zh-cn を検索し、中国語インターフェース拡張をインストールします
conda のインストール#
- WORKSPACE に戻り、ctrl+~ でターミナルを呼び出します
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sudo apt update
sudo apt install wget
- condaをインストールします
nodejs のインストール#
conda create -n node -c conda-forge nodejs
conda activate node
npm config set registry https://registry.npmmirror.com
git の使用#
npm create astro@latest
git config --global user.email "youremail"
git config --global user.name "yourname"
git branch -M main && git add . && git commit -m 'Initial commit'
git remote add origin https://github.com/Limour-dev/chatGPT.git
git push --set-upstream origin main --force # パーソナルアクセストークンを作成
git config --global credential.helper cache
git push
hello world#
---
const search = Astro.url.searchParams.get('search')! || '';
---
<h1>{search}</h1>
- プロジェクトでの SSR の有効化
- chatGPT/src/pages/index.astro を編集します
npm run dev
https://vscode.domain/proxy/3000/?search=hello%20world
にアクセスしてテストします
Jupyter のインストール#
永続的なイメージストレージ#
mkdir -p ~/datascience && cd ~/datascience
nano docker-compose.yml
sudo docker-compose up -d
sudo docker-compose logs
sudo docker cp -a jupyterR:/opt /home/limour/upload/opt
sudo docker cp -a jupyterR:/home/jovyan /home/limour/upload/home
sudo docker-compose down && sudo docker volume prune
version: '3.3'
services:
datascience-notebook:
ports:
- '57002:8888'
container_name: jupyterR
restart: always
image: 'jupyter/datascience-notebook:r-4.1.3'
command: start-notebook.sh --NotebookApp.token='***'
イメージの起動#
nano docker-compose.yml
sudo chmod 777 -R /home/limour/upload/
sudo docker-compose up -d
sudo docker-compose logs
version: '3.3'
services:
datascience-notebook:
ports:
- '57002:8888'
container_name: jupyterR
restart: always
volumes:
- '/home/limour/upload:/home/jovyan/upload'
- '/home/limour/upload/opt/opt:/opt'
- '/home/limour/upload/home/jovyan:/home/jovyan'
image: 'jupyter/datascience-notebook:r-4.1.3'
command: start-notebook.sh --NotebookApp.token='***'
R パッケージのイメージ#
nano .Rprofile
options()$repos ## install.packagesで使用するデフォルトのミラーを確認
options()$BioC_mirror ## bioconductorのデフォルトのミラーを確認
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") ## ミラーを指定します。これは中国科学技術大学のミラーです
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) ## install.packagesのミラーを指定します。これは清華大学のミラーです
options(ggrepel.max.overlaps = Inf)
R カーネルのインストール#
conda create -n seurat -c conda-forge r-seurat=4.1.1 -y
conda activate seurat
conda install -c conda-forge r-tidyverse -y
conda install -c conda-forge r-irkernel -y
Rscript -e "IRkernel::installspec(name='seurat', displayname='r-seurat')"
conda install -c conda-forge r-devtools -y
Rscript -e "BiocManager::install('glmGamPoi')"
wget -e "https_proxy=http://172.17.0.1:8580" https://github.com/chris-mcginnis-ucsf/DoubletFinder/archive/refs/heads/master.zip -O DoubletFinder-master.zip
Rscript -e "devtools::install_local('DoubletFinder-master.zip')"
python カーネルのインストール#
conda create -n markdown2pptx -c conda-forge python -y
conda install -n markdown2pptx ipykernel -c conda-forge -y
conda run -n markdown2pptx python -m ipykernel install --user --name markdown2pptx
conda run -n markdown2pptx pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
Golang カーネルのインストール#
- プロジェクトアドレス gophernotes
conda create -n golang -c conda-forge go -y
conda activate golang
go env -w GO111MODULE=on
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/
go install github.com/gopherdata/[email protected] # リポジトリで最新のバージョン番号を確認
mkdir -p ~/.local/share/jupyter/kernels/golang
cd ~/.local/share/jupyter/kernels/golang
cp "$(go env GOPATH)"/pkg/mod/github.com/gopherdata/[email protected]/kernel/* "."
chmod +w ./kernel.json
sed "s|gophernotes|$(go env GOPATH)/bin/gophernotes|" < kernel.json.in > kernel.json
rstudio のインストール#
mkdir -p ~/app/rstudio && cd ~/app/rstudio && nano docker-compose.yml
sudo docker-compose up -d && sudo docker-compose logs
version: '3'
services:
rstudio:
image: dceoy/rstudio-server
container_name: Rstudio
deploy:
resources:
limits:
cpus: '0.50'
memory: 500M
reservations:
cpus: '0.25'
memory: 200M
restart: always
ports:
- 57022:8787
volumes:
- /home/gene/zl_liu/rstudio:/home/rstudio
- /home/gene/upload:/home/rstudio/upload
working_dir: /home/rstudio
R バージョンの変更#
- condaをインストールします
# コンテナ内
conda create -n r_4_1_3 -c conda-forge r-base=4.1.3 -y
conda activate r_4_1_3
whereis R
# /home/rstudio/miniconda3/envs/r_4_1_3/bin/R
# コンテナ外
docker exec -it Rstudio /bin/bash
chmod 777 -R /etc/rstudio/
exit
nano -K /etc/rstudio/rserver.conf
# サーバー設定ファイル
rsession-which-r=/home/rstudio/miniconda3/envs/r_4_1_3/bin/R
sudo docker-compose restart
seurat のインストール#
# ターミナルに入って、以下の操作はすべてターミナルで行います
export R_LIBS_SITE=""
# ターミナルでRに入ります
.libPaths('/home/rstudio/miniconda3/envs/r_4_1_3/lib/R/library')
.libPaths() で他のパスがないことを確認します
remove.packages("vctrs")
install.packages("vctrs")
install.packages('Seurat')
remove.packages("cli")
install.packages("cli")
install.packages("tidyverse")
install.packages("plotly")
Rセッションを再起動します
library(tidyverse)
library(Seurat)
3D-umap の描画#
library(plotly)
library(Seurat)
sample13 <- readRDS("~/upload/zl_liu/work/Prognosis/scRNA/sample13.rds")
sample13 <- RunUMAP(sample13, dims = 1:10, n.components = 3L)
plot.data <- FetchData(object = sample13, vars = c("UMAP_1", "UMAP_2", "UMAP_3", "seurat_clusters"))
plot.data$label <- paste(rownames(plot.data))
# データをプロットします。この例では私のSeuratオブジェクトには21のクラスターがありました(0-20)
plot_ly(data = plot.data,
x = ~UMAP_1, y = ~UMAP_2, z = ~UMAP_3,
color = ~seurat_clusters,
colors = c("lightseagreen",
"gray50",
"darkgreen",
"red4",
"red",
"turquoise4",
"black",
"yellow4",
"royalblue1",
"lightcyan3",
"peachpuff3",
"khaki3",
"gray20",
"orange2",
"royalblue4",
"yellow3",
"gray80",
"darkorchid1",
"lawngreen",
"plum2",
"darkmagenta")[1:7],
type = "scatter3d",
mode = "markers",
marker = list(size = 5, width=2), # ポイントのサイズを制御します
text=~label, # これは以前に作成したセルID用の追加列です
hoverinfo="text") # plotlyオブジェクトを視覚化すると、ポイントの上にマウスカーソルを置くとセル名が表示されます