A python toolkit for the cryo-EM developer
Project description
EMmer
This is a python package to collect important functions related to cryo EM data processing. Broadly, EMmer tools are divided based on the input data type: either a coordinate file (PDB) or a map data (as a numpy array). They are structured as follows:
Structuring
- emmer
-
ndimage
- filter (Low-pass, high-pass, band-pass filters and FSC filters)
- mask (Compute FDR confidence masks and atomic model masks)
- radial_profile (Compute radial profile from a map, estimate bfactors from radial profile)
- fsc (compute FSC between two maps)
- contour (compute properties of a contour at a given threshold like surface area, volume, number of segments)
- sharpen (modify maps by rescaling the amplitudes)
- general tools:
- average half maps
- compute real space correlation
- estimate center of mass of a map
- I/O operations
- Trim map between residues
-
pdb
- SSE (Secondary Structure Estimation using DSSP algorithm)
- convert (to convert PDB to map)
- General tools:
- perturb PDB
- Compute RMSD between two PDB
- Get bfactors of all atoms
- Set bfactors of all atoms to a uniform value
- Neighbor analysis (estimate number of neighbors at a given position)
-
Installation
You can install using pip
pip install emmer
Recommended python version: > 3.6
Usage
You can load modules inside your python script like this:
- Convert PDB to map
from emmer.pdb.convert.convert_pdb_to_map import convert_pdb_to_map
simulated_map = convert_pdb_to_map(input_pdb="/path/to/pdb.pdb", apix=1.1, size=(256,256,256)) # Returns a numpy.ndarray of shape: (256,256,256)
- Compute FSC curve from two halfmaps
from emmer.ndimage.fsc.calculate_fsc_curve import calculate_fsc_curve
fsc_curve = calculate_fsc_curve(halfmap1, halfmap2)
- Compute real space correlation between map and model
from emmer.pdb.convert.convert_pdb_to_map import convert_pdb_to_map
from emmer.ndimage.compute_real_space_correlation import compute_real_space_correlation as rsc
simulated_map = convert_pdb_to_map(input_pdb="/path/to/pdb.pdb", apix=1.1, size=(256,256,256))
emmap_path = "/path/to/emmap.mrc"
real_space_correlation = rsc(simulated_map, emmap_path) # Input can either be a path to a map or a numpy.ndarray of shape:(N,N,N)
Conventions
Some suggestions:
- emmap density data is named "emmap"
- Pixel size is named 'apix'
- Distances are measured in Angstrom.
Etymology
Refers to a person doing EM: an EM-mer
Is also a bucket in Dutch... "Een emmer is een waterdicht vat dat aan een hengsel gedragen en meestal gebruikt wordt voor het vervoer van vloeistoffen."
It is also a type of wheat.
Acronym for: Electron Microscopy Mightier (than) Ex Rays
Feature requests
WRITE THEM HERE
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.