#author("2026-02-14T09:48:12+00:00;2026-01-16T02:21:46+00:00","default:sysosa","sysosa") #author("2026-02-18T10:29:19+00:00;2026-01-16T02:21:46+00:00","default:sysosa","sysosa") 本家様 [[https://cryosparc.com/>+https://cryosparc.com/]] #code(nonumber){{ CryoSPARC is a state of the art scientific software platform for cryo-electron microscopy (cryo-EM) used in research and drug discovery pipelines. CryoSPARCは、研究および創薬パイプラインで使用されるクライオ電子顕微鏡(クライオEM)用の最先端の科学ソフトウェアプラットフォームです。(deepL翻訳) }} &size(10){[[cryoSPARC/update]] [[cryoSPARC/memo]] [[cryoSPARC/backup]] [[cryoSPARC/project]] [[cryoSPARC/cryosparc-tools]] [[cryoSPARC/multi-user]] [[cryoSPARC/create-user]] [[cryoSPARC/topaz]]}; cryoSPARCの環境変数 [[https://guide.cryosparc.com/setup-configuration-and-management/management-and-monitoring/environment-variables>+https://guide.cryosparc.com/setup-configuration-and-management/management-and-monitoring/environment-variables]] cryosparcmコマンド[[https://guide.cryosparc.com/setup-configuration-and-management/management-and-monitoring/cryosparcm>+https://guide.cryosparc.com/setup-configuration-and-management/management-and-monitoring/cryosparcm]] cryosparcm cli コマンド[[https://guide.cryosparc.com/setup-configuration-and-management/management-and-monitoring/cli>+https://guide.cryosparc.com/setup-configuration-and-management/management-and-monitoring/cli]] 利用するためにはインスタンスごとにライセンスコードが必要です. 計算機に1つ立てるなら1つ. 1つの計算機にユーザ毎に複数立てるならその分のライセンスコードが必要です. 非営利の学術研究なら無料で、企業さんは有償ですね. まずはライセンスコードを取得します. ***ライセンスコードを取得します。 [#n2d7b763] [[https://cryosparc.com/download/>+https://cryosparc.com/download/]]に必要事項を記載してsubmitします。 直後に「応答メール」が届きますが、これにはライセンスコードは記載されてません。 最大24時間までにはライセンスコードが記載された返信メールが届きます。 このコードを使ってプログラムの入手します。 また完成したcryoSAPRCでジョブを発行すると、このコードが有効なのか適時判断されます. なので外部に繋がる回線が必須になります ***プログラムの入手 [#edc82aba] 詳しくは[[https://guide.cryosparc.com/setup-configuration-and-management/how-to-download-install-and-configure/downloading-and-installing-cryosparc#use-curl-to-download-the-two-files-into-tarball-archives>+https://guide.cryosparc.com/setup-configuration-and-management/how-to-download-install-and-configure/downloading-and-installing-cryosparc#use-curl-to-download-the-two-files-into-tarball-archives]]に記載されている。 下記2つのファイルを取得します。 -cryosparc_master.tar.gz -cryosparc_worker.tar.gz どちらもライセンスコードを渡さないと得られない仕組みっぽい #code(nonumber){{ [root@cryosparc ~]# cat /etc/redhat-release Rocky Linux release 9.5 (Blue Onyx) [root@cryosparc ~]# cd /apps/src [root@cryosparc src]# curl -L https://get.cryosparc.com/download/master-latest/"ライセンスコード" > cryosparc_master.tar.gz [root@cryosparc src]# curl -L https://get.cryosparc.com/download/worker-latest/"ライセンスコード" > cryosparc_worker.tar.gz (blackwell搭載なら) (v4.7.1でblackwell搭載なら) [root@cryosparc src]# curl -L https://get.cryosparc.com/download/master-v4.7.1-cuda12/"ライセンスコード" > cryosparc_master.tar.gz [root@cryosparc src]# curl -L https://get.cryosparc.com/download/worker-v4.7.1-cuda12/"ライセンスコード" > cryosparc_worker.tar.gz *適時「v4.7.1」を変更してください }} proxy経由で取得が必要なら「curl」に「-x」でproxyサイトを指定する「curl -x http://proxy:3128 -L https://get.cryosparc.com/download/master-latest/"ライセンスコード" > cryosparc_master.tar.gz」 ***運用形体 [#wd366dac] cryoSPARCは「&color(magenta){Master};」と「&color(orangered){Worker};」の2つから構成されている. 「&color(magenta){Master};」はブラウザインターフェースを提供したり、ジョブのこれまでの経過をデータベースで管理するとかの機能を担う. 一方「&color(orangered){Worker};」は「&color(magenta){Master};」の指示に従い実際の計算を行います. この2つの機能部分をどのように組み合わせて運用するかで3つの形式があるみたい. -[[スタンドアローン形式>cryoSPARC/SingleWorkstation]] 1台の計算機に「&color(magenta){Master};」と「&color(orangered){Worker};」が共存 ~ -[[Master-Worker形式>cryoSPARC/Master-Worker]] 1つの「&color(magenta){Master};」と1つ以上の複数の「&color(orangered){Worker};」から構成される.「&color(magenta){Master};」上のブラウザ操作で使用する&color(orangered){Worker};を決めて計算を行います ~ -[[Clusters形式>cryoSPARC/qsub]] Master-Worker形式と同じだが、計算に使用する「&color(orangered){Worker};」の選択をジョブコントロール([[OpenPBS]],[[slurm]]とか)に一任します. 他、考慮すべき事項として「誰が」cryoSPARCの計算を行うのか決める必要がある. -ユーザ毎にcryoSPARCをインストールしてcryoSPARCを稼働させる ユーザの/home/<ユーザ>/cryoSPARC にアプリをインストールします 計算条件・計算結果はそのユーザのみアクセス可能 &size(10){/home/<ユーザ> のパーミッションが 0700とかで計算可能}; ~ -共有ユーザを作ってそのユーザでcryoSPARCを稼働させる 例えば共通ユーザとして「cryosparc」を作って /home/cryosparc/ にアプリをインストールします. &size(10){SSDな領域が望ましいみたい. /cryoSPARC とかでも可}; cryoSPARC内で管理されるユーザを作ってそのユーザに紐づくプロジェクトディレクトリを /home/<ユーザ>/CS/ とかに用意します. &size(10){/home/<ユーザ>/CS/ には cryosparc が書き込める権限を与えます}; ユーザが1人で1つの計算機を占有できるなら、そのユーザがcryoSPARCを稼働させるユーザになってスタンドアローン形式が最適で一番楽に運用できるかと. ユーザが複数で1台の計算機を使うなら、データの排他アクセスが必要ならユーザ毎にスタンドアローン形式でcryoSPARCを構築、排他アクセスが不要なら各ユーザのフォルダに共通ユーザcryoSPARCがアクセス可能にするACLを付与する. ユーザが複数で複数の計算機を使うなら、...これも前述の「排他アクセス」次第でしょうか. 複数の計算機を自分で指定するか、ジョブコントローラーにお任せするかで作り方が違うくらいかな. &size(10){参照 [[cryoSPARC/multi-user]]}; &color(blue,white){注意}; 1台のマシンに複数のcryoSPARCを立てると、時に上手く起動しないcryoSPARCが発生します。 別に表で使用するbase portの被りではなく、システムの裏で勝手に開かれるportがたまたま同じとなる場合があるため。なので1台で複数を立てるなら仮想マシンか[[Incus]]でインスタンス毎に立てた方がいいかも。 ***ハードウエア要件 [#i971aa1f] ハードウエア要件はこちらに記載されている [[https://guide.cryosparc.com/setup-configuration-and-management/hardware-and-system-requirements#cryosparc-system-requirements>+https://guide.cryosparc.com/setup-configuration-and-management/hardware-and-system-requirements#cryosparc-system-requirements]] x86-64ベースのLinuxマシン。OSは近頃のOSでubuntuが推奨ですがrockylinuxでも動く. cryoSPARCサービスを動かすためのアカウントを別途用意します(rootでは実行しない). GPUはnvidia一択. &size(10){centos7は無理..}; |>|BGCOLOR(YELLOW):要件|BGCOLOR(YELLOW):最小|BGCOLOR(YELLOW):推奨|BGCOLOR(YELLOW):備考| |master|cpu|4core|8core以上(2.8GHz)|基本webサービスとDBなので| |~|mem|16GB|32GB|| |~|System Storage|250GB HDD|500GB SSD|OSを含むsystem disk&br;この中にdatabase(MongoDB)があってもいい| |~|Fast Local Storage|不要|不要&br;(規模次第では1TB - 4TB のSSD)|database(MongoDB)のストレージとして別のSSDを用意すると&br;web画面の描画が早くなる(当社比)| |~|GPU|不要|不要|| |~|Network(nfs接続)|1Gbps|10Gbps|プロジェクトディレクトリがnfs先なら| |worker|cpu|2core/GPU|4core/GPU|4枚GPU搭載なら8core/16coreな感じ| |~|CPU Memory Bandwidth|50+ GB/sec|100+ GB/sec|DDR5-5600のデュアルチャンネルで89.6GB/sec&br;同クアッドチャネルなら179GB/sec | |~|mem|>32GB/GPU|>64GB/GPU|2GPU構成で64GB/128GBとなります| |~|System Storage|>25GB HDD|>50GB SSD|OSがあってほか少しあれば十分な感じ| |~|Fast Local Storage|1TB SSD|2TB PCIe SSD|スクラッチ領域ですね. PCIeはnvme| |~|GPU|>1 GPU(CC3.5以上,11GBのVRAM)|>1 GPU(V100,2080Ti,RTX3090,,)|言わずもがな.| |~|nvidia driver|>|>|cryoSPARC v4.4以降は520.61.05以降が必要. Blackwell GPUなら570.26以降が必要| |~|Network(nfs接続)|1Gbps|10Gbps|プロジェクトディレクトリがnfs先なら| あとOS要件としては、 「/sys/kernel/mm/transparent_hugepage/enabled」で「never」の有効化 「sysctl -w kernel.io_uring_disabled=0」で非同期 I/O インターフェイスの有効化 masterにcryoSPARCサービスのdatabase(MongoDB)が配置されます. 解析を進めるとどんどん大きくなります. 減量に努めた方がいい. ***再起動時の自動起動 [#w9335327] &color(red){*};一応インストールした「cryosparc_master/systemd」に本家様の方法があります。 参照先: [[https://discuss.cryosparc.com/t/adding-cryosparc-to-systemd/1436>+https://discuss.cryosparc.com/t/adding-cryosparc-to-systemd/1436]] 「cryosparc2_master」パッケージ内の「cryosparc2_master/deps/anaconda/etc/systemd/system/supervisord.service」 単純にsystemcdにUnit 定義ファイルを加えてみた 場所は「/etc/systemd/system/cryosparc.service」 &color(red){*};&size(10){システム由来のunitファイル置き場「/usr/lib/systemd/system/」ではなく、管理者が面倒見る場所に配置します}; 「cryosparc.service」ファイルの中身は下記のようにします #code(nonumber){{ [Unit] Description=Process Monitoring and Control Daemon for CryoSPARC After=network.target [Service] User=cryosparc Group=cryosparc Type=forking TimeoutStartSec = 300 ExecStart=/home/cryosparc/cryosparc_master/bin/cryosparcm start ExecStop=/home/cryosparc/cryosparc_master/bin/cryosparcm stop PIDFile=/home/cryosparc/cryosparc_master/run/supervisord.pid WorkingDirectory=/home/cryosparc/cryosparc_master Restart=on-abort [Install] WantedBy=multi-user.target }} &color(red){*};「User」と「Group」は環境に応じて変更して下さい &color(red){*};「Restart=on-abort」がいいのか微妙. ふとすると勝手に停止しているときがあるので「Restart=always」と付けたいが、、 &color(red){*};「After」欄にはもしcryosparcがnfsマウント先で行っているなら「nfs-client.target」あるいは「autofs.service」を加える. 「sssd.service」「autofs.service」 とかも &size(10){何が引っかかるかは「systemd-analyze plot > plot.svg」で調べられる}; &color(red){*};起動に時間が掛かってエラーになるなら「TimeoutStartSec」を設けてエラー認定を遅らせる &color(red){**}; SELinux有効下に於いての自動起動はSELinuxのport/コンテキスト調整が必要みたい. &size(10){成功していない... 手動起動で行うかSELinuxを切れば自動起動できます}; その後 #code(nonumber){{ [root@cryosparc ~]# systemctl daemon-reload [root@cryosparc ~]# systemctl start cryosparc.service [root@cryosparc ~]# systemctl status cryosparc.service ● cryosparc.service - Process Monitoring and Control Daemon for CryoSPARC Loaded: loaded (/usr/lib/systemd/system/cryosparc.service; disabled; vendor preset: disabled) Active: active (running) since Sun 2024-08-18 03:21:55 JST; 1min 13s ago Main PID: 2621 (python) Tasks: 147 (limit: 205353) Memory: 854.3M CGroup: /system.slice/cryosparc.service tq2621 python /home/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/bin/supervisord -c /home> tq2732 mongod --auth --dbpath /home/cryosparc/cryosparc_database --port 39001 --oplogSize 64 --replSet meteor -> tq2843 python /home/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/bin/gunicorn -n command_> tq2844 python /home/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/bin/gunicorn -n command_> tq2873 python /home/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/bin/gunicorn cryosparc_c> tq2894 python /home/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/bin/gunicorn cryosparc_c> tq2907 python /home/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/bin/gunicorn cryosparc_c> tq2908 python /home/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/bin/gunicorn cryosparc_c> tq2921 node dist/server/index.js mq2938 /home/cryosparc/cryosparc_master/cryosparc_app/nodejs/bin/node ./bundle/main.js Aug 18 03:21:55 cryosparc cryosparcm[2937]: app_api: started Aug 18 03:21:55 cryosparc cryosparcm[2588]: ----------------------------------------------------- Aug 18 03:21:55 cryosparc cryosparcm[2588]: CryoSPARC master started. Aug 18 03:21:55 cryosparc cryosparcm[2588]: From this machine, access CryoSPARC and CryoSPARC Live at Aug 18 03:21:55 cryosparc cryosparcm[2588]: http://localhost:39000 Aug 18 03:21:55 cryosparc cryosparcm[2588]: From other machines on the network, access CryoSPARC and CryoSPARC Live at Aug 18 03:21:55 cryosparc cryosparcm[2588]: http://cryosparc.sybyl.local:39000 Aug 18 03:21:55 cryosparc cryosparcm[2588]: Startup can take several minutes. Point your browser to the address Aug 18 03:21:55 cryosparc cryosparcm[2588]: and refresh until you see the CryoSPARC web interface. Aug 18 03:21:55 cryosparc systemd[1]: Started Process Monitoring and Control Daemon for CryoSPARC. [root@cryosparc ~]# }} と一応の起動確認をしてから、再起動時にも起動できるように #code(nonumber){{ [root@cryosparc ~]# systemctl enable cryosparc.service Created symlink /etc/systemd/system/multi-user.target.wants/cryosparc.service → /usr/lib/systemd/system/cryosparc.service. [root@cryosparc ~]# }} として置く。 そして実際に計算機を再起動してcryoSPARCが動ているかを確認します。 それでもし動いていないなら #code(nonumber){{ [root@cryosparc ~]# systemd-analyze plot > plot.svg }} として「plot.svg」を開くとどこで詰まっているかが分かる. cryoSPARCを稼働させているユーザがnid/ldap/ad由来なら認証系の立ち上げが終わってからの起動が望ましいので 「/etc/systemd/system/cryosparc.service」の「After」欄に「sssd.service」とかを記載します. ***ホスト名 [#q1c8ccf6] インストール時に「hostname -f」の値が cryosparc_master/config.sh に入ります。 「/etc/hosts」で #code(nonumber){{ 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.0.10 cs.sybyl.local cs }} ならいいが、 #code(nonumber){{ 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 cs ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.0.10 cs.sybyl.local cs }} とか「127.0.0.1」にホスト名「cs」があると「hostname -f」の値が「localhost」になるので注意 ***チュートリアル [#e7563ca1] [[cryoSPARC/run]]