Skip to content

This project processes electron tomography (ET) data to detect and segment biological particles like proteins and viruses. It uses Copick for particle detection and applies segmentation algorithms, providing segmented data and visualizations for further analysis.

Notifications You must be signed in to change notification settings

abd84/CryoET-Protein-Complex-Annotation-Classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

DeepfindCryoET -Protein-Complex-Annotation-Classification

Purpose

This code processes electron tomography (ET) data to identify and segment particles within 3D tomograms. The tool integrates Copick for particle detection and uses various algorithms for particle segmentation. It is designed for analyzing macromolecules, viruses, and other biological particles in electron microscopy datasets.

Key Features

  • Tomogram Segmentation: Segments and identifies particles in 3D tomograms.
  • Particle Detection: Detects particles such as proteins, viruses, and other macromolecules.
  • Integration with Copick: Leverages Copick for identifying and processing particles based on their size and location.

Models and Techniques Used

1. Copick

Copick Models: Used for identifying and processing pickable objects (particles) within the tomogram. It identifies particles based on their radius and location.

2. Denoising Algorithms

Applied to improve the quality of tomograms by removing noise, which helps in more accurate particle detection and segmentation.

3. Segmentation Models

Voxel-Based Segmentation: Uses voxel-based analysis to accurately segment particles by their size and spatial properties.

4. Machine Learning (Optional)

While the core process focuses on segmentation, ML models (such as scikit-learn) can be used for evaluating or classifying segmented data, though this is not the primary focus of the current code.

Output

Accuracy: 0.71 where as benchmark is 0.78

The output includes:

  • Particle Identification: A list of segmented particles with their names and radii.
  • Segmentation Data: Structured files that contain the particle data, ready for further analysis.
  • Visualization: Use of matplotlib for visualizing the segmentation results for inspection.

Example output:

        [('apo-ferritin', None, None, 6.0),
         ('beta-amylase', None, None, 6.5),
         ('beta-galactosidase', None, None, 9.0),
         ('ribosome', None, None, 15.0),
         ('thyroglobulin', None, None, 13.0),
         ('virus-like-particle', None, None, 13.5)]
    

Input Parameters

  • Voxel Size: Defines the size of each voxel in the tomogram data for accurate particle size estimation.
  • Tomogram Algorithm: Specifies the algorithm used to process and denoise the tomogram (e.g., 'denoised').
  • Output Settings: Configurable options for naming and identifying output files (e.g., output name, user ID, and session ID).

Installation

To set up the environment and install the necessary dependencies, run:

        pip install deepfindET copick-utils matplotlib scikit-learn
    

About

This project processes electron tomography (ET) data to detect and segment biological particles like proteins and viruses. It uses Copick for particle detection and applies segmentation algorithms, providing segmented data and visualizations for further analysis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published