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

Bug in modkit v0.6.4:"fail" column in "modkit extract calls" output may use MM tag when matching --filter-threshold, G-h and G-m are not recognized as C

Abierto
#717 3 comentarios 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
68/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
rust

Línea de trabajo

Start by reproducing the documented modkit extract calls command with the reverse-strand row described in the issue. Trace how --filter-threshold C:0.7 compares the canonical and modified primary bases when interpreting MM tags. Done means G-h and G-m calls are recognized as C and rows with call_prob below the C threshold have fail = true.

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

Descripción

bug troubleshooting

Command used:
modkit extract calls pure_duplex_mapped.bam duplex_read_mods.tsv.gz
--reference /path/to/GRCm39.primary_assembly.genome.fa
--mapped-only
--filter-threshold C:0.7
--mod-threshold m:0.8
--mod-threshold h:0.9
--bgzf
-t 18
--io-threads 4
--out-threads 4
--log modkit_extract_stats.log

According to the documented threshold logic (see "Threshold examples" in the modkit book, which uses this exact command as its worked example), a call with call_code = - (canonical) and call_prob = 0.36 should be flagged as failed, since 0.36 is below the specified --filter-threshold C:0.7.

However, in my output I'm seeing rows like this where fail = false despite call_prob being well below the threshold:

call_code = -
call_prob = 0.36
canonical_base = G
modified_primary_base = C
fail = false

The key detail is that this row comes from a read aligned to the negative strand. Because the BAM SEQ field is reverse-complemented for reverse-strand alignments, canonical_base (which reflects the literal SEQ-orientation base) shows G, while modified_primary_base (the semantically correct primary base carrying the modification, accounting for the MM tag's strand indicator) correctly shows C.

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

Preparar el entorno

Aún no hemos revisado los archivos de configuración de este proyecto. 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.