Skip to content

Eggeling-Lab-Microscope-Software/blob-B-gone

Repository files navigation

About

This repository contains the source code, data and figures made available for the article Blob-B-Gone: a lightweight framework for removing blob artifacts from 2D/3D MINFLUX single-particle tracking data published in Frontiers in Bioinformatics.

Blob-B-Gone

Basic Usage

from blobBgone import blobBgone

BBEG = blobBgone.from_npy('path/to/dir/')        # <- from files
BBEG = blobBgone.from_pointCloud(Dict[int,np.ndarray])  # <- from point cloud

BBEG.run()                                              # <- run the algorithm

blob_IDs = BBEG.blob_IDs()                              # <- get the blob IDs
free_IDs = BBEG.free_IDs()                              # <- get the free IDs

BBEG.plot_PCA()                                         # <- plot the PCA

Advanced Usage

from blobBgone import blobBgone

# create an instance of the blobBgone class #

# create a dictionary with the custom weights
custom_weights_2D = {MAX_DIST: float, CV_AREA:float, SPHE:float, ELLI:float, CV_DENSITY:float}
custom_weights_3D = {MAX_DIST: float, CV_VOL:float, SPHE:float, ELLI:float, CV_DENSITY:float}

# set custom weights depending on the dimensionality of your data
BBEG.custom_weights = custom_weights_2D/custom_weights_3D 

Installation

Via pip

pip install blobBgone

From source

git clone
pip install .

Python Environment

To run the notebooks found within this repository, you may need to create a conda environment with the required dependencies. The dev_env.yml file contains the necessary dependencies to run the code.

Requirements: miniconda or anaconda installed. Dont forget that you can "skip registration" even when installing anaconda don't get confused by the dark pattern they put up.

Create the environment

Open a terminal or anaconda prompt and navigate to the root of the repository. Then run the following command:

conda env create -f dev_env.yml

After that you can activate the environment with:

conda activate BBEG

Examples

The notebooks folder contains a series of Jupyter notebooks that demonstrate the use of and explain the logic behind the blobBgone package.

Repository Structure

The code is organized in a Python package called blobBgone and the data used in the article is available in the Example_Data folder. The figures appearing in the main text are available in the Figures folder.

C:.
├───blobBgone
│   └───__pycache__
├───blobBgone.egg-info
├───build
│   ├───bdist.win-amd64
│   └───lib
│       └───blobBgone
├───dist
├───Example_Data
│   ├───Additional_MFX_Data
│   │   ├───Labelled_Data
│   │   │   ├───blob
│   │   │   └───free
│   │   └───Labelled_Thumbnails
│   │       ├───blob
│   │       └───free
│   ├───MINFLUX Data
│   │   ├───Blob_GQ23nm_2D_Tracks
│   │   ├───Blob_GQ23nm_3D_Tracks
│   │   └───MINFLUX Tracking Sequences
│   └───Simulation
│       ├───2D_Mix_dynamicSTD
│       └───3D_Mix_dynamicSTD
├───Figures
│   ├───In Paper
│   │   ├───Main Text
│   │   └───Supplementary
│   └───Raw
│       ├───Additional
│       └───Initial
├───notebooks
└───__pycache__

About

A lightweight tool to remove blob artifacts from 2D/3D point cloud data as produced by MINFLUX

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors