TeselaGen uses a sample management scheme that provides granular control and reporting of complex multi-step laboratory processes. One way to think about the way sample data is organized is to think in terms of different layers or levels of information. At the topmost level, we have the Platonic ideal of say, a DNA or Amino Acid sequence in all its glory. This abstraction exists without reference to any particular physical DNA or Amino Acid sequence and the messy details that follow it in real life. In the TeselaGen scheme, this level of information is referred to as 'Reference Information', and includes the idea of a 'DNA Sequence', 'Coding Sequence', 'RNA Sequence', 'Amino Acid Sequence', 'Genome', 'Genomic Region', Functional Protein Units', 'Microbial Strains', and 'Cell Lines' among others. For example, Functional Protein Units are an abstraction helpful in focusing one's attention on regions of a protein of particular interest for protein engineers. At this level our schema looks something like this (note that you can right-click on these images to open them in a new tab at full resolution):
At the next level down, we have the notion of a 'Material'. A material is tied tightly to its corresponding reference information and is used as a bridge to the real world of samples and aliquots. Materials available in the system are 'DNA Materials', 'RNA Materials', 'Microbial Materials', 'Cell Cultures', 'Protein Materials', among others. With this information, our schema looks like this:
At the lower levels, we get specific about actual samples and aliquots. Samples make the connection between various types of materials (DNA, Protein, Microbial, etc.) and thier physical presence in the lab as an aliquot with a volume, concentration, plate/well, location, etc. Many samples can be associated with a material definition, and likewise, many aliquots can be associated with an originating sample. The need for these three levels of abstraction becomes clear in more complex workflows such as hit picking, say for sequencing QC purposes, where you may take several distinct "samples" in the form of colonies all of which point to the same reference information, but from which will be derived separate aliquots in later steps... leading eventually to sequencing data (measured sequence) which we want to keep distinct and unique to the sample/hit for comparison to the original reference sequence. Volume tracking is also a necessary feature for full-tracking systems like TeselaGen, but often volume needs to be adjusted, so the system allows you to modify or add to volumes and adjust concentrations as needed. With this next level of tracking our set of relationships might look something like this (right-click and open in a new tab, or zoom browser to view details):
Tracking in the real world adds a good deal of complexity. Here we show a simplified workflow for what might be a microbial transformation followed at some point by protein extraction and purification. We are leaving out steps in order to focus on how tracking is done at the sample/aliquot level.
In this example, 100 uL from microbial material 'Sample A, Tube C, Aliquot 15' is pooled with a 100 uL from DNA material 'Sample B, Tube B, Aliquot 14'. This '(Pooled) Sample C, Tube D, Aliquot 16' constitutes a 'Formulation' that brought two distinct sample/aliquots together.
Next, a reaction between the two samples is recorded via a 'Reaction Map' whereby the 'Two Material Pooled Sample C' is transformed into a 'New Material Sample C, Tube D, Aliquot 16'. Note that the reaction vessel 'Tube D' and the aliquot 'Aliquot 16' stay the same in this example.
In the final step, a 30 uL aliquot is taken from 'Sample C, Tube D Aliquot 16' into 'Sample C, Tube E, Aliquot 17', then put through a "protein purification" step that is captured by another reaction map and worklist, yielding a final product 'Sample D, Tube F, Aliquot 18'. Note that in a process like protein purification that may use intermediate tubes and plates that are not saved, the most important entities to track are those that are input to a procedure and those that emerge at the end.
Note that the final purified protein is automatically tied back to the material definition and reference information for the protein.
Worklists can make new aliquots and samples
Reaction maps only make new samples