ComponentstableLicense: MIT

MethylExtractor

Methylation counts from bisulfite BAM files, written as per-chromosome HDF5.

MethylExtractor reads a coordinate-sorted, indexed bisulfite BAM and a reference FASTA and writes per-chromosome cytosine counts. CG context is extracted by default; CHG and CHH are optional flags. Each chromosome file stores an HDF5 compound dataset named methylation_data (pos, mC, uC, tnc), preferably with the Zstd filter 32015, plus a JSON sidecar. It is a performance-focused fork of MethylDackel and remains under the MIT license.

Features

CG, CHG, and CHH contexts

CG is always counted. CHG and CHH are included with --CHG and --CHH. Both strands stay separate records; positions in the count file are 1-based.

MAPQ, Phred, and flag filters

Defaults drop reads below MAPQ 30 and bases below Phred 20, and they omit sites below coverage 4. Unmapped, secondary, supplementary, QC-fail, and duplicate reads are removed, as are reads with an NH tag greater than 1.

HDF5 methylation_data

The default output is a chunked compound dataset with fields pos (uint32), mC (uint16), uC (uint16), and tnc (uint8). Compression level 1-19 uses Zstd filter 32015 when the plugin is on HDF5_PLUGIN_PATH, and gzip otherwise. Text and split-by-context files are optional.

JSON sidecar, manifest, and timing

Each written count file gets a methylextractor.context_qc JSON sidecar. The run also writes an extraction manifest and a timing document. The tool records metrics and does not assign pass or fail.

Memory-gated parallelism

Region threads split each chromosome. --chrom-parallel runs more than one chromosome at a time, largest first, and --max-rss-gb (default 32) holds the estimated resident set of in-flight chromosomes to that budget.

Read-level patterns and CpG haplotypes

--read-level writes a sparse per-tile pattern histogram. --mhap writes per-read CpG positions and methylation calls. Marginal count files stay the same.

Depends on

Upstream product ids from this manifest’s dependsOn array.

This utility is standalone. It does not declare a dependency on GoliathApp or GoliathOmics.

Related

Product ids from this manifest’s related array.

None declared.

Used by

Other catalog products that list this id in dependsOn. The site derives this list. It is not a field in this product’s manifest, and this product does not declare those consumers.

Generated at build time from Goliath-Research/MethylExtractor@main/.goliath/product.json, validated with that repository’s .goliath/product.schema.json (schemaVersion 1).