NPC Analysis

ROIManager › Workflow · version 1

Finds the nuclear pores of the file, counts their corners and localizations, and fits the labelling efficiency, in one run.

What it does

The labelling efficiency of nuclear pores takes three steps in the ROI manager: find the pores, count each one's corners and localizations, and fit the efficiency to all of them. This runs the three in one go, on the file the ROI manager is showing, and shows the results of all three in one window.

It is a chain – the plugins it runs, one after the other, each with its own settings in a section of this panel – rather than a plugin of its own: NPC, NPC Corners and NPC Labeling Efficiency. Their pages explain the methods; this one only what running them together changes. Because it is a chain, it can be edited (edit steps), saved under another name, and run over many files in a batch.

Use it for the standard analysis, and the three plugins separately to look at one step more closely – the ROIs this one makes are ordinary ROIs, and can be walked through, judged and evaluated again in the ROI manager. It needs the localization precision (xy_err_nm).

How it works

1. Group. The layers step switches the first layer to grouped, one localization per blink, as the model expects; its filter stays as the Render tab has it.

2. Find the pores. The file's earlier NPC ROIs are removed (replace earlier pores is ticked in the find the pores section), and the pores are found with the settings of that section. ROIs drawn by hand, or made by another segmenter, are left alone.

3. Count. NPC Corners is run on every ROI the manager includes, with the settings of the NPC Corners section, before the next step starts: each pore's corners seen with the precise localizations, and its localizations. The numbers are stored with the ROIs, as an evaluation in the ROI manager stores them.

4. Fit. The labelling efficiency and the blinks per copy are fitted to all the counted ROIs with the settings of the labelling efficiency section.

The window shows the pores found, the segmenter's checks and the fit (the corner and localization histograms with the model).

In detail

An evaluator in a chain. A plugin that measures one ROI at a time (NPC Corners here) runs, as a chain step, over every ROI the manager includes – every one that is ticked use, whoever made it – and the chain goes on only when all are done. A ROI on which it fails (no localizations, say) loses its own row and is counted in the step's line, not the run.

The evaluation window is left alone. The counts are stored with the ROIs as an evaluation called NPC Corners, like any other, and the evaluation window's pipeline stays as it was set up – for this work or for another. A result belongs to its ROI, whoever ran it, so the site table shows the chain's counts beside the pipeline's numbers, and NPC Labeling Efficiency run again from the ROI tab finds them, with the cutoffs they were counted with. Running the chain again replaces its counts; to keep a second set beside the first – other cutoffs, to compare – rename the NPC Corners step (edit steps). The chain's analysis reads the chain's own counts, whatever else is on the ROIs; run from the ROI tab afterwards, it asks which evaluation to read when there are several.

Nothing changes until the end. The chain runs on a copy of the session, ROI manager included; the ROIs it found, the evaluation run and the pipeline reach the ROI manager only when the whole chain has succeeded. A step that fails leaves the ROI manager as it was.

Re-running. With replace earlier pores off, the pores of an earlier run stay, a new run adds only what is new (a candidate near an existing ROI is suppressed), and all of them are counted. Results that are still current – the same ROI, data and settings – are carried forward rather than measured again.

Output

Differences from SMAP

SMAP has no single counterpart: its NPC analysis is run as segmentNPC, then an evaluation with NPCLabelingQuantify_s in the ROI manager, then NPCLabelingEfficiency (Ries 2020).

References

Parameters

settingdefaultwhat it does
grouping (more)
grouping
layerWhich table every step reads, unless the step says otherwise: layer leaves it to each layer, as the Render tab has it. Choices: layer; grouped; ungrouped
layers
   layers
   layers.layers
{'grouped': True, 'start': 'keep', 'bounds': []}One block per layer: its grouping, where its bounds start from, and rows of field, lo, hi (either may be empty); a quantile row takes lo and hi as fractions, resolved per file; a required row stops a file that lacks the field.
   remove filtered
   layers.remove
offDrop the localizations no layer keeps from the table, and so from the saved file.
   grouping (more)
   layers.use_grouping
autoWhich table this step reads: auto takes the chain's choice, or each layer's own. Choices: auto; grouped; ungrouped
find the pores
   radius
   find_the_pores.radius_nm
55 nmRadius of the pore: the ring the filter looks for and the one the band is drawn around. at least 1 nm
   ring width
   find_the_pores.ring_width_nm
15 nmHalf the width of the ring band; also the width of the filter's ring. at least 1 nm
   min localizations
   find_the_pores.min_locs
4Localizations a candidate needs in the ring band. at least 1
   judge on precision
   find_the_pores.precision_nm
20 nmThe checks use only localizations more precise than this. at least 0.1 nm
   min fitted radius
   find_the_pores.min_radius_nm
40 nmSmallest fitted radius that is a pore.
   max fitted radius
   find_the_pores.max_radius_nm
70 nmLargest fitted radius that is a pore.
   max far
   find_the_pores.max_far
0.01Largest fraction of localizations more than 3 of their precisions from the ring. 0 to 1
   keep rejected
   find_the_pores.keep_rejected
offAdd candidates that fail the checks as ROIs that are not used, to look at them.
   replace earlier pores
   find_the_pores.replace
onRemove the ROIs this segmenter made on the file before finding the pores again.
   far test level (more)
   find_the_pores.radial_alpha
0.05A candidate fails when its far ones are this unlikely for a pore. 1e-06 to 0.5
   ring spread (more)
   find_the_pores.radial_extra_nm
5 nmTilt and label, added to each precision in the far test.
   window (more)
   find_the_pores.window_nm
100 nmRadius around a candidate that is fitted and judged. at least 1 nm
   separation (more)
   find_the_pores.separation_nm
120 nmReject a candidate this close to a stronger one or to an existing ROI.
   bin (more)
   find_the_pores.bin_nm
10 nmPixel size of the density image that is filtered. at least 0.1 nm
   grouping (more)
   find_the_pores.use_grouping
autoWhich table this step reads: auto takes the chain's choice, or each layer's own. Choices: auto; grouped; ungrouped
NPC Corners
   radius
   npc_corners.radius_nm
55 nmRadius of the ring band the corners are counted in. at least 1 nm
   ring width
   npc_corners.ring_width_nm
15 nmHalf the width of the ring band. at least 1 nm
   corner precision
   npc_corners.precision_nm
20 nmCorners are counted with the localizations more precise than this. at least 0.1 nm
   count precision
   npc_corners.n_precision_nm
30 nmThe localizations per pore are those more precise than this. at least 0.1 nm
   count window
   npc_corners.n_window_nm
100 nm... and within this distance of the centre. at least 1 nm
   corners
   npc_corners.corners
8Symmetry of the pore: segments around the ring. at least 2
   min per corner (more)
   npc_corners.min_locs
1Localizations a corner needs to count as seen. at least 1
   grouping (more)
   npc_corners.use_grouping
autoAn evaluator sees what the ROI manager shows: the filter and grouping of the layer it follows. Choices: auto; grouped; ungrouped
labelling efficiency
   method
   labelling_efficiency.method
corners and localizationsThe joint model of corners and localizations, or SMAP's corner histogram alone. Choices: corners and localizations; corners (SMAP)
   fit from
   labelling_efficiency.fit_min
5Only pores with at least this many corners.
   results from
   labelling_efficiency.evaluation
autoThe evaluation whose results are analysed; auto: the only one there is, or the chain's own – asked when there are several.
   corners (more)
   labelling_efficiency.corners
8Corners of a pore. at least 2
   proteins per corner (more)
   labelling_efficiency.per_corner
4Copies of the labelled protein in one corner. at least 1
   fit to (more)
   labelling_efficiency.fit_max
8Most corners in the fit range (SMAP's method).
   SMAP fit (more)
   labelling_efficiency.fit
maximum likelihoodHow SMAP's method fits its histogram. Choices: maximum likelihood; SMAP's least squares
   bootstrap (more)
   labelling_efficiency.bootstrap
100Resamplings of the sites for SMAP's error; 0: none.
   grouping (more)
   labelling_efficiency.use_grouping
autoWhich table this step reads: auto takes the chain's choice, or each layer's own. Choices: auto; grouped; ungrouped