OccuPy: A local map scale estimation for cryo-EM maps
Project description
OccuPy
A fast and simple python module and program to estimate local scaling of cryo-EM maps, to approximate occupancy, and optionally also equalise the map according to occupancy while suppressing solvent amplification.
Estimation of occupancy
The primary purpose of OccuPy is to estimate the local map scale of cryo-EM maps. All regions in a cryo-EM map have pixel values that can be considered as drawn from some distribution. In well-resolved regions this distribution contains values above and below solvent. Decreased resolution or occupancy results in values that are closer to solvent. OccuPy locates a region that exhibits the highest level above solvent, and utilizes this to place all other regions on a nominal scale between 0 and 1. This is a proxy for occupancy, under the assumption that there is limited flexibility. In Maps exhibiting flexibility, the estimated map scale does not strictly represent occupancy, as OccuPy does not deconvolute these factors in map value depreciation.
Occupancy Equalisation with solvent supression
OccuPy also attempts to equalise the input map according to occupancy, such that all regions are on the same nominal
scale (100%).
However, this type of inverse filtering would result in an extremely noisy output due to e.g. solvent
amplification, where the estimated occupancy is typically very low.
OccuPy therefore attempts to supress solvent amplification.
A single gaussian if fit to the solvent peak of the input map histogram, producing a solvent model.
Optionally, one can supply a mask to delinate a region that will constitute a solvent definition, to aid this fitting.
Inverse filtering utilizes the solvent model to estimate the confidence that each pixel represents solvent, and
limits occupancy equalization according to this.
The estimation of the solvent model NOT affect the estimated map scaling (occupancy), and a threshold occupancy
can manually be specified, below which inverse filtering is not performed.
Requirements
OccuPy requires an input map that has not been solvent-flattened (there should be some solvent somewhere in the map, the more the better). In may also work poorly where the map has been post-processed or altered by machine-learning, sharpening, or manual alterations. It has been designed to work in a classification setting, and as such does not require half-maps, a resolution estimate, or solvent mask. It can benefit from these things, but does not need it.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file OccuPy-0.1.0.tar.gz
.
File metadata
- Download URL: OccuPy-0.1.0.tar.gz
- Upload date:
- Size: 6.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c790cdadea4deec8907c363bab8f927d96fb5a55daf88a943449c497421e6cf |
|
MD5 | 2b9748330cff693fa0c12bbccf27ed41 |
|
BLAKE2b-256 | ee11608a64fb1560064c7d4e19b32f8dd2de3ae8d2e9c266354168dbfb4fccc4 |
File details
Details for the file OccuPy-0.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: OccuPy-0.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 22.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31f25acd49cc421d176f7510a93d77c162b5c885f2efdf739b134eaccc8899ac |
|
MD5 | bbf03d7895a2febcf004ef9dbbb2e8d3 |
|
BLAKE2b-256 | 6f933699974895666ca6b934e76c959c2504e9f28ca67719ffec5b91a42cddbf |