Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

modkit pileup --include-bed silently rejects BED4 files, produces zero valid positions with no warning

Abierto
#605 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
rust
Área
cli

Línea de trabajo

Start at the modkit pileup entry point and trace how --include-bed parses the supplied BED file. Reproduce the BED4 command from the issue, then add coverage for the observed behavior and ensure completion is either a clear warning for rejected positions or successful BED4 interval handling.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

Description

When --include-bed is passed a BED4 file (4 columns: chr, start, end, name), modkit pileup silently parses zero valid positions and produces an empty or near-empty bedMethyl output. No warning or error is emitted to indicate that the BED file was rejected or that positions were skipped.

Steps to reproduce

# BED4 file — standard UCSC CpG island download format
# chr  start  end  name
# chr1 10468  11240  CpG: 111

modkit pileup   input.bam   output.bedmethyl   --ref reference.fasta   --include-bed cpg_islands.bed4   --modified-bases 5mC   --cpg

Result: output.bedmethyl is empty (or contains only a header). No warning is printed.

Expected behaviour

modkit should either:

  1. Emit a clear warning: "WARNING: --include-bed file has 4 columns; expected BED3 (chr/start/end) or BED6 (chr/start/end/name/score/strand). Zero positions parsed.", or
  2. Accept BED4 by treating columns 1–3 as the interval and ignoring column 4

Context

This was discovered while using modkit pileup with a standard UCSC CpG island BED file downloaded from the UCSC Table Browser. UCSC CpG island exports are BED4 by default. The silent failure is particularly confusing because the tool exits with code 0 and the output file is created — it just contains no data.

The workaround is to strip column 4 before passing to --include-bed:

cut -f1-3 cpg_islands.bed4 > cpg_islands.bed3
modkit pileup ... --include-bed cpg_islands.bed3

Environment

Lenguaje dominante
Rust
Estrellas
276
Forks
33
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de nanoporetech/modkit

Todos los issues de nanoporetech/modkit

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.