DNA2Graph
DNA2Graph is an open-source image analysis tool for automated segmentation and classification of DNA molecules in electron microscopy images obtained by rotary shadowing.
It provides both an intuitive graphical user interface for local use and a command-line interface for scalable execution on HPC systems.
For documentation, tutorials, and sample outputs, visit the project website.
Features
- Automated segmentation of DNA molecules in electron microscopy images.
- Two segmentation approaches:
- a standard, non-learning-based segmentation pipeline;
- a CNN-based segmentation pipeline (BETA).
- Post-processing algorithms designed to enforce biologically plausible segmentations.
- Classification of segmented molecules as:
- non-linear molecules, including branched or cyclic structures such as replication forks, Holliday junctions, bubbles, or t-loops;
- linear molecules;
- boundary molecules, located near image borders and likely incomplete.
- Export of Fiji/ImageJ-compatible ROIs for segmented molecules and bounding boxes.
- CSV export of molecule length measurements, including total molecule length and linear subregion measurements.
- Export of spatial graph representations that encode molecular topology and spatial organization for downstream analysis.
Segmentation ROIs (left) and Bounding Box ROIs (right) generated by DNA2Graph and loaded in Fiji. DNA2Graph automatically assigns each molecule to one of three groups: non-linear (red), linear (blue), or boundary (yellow).
Installation
DNA2Graph is distributed through PyPI:
pip install dna2graph
This installs both the graphical interface and the command-line interface.
To update DNA2Graph:
pip install --upgrade dna2graph
Usage
Graphical Interface
Launch the GUI with:
dna2graph
Command-Line Interface
Display the available CLI commands and options with:
dna2graph-cli --help
Performance
DNA2Graph can process large stitched electron microscopy images on a personal computer without requiring a GPU. A 20,000 x 20,000 grayscale image can be processed in approximately 1-8 minutes on an Apple M1 machine with 8 GB of RAM. For a fixed image size, runtime scales with the number of molecules present in the image.
Support
For help with DNA2Graph, contact the project maintainer at federico.chinello@studbocconi.it or open an issue on GitHub.
Citation
F. Chinello, M. Giannattasio, E. Zanella, F. Bruno, F. M. Buffa, and Y. Doksani.F
DNA2Graph [Computer software]. Zenodo, 2026.
https://doi.org/10.5281/zenodo.20413553
Metadata
Release files for dna2graph 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dna2graph-1.0.2.tar.gz | 175.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dna2graph-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 355.9 kB
Release files / dna2graph-1.0.2.tar.gz
| Download URL | dna2graph-1.0.2.tar.gz |
|---|---|
| Size | 175.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
94e00fe303a8fe23adf126257e003c096d780bf93ee15004b84bcfaa66430b0f
|
|
BLAKE2b-256 checksum How to use checksums |
212c734367140fc8f279aba38d5a28fb0684ee50269378e4417d195b3d79f733
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.0
|
Release files / dna2graph-1.0.2-py3-none-any.whl
| Download URL | dna2graph-1.0.2-py3-none-any.whl |
|---|---|
| Size | 180.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7e133f3f88bb385909ecf1fd2cecc598d927a98c7a42b6d64b73315c0966345
|
|
BLAKE2b-256 checksum How to use checksums |
1c348295b29580f5a953d575b15c6341fe28c01367087fb7b19cf6511083ac2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.0
|