plantbreeding / BrAPI

Repository for version control of the BrAPI specifications
https://brapi.org
MIT License
57 stars 32 forks source link

Experimental Factors added to Study - Add new Fields #486 #539

Open BrapiCoordinatorSelby opened 2 years ago

BrapiCoordinatorSelby commented 2 years ago

From @cpommier in #486

New Study fields

Add list of available experimental factors to the Study:

"experimentFactors": [
      {
        "factor": "fertilizer",
        "modality": "low fertilizer"
      }, {
        "factor": "fertilizer",
        "modality": "High input"
      }
    ]

Add URI to experimental factors :

"experimentFactors": [
      {
        "factor": "fertilizer",
         "factorPUI": "test-factor:dia2020-2-nv.irrigation",
        "modality": "low fertilizer",
        "modalityPUI": "test-factor:dia2020-2-nv.lf"
      }, {
        "factor": "fertilizer",
         "factorPUI": "test-factor:dia2020-2-nv.irrigation",
        "modality": "High input"
        "modalityPUI": "test-factor:dia2020-2-nv.irrigation.ww"
      }
    ]
BrapiCoordinatorSelby commented 2 years ago

This is being discussed by the Agronomy/Crop-Modeling working group right now. They are looking at how to redesign treatments and experimental designs (including these factors). Not ready for V2.1.

daveneti commented 1 year ago

Any progress on this? We we are going ahead with something like this for our implementation.

BrapiCoordinatorSelby commented 1 year ago

Unfortunately the working group that was discussing this has ended without a full resolution. I think more discussion is needed to really identify what the study.experimentalDesign model should look like in full.

That said, I think this makes sense for factors/treatments specifically, and I encourage you to push ahead with a solution that works for you. I might redesign the above example a little to have a factor with all its possible modalities listed together in the Study model, then use the existing observationUnit.treatments to define exactly which plants/plots/blocks/etc got which treatments as part of the study.

Maybe something like this

Study  - factors addressed in this study
"experimentFactors": [
      {
        "factor": "fertilizer",
        "factorPUI": "test-factor:dia2020-2-nv.fertilizer",
        "modalities" : [{
            "modality": "low fertilizer",
            "modalityPUI": "test-factor:dia2020-2-nv.lf"
        }, {
            "modality": "high fertilizer",
            "modalityPUI": "test-factor:dia2020-2-nv.hf"
        }]
      }, {
        "factor": "irrigation",
        "factorPUI": "test-factor:dia2020-2-nv.irrigation",
        "modalities" : [{
            "modality": "low irrigation",
            "modalityPUI": "test-factor:dia2020-2-nv.low-irr"
        }, {
            "modality": "high irrigation",
            "modalityPUI": "test-factor:dia2020-2-nv.high-irr"
        }]
      }
    ]
Observation Unit - treatments really applied
"treatments": [
    {
        "factor": "fertilizer",
        "factorPUI": "test-factor:dia2020-2-nv.fertilizer",
        "modality": "high fertilizer"
        "modalityPUI": "test-factor:dia2020-2-nv.irrigation.hf"
    }, {
        "factor": "irrigation",
        "factorPUI": "test-factor:dia2020-2-nv.irrigation",
        "modality": "high irrigation"
        "modalityPUI": "test-factor:dia2020-2-nv.irrigation.high-irr"
    }
]

This is coming off the top of my head as I'm writing it, and I realize there is a lot of duplicated info, feel free to edit as needed