MSstatsFile: Condition written unquoted, so conditions containing commas produce malformed MSstats CSV
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 65/100
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
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
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de OpenMS/OpenMS
-
[FEATUREFINDER] Biosaur2Algorithm::centroidProfileSpectra_: dead drift-time guard would drop every FAIMS CVQuizá libre de nuevo @kavyansh-1 la tomó hace 40 días y no hay ningún pull request abierto. Abiertodefect
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
OpenMS/OpenMS#10005 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
OpenMS/OpenMS#10683 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
BrukerTimsFile: precursor-less PASEF windows (SIMSEF, iprm-PASEF) are dropped; use IsolationMzAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
OpenMS/OpenMS#10678 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de OpenMS/OpenMS
Issues similares
-
[Docs] CONTRIBUTING still says FreeType 2.14.3 and TabLabel.h says ImGui 1.92.9b after the bumpsPosiblemente ocupada @mgradwohl la tomó hoy. Abiertoagent:WSL documentation LOW
Dificultad 1/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
build sdl2 fail on ubuntuAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
finalburnneo/FBNeo#2820 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area/ysql kind/enhancement priority/medium status/awaiting-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
yugabyte/yugabyte-db#35578 ·
Los mantenedores suelen responder en 1 día
-
cudf-polars feature request
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 2 días
-
(S1 - Need confirmation)
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
CleverRaven/Cataclysm-DDA#89212 ·
Los mantenedores suelen responder en 1 día