GTAC IDs - GTAC-MGI/GTAC-ESP-LIMS GitHub Wiki
Description
This identifier should stick with the sample through all steps of the process, just changing suffix but not the integers. It cannot be the same as the ESP assigned entity number, since that may change through the different steps of the process.
GTAC IDs are generated in startable workflow nodes and sample protocols.
Unique sample identifier for ESP/Bartender labeling – RNAseq workflow = GTAC ID & Pool ID
In order to generate a 2D barcode for the labels, the identifier must be 13 characters long. We have designed the Bartender template to hide the first 6 characters and only print the last 7 characters for the human readable ID. The ID should have 6 integers and a single letter suffix to identify the entity type. The actual IDs would be 000000000123R, 000000000124R, etc. But for the label and all locations this appears in ESP, it should appear as 000123 or 000123R etc. In every location that ESP displays the sample name, there should also be this identifier displayed as well. ESP should assign these integers sequentially as new samples/specimens are accessioned. For Bartender, the suffix should be assigned based on which entity we are making labels per list below.
Suffixes to be used:
- T = Tissue
- E = Cells
- Y = Lysate
- R = total RNA/RNA
- C = cDNA
- M = mRNA
- L = Illumina Library
For additional workflows:
- D = gDNA/DNA
- U = Dilution
- S = Pool
When combining multiple libraries for sequencing, we would need to create a new "Pool ID" since all samples within the pool had their own GTAC ID. So, the Pool ID would be a new 6 digit integer followed by the letter S to indicate sequencing readiness and would stick with the “pool” for the remainder of the workflow. We would also need to be able to show a list of all samples/GTAC IDs included.
Somewhat related: Sample Name is the name given to a sample by a collaborator, and is not unique - a dilution or sample can have the same name as their parents.
Documentation on hid_for_uuid
: https://gtac-mgi-lims.wustl.edu/doc/expressions/expressions.html?highlight=hid_for_uuid
Expression Examples
use the parent HID number for the GTAC ID (one-to-one sample protocols)
{{ gtac_id(entity_value('uuid')) }}
use a new HID number for the GTAC ID (fan-in and fan-out sample protocols)
{{ gtac_id(entity_value('uuid'), hid_for_uuid(entity_value('uuid'), 'gtac_seq')) }}
use the current GTAC ID if it exists, otherwise create a new one with the parent HID
{{ entity_value('GTAC_ID') or gtac_id(entity_value('uuid')) }}
use the current GTAC ID if it exists, otherwise create a new one with a new HID (for startable workflow nodes)
{{ entity_value('GTAC_ID') or gtac_id(entity_value('uuid'), hid_for_uuid(entity_value('uuid'), 'gtac_seq')) }}