This topic is under construction for the March 2020 release of LabKey Server. For current documentation of this feature, click here.
are LabKey Server's way of capturing and importing instrument data, such as the data produced by an ELISpot reader, a Luminex multiplexer, a mass spectrometer, etc. The data structures of an assay design tell the server how to interpret the instrument output, so that the data can be uploaded 'into' the design and stored in a tabular format for further use. Additional transformations, validations, and other instrument-specific processing can be incorporated into the design.
Assay Fields and Properties
Each assay design consists of sets of fields, each capturing the contents of some individual column of uploaded assay data or metadata about it. Results/data fields can each have properties such as:
- The data type
- Whether a value is required
- How to validate values and/or how to interpret special values
- How to display the resulting data and use it in reporting
Some fields will be populated from the uploaded data itself, other values can be provided by the operator at import time.
Fields are grouped into (at least) three categories:
- Batch: A setting applies to an entire batch of runs (or files) uploaded at once. Example: the email of the person uploading the data.
- Run: A setting applies to all the data in a single run, but may vary between them. Example: An instrument setting at the time of the run.
- Data/Results: A setting applies only to a single row. Example: the ID of the participant each row of data is about.
- Additional Categories: Some assay designs will include sections for plate data, analyte information, or other details.
Assay designs are based on assay types
, which are "templates" corresponding to a specific instrument or assay process.
Instrument-specific assay types pre-define many fields and properties appropriate for the particular instrument, which can be further refined as needed. For example, if an assay is plate-based, different types have different options for configuring the wells and plates.
The most flexible kind assay is the "General Purpose Assay Type", or GPAT, which includes by default only the minimal fields that are required by any assay.
Create an Assay Design
When you create an assay design
, you start from some assay type, give it a unique name, and then customize the original assay type defaults to fit your specific requirements.
- Click New Assay Design in the Assay List web part (or via (Admin) > Manage Assays).
- Select the "assay type" (e.g., "General") from the menu.
- Select the Assay Location: This determines where the assay design is available. You can scope your design to the current folder, the current project, or place it in the Shared project to make it available site wide.
- Click Next.
- Enter Assay Properties:
- Assay properties are set once for all uses of the design. For example, whether runs/results are editable and whether to enable setting of QC states.
- Enter a unique Name: the name is always required and cannot be changed after the design is created.
- Any fields already part of the assay type you selected are prepopulated in batch, run, and results field sections. You can see the number of fields defined in the header bar for each section.
- Review the predefined fields, add any new ones, and make any changes needed.
- Click Add Field to add a new field.
- Drag and drop to rearrange fields using the handles on the left.
- If you need to remove a field, click the .
- Open the settings and properties panel for fields using the (expansion) icon.
- Learn more about editing properties of fields in this topic: Field Editor
- Click Save when finished. Your new assay is now listed in the Assay List web part.
Once defined, you can import as many data files as you wish using this design.
To edit, copy, delete or export an assay design, please see: Manage an Assay Design
Other Ways to Create Assay Designs
Use an Existing Assay Design as a Template
You can also create a new assay design by copying from an existing design that is closer to your needs than any of the built in types. See Manage an Assay Design
Infer an Assay Design from Spreadsheet Data
Another way to create an assay design is to infer it from a sample spreadsheet, then edit to change the fields and properties as needed.
- Upload the sample spreadsheet to the file browser in the desired folder.
- Select it and click Import Data.
- In the popup, select the option to Create New <TYPE> Assay Design.
- Provide a name and adjust the information inferred from the file.
- Click Begin Import or use Show Assay Designer to make further changes.
- If you use Show Assay Designer, then after you save, you will be taken to the first step of importing the data. You may Cancel at this point to save the new design without actually importing the data.
Note that LabKey does have a few reserved names in the assay framework, including "container, created, createdBy, modified, and modifiedBy", so if your spreadsheet contains these columns you may encounter mapping errors if you try to create a new assay from it. You can work around this issue during assay design creation by editing the names of these columns and using the Advanced > Import Aliases option to map the original name to the new name you added.
You can also infer only one or more sets of fields from spreadsheets. Find an example in the GPAT assay tutorial here: Step 2: Infer an Assay Design from Spreadsheet Data
Use an Assay Design Exported in a XAR Archive
Assay designs are included in XAR archives
. To import an assay design from a XAR file, review this topic: Export/Import Assay Design