Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add observation attributes #601

Open
jframi opened this issue Apr 18, 2024 · 2 comments
Open

Add observation attributes #601

jframi opened this issue Apr 18, 2024 · 2 comments

Comments

@jframi
Copy link

jframi commented Apr 18, 2024

In the analytics discussion we have been discussing about how to handle summary statistics for a given variable in a study (e.g. heritability, CV, Wald p-value, etc.)
One option would be to define an observation at the study level for the same variable having the study general mean as value.
If we can define observation attributes, as a combination of a variableDbId (each statistic being defined as a variable) and a value, summary statistics could be handled this way.

@daveneti
Copy link

daveneti commented Apr 19, 2024

We have generalised 'attributes' in our BrAPI extensions. Now we can apply attrubutes to other enitites as well as Germplasm, for example InventoryLot (SeedLot) and ObservationUnit. Would you like me to share our extensions?

@jframi
Copy link
Author

jframi commented Apr 19, 2024

Below is an example of how this could be implemented

POST /observationunits

[
  {
    "locationDbId": "0e208b20",
    "locationName": "Field Station Alpha",
    "observationUnitName": "Purple_Tomato_1",
    "observationUnitPUI": "http://pui.per/plot/1a9afc14",
    "observationUnitPosition": {
      "entryType": "TEST",
      "geoCoordinates": {
        "geometry": {
          "coordinates": [
            -76.506042,
            42.417373,
            123
          ],
          "type": "Point"
        },
        "type": "Feature"
      },
      "observationLevel": {
        "levelCode": "study_1",
        "levelName": "study", <-- observation level is study
        "levelOrder": 0
      },
    },
    "programDbId": "2d763a7a",
    "programName": "The Perfect Breeding Program",
    "studyDbId": "9865addc",
    "studyName": "Purple_Tomato_1",
    "trialDbId": "776a609c",
    "trialName": "Purple Tomato"
  }
]

POST /observations

[
  {
    "collector": "917d3ae0",
    "observationTimeStamp": "2024-04-17T12:47:42.359Z",
    "observationUnitDbId": "598111d4",
    "observationUnitName": "Study name",
    "observationVariableDbId": "c403d107",
    "observationVariableName": "Plant Height in meters",
    "studyDbId": "ef2829db",
    "uploadedBy": "a2f7f60b",
    "value": "350", <-- this is the study average of plant height
    "observationAttributes": [
       {
	    "observationAttributeAttributeDbId": "101290",
	    "observationAttributeAttributeName": "Heritability", <-- Heritability as an observation attribute
	    "value": "0.9"
      },
      {
	    "observationAttributeAttributeDbId": "101291",
	    "observationAttributeAttributeName": "CV", <-- Any other summary statistics as observation attributes
	    "value": "13.2"
      }   	
    ]
  }
]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants