本家様 https://tools.cryosparc.com/intro.html

cryosparc-toolsを利用するとcryoSPARCのGUI(ブラウザ)操作ではなく、Jupyter Notebook(Jupyter Lab)を使って処理を進められます

出来ること.

Programmatically read and write exposure, particle and volume data
   (露光、パーティクル、体積データのプログラムによる読み取りと書き込み)
 
Access project, workspace and job data
   (プロジェクト、ワークスペース、ジョブデータへのアクセス)
 
Build and run jobs to orchestrate custom cryo-EM workflows
   (カスタムクライオ電子顕微鏡ワークフローをオーケストレーションするためのジョブの構築と実行)
 
Extend CryoSPARC functionality with third-party software packages
   (サードパーティのソフトウェアパッケージでCryoSPARCの機能を拡張する)

具体的にはサイトに書かれている「Examples」で想像できるかと.
1. Re-center Particles
2. Pick particles with crYOLO
3. 3D Flex: Custom Latent Trajectory
4. 3D Flex: Custom Mesh Rigidity
5. Generate High-Res 2D Classes
6. Import from EPU XML File
7. Custom Workflow
8. Delete Rejected Exposures
9. Revert downsampled, symmetry expanded particles
10. Connect a volume series to Class3D
とある.

構築

cryoSPARCサービスを提供している計算機、あるいはネットワーク的に接続可能な計算機で構築します。(macOS/windows[WSL]でも可能かも)
ここではリモートの計算機を想定します.
まずはpython環境の構築です。いつものようにpyenv/anacondaで下地を作ります

[root@rockylinux9 ~]# git clone https://github.com/yyuu/pyenv.git /apps/pyenv
[root@rockylinux9 ~]# export PYENV_ROOT=/apps/pyenv
[root@rockylinux9 ~]# export PATH=$PYENV_ROOT/bin:$PATH
[root@rockylinux9 ~]# pyenv install anaconda3-2024.06-1
[root@rockylinux9 ~]# pyenv global anaconda3-2024.06-1

その後に一般ユーザとかで.
環境名はなんでもいいですが、「cryosparc-tools-example」とかで、jupyterlabとnotebookも加えて、activate の後に「cryosparc-tools」を入れる

[illya@rockylinux9 ~]$ source /apps/pyenv/versions/anaconda3-2024.06-1/etc/profile.d/conda.sh
 
[illya@rockylinux9 ~]$ conda create -n cryosparc-tools-example python=3 "numpy<1.20" matplotlib pandas jupyterlab  notebook -c conda-forge
 
[illya@rockylinux9 ~]$ conda activate cryosparc-tools-example
 
(cryosparc-tools-example) [illya@rockylinux9 ~]$ pip install cryosparc-tools

これで準備完了。もし「Examples」にあるようなcrYOLOとの連携も行うのならcrYOLOのパッケージもインストールします

確認

(cryosparc-tools-example) [illya@rockylinux9 ~]$ jupyter --version
Selected Jupyter core packages...
IPython          : 8.18.1
ipykernel        : 6.29.5
ipywidgets       : not installed
jupyter_client   : 8.6.2
jupyter_core     : 5.7.2
jupyter_server   : 2.14.2
jupyterlab       : 4.2.4
nbclient         : 0.10.0
nbconvert        : 7.16.4
nbformat         : 5.10.4
notebook         : 7.2.1
qtconsole        : not installed
traitlets        : 5.14.3
(cryosparc-tools-example) [illya@rockylinux9 ~]$ conda deactivate
[illya@rockylinux9 ~]$ exit

JupyterLab/notbookは使えそうです.

っでcryoSPARCに繋げてみます。cryoSPARCはこの「rockylinux9」計算機とは違う計算機「cryosparc」で動いていて、39000ポートをベースに使ってます.
っでアクセスしてみます

使ってみる

[illya@rockylinux9 ~]$ source /apps/pyenv/versions/anaconda3-2024.06-1/etc/profile.d/conda.sh
[illya@rockylinux9 ~]$ conda env list
# conda environments:
#
base                     /apps/pyenv/versions/anaconda3-2024.06-1
cryosparc-tools-example     /home/illya/.conda/envs/cryosparc-tools-example
 
[illya@rockylinux9 ~]$ conda activate cryosparc-tools-example
(cryosparc-tools-example) [illya@rockylinux9 ~]$

environment-modulesで定義して「module load ...」でもいいのだが今回、ユーザのローカルにconda環境を作ったのでsource から始めてます

リモートにあるcryoSPARCサービスに接続してみます

(cryosparc-tools-example) [illya@rockylinux9 ~]$ python
Python 3.9.19 | packaged by conda-forge | (main, Mar 20 2024, 12:50:21)
[GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> from cryosparc.tools import CryoSPARC
>>>
>>> cs = CryoSPARC(
     license="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
     host="cryosparc.sybyl.local",
     base_port=39000,
     email="saber@fgo.jp",
     password="saber"
 )
>>>
>>> cs.test_connection()
Connection succeeded to CryoSPARC command_core at http://cryosparc.sybyl.local:39002
Connection succeeded to CryoSPARC command_vis at http://cryosparc.sybyl.local:39003
Connection succeeded to CryoSPARC command_rtp at http://cryosparc.sybyl.local:39005
True
>>>

接続は成功しているみたい.

あとは、、https://tools.cryosparc.com/intro.htmlらのドキュメントを参照してください

jupyter labで操作したいなら cryosparc-tools-example実行環境に移って「jupyter lab --ip=0.0.0.0 --port=8080」と実行します

[illya@rockylinux9 ~]$ source /apps/pyenv/versions/anaconda3-2024.06-1/etc/profile.d/conda.sh
 
[illya@rockylinux9 ~]$ conda activate cryosparc-tools-example
 
(cryosparc-tools-example) [illya@rockylinux9 ~]$ jupyter lab --ip=0.0.0.0 --port=8080
 :
        http://rockylinux9:8080/lab?token=37d63580473e62b74a700665985ea7b56d430f16deb90780
        http://127.0.0.1:8080/lab?token=37d63580473e62b74a700665985ea7b56d430f16deb90780
 :

とアクセス先が表示されます。このURLをコピーして開いたブラウザにペーストして開きます
2024y08m14d_233321685.png

ここで、「Notebook」の「Python3(ipykernel)」をクリックします。
すると「Untitled.ipynb」のタブが開き入力欄が表示されます。この入力欄にpythonコードを入力していきます。

まずはcryoSPARCとの接続を確立させたいので、前段同様に「from cryosparc.tools import CryoSPARC」と入力して、シフトを押しながらリターンキーを押下します
2024y08m14d_233650715.png

その後に接続文字列を入れて行きます。単純ですがこんな感じに使います。
2024y08m14d_233911516.png

使い終わったら「jupyter lab」を発行したターミナルで「Ctrl-C」とかで止めます。

 :
Shut down this Jupyter server (y/[n])? y

と聞かれますが「y」と入力すれば「jupyter lab」は停止します。

メモ

pythonプログラミングができて、データセットの取り回しができればグラフ化は容易なのかなと思う.
ただ、、ハードルが高いかなぁ.

最新の60件
2026-02-16 2026-02-14 2026-02-11 2026-02-10 2026-02-09 2026-02-07 2026-02-06 2026-02-03 2026-02-02 2026-02-01 2026-01-31 2026-01-26 2026-01-24 2026-01-18 2026-01-17 2026-01-16 2026-01-12 2026-01-11 2026-01-10 2026-01-09 2026-01-08 2026-01-04 2026-01-01 2025-12-28 2025-12-27 2025-12-12 2025-12-11 2025-12-09 2025-12-08 2025-12-07 2025-12-05 2025-11-30 2025-11-24 2025-11-23 2025-11-18 2025-11-16 2025-11-05 2025-11-03 2025-11-02

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-08-15 (木) 14:39:07