Customize the Bioregistry

2024-04-25

Premium Feature — Available with LabKey Biologics LIMS. Learn more or contact LabKey.

This topic covers how an administrator can create new Registry Source Types in the Bioregistry and edit the fields in the existing Registry Source Types, including all built in types and, in the Enterprise Edition, Media definitions.

Definitions

The term Registry Source Type applies to all of the following entities in the Biologics application. These are two of the categories of Data Class available in LabKey Server. Within the Biologics application you cannot see or change the category, though if you access these structures outside the application you will be able to see the category.

  • Registry Source Types: (Category=registry)
    • CellLine
    • Construct
    • ExpressionSystem
    • MolecularSpecies
    • Molecule
    • MoleculeSet
    • NucSequence
    • ProtSequence
    • Vector
  • Media Types: (Category=media)
    • Ingredients
    • Mixtures

Edit Existing Registry Source Types

The default set of Registry Source and Media Types in Biologics are designed to meet a common set of needs for properties and fields for the Bioregistry and Media sections.

If you want to customize these designs, you can edit them within the Biologics application as follows.

Open the desired type from the main menu. All entries under Registry and Media are editable. Select Manage > Edit [Registry Source Type] Design. In this example, we'll edit the Molecules design:

You can edit the Name, Description, and Naming Pattern if desired. Note that such changes to the definition do not propagate into changing names of existing entities. For custom Registry Source Types, you can also add or update lineage.

Click the Fields section to open it. You'll be able to adjust the fields and their properties here.

  • Default System Fields are always present. You can use checkboxes for whether the Description is enabled (or required) but the Name field is always both enabled and required. This section can be collapsed by clicking the .
  • Custom Fields can be added, edited, exported, searched, and shown in detail mode as needed.

Any field properties that cannot be edited are shown read only, but you may be able to adjust other properties of those fields. For example, you cannot change either the name or lookup definition for the "moleculeSetId" field shown below, but you could expand the field and change the label so that it had a different column heading in your grids.

When finished click Finish Editing Registry Source Type in the lower right.

Create New Registry Source Type

From the main menu, click Registry. Click Create Registry Source Type.

Define the Registry Source Properties:

  • Name: (Required) Must be unique.
  • Description
  • Naming Pattern: Naming patterns are used to generate unique IDs for every member of this type.
    • Learn more in this topic: Naming Patterns.
    • It is best practice to use a naming pattern that will help identify the registry type. Our built in types use the initials of the type (like CL for Cell Lines).
    • For example, to use "DC-" followed by the date portion of when the entity is added, plus an incrementing number you could use:
      DC-${now:date}-${genId}
  • If you want to add lineage relationships for 'ancestors' of this new Registry Source, click Add Parent Alias. Learn more below.
Click the Fields section to open it. You'll see Default System Fields, and can import, infer, or manually define the fields you need using the field editor.

When finished, click Finish Creating Registry Source Type. Your new class will now appear on the registry dashboard and can have new entities added as for other registry source types.

Lineage for Custom Registry Source Types

The lineage relationships among the built-in Registry Source Types are pre-defined. Learn more in this topic: Biologics: Terminology

When you create your own Custom Registry Source Types, you can include Parent Aliases in the definition, making it possible to define your own lineage relationships.

To add a new lineage relationship, either define it when you create the new Registry Source Type or edit it later. Click Add Parent Alias. Provide the name of the column in which the parent will be imported, and select the parent type. Choose "(Current Data Class)" if members of this Registry Source Type will have parents of the same type.

You can add as many types of parent as you will need. The Parent Import Alias field(s) will then be shown in the Details hover panel and you'll be able to add parent sources of that type.

  • For creating or updating entities from file, use this alias field name (in this example, "CellLineParent") to provide parent entities of that type. It will be included in the downloadable template to assist you.
  • When creating new entities in a grid, the alias is not used, but a parent column of the type of each alias defined will be included (in this example "Cellline Parents") to encourage users to provide the lineage details. You can click Add Parent to add more parents as needed.

Delete Custom Registry Type

You cannot delete the built in Registry Source Types, but if you add a new custom one, you will have the ability to delete it. Before deleting the type, you may want to delete all members of the type. If any members are depended upon by other entities, deletion will be prevented allowing you to edit to change the connections before deleting the type.

  • Select the custom type to delete from the Registry section of the main menu.
  • Select Manage > Delete [Registry Source Type].

Deleting a registry source type cannot be undone and will delete all members of the type and data dependencies as well. You will be asked to confirm the action before it completes, and can enter a comment about the deletion for the audit log.

Related Topics