You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Identifying freely oriented macromolecules using Two-Dimensional Template Matching (2DTM) is a computationally intensive task since we must compute millions of cross-correlograms on large cryo-EM micrographs.
4
+
Efficiency of the `match_template` program is therefore a key consideration going into the Leopard-EM package.
5
+
6
+
We include some benchmarking results across different GPU hardware to provide an estimate of `match_template` performance.
7
+
These results can help guide users in planning out 2DTM analyses of their data using Leopard-EM and serve as a reference for expected performance.
8
+
9
+
## Benchmarking Setup
10
+
11
+
Leopard-EM includes a benchmarking script at `benchmark/benchmark_match_template.py` (if downloaded from source) which you can use to determine performance _on your own hardware_.
12
+
This script runs the `match_template` program using the following parameters:
13
+
14
+
- Micrograph size: 4096 x 4096 pixels (Falcon 4i) or 5760 x 4092 pixels (K3)
15
+
- Template size: 512 x 512 x 512 pixels
16
+
- Number of defocus planes: 11
17
+
- Variable orientation batch size configurable using `--orientation-batch-size`
18
+
19
+
Note that we empirically observe that template size has negligible effect on performance.
20
+
Total search times are extrapolated from throughput to a full orientation search of ~1.58 million orientations with 13 defocus planes (~20.5 million total cross-correlations).
21
+
22
+
## Version 1.1 benchmarks
23
+
24
+
### Falcon 4i images (4096 x 4096 pixels)
25
+
26
+
GPU name | VRAM | Image size | Throughput (cross-corr/sec) | 2DTM search time (hours) |
Note that we have not optimized Leopard-EM v1.1 for K3 images in particular. Future versions should include optimizations for non-square images which will improve performance on K3 data.
Copy file name to clipboardExpand all lines: docs/index.md
+18-4Lines changed: 18 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,11 +7,25 @@ description: Overview of the Leopard-EM package for 2DTM in Python
7
7
8
8
Welcome to the **L**ocation & ori**E**ntati**O**n of **PAR**ticles found using two-**D**imensional t**E**mplate **M**atching (Leopard-EM) online documentation!
9
9
Leopard-EM is a Python implementation of Two-Dimensional Template Matching (2DTM) which itself is a data processing method in cryo-EM for locating and orienting particles using a reference structure.
10
-
This package currently reflects the functionality described in Lucas, *et al.* (2021)[^1] with additional programs to maximize the usefulness of 2DTM as well as other user-friendly features for integrating into broader data science workflows.
10
+
<!--This package currently reflects the functionality described in Lucas, *et al.* (2021)[^1] with additional programs to maximize the usefulness of 2DTM as well as other user-friendly features for integrating into broader data science workflows.-->
11
11
12
12
!!! note "Citing this work"
13
13
14
-
If you use Leopard-EM in your research, please cite (coming soon!).
14
+
If you use Leopard-EM in your research, please cite the [Leopard-EM preprint](https://doi.org/10.1101/2025.08.26.672452):
15
+
16
+
```
17
+
@article {Giammar2025.08.26.672452,
18
+
author = {Giammar, Matthew David and Dickerson, Joshua Luke and Hall, Laina Nicole and Lucas, Bronwyn Ayla},
19
+
title = {Leopard-EM: An extensible 2DTM package to accelerate in situ structural biology},
@@ -202,6 +216,6 @@ See the [Installation -- For Developers](#for-developers) section for instructio
202
216
203
217
The code in this repository is licensed under the **BSD 3-Clause License**. See the [LICENSE](LICENSE) file for full details.
204
218
205
-
## References
219
+
<!--## References
206
220
207
-
[^1]: Lucas BA, Himes BA, Xue L, Grant T, Mahamid J, Grigorieff N. Locating macromolecular assemblies in cells by 2D template matching with cisTEM. Elife. 2021 Jun 11;10:e68946. doi: 10.7554/eLife.68946. PMID: 34114559; PMCID: PMC8219381.
221
+
[^1]: Lucas BA, Himes BA, Xue L, Grant T, Mahamid J, Grigorieff N. Locating macromolecular assemblies in cells by 2D template matching with cisTEM. Elife. 2021 Jun 11;10:e68946. doi: 10.7554/eLife.68946. PMID: 34114559; PMCID: PMC8219381.-->
Copy file name to clipboardExpand all lines: docs/tutorials/batch_processing.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -431,11 +431,23 @@ if [ -z "$CONFIG_FILE" ]; then
431
431
fi
432
432
433
433
# Run the match_template script with the selected config file
434
+
# NOTE: You may need to wrap the `python run_match_template.py $CONFIG_FILE`
435
+
# call within an `srun` command depending on your cluster configuration
436
+
# to properly expose the GPU devices to the process.
434
437
echo"Running match_template with config file: $CONFIG_FILE"
435
438
python run_match_template.py $CONFIG_FILE
436
439
437
440
```
438
441
442
+
??? Caution "Making GPU devices discoverable within SLURM via srun"
443
+
444
+
Depending on your cluster configuration, you may need to wrap the `python run_match_template.py $CONFIG_FILE` command within an srun command to properly expose the GPU devices to the command.
0 commit comments