本家様 https://github.com/mxhulab/cryosieve

CryoSieve is an advanced software solution designed for particle sorting/sieving in single particle analysis (SPA) for 
Cryogenic Electron Microscopy (cryo-EM). Supported by extensive experimental results, CryoSieve has demonstrated superior 
performance and efficiency compared to other cryo-EM particle sorting algorithms.
 
Its unique ability to eliminate unnecessary particles from final stacks significantly optimizes the data analysis process. 
The refined selection of particles that remain contribute to a notably higher resolution output in reconstructed density maps.
 
For certain datasets, the precision of CryoSieve's particle subset selection is so refined that it approaches the theoretical limit, 
delivering unprecedented detail and accuracy.
 
(deepL先生訳)
CryoSieveは、極低温電子顕微鏡(cryo-EM)の単一粒子分析(SPA)における粒子選別/ふるい分け用に設計された先進的なソフトウェアソリューションです。
広範な実験結果に裏付けされたCryoSieveは、他の低温電子顕微鏡の粒子選別アルゴリズムと比較して、優れた性能と効率を実証しています。
 
最終スタックから不要な粒子を除去するユニークな機能は、データ解析プロセスを大幅に最適化します。
残った粒子を精密に選別することで、再構成密度マップの解像度が著しく向上します。
 
特定のデータセットでは、CryoSieveの粒子サブセット選別の精度は理論限界に近づくほど洗練されており、これまでにない詳細さと精度を提供します。

pythonアプリケーションで、ここではcrYOLO, topazのようなpyenv/anacondaによる仮想実行環境を作って、そこで実行させてます.
pyenv/anaconda環境がなければ、crYOLO, topazを参照に環境を作ってください

まずはcondaを有効にして環境を作ってCryoSieve実行環境を構築します

[root@rockylinux ~]# cat /etc/redhat-release
Rocky Linux release 8.8 (Green Obsidian)
 
[root@rockylinux ~]#
[root@rockylinux ~]# source /apps/pyenv/versions/anaconda3-2023.09-0/etc/profile.d/conda.sh

CryoSieve実行環境の要件としては下記が提示されてます.

numpy>=1.18
mrcfile>=1.2
starfile>=0.4
cupy>=10
torch>=1.10

この要件を満たすCryoSieve実行環境(名称:CRYOSIEVE_ENV)を作成します.

[root@rockylinux ~]# conda create -n CRYOSIEVE_ENV  "numpy>=1.18" "mrcfile>=1.2" "starfile>=0.4" "cupy>=10" pytorch=1 cudatoolkit  -c pytorch -c nvidia  -c conda-forge
 
[root@rockylinux ~]# conda activate CRYOSIEVE_ENV
 
(CRYOSIEVE_ENV) [root@rockylinux ~]#
(CRYOSIEVE_ENV) [root@rockylinux ~]# conda list | grep -e numpy -e mrcfile -e starfile -e cupy -e torch
cupy                      12.3.0          py311h134e05b_0    conda-forge
mrcfile                   1.4.3              pyhd8ed1ab_0    conda-forge
numpy                     1.26.2          py311h64a7726_0    conda-forge
pytorch                   1.13.1          cuda112py311h13fee9e_200    conda-forge
starfile                  0.5.2              pyhd8ed1ab_0    conda-forge
(CRYOSIEVE_ENV) [root@rockylinux ~]#
 
[微調整]
(CRYOSIEVE_ENV) [root@rockylinux ~]# conda install starfile=0.4 -c conda-forge

starfileがそのままだと0.5.2で提示されているデモ環境ではエラーになった. なので一つ下げた0.4を入れています.
ドキュメントの「conda create -n CRYOSIEVE_ENV python=3.10 cupy=10.2 cudatoolkit=10.2 pytorch=1.12.1=py3.10_cuda10.2_cudnn7.6.5_0 -c conda-forge -c pytorch」で作成するとampereなGPUは未対応になる様子

次に「CryoSieve」をインストールします

(CRYOSIEVE_ENV) [root@rockylinux ~]# conda install -c mxhulab cryosieve
 
(CRYOSIEVE_ENV) [root@rockylinux ~]# conda list | grep -e cryosieve
cryosieve                 1.2.3                      py_0    mxhulab
(CRYOSIEVE_ENV) [root@rockylinux ~]#

以上で構築は完了.

っで確認

(CRYOSIEVE_ENV) [root@rockylinux ~]# cryosieve -h
usage: cryosieve [-h] --reconstruct_software RECONSTRUCT_SOFTWARE [--postprocess_software POSTPROCESS_SOFTWARE] --i I --o O --angpix ANGPIX
                 [--sym SYM] [--num_iters NUM_ITERS] [--frequency_start FREQUENCY_START] [--frequency_end FREQUENCY_END]
                 [--retention_ratio RETENTION_RATIO] --mask MASK [--balance] [--num_gpus NUM_GPUS]
 
CryoSieve: a particle sorting and sieving software for single particle analysis in cryo-EM.
 
options:
  -h, --help            show this help message and exit
  --reconstruct_software RECONSTRUCT_SOFTWARE
                        command for reconstruction.
  --postprocess_software POSTPROCESS_SOFTWARE
                        command for postprocessing.
  --i I                 input star file path.
  --o O                 output path prefix.
  --angpix ANGPIX       pixelsize in Angstrom.
  --sym SYM             molecular symmetry, c1 by default.
  --num_iters NUM_ITERS
                        number of iterations for applying CryoSieve, 10 by default.
  --frequency_start FREQUENCY_START
                        starting threshold frquency, in Angstrom, 50A by default.
  --frequency_end FREQUENCY_END
                        ending threshold frquency, in Angstrom, 3A by default.
  --retention_ratio RETENTION_RATIO
                        fraction of retained particles in each iteration, 0.8 by default.
  --mask MASK           mask file path.
  --balance             make remaining particles in different subsets in same size.
  --num_gpus NUM_GPUS   number of gpus to execute CryoSieve core program, 1 by default.
(CRYOSIEVE_ENV) [root@rockylinux ~]#
 
(CRYOSIEVE_ENV) [root@rockylinux ~]# conda deactivate

EnvironmentModules

「/apps/modulefiles/CryoSieve」

#%Module1.0
#
set          root /apps/pyenv/versions/anaconda3-2023.09-0/envs/CRYOSIEVE_ENV
prepend-path PATH $root/bin

テスト

[saber@rockylinux ~]$ module use /apps/modulefiles/
[saber@rockylinux ~]$ module load CryoSieve
 
[saber@rockylinux ~]$ git clone https://github.com/mxhulab/cryosieve-demos
[saber@rockylinux ~]$ ls -l cryosieve-demos/toy/
total 28
-rw-rw-r--. 1 saber saber 133 Dec 15 21:22 CNG_A.mrc
-rw-rw-r--. 1 saber saber 133 Dec 15 21:22 CNG_B.mrc
-rw-rw-r--. 1 saber saber 133 Dec 15 21:22 CNG_mask.mrc
-rw-rw-r--. 1 saber saber 134 Dec 15 21:22 CNG_particles.mrcs
-rw-rw-r--. 1 saber saber 131 Dec 15 21:22 CNG.star
drwxrwxr-x. 2 saber saber 111 Dec 15 21:22 expect_result
-rw-rw-r--. 1 saber saber 200 Dec 15 21:22 README.md
-rw-rw-r--. 1 saber saber 412 Dec 15 21:22 run.slurm
[saber@rockylinux ~]$
 
[saber@rockylinux ~]$ git lfs install
Git LFS initialized.
 
[saber@rockylinux ~]$ cd cryosieve-demos/toy/
[saber@rockylinux toy]$ git lfs pull -I CNG_A.mrc,CNG_B.mrc,CNG_mask.mrc,CNG_particles.mrcs,CNG.star
 
[saber@rockylinux toy]$ ls -l
total 148208
-rw-rw-r--. 1 saber saber  16385024 Dec 15 21:29 CNG_A.mrc
-rw-rw-r--. 1 saber saber  16385024 Dec 15 21:29 CNG_B.mrc
-rw-rw-r--. 1 saber saber  16385024 Dec 15 21:29 CNG_mask.mrc
-rw-rw-r--. 1 saber saber 102401024 Dec 15 21:29 CNG_particles.mrcs
-rw-rw-r--. 1 saber saber    187419 Dec 15 21:29 CNG.star
drwxrwxr-x. 2 saber saber       111 Dec 15 21:22 expect_result
-rw-rw-r--. 1 saber saber       200 Dec 15 21:22 README.md
-rw-rw-r--. 1 saber saber       412 Dec 15 21:22 run.slurm
[saber@rockylinux toy]$
 
[saber@rockylinux toy]$ cryosieve
usage: cryosieve [-h] --reconstruct_software RECONSTRUCT_SOFTWARE [--postprocess_software POSTPROCESS_SOFTWARE] --i I --o O --angpix ANGPIX [--sym SYM]
                 [--num_iters NUM_ITERS] [--frequency_start FREQUENCY_START] [--frequency_end FREQUENCY_END] [--retention_ratio RETENTION_RATIO] --mask
                 MASK [--balance] [--num_gpus NUM_GPUS]
cryosieve: error: the following arguments are required: --reconstruct_software, --i, --o, --angpix, --mask
 
[saber@rockylinux toy]$
 
[saber@rockylinux toy]$ cryosieve-core --i CNG.star --o my_CNG_1.star --angpix 1.32 --volume CNG_A.mrc --volume CNG_B.mrc \
   --mask CNG_mask.mrc --retention_ratio 0.8 --frequency 40 --num_gpus 1
 
[saber@rockylinux toy]$

メモ

ドキュメント通りで行うと RTX30x0なマシンではGPU計算をしてくれないです. pytorchを1.x系にする必要がありました. 恐らくドキュメント通りのパターンとしてはRTX 20x0系向けかも.

最新の60件
2024-04-19 2024-04-18 2024-04-17 2024-04-16 2024-04-15 2024-04-11 2024-04-06 2024-04-05 2024-03-30 2024-03-29 2024-03-19 2024-03-17 2024-03-15 2024-03-06 2024-03-05 2024-03-03 2024-02-23 2024-02-22 2024-02-21 2024-02-20 2024-02-19 2024-02-18 2024-02-17 2024-02-13 2024-02-12 2024-02-09 2024-02-04 2024-02-03 2024-01-31 2024-01-30 2024-01-29 2024-01-28 2024-01-22 2024-01-16 2024-01-13 2024-01-09 2024-01-08 2024-01-07 2024-01-03 2023-12-22 2023-12-17

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-12-16 (土) 00:29:17