niekwit/methyl-seq: v0.6.0
Abstract
Highlights This release adds several new downstream analyses on top of the core trimming/alignment/extraction pipeline, migrates Bismark and Trim Galore to their Rust rewrites, and adds a CI test dataset with a much larger set of fixes and validation. Added DMR (differentially methylated region) calling via methylKit: genome tiling, per-tile methylation testing against a configured reference condition, hyper/hypomethylated BED output with nearest-gene/feature annotation (ChIPseeker), and volcano / genomic-distribution / distance-to-TSS plots. CpG methylation profiles/heatmaps (deepTools computeMatrix/plotHeatmap/plotProfile) over results/bigwig/{condition}.bw: one pair centred on each DMR's midpoint (split by hypo-/hypermethylated), and one combined profile+heatmap per configured TE class block, region body length taken from that block's own min_length. Transposable element (TE) boxplots: optional class/family/subfamily breakdowns of %CpG methylation from a RepeatMasker track, generalized from a LINE1-only feature into arbitrary TE classes. LINE1 5' UTR analysis: ORF1/ORF2 localization via minimap2 against a user-supplied GenBank consensus, splitting each element into 5' UTR vs. remainder for a dedicated boxplot, plus a methylation-status histogram and active/inactive BED classification (reference condition vs. each non-reference condition independently, configurable cutoff). Imprinted control region (ICR) methylation heatmap, initially for mm39, extended to hg38 (25 canonical ICRs with citations). Sequencing coverage bigwigs, multiBigwigSummary/plotPCA-based sample clustering, and multiqc_bismark.html alignment/dedup/extraction/nucleotide-coverage summary. Containerized workflow (containerized: + published niekwit/methyl-seq Docker image) and a checked-in .test/ CI dataset (real, subsetted mouse mm39 EM-seq data around Rasgrf1, with matching promoter/CpG-island/RepeatMasker/ICR fixtures). Changed Bismark migrated to its Rust rewrite (3.1.0), byte-for-byte validated against the previous Perl 0.25.1 output before switching. Trim Galore migrated to its Rust rewrite (2.2.0, "Oxidized Edition"). Sample/config validation hardened: working-directory path checks, sample-name checks, DMR:reference_condition validated against samples.csv, TE/region name-collision checks, a full DMR: config schema (previously unvalidated). Python scripts formatted with Black and R scripts with Air (badges added to README); README substantially expanded to document every optional analysis and its config. Fixed Several correctness fixes in condition-averaged bedGraph/coverage generation (wrong sample grouping, a temp-path collision), CpG probe generation (silently dropped numeric-named chromosomes), and control-DNA methylation-call handling. EM-seq spike-in/conversion-control contigs (phage_T4/phage_Xp12/phage_lambda/plasmid_puc19c) excluded from whole_genome/intergenic region BEDs, DMR calling, and PCA's multiBigwigSummary binning — none of these leaked into actual reported values before (each was protected by a different, coincidental downstream filter), but none were correct by construction either. bismark_genome_preparation --parallel with fewer than 2 cores; a duplicate-chromosome Bismark failure that only reproduced in CI; missing samtools dependency after the Rust Bismark migration (Rust bismark no longer pulls it in transitively); a CI crash from pivot_wider() dropping a condition's column entirely when a TE had zero annotated elements for it. ChIPseeker crash on skewed DMR sets; annotate_dmrs reading threshold config as NULL; ICR heatmap tile sizing/axis clipping; CI status badge; .docker/Dockerfile missing the line1_utr conda environment. Removed Dead code: the never-wired metaplot feature, an unused decompress_bedgraph rule, dead summary_report code, and the preseq library-complexity-analysis step. Full changelog: https://github.com/niekwit/methyl-seq/compare/0.5.0...v0.6.0
Publication details
- Journal / source
- Zenodo (CERN European Organization for Nuclear Research)
- Publication date
- 21 September 2026