Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン 初心者向け
#568 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@dweindl がすでに取り組んでいます。

2026年10月25日 から。

  • #572 @dweindl による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
82/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
python
領域
data

調査の方向性

名前の変更は petab/v2/petab1to2.py で行われます。まず、そこでの列の競合処理と変換テストを読んでください。Brannmark_JBC2010 の問題でこの問題を再現し、実行ごとに出力ヘッダーを比較してください。変換を繰り返しても、v1 列に安定した意味のある名前が付けられ、名前の変更について警告が出れば完了です。

索引モデルが issue の本文から書いたものです。

説明

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)

主要言語
Python
スター
18
フォーク
9
平均マージ
1日 21時間
マージ済み PR(30日)
25

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

PEtab-dev/libpetab-python のほかの issue

PEtab-dev/libpetab-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。