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

v2: Combining experiment and condition tables

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

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
停滞

調査の方向性

Start by reviewing the current v2 condition table and experiment table definitions described in the issue, then compare them with the proposed long experiment-table examples. Resolve whether conditionId can be removed and how timed target changes should be represented. Done means the schema decision is agreed and its implications for existing v2 data are documented.

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

説明

Problem: The current condition table only allows entry of the conditionId, targetId and targetValue. In v1, multiple targets could be specified for each condition. This allowed description of a whole experiment in one line, but the changes had to occur at time = 0.

v2 allows different conditions to occur at different times. This is an improvement as this reflects experimental protocols better. It also allows introduction of a 'forcing function' of sorts with stepwise changes in the parameters.

I propose that the change from wide condition tables to long condition tables obviates the need for the condition table and experiment tables should have the following columns:
experimentId, time, targetId, targetValue

Example:
v1 Alkan_SciSig2018 condition table (first two entries):
conditionId | Dox_level | Gem_level | SN38_level
model1_data1 | 0.0 | 0.0 | 0.0
model1_data2 | 0.0 | 0.0003 | 0.0

v2 Alkan_SciSig2018 condition table:
conditionId | targatID | targetValue
model1_data1 | Dox_level | 0.0
model1_data1 | Gem_level | 0.0
model1_data1 | SN38_level| 0.0
model1_data2 | Dox_level | 0.0
model1_data2 | Gem_level | 0.0003
model1_data2 | SN38_level| 0.0

v2 Alkan_SciSig2018 experiment table:
experimentId | time | conditionId
experiment1 | 0 | model1_data1
experiment2 | 0 | model1_data2

Proposed v2 Alkan_SciSig2018 experiment table:
experimentId | time | targatID | targetValue
experiment1 | 0 | Dox_level | 0.0
experiment1 | 0 | Gem_level | 0.0
experiment1 | 0 | SN38_level| 0.0
experiment2 | 0 | Dox_level | 0.0
experiment2 | 0 | Gem_level | 0.0003
experiment2 | 0 | SN38_level| 0.0

If, for example, experiment2 was a pulse of Gem_level, then it would be:
experimentId | time | targatID | targetValue
experiment1 | 0 | Dox_level | 0.0
experiment1 | 0 | Gem_level | 0.0
experiment1 | 0 | SN38_level| 0.0
experiment2 | 0 | Dox_level | 0.0
experiment2 | 0 | Gem_level | 0.0003
experiment2 | 10 | Gem_level | 0.0
experiment2 | 0 | SN38_level| 0.0

The current equivalent would be:
v2 Alkan_SciSig2018 experiment table:
experimentId | time | conditionId
experiment1 | 0 | model1_data1
experiment2 | 0 | model1_data2
experiment2 | 10 | model1_data1

which would introduce two unneeded events or a new condition. Because the conditionId is used nowhere else besides the experiment table, you will be creating a bunch of conditionIds for minor benefits. I agree that the benefits would be greater if the condition table was still wide.

主要言語
言語のデータがありません
スター
67
フォーク
16
平均マージ
1日 19時間
マージ済み PR(30日)
1

環境構築

はじめの一歩

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

PEtab-dev/PEtab のほかの issue

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

似ている issue

Bioinformatics の issue をもっと見る

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

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