-
Notifications
You must be signed in to change notification settings - Fork 4
Signature
Home > Automatic picking using Signature
- Background information
- Using runSignature.py:
- Running on a single micrograph or set of micrographs
- Inputs
- Output
- Visualizing the resulting particle picks
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
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:
- A single micrograph or a groups of micrographs
- 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
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'
-
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.
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.
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'
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.