Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen Anfängerfreundlich
#568 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
82/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
data

Rechercherichtung

Die Umbenennung findet in petab/v2/petab1to2.py statt; lies zunächst die Behandlung von Spaltenkonflikten dort und die Konvertierungstests. Reproduziere das Problem mit dem Problem Brannmark_JBC2010 und vergleiche die Ausgabeüberschriften über mehrere Durchläufe hinweg. Fertig ist die Aufgabe, wenn wiederholte Konvertierungen einen stabilen, aussagekräftigen Namen für die v1-Spalte erzeugen und vor der Umbenennung warnen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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)

Vorherrschende Sprache
Python
Sterne
18
Forks
9
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
21

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus PEtab-dev/libpetab-python

Alle Issues in PEtab-dev/libpetab-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.