必要なソフトウェア
公開イメージを直接実行する場合は、Linuxコンテナを実行できるDockerと、127.0.0.1:8501へ接続できるブラウザを用意します。justの起動ショートカットにはGit、just、リポジトリのチェックアウトが必要です。Python、R、Snakemake、fastp、Salmonをホスト側へ個別に導入する必要はありません。
ローカルDocker環境
WindowsまたはLinuxでバージョン指定のGHCRイメージを実行し、開発やソース変更を行う場合はローカルでビルドします。
公開イメージを直接実行する場合は、Linuxコンテナを実行できるDockerと、127.0.0.1:8501へ接続できるブラウザを用意します。justの起動ショートカットにはGit、just、リポジトリのチェックアウトが必要です。Python、R、Snakemake、fastp、Salmonをホスト側へ個別に導入する必要はありません。
WindowsのDocker DesktopとUbuntu/LinuxのDockerで動作を確認しています。イメージはlinux/amd64向けで、Apple Siliconのネイティブ実行には対応していません。
小規模から中規模の解析では、4コア以上のCPUとおおむね8~16 GBのメモリが目安です。必要量はサンプル数、参照配列のサイズ、行列の大きさによって増加します。
just appが推奨コマンドです。v0.3.0-beta.2の固定イメージを使い、依存関係をローカルでコンパイルしません。just app-releaseは同じ動作を明示する任意の別名です。
just app-dev-fastは公開版ランタイム上へローカルソースをマウントします。依存関係を定義するファイルがリリースタグと異なる場合は停止します。
just app-buildは完全なイメージを構築します。依存関係を変更した場合はこちらを使用します。
Docker DesktopをLinuxコンテナモードで起動し、ホスト側の入出力ディレクトリを明示して、バージョン固定イメージを実行します。
$InputDir = "D:\rna\input"
$OutputDir = "D:\rna\output"
New-Item -ItemType Directory -Force $InputDir, $OutputDir | Out-Null
docker pull ghcr.io/do-shima/harako-rnaseq:v0.3.0-beta.2
docker run --rm -p 127.0.0.1:8501:8501 `
-e PYTHONPATH=/app -e "HOST_INPUT=$InputDir" -e "HOST_OUT=$OutputDir" `
--mount "type=bind,src=$InputDir,dst=/input,readonly" `
--mount "type=bind,src=$OutputDir,dst=/output" `
ghcr.io/do-shima/harako-rnaseq:v0.3.0-beta.2 `
streamlit run app/ui/app_ui.py --server.address 0.0.0.0 `
--server.port 8501 --server.headless true --browser.gatherUsageStats false
Windowsのバインドマウントを確認するときはPowerShellを使用してください。入力は/inputへ読み取り専用、出力は/outputへ読み書き可能としてマウントします。
Docker Engineを導入して起動し、入出力を明示してバージョン固定イメージを実行します。
mkdir -p input output
docker pull ghcr.io/do-shima/harako-rnaseq:v0.3.0-beta.2
docker run --rm -p 127.0.0.1:8501:8501 \
-e PYTHONPATH=/app -e "HOST_INPUT=$(pwd)/input" -e "HOST_OUT=$(pwd)/output" \
--mount "type=bind,src=$(pwd)/input,dst=/input,readonly" \
--mount "type=bind,src=$(pwd)/output,dst=/output" \
ghcr.io/do-shima/harako-rnaseq:v0.3.0-beta.2 \
streamlit run app/ui/app_ui.py --server.address 0.0.0.0 \
--server.port 8501 --server.headless true --browser.gatherUsageStats false
どちらの環境でも、起動後にhttp://127.0.0.1:8501を開きます。Harako-RNAseqはローカル・単一ユーザー向けです。このポートを外部公開してマルチユーザーサービスとして運用しないでください。
再現可能な研究では、上記のバージョン固定タグを使用します。最新のベータ版を意図的に追跡する場合に限り、ghcr.io/do-shima/harako-rnaseq:betaへ置き換えてください。
依存関係の変更後やソースイメージを正確に検証する場合は、ソースをクローンしてjust app-buildを使用します。通常利用のjust appがソースビルドへ切り替わることはありません。
git clone https://github.com/do-shima/harako-rnaseq.git
cd harako-rnaseq
git checkout v0.3.0-beta.2
just app-build
マウント、初回ビルド時間、ポート転送、プライバシー、対応環境の詳細は、GitHubの導入ドキュメントを参照してください。