Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

v2: Combining experiment and condition tables

Abierto
#657 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Sin datos de lenguaje
Estrellas
67
Forks
16
Merge medio
1 d 19 h
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PEtab-dev/PEtab

Todos los issues de PEtab-dev/PEtab

Issues similares

Más issues de Bioinformatics

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.