mopdepth
Version, currently 0.0.14 versions
- 0.0.3latestJul 30, 2026
- 0.0.2not indexedJul 30, 2026
- 0.0.1not indexedJul 30, 2026
- 0.0.0not indexedJul 30, 2026
github.com/kojix2/mopdepth
Mosdepth Clone
0 stars
0 dependents
License: MIT
Nothing has been indexed for 0.0.1 yet. The tag is recorded, its shard.yml has not been read, so the manifest and dependency list below are empty because they are unknown rather than because they are absent.
Installation
# Add this to your shard.yml
dependencies:
mopdepth:
github: kojix2/mopdepth
version: ~> 0.0.1Then run:
shards installshard.yml
No shard.yml has been indexed for 0.0.1. You can read it on the repository.
Dependencies
Unknown: the shard.yml for this version has not been read yet.
README
This README is the one indexed from the repository at its latest ref, not from the tag for this version.
# mopdepth [](https://github.com/kojix2/mopdepth/actions/workflows/build.yml) [](https://tokei.kojix2.net/github/kojix2/mopdepth)  A fast BAM/CRAM depth calculation tool written in Crystal, inspired by [mosdepth](https://github.com/brentp/mosdepth). **This is an experiment to see if well-known tools can be ported to Crystal using “vibe coding”.** ## Features - Fast depth calculation for BAM/CRAM files - Multiple processing modes (fast mode, fragment mode, CIGAR-based) - Per-base and region-based depth analysis - BED file support for custom regions - Window-based analysis - Comprehensive filtering options (MAPQ, fragment length, flags) ## Installation ### Prerequisites - Crystal - hts-lib (for BAM/CRAM support) ### Build from source ```bash git clone https://github.com/kojix2/mopdepth cd mopdepth shards install shards build --release ``` ## Usage ```bash ./mopdepth [options] <prefix> <BAM-or-CRAM> ``` ### Basic example ```bash ./mopdepth output sample.bam ``` ### Options - `-t, --threads THREADS`: BAM decompression threads - `-c, --chrom CHROM`: Restrict to chromosome - `-b, --by BY`: BED file or numeric window size - `-n, --no-per-base`: Skip per-base output - `-Q, --mapq MAPQ`: MAPQ threshold - `-l, --min-frag-len MIN`: Minimum fragment length - `-u, --max-frag-len MAX`: Maximum fragment length - `-x, --fast-mode`: Fast mode (read start/end positions only) - `-a, --fragment-mode`: Count full fragment (proper pairs only) - `-m, --use-median`: Use median for region stats instead of mean - `-q, --quantize QUANTIZE`: Write quantized output (for example, `0:1:4:`) - `-T, --thresholds THRESHOLDS`: Comma-separated thresholds for region coverage - `-F, --flag FLAG`: Exclude reads with FLAG bits set - `-i, --include-flag FLAG`: Include only reads with FLAG bits set - `-R, --read-groups GROUPS`: Comma-separated read group IDs - `-M, --mos`: Use mosdepth-compatible filenames (mosdepth.*); default is mopdepth.* - `-v, --version`: Show version - `-h, --help`: Show help message ### Processing modes - **Default mode**: CIGAR-based depth calculation (most accurate) - **Fast mode** (`-x`): Uses read start/end positions (faster but less accurate) - **Fragment mode** (`-a`): Counts full fragments for paired-end reads **Note**: Fast mode and fragment mode cannot be used together. ### Output files - Summary: `<prefix>.(mopdepth|mosdepth).summary.txt` - Per-base: `<prefix>.per-base.bed.gz` (unless `-n`) - Global dist: `<prefix>.(mopdepth|mosdepth).global.dist.txt` - Regions: `<prefix>.regions.bed.gz` (when `--by`) - Region dist: `<prefix>.(mopdepth|mosdepth).region.dist.txt` (when `--by`) - Quantized: `<prefix>.quantized.bed.gz` (when `--quantize`) - Thresholds: `<prefix>.thresholds.bed.gz` (when `--thresholds` and `--by`) By default, files are named with the `mopdepth.*` label. Use `-M/--mos` to switch to `mosdepth.*`. ### Summary file format The summary file contains the following columns: - `chrom`: Chromosome name - `length`: Chromosome length - `bases`: Total depth (sum of all depths) - `mean`: Mean depth - `min`: Minimum depth - `max`: Maximum depth ## Examples ### Basic depth calculation ```bash ./mopdepth output sample.bam ``` ### With BED regions ```bash ./mopdepth -b regions.bed output sample.bam ``` ### Window-based analysis (1kb windows) ```bash ./mopdepth -b 1000 output sample.bam ``` ### Fast mode with MAPQ filtering ```bash ./mopdepth -x -Q 20 output sample.bam ``` ### Fragment mode for paired-end data ```bash ./mopdepth -a -l 100 -u 1000 output sample.bam ``` ## License MIT License
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.0.1- Tagged
- Jul 30, 2026
- Commit
398dc3d94a9e- Indexed
- not yet
Dependents
No indexed shard depends on this one yet.
Repository
github.com/kojix2/mopdepth
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 14, 2026
- Synced
- Aug 14, 2026
- Versions
- 4