Sitelet https://github.com/phonchi/Cryo-RAlib/tree/master/docs
Skip to content

Latest commit

 

History

History

Folders and files

README.rst

Cryo-RAlib: Accelrating alignment in cryo-EM

Goals

Multireference alignment is a common algorithm in cryo-EM image processing. Cryo-RAlib provides a gpu-accelerated version of multireference alignment based on the EMAN2 package.

  • Multireference alignment (Class averages)

  • Reference-free alignment (Average of the first 10 iterations)

Benchmark

  • Multireference alignment We compared the CPU implementation from EMAN2 and used Ribosome 80s benchmark dataset but downsampling to 90 pixels. The following chart is running on TWCC c.super instance. The xr, yr, ou, maxit is set to 3,3,36,6 respectively.

The speedup is 22x~37x with different reference number.

  • Reference-free alignment

The following chart is running on TWCC c.super instance. The ts, ou, maxit is set to 1,36,6 respectively.

The speedup is 2.4x~9.4x with different 2D shift.

Notebook

The python environment exposed by EMAN2 can be couple with CuPy and other libraries for drop-in acceleration and visualization. See the Example Notebook where we accelerate the rotation and shift operations by five-fold and visualize the results.

The library can be used for exploratory data analysis as demonstrated in the notebook. You will need the utils_ralib.py and scikit-learn for analysis.

2020 NCHC GPU Hackathon

The code is used in the 2020 NCHC GPU Hackathon.

Team member: Szu Chi Chung, Cheng-Yu Hung, Huei-Lun Siao, Hung-Yi Wu, Institute of Statistical Science, Academia Sinica

Mentor: Ryan Jeng, Nvidia

Credit

Some of the code is built upon Cuda code from gpu_isac 2.3.2.