A collection of programs and scripts used for cryo-EM analysis of amyloid fibrils. These tools support micrograph analysis, 2D/3D processing, polymorph clustering, model–map comparison, and initial volume generation.
- Sort Micrographs by Cross-β Signal
- Fibril Picking
- Crossover Length Determination
- Orient 2D Class Averages into the Same Polarity
- Initial Volume Generation
- Initial Volume from Distance-Matrix Ordering
- Initial Volume by Stitching 2D Class Averages
- Remove Fibril Crossings
- Compare Untwisted with Twisted 2D Class Averages
- Micrograph Polymorph Assignment Viewer
- Polymorph Separation Tools
- Density Sharpening
- Model-Map FSC
sort_micrographs_crossbeta/
Amyloid fibrils show a characteristic 4.7 Å cross-β reflection in the Fourier spectrum.
This tool computes the signal strength in each micrograph and sorts micrographs according to the visibility of fibrils.
This helps to identify micrographs with high fibril content before particle extraction.
This tool is hosted in a separate repository:
https://github.com/sim-som/cryoem_fibril_annotator
- Interactive Display: Real-time visualization of cryo-EM micrographs with napari
- Power Spectrum Support: Synchronized display of micrographs and their corresponding power spectra
- Real-time Filtering: Butterworth lowpass filtering with Angstrom-based resolution control
- Flexible Fibril Annotation: Line and polyline tracing tools for straight and curved fibrils
- Multi-layer Support: Create separate annotation layers for different fibril types (Aβ42, Tau, α-synuclein, etc.)
- Memory Efficient: Handles large datasets (>GB) using Dask arrays and lazy loading
- Annotation Persistence: Save and load annotations with full metadata preservation
crossover_from_particle_locations/
Computes the crossover distance of amyloid fibrils from 2D class averages.
The tool identifies the periodic modulation of fibrils and extracts the crossover spacing used to estimate the helical twist.
polarity/
Aligns all selected 2D class averages so that they point in the same axial direction.
This step is useful before initial model generation as it reduced the search space for stitching the class averages.
initial_volume_stitching/
Generates an initial 3D model by placing 2D class averages sequentially along the fibril axis and reconstructing a volume from these aligned images. Useful when no reference is available.
initial_volume_distance_matrix/
Computes a pairwise distance matrix between 2D class averages, orders them along the fibril trajectory, and constructs an initial volume using this ordering. This is an alternative to stitching images by optimizing image overlap.
remove_crossings/
Removes image segments that contain crossings or overlaps between neighboring fibrils.
This is especially important when extracting long fibrils, where crossing regions can mislead helical reconstruction.
class_assignment_gui/
A GUI to inspect where segments from specific polymorphs appear on individual micrographs. Supports visual checks after clustering (ASHP/CHEP) to ensure correct polymorph assignment.
compare_twisted_untwisted/
Compares the appearance of untwisted fibril classes against twisted fibril classes to identify whether a straight fibril variant corresponds to a known twisted polymorph.
These tools are hosted in separate repositories:
-
CHEP – Clustering based on 2D class assignments
https://github.com/gschroe/chep -
ASHP – Clustering based on comparing 2D class averages, includes CHEP
https://github.com/JanusLammert/ASHP
VISDEM – Density sharpening with optional helical symmetry
https://github.com/gschroe/visdem
model_map_fsc/
sl_pdb2mrc.c: Simulate cryo-EM map from pdb coordinates.sl_fsc.c: Calculate the FSC of two 3D maps in mrc format.
(plot fsc curves via plot_fsc_data.py)
Plots FSC curves produced by the above tools.
These programs allow quantitative model–map agreement evaluation, independent of any cryo-EM software package.
schroderlab-collection: Toolcollection for the processing of Cryo-EM Datasets
Copyright (C) 2025 Gunnar Schröder
Copyright (C) 2025 Simon Sommerhage
Copyright (C) 2025 Janus Lammert
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.