Skip to content

marcottelab/SLICEM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SLICEM

Compare and cluster 2D class averages of multiple distinct structures from cryo-EM data based on common lines.
Example mrcs and star file provided in /data, corresponding cryo-EM data at EMPIAR-10268.
See manual.pdf for a brief tutorial.

New in 2021_Mar_7 update

  • Default scoring now uses FT of projections, use -d Real for real space projections
  • GUI now includes option to remove nodes from the graph and input desired # of clusters
    upcoming updates
  • Improved scoring and clustering
  • GPU support

New in 2020_Nov_6 update

  • Fixed memory error with multiprocessing
  • Added option to downscale class averages -s (--> faster processing)
  • Added Wasserstein (Earth mover) distance
  • Removed Jupyter Notebook (out of date)

Installation

Download the software and create a conda environment -

git clone https://github.com/marcottelab/SLICEM.git
conda env create -f environment.yml
conda activate SLICEM 
source deactivate #to return to base env

Usage

First generate a score file using slicem.py

usage: SLICEM_DEV.py [-h] -i MRC_INPUT -o OUTPATH
                     [-m {Euclidean,L1,cosine,EMD,correlate}]
                     [-s SCALE_FACTOR] [-c NUM_WORKERS] [-d {Fourier,Real}]
                     [-t {full,valid}] [-a ANGULAR_SAMPLING]

compare similarity of 2D class averages based on common lines

optional arguments:
  -h, --help            show this help message and exit
  -i MRC_INPUT, --input MRC_INPUT
                        path to mrcs file of 2D class averages
  -o OUTPATH, --outpath OUTPATH
                        path for output files
  -m {Euclidean,L1,cosine,EMD,correlate}, --metric {Euclidean,L1,cosine,EMD,correlate}
                        choose scoring method, default Euclidean
  -s SCALE_FACTOR, --scale_factor SCALE_FACTOR
                        scale factor for downsampling. (e.g. -s 2 converts 200pix box --> 100pix box)
  -c NUM_WORKERS, --num_workers NUM_WORKERS
                        number of CPUs to use, default 1
  -d {Fourier,Real}, --domain {Fourier,Real}
                        Fourier or Real space, default Fourier
  -t {full,valid}, --translate {full,valid}
                        indicate size of score vector, numpy convention, default full
  -a ANGULAR_SAMPLING, --angular_sampling ANGULAR_SAMPLING
                        angle sampling for 1D projections in degrees, default 5

command line example

(SLICEM): python slicem.py -i path/to/input.mrc -o path/to/output/ -c 8

alternative example if running remotely

(SLICEM): nohup python slicem.py -i path/to/input.mrc -o path/to/output/ -m L1 -s 2 -c 10 > log.txt &

Next load the scores and class averages into the GUI for clustering. See manual.pdf for more details
python slicem_gui.py


Introduction



Line projections



Comparison of line projections



Clustering



Reference

Separating distinct structures of multiple macromolecular assemblies from cryo-EM projections
https://doi.org/10.1016/j.jsb.2019.107416

Bugs and suggestions

report as a GitHub issue or email eric.verbeke@utexas.edu

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages