Segmentation/resquiggling tool for ONT signals.
Project description
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.)
Installation
Pypi/pip
pip install dynamont
Conda
conda config --add channels jannessp # to install all dependencies from the correct channel
conda create -n dynamont jannessp::dynamont
conda activate 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:
- rna_r9 (tested)
- rna_rp4 (tested)
- dna_r9 not available
- dna_r10.4.1 260 bps (not tested)
- dna_r10.4.1 400 bps (tested)
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 | Reference base position in the genomic sequence. |
| 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
Exit-Codes
- -11: Segmentation fault
- -9: Out of Memory error. Decrease the number of processes or move to a system with more memory.
- -6: std::bad_alloc
- 1:
resquiggle modespecific: alignment score (Z) does not match between forward and backward run in preprocessing on signal (T) and read (N). - 2:
resquiggle modespecific: alignment score (Z) does not match between forward and backward run in preprocessing on signal (T) and error correction (C). - 3: Alignment score (Z) does not match between forward and backward pass or is -Infinity
- 4: Input signal is missing or not found in stdin stream
- 5: Input read is missing or not found in stdin stream
- 6: raw file does not exist
- 7: Invalid model path was provided
- 8: Provided ONT signal is too short
- 9: Read is too short
- 10: Signal is smaller than read
- 11: Read is smaller than
kmerSizeof provided pore model - 20: Terminated using KeyboardInterrupt (Ctrl + C)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dynamont-0.7.2.tar.gz
(11.2 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
dynamont-0.7.2-py3-none-any.whl
(11.2 MB
view details)
File details
Details for the file dynamont-0.7.2.tar.gz.
File metadata
- Download URL: dynamont-0.7.2.tar.gz
- Upload date:
- Size: 11.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ded1da4f6c952f32bf66117f318b5ff76332ded769e8c5c10b306c75e49b5b99
|
|
| MD5 |
a6af98039022ba891028408bc93f11ad
|
|
| BLAKE2b-256 |
7184cd04026f982d979fbbdeb2be26e3d4aa8549ff5f88c6dd7a6d1d5c4d1048
|
File details
Details for the file dynamont-0.7.2-py3-none-any.whl.
File metadata
- Download URL: dynamont-0.7.2-py3-none-any.whl
- Upload date:
- Size: 11.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd96e33604393e4afdb51104dfef4b97d87fb5cbaba22e73f44e81fe16f80598
|
|
| MD5 |
2d654b49499bede1d9c6dd3040e6bf11
|
|
| BLAKE2b-256 |
f13ae52ef3ddef9270a036cea74512ffbb421fa5cd78dfd7879cf203751cdaa4
|