DataClasses are typically used to capture properties and parentage information for Sample Sets. For example, a Sample Set may be derived from an Expression System DataClass, which in turn is derived from Cell Line and Vector DataClasses. See LabKey Data Structures.

DataClass Lineage & Derivation

When importing data into a Sample Set, to indicate a DataClass parent, provide a column named "DataInputs/<NameOfDataClass>", where <NameOfDataClass> is some DataClass. Values entered under this column indicate the parent the sample is derived from. You can enter multiple parent values separated by commas. For example to indicate that sample-1 has three parents, two in DataClassA, and one in DataClassB import the following.


DataClasses can be linked to one another by parentage lineage using the same syntax. For example, a parent protein may produce many children proteins by some bio-engineering process. Use DataClasses to capture the parent protein and the children proteins.


For information on Sample Set and DataClass parentage relationships, see Parent Samples: Derivation and Lineage.

Name Expressions

You can specify a name expression when a DataClass is created. The name expression can be concatenated from (1) fixed strings, (2) an auto-incrementing integer indicated by ${genid}, and (3) values from other columns in the DataClass. The following name expression is concatenated from three parts: "FOO" (a fixed string value), "${genid}" (an auto-incrementing integer), and ${barcode} (the value from the barcode column).


Use name expressions to generate a descriptive id, guaranteed to be unique, for the row. (This behavior is similar to multiple key columns for sample sets, but more flexible.


You can specify aliases names for records in a DataClass. On import, you can select one or more alias names. These aliases are intended to be used as "friendly" names, or tags; they aren't intended to be an alternative set of unique names. You can import a set of available aliases only via the client API. No graphical UI is currently available.

schemaName: "",
queryName: "myQuery",
rows: [{
barcode: "barcodenum",
alias: ["a", "b", "c", "d"]

DataClass User Interface

The web part "DataClasses" displays a list of the DataClasses in the current folder.

To create a new DataClass, click the Insert New button.

You can create a DataClass from scratch or from a domain template

Creating a DataClass from scratch, you are presented with four fields:

  • Name: Required.
  • Description: Optional.
  • Name Expression: Optional. Specify an alternative naming system, concatenated from fixed strings, auto-incrementing integers, and column values. See above for details.
  • Material Source ID: Optional. The default SampleSet where new samples will be created. (Currently not implemented.)
After clicking Create, use the Field Properties editor to add columns and set their properties. For details, see Field Properties Reference.

Related Topics





expand all collapse all