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

MSstatsFile: Condition written unquoted, so conditions containing commas produce malformed MSstats CSV

Abierto Apto para principiantes
#10,512 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@ManasBagul23 ya está trabajando en esto.

Desde el 18/10/2026.

  • #10622 de @ManasBagul23 — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
65/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
cpp
Área
data

Línea de trabajo

Empieza con MSstatsLine::toString() en src/openms/include/OpenMS/FORMAT/MSstatsFile.h, que une los campos con comas, y con las llamadas csv_out.addLine(...) en MSstatsFile.cpp, donde actualmente solo se entrecomilla Reference. Añade un caso con una condición que contenga una coma y luego comprueba que cada fila tenga 11 campos al analizarla como CSV. Está terminado cuando Condition, BioReplicate y accession estén entrecomillados y escapados y la salida sea CSV válido.

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

Descripción

new contributor

MSstatsFile writes the MSstats input CSV with the Condition field unquoted, so a condition that contains a comma splits into extra columns and the file is no longer valid CSV.

Where: MSstatsLine::toString() in src/openms/include/OpenMS/FORMAT/MSstatsFile.h joins accession_ … condition_, bioreplicate_, run_ with "," and no quoting. Only the trailing Reference gets quote_ (MSstatsFile.cpp, the csv_out.addLine(...) calls). Same on develop b5b0b4b7d8.

How we hit it: quantms 1.10.0, ProteomicsLFQ -out_msstats (container openms-tools-thirdparty:2026.07.02). The condition comes from the SDRF factor value. Free-text factors with commas are common in public SDRFs, for example Chronic Kidney Disease, Stage 4 or SDS + ultrasonication, urea. In 7 of 42 label-free metaproteomics datasets the *_msstats_in.csv has ragged rows, with up to 17 fields instead of 11:

P06703,.(Acetyl)AC(Carbamidomethyl)PLDQAIGLLVAIFHK,2,NA,0,L,SDS + ultrasonication, urea,19,19,4.054027e07,"Xu_20161229_MetaproE_2_1.mzML"

Affected datasets: PXD005969, PXD012724, PXD016787, PXD024845, PXD025659, PXD032387, PXD048778. Strict CSV readers then misparse the file. DuckDB's sniffer, for example, finds no ProteinName column, and anything that splits on commas shifts BioReplicate, Run and Intensity.

Suggested fix: quote (and escape) the text fields of MSstatsLine, at least Condition, the way Reference already is. This also matters for BioReplicate, which can be free text, and for accessions.

Workaround downstream: the 6 fields before Condition and the 4 after it never contain commas, so the middle can be rejoined.

Lenguaje dominante
C++
Estrellas
623
Forks
441
Merge medio
1 d 1 h
PR fusionados (30 d)
286

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

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 OpenMS/OpenMS

Todos los issues de OpenMS/OpenMS

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.