Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

`petab1to2`: random column name for pre-existing `experimentId` column

Aperta Adatta ai principianti
#568 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@dweindl ci sta già lavorando.

Dal 25/10/2026.

  • #572 di @dweindl — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
82/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python
Ambito
data

Direzione di ricerca

La rinomina avviene in petab/v2/petab1to2.py; inizia leggendo lì la gestione dei conflitti tra colonne e i test di conversione. Riproduci il problema con il problema Brannmark_JBC2010 e confronta le intestazioni di output tra le esecuzioni. Il lavoro è completato quando le conversioni ripetute producono un nome stabile e significativo per la colonna v1 e avvertono della rinomina.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

If a v1 measurement table has an extra column experimentId, petab1to2 renames it to experiment_id_<uuid4> to make room for the v2 experimentId column (petab/v2/petab1to2.py). The output differs between conversions of the same problem, and the new column name carries no meaning.

import tempfile
from pathlib import Path

import benchmark_models_petab as bmp
from petab.v2.petab1to2 import petab1to2

yaml_v1 = bmp.get_problem_yaml_path("Brannmark_JBC2010")
for _ in range(2):
    with tempfile.TemporaryDirectory() as outdir:
        petab1to2(yaml_v1, outdir)
        header = Path(outdir, "measurements.tsv").read_text().split("\n")[0]
        print(header.split("\t"))
['experimentId', 'observableId', 'measurement', 'time', 'observableParameters', 'noiseParameters', 'experiment_id_fda2a0d7-e3d5-462c-a8db-544d13aff6e3', 'independentVariableId', 'datasetId']
['experimentId', 'observableId', 'measurement', 'time', 'observableParameters', 'noiseParameters', 'experiment_id_28c488f0-1acf-493b-bea4-d58f3eef7b19', 'independentVariableId', 'datasetId']

This affects Brannmark_JBC2010 and Isensee_JCB2018 in the benchmark collection, where experimentId groups measurements across simulation conditions (e.g., dose_response, one_step_time_response). Committing converted problems produces spurious diffs on every re-conversion.

Suggested fix: use a fixed name, e.g. experimentId_v1 (appending a counter only if that name is taken as well), and emit a warning about the rename.

🤖 Generated by an AI agent (Claude Code)

Lingua principale
Python
Stelle
18
Fork
9
Merge medio
1g 8h
PR unite (30g)
21

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PEtab-dev/libpetab-python

Tutte le issue di PEtab-dev/libpetab-python

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.