`petab1to2`: random column name for pre-existing `experimentId` column
メンテナーはふだん 1 日以内に返信
評価
調査の方向性
名前の変更は 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
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
PEtab-dev/libpetab-python のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
PEtab-dev/libpetab-python#566 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
PEtab-dev/libpetab-python#549 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
PEtab-dev/libpetab-python#525 ·
メンテナーはふだん 1 日以内に返信
-
`petablint` fails for PEtab v2 problems with only warnings対応中かも @dweindl が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
PEtab-dev/libpetab-python#567 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
PEtab-dev/libpetab-python#565 ·
メンテナーはふだん 1 日以内に返信
PEtab-dev/libpetab-python の issue をすべて見る
似ている issue
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog check対応中かも @ocelotl が今日担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
open-telemetry/opentelemetry-python#5825 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
cuga-project/cuga-agent#1020 ·
メンテナーはふだん 2 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
microsoft/playwright#43640 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
stac-utils/stac-fastapi-elasticsearch-opensearch#965 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信