Skip to content

Modelling IC50 results

Tim Dudgeon edited this page Dec 14, 2018 · 11 revisions

Ontology IRIs needed

For:

  • IC50 (in ENM, from BAO)
  • hill model fitting (Hill equation in BAO; added)
  • tcpl (too specific, won't do)

Combined class

Class Axiom

Further reading

Modelling

At the OpenRiskNet Hackathon in Brussels on 13-14 Dec 2018 we undertook an exercise on this IC50 data with a view to how to model this with Json Schema (with respect to OpenAPI definitions) and how to semantically annotate this using Json-LD.

The idea was to define some key components of a data model for describing IC50 results that can be used by applications. It is not mandatory to use the whole model. For instance, assays are highly variable in nature so it might be more appropriate to create your own custom assay model that uses the model for an IC50 result. Alternatively the quantity and quantityRange schema object can be re-used in many other cases.

The Json Schema we defined is this (note: this is not currently syntactically correct - this will be updated soon):

components:
  schemas:
    quantity:
      required:
      - value
      - unit
      type: object
      description: A value with units
      properties:
        value:
          type: number
          format: float
        unit:
          type: string
        modifier:
          type: string
          enum:
          - '>'
          - '<'
          - '~'

    quantityRange:
      type: object
      properties:
        lowerValue:
          $ref: #components/schemas/quantity
        upperValue:
          $ref: #components/schemas/quantity

    ic50:
      type: object
      required:
      - value
      properties:
        value:
          $ref: #components/schemas/quantity
        slope:
          type: number
          format: float
          description: The calculated Hill constant
        numReplicates:
          type: number
          format: int32
          description: The number of replicates that generate the value.
        rmse:
          type: number
          format: float
          description: Optional RMSE value for the replicates. The units are implicitly the same as those of the value 
        standardDeviation: # units are implcit
          type: number
          format: float
          description: Optional standard deviation value for the replicates. The units are implicitly the same as those of the value

     assay: # very limited description of an assay, primarily as a holder for a set of ic50 values
       properties:
         protocol:
           type: string
           description: The description of the assay
         assayRange:
           $ref: #components/schemas/quantityRange
           description: The min and max concentrations for the assay
         results:
           type: array
           items:   
             $ref: #components/schemas/ic50

Actions that remain:

  • Review the IC50 model and see how it works for some real data sets.
  • Investigate how to annotate this with Json-LD descriptions. Will too much end up being duplicated in the Json schema and the ontology definitions.
Clone this wiki locally