Information submitted through the support site is private but is not hosted within your secure CDD Vault. Please do not include sensitive intellectual property in your support requests.

Protocol Conditions

Researchers are no strangers to the concept of experimental conditions. CDD Vault protocols are able to capture experimental conditions, and when a protocol readout definition is flagged as a condition, this has a specific meaning in the CDD Vault: the values of a condition are used to categorize related results for some calculated readout definitions within the protocol. Conditions are useful when experimental parameters, such as cell line, expression type, species, etc,  are varied in a single assay, and it is better to create a single protocol which can handle all of the different conditions simultaneously, while averaging and calculating results based on the conditions.

What are protocol conditions
How do you define a protocol condition
How are results aggregated by protocol conditions
How do you import protocol conditions
How do you filter protocol data by conditions
How are results displayed in the search results table


What are protocol conditions

Protocol conditions are a special type of readout definitions in a protocol. The values of a protocol condition are used to categorize related results for aggregation by calculated readout definitions within the protocol. When data are grouped in this way, calculations such as average, median, and IC50 curves, will be performed based on the condition values. To give a simple example: An enzymatic concentration-response screen is performed in duplicate with enzymes from 3 different species: Rat, Human and Rhezus monkey,  and raw data are imported into CDD Vault for IC50 calculation. The species will be defined as a protocol condition which is applied to the IC50 calculation, resulting in 3 separate IC50 values - based on duplicate data for each species. A protocol may have several such conditions, where each category is based on a combination of condition values.


How do you define a protocol condition

Protocol conditions are defined the same way as any other readout definitions. You "flag" a readout definition with a condition check-box when defining a new readout, or when editing an existing readout. Readout definitions of TextNumber, PickList data type are permitted to be conditions, and the flag will appear automatically when one of the two data types is selected.

A best practice is to define conditions as picklist data type- this data type will ensure the highest data consistency and quality.


You can retroactively mark an existing readout definition as a condition, and the related readout will be re-calculated based on the new condition categories.

Here's what a IC50 protocol would look like with a species condition defined:



How are results aggregated by protocol conditions

Aggregated readouts to which conditions apply:

  • IC50 calculations: Dose-Response series used in the IC50 calculation will be based on the condition values, so that more than one series may be imported into a single run of a protocol.
  • Average calculated readouts based on imported data. When you define an arithmetic mean or geometric mean of a readout, the condition values is taken into account.
  • Formula-based calculations available with CDD Vision.

When a protocol condition is defined, aggregate readouts in the protocol will respect the condition values when performing their calculations.

  • When a single protocol condition is defined, the grouping will be based on individual values in that condition. To use our Species condition example:

Species= (Mouse, Rat, Rhesus) will result in 3 results - one for each species.

  • When more than one protocol condition is defined, the grouping will be based on all possible combinations of values. To use an example of of two conditions Species and Cell Line:

Species = Mouse, Rat, Rhesus

Cell Line = HK-2, MKt-1

 there will be separate calculated readout results for

Mouse, HK-2

Rat, HK-2

Rhesus, HK-2

Mouse, MKt-1

Rat, MKt-1

Rhesus, MKt-1


How do you import protocol conditions

Protocol conditions are imported in the same way as other readout data: condition values need to be present in the import file for each row of data. NOTE: You will need to make sure that the condition values are spelled correctly, and that a consistent nomenclature is used. CDD Vault will not be able to guess that "rhesus", "Rhezus", and "rhesus monkey", are all the same species, and data will be aggregated incorrectly based on the condition values.

  • For single point data, where each row corresponds to a different molecule and batch, the condition values must be listed for each row:


  • For concentration-response data, where multiple rows correspond to the same curve per molecule and batch, the condition value must be listed for each row:


  • For reference control compounds: specify conditions on each row, just as you would for test compounds.
  • For positive and negative controls: no need to specify conditions. Plate controls will be aggregated (averaged) per plate or per run, based on your readout normalization settings.


How do you filter protocol data by conditions

Search for a specific condition value

Since protocol conditions are a special kind of readout, they are displayed separately from other readouts in the Search - Protocols section of the Explore Data tab.

When you select a protocol that contains conditions from the protocols drop-down, the list of condition readouts will be displayed.


Choose a particular condition value from the drop-down list. The drop-down list will be populated with all available values in your protocol.


How are results displayed in the search results table

When you filter a protocol by a specific protocol condition value, the search results table will return the aggregated readout definition with the standard error and number of points (n). The condition value isn't shown in the results table, since you've specifically selected to display data for that one condition value.


When leaving the condition drop-down on (any value), you will get results for each aggregated condition value in a separate column.


 Only columns that have at least one value for at least one molecule will be displayed automatically. If you want to see a specific set of condition values, set your protocol search terms to filter the data.

For example, for the screenshot above, if you wish to see only human and rat data, compose a query with two terms:



Dose Response IC50's are displayed in the same style as average inhibitions above. Dose-response plots will show individual curves for each condition grouping, and you can see curve legends by opening the dose-response mini-app (click on the plot in the search results table).



Have more questions? Submit a request


  • 0
    Christer Enkvist

    The listing of the results into one concatenated cell will never work IRL (the second to last image).  There should be one column per {condition}-{result type} combination.  NOTE:  You should be allowed to have several conditions in the {condition} list.  An example, a protocol have species and sex as conditions.  species=[dog,mouse], sex=[male, female, mix].  Now you should be able to (if you wish) to separeate these into 6 columns.  

    Also. In the Protocol Calculation step you should be able to use  {condition}-{result type} as a variable, e.g. to calculate a ratio between "Dog Bioavailability" and "Mouse Bioavailability".

  • 0
    Anna Spektor

    Thank you for your feedback Christer. The current view will be updated, and we are considering several alternative views. Separating data into individual columns by condition sets is indeed one of the possible views we are discussing, so it's good to have a vote for that particular option.

    The ability to perform calculations based on specific conditions is also a feature that is planned for a future release to improve conditions, so stay tuned for new updates from us! I will keep this document up to date with new features that come out.





Please sign in to leave a comment.