Skip to main content

Dynamont

A Dynamic Programming Approach to Segment ONT Signals. Dynamont is a segmentation/resquiggling tool for ONT signals. Dynamont was tested on

  • RNA002
  • RNA004
  • DNA R10.4.1 5kHz (I applied the trained transition parameters from the RNA004 model to the DNA R10 models. These should be fine-tuned for the DNA models.)

PyPI - Python Version License: GPL v3 PyPI PyPI - Downloads

Please cite 10.1093/gigascience/giag005. Citation Badge



Segmentation Comparison

For further details please read: 10.1093/gigascience/giag005

Segmentation Comparison Segmentation Scoring

Installation

Pypi/pip

Recommendation: use uv

uv venv path/to/venv/dynamont
source path/to/venv/dynamont/bin/activate
uv pip install dynamont

Usage

# segment a dataset
dynamont-resquiggle -r <path/to/pod5/dataset/> -b <basecalls.bam> --mode basic -o <output.csv> -p <pore>

# train model
dynamont-train -r <path/to/pod5/dataset/> -b <basecalls.bam> --mode basic -o <output/path> -p <pore>

# choosing a pore will automatically load the default model for that pore, a custom model can be used with the parameter --pore_model <model/path>

Default models:

Output

Dynamont produces a tabular output with the following columns:

Column Name Description
readid Unique identifier for the read.
signalid Identifier for the signal corresponding to the read.
start Start position of the signal segment in the read.
end End position of the signal segment in the read.
basepos Base position in the read.
base The detected base at this position.
motif The surrounding sequence motif in which the base appears.
state The methylation state (or modification state) of the base.
posterior_probability Probability assigned to the predicted segment.
polish Polished kmer, only available in resquiggle mode.

Example Output

Below is an example of the output generated by Dynamont:

readid,signalid,start,end,basepos,base,motif,state,posterior_probability,polish
476b4ed2-7865-4f81-9f78-82d614fb40a2,476b4ed2-7865-4f81-9f78-82d614fb40a2,12762,12777,53,A,AAAAAAAAA,M,0.12434,NA
476b4ed2-7865-4f81-9f78-82d614fb40a2,476b4ed2-7865-4f81-9f78-82d614fb40a2,12777,12791,52,A,AAAAAAAAA,M,0.12146,NA
476b4ed2-7865-4f81-9f78-82d614fb40a2,476b4ed2-7865-4f81-9f78-82d614fb40a2,12791,12806,51,A,AAAAAAAAA,M,0.11881,NA
476b4ed2-7865-4f81-9f78-82d614fb40a2,476b4ed2-7865-4f81-9f78-82d614fb40a2,12806,12820,50,A,AAAAAAAAA,M,0.11665,NA

Differences Segmentation Tools

Segmentation Comparison

Metadata

Release files for dynamont 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for dynamont 0.9.0
File Interpreter ABI Platform
dynamont-0.9.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
dynamont-0.9.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
dynamont-0.9.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details

Total release size: 29.1 MB

Release files / dynamont-0.9.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL dynamont-0.9.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 9.7 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
582da23f59dc4d4bbb4bc2c4f140a6d6a32226459278ee28cb09bd08fb71e477
BLAKE2b-256 checksum
How to use checksums
c2302bcf75ede1cadb4c8a030af310d3254ac00c4409e42d1771f25d98c891de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.2

Release files / dynamont-0.9.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL dynamont-0.9.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 9.7 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
010220758342a46c56ace12d66f08161a90fe7a578bba637388bcd656139615c
BLAKE2b-256 checksum
How to use checksums
e945408b5106111bc934e8ec03c2b202d422e058ba4b3aec52e94ecb91e1120d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.2

Release files / dynamont-0.9.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL dynamont-0.9.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 9.7 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1860a7841a6486c8fea1448499a251cfb511562dcb6dfcba2d3a8effc7ce03dc
BLAKE2b-256 checksum
How to use checksums
19390e6e76d59d59c70bf550747e25d78d5c7af02c015827e539e621e67bd5b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.9.0 This release

3 release files

0.8.2

2 release files

0.8.1

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.5

2 release files

0.4.1

2 release files

0.4

2 release files

0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page