pytom-match-pick

pytom-match-pick是从cryoET数据处理软件PyTOM中独立出来的一个颗粒模板匹配算法。

安装

如果环境中有cuda的话:

conda create -n pytom_tm python=3

如果环境没有cuda,或者想使用预设的cuda,出错的概率小一些,但是也需要占用一些存储,同时可能降低一定的性能:

conda create -n pytom_tm -c conda-forge python=3 cupy cuda-version=11.8

然后安装pytom,[plotting]的选项会同时安装matplotlib和seaborn图形库用于pytom_estimate_roc.py脚本的可视化输出,不影响核心算法。

conda activate pytom_tm
python -m pip install pytom-match-pick[plotting]

使用

处理模板。如果tomogram是黑色颗粒,得加上--invert

pytom_create_template.py -i model.mrc -o template.mrc --output-voxel-size-angstrom 10 --box-size 16 --center --invert

生成一个mask,要和模板尺寸一致。

pytom_create_mask.py -b 16 -r 7 --voxel-size 10 -o mask.mrc

执行匹配搜索。

pytom_match_template.py \
-t template.mrc \
-v tomogram.mrc \
-m mask.mrc \
--particle-diameter 130 \
--angular-search 15 \
--tilt-angles -60 60 \
--relion5-tomograms-star /path/to/tomograms.star \
--voxel-size-angstrom 10 \
-g 1 \

对一个代表性的结果查看ROC估算一个cutoff阈值。

pytom_estimate_roc.py \
-j tomogram.json \
-n 1000 \
--particle-diameter 180 \
--show-plot

提取颗粒位置。

pytom_extract_candidates.py \
-j tomogram.json \
-n 1000 \
-c 0.3 \
--relion5-compat \
--particle-diameter 130

合并多个star文件

pytom_merge_stars.py

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注