Skip to content

Signature

Michael A. Cianfrocco edited this page Jun 9, 2018 · 8 revisions

Home > Automatic picking using Signature

Automatic particle picking using Signature

Background information

Signature is an automated particle picking program that uses 2D image templates as search models to find matching particles in your micrograph.

Important note: Because this is a template-based picking routine, if you do not use templates that came from teh same sample, then you will be introducing model bias into your data. Read more about model bias here.

Unlike other particle picking routines, Signature combines both cross-correlation and an auto-cross correlation of your 2D image templates, which provides a more discerning particle picking routine.

This program was written and is maintained by the Grigorieff Lab at Janelia:

http://grigoriefflab.janelia.org/signature

Using runSignature.py

The signature program can be run using this python script shown below. To see which options are required, run the program without any inputs and you will see more information about the expected input options.

Overall, this program takes two inputs:

  1. A single micrograph or a groups of micrographs
  2. 2D image templates input as a stack

Using the 2D image templates, the program then searches the micrograph(s) and returns all 'particles' that had a given score. The user needs to empirically determine the score threshold over which hits are considered 'real particles'. This score threshold is shown below as --thresh.

$ EM-processing/Picking_Particles/Signature/runSignature.py
Usage: runSignature.py -i <input micrograph> -t <template imagic stack> --apixMicro=[pixel size] --apixTemplate=[pixel size] --boxsize=[box] --diam=[particle diameter] --thresh=[threshold] --mirror --bin=<bin> --all='wildcard'

Options:
  -h, --help            show this help message and exit
  -i FILE               Micrograph name
  -t FILE               Stack of particles for template (.img)
  --apixMicro=float     Pixel size of micrograph
  --apixTemplate=float  Pixel size of templates
  --boxsize=int         Box size of templates
  --diam=INT            Particle diameter (Angstroms)
  --thresh=float        Threshold for particle selection (0 - 1)
  --mirror              Flag to mirror input references
  --binning=INT         Binning factor for picking (Default=4)
  --all=STRING          Include wildcard within quotes to loop over all
                        micrographs with that wildcard (e.g. '*en.mrc')
  -d                    debug

Run on single micrograph or group of micrographs

This python wrapper was written to be run on a single micrograph OR an entire directory of micrographs. By specifying either input option you will run the program in single micrograph mode or loop mode:

Single micrograph:

-i {input_micrograph}.mrc

Loop over wildcard specified micrographs

--all='/path/to/micrographs/*.mrc'

Input specifications

  • This program will take .mrc micrograph images to be picked by a particle stack that is provided as a .img/hed stack. By using the particle reference stack, signature will pick particles within the micrograph based upon a user-provided threshold.

  • By default, each template will be rotated by 15 degree increments, so there is no need to rotate your input templates.

  • The template particle stack can have as many images as desired. Usually this template stack is generated from 2D class averages or 2D projections from a 3D model, with no more than 20 reference images.

  • The box size of the input templates will be used within the output .box file generated by this program.

  • The particle diameter (in Angstroms) is used by signature in selecting the particles from the micrograph

  • Typically binning the micrograph by a factor of 4 is sufficient to speed up the picking, while not binning the image so drastically that the program loses its ability to discriminate between different particles.

  • The templates can be mirrored, as specified by the --mirror option. This option is normally included because particles can land on the grid in either mirrored orientation.

Output

Whether run on a single micrograph or a directory of micrographs, this program will output a text file in .box format that has the same basename as the input micrograph. For example, if the input micrograph name is image001.mrc then the output file will be image001.box.

Example commands

To run on a single micrograph:

$ Signature/runSignature.py -i image001.mrc -t refs.img --apixMicro=2.15 --apixTemplate=4.3 --boxsize=200 --diam=600 --thresh=0.4 --mirror

To run over a set of micrographs in a directory:

$ Signature/runSignature.py -t refs.img --apixMicro=2.15 --apixTemplate=4.3 --boxsize=200 --diam=600 --thresh=0.4 --mirror --all='*en.mrc'

Visualizing the resulting particle picks

Using boxer, you can open the output .box file along with a given micrograph to assess the performance of signature. Typically, users will need to change the threshold more than twice in order to find a score threshold that picks real particles and doesn't pick aggregates or background carbon.

Clone this wiki locally