LabKey modules expose their data to the LabKey query engine in one or more schemas. This reference topic outlines the schema used by the Flow module to assist you when writing custom Flow queries.
The Flow schema has the following tables in it:
Runs Table | |
This table shows experiment runs for all three of the Flow protocol steps. It has the following columns: | |
RowId | A unique identifier for the run. Also, when this column is used in a query, it is a lookup back to the same row in the Runs table. That is, including this column in a query will allow the user to display columns from the Runs table that have not been explicitly SELECTed into the query |
Flag | The flag column. It is displayed as an icon which the user can use to add a comment to this run. The flag column is a lookup to a table which has a text column “comment”. The icon appears different depending on whether the comment is null. |
Name | The name of the run. In flow, the name of the run is always the name of the directory which the FCS files were found in. |
Created | The date that this run was created. |
CreatedBy | The user who created this run. |
Folder | The folder or project in which this run is stored. |
FilePathRoot | (hidden) The directory on the server's file system where this run's data files come from. |
LSID | The life sciences identifier for this run. |
ProtocolStep | The flow protocol step of this run. One of “keywords”, “compensation”, or “analysis” |
RunGroups | A unique ID for this run. |
AnalysisScript | The AnalysisScript that was used in this run. It is a lookup to the AnalysisScripts table. It will be null if the protocol step is “keywords” |
Workspace | |
CompensationMatrix | The compensation matrix that was used in this run. It is a lookup to the CompensationMatrices table. |
TargetStudy | |
WellCount | The number of FCSFiles that we either inputs or outputs of this run. |
FCSFileCount | |
CompensationControlCount | |
FCSAnalysisCount |
CompensationMatrices Table | |
This table shows all of the compensation matrices that have either been calculated in a compensation protocol step, or uploaded. It has the following columns in it: | |
RowId | A unique identifier for the compensation matrix. |
Name | The name of the compensation matrix. Compensation matrices have the same name as the run which created them. Uploaded compensation matrices have a user-assigned name. |
Flag | A flag column to allow the user to add a comment to this compensation matrix |
Created | The date the compensation matrix was created or uploaded. |
Protocol | (hidden) The protocol that was used to create this compensation matrix. This will be null for uploaded compensation matrices. For calculated compensation matrices, it will be the child protocol “Compensation” |
Run | The run which created this compensation matrix. This will be null for uploaded compensation matrices. |
Value | A column set with the values of compensation matrix. Compensation matrix values have names which are of the form “spill(channel1:channel2)” |
In addition, the CompensationMatrices table defines a method Value which returns the corresponding spill value.
The following are equivalent:
CompensationMatrices.Value."spill(FL-1:FL-2) "
CompensationMatrices.Value('spill(FL-1:FL-2)')
The Value method would be used when the name of the statistic is not known when the QueryDefinition is created, but is found in some other place (such as a table with a list of spill values that should be displayed).
FCSFiles Table | |
The FCSFiles table lists all of the FCS files in the folder. It has the following columns: | |
RowId | A unique identifier for the FCS file |
Name | The name of the FCS file in the file system. |
Flag | A flag column for the user to add a comment to this FCS file on the server. |
Created | The date that this FCS file was loaded onto the server. This is unrelated to the date of the FCS file in the file system. |
Protocol | (hidden) The protocol step that created this FCS file. It will always be the Keywords child protocol. |
Run | The experiment run that this FCS file belongs to. It is a lookup to the Runs table. |
Keyword | A column set for the keyword values. Keyword names are case sensitive. Keywords which are not present are null. |
Sample | The sample description which is linked to this FCS file. If the user has not uploaded sample descriptions (i.e. defined the target table), this column will be hidden. This column is a lookup to the samples.Samples table. |
In addition, the FCSFiles table defines a method Keyword which can be used to return a keyword value where the keyword name is determined at runtime.
FCSAnalyses Table | |
The FCSAnalyses table lists all of the analyses of FCS files. It has the following columns: | |
RowId | A unique identifier for the FCSAnalysis |
Name | The name of the FCSAnalysis. The name of an FCSAnalysis defaults to the same name as the FCSFile. This is a setting which may be changed. |
Flag | A flag column for the user to add a comment to this FCSAnalysis. |
Created | The date that this FCSAnalysis was created. |
Protocol | (hidden) The protocol step that created this FCSAnalysis. It will always be the Analysis child protocol. |
Run | The run that this FCSAnalysis belongs to. Note that FCSAnalyses.Run and FCSAnalyses.FCSFile.Run refer to different runs. |
Statistic | A column set for statistics that were calculated for this FCSAnalysis. |
Graph | A column set for graphs that were generated for this FCSAnalysis. Graph columns display nicely on LabKey, but their underlying value is not interesting. They are a lookup where the display field is the name of the graph if the graph exists, or null if the graph does not exist. |
FCSFile | The FCSFile that this FCSAnalysis was performed on. This is a lookup to the FCSFiles table. |
In addition, the FCSAnalyses table defines the methods Graph, and Statistic.
CompensationControls Table | |||||||
The CompensationControls table lists the analyses of the FCS files that were used to calculate compensation matrices. Often (as in the case of a universal negative) multiple CompensationControls are created for a single FCS file. The CompensationControls table has the following columns in it: | |||||||
RowId | A unique identifier for the compensation control | ||||||
Name | The name of the compensation control. This is the channel that it was used for, followed by either “+”, or “-“ | ||||||
Flag | A flag column for the user to add a comment to this compensation control. | ||||||
Created | The date that this compensation control was created. | ||||||
Protocol | (hidden) | ||||||
Run | The run that this compensation control belongs to. This is the run for the compensation calculation, not the run that the FCS file belongs to. | ||||||
Statistic | A column set for statistics that were calculated for this compensation control. The following statistics are calculated for a compensation control:
|
||||||
Graph | A column set for graphs that were generated for this compensation control. The names of graphs for compensation controls are of the form:
comp(channelName) or comp(<channelName>) The latter is shows the post-compensation graph. |
In addition, the CompensationControls table defines the methods Statistic and Graph.
AnalysisScripts Table | |
The AnalysisScripts table lists the analysis scripts in the folder. This table has the following columns: | |
RowId | A unique identifier for this analysis script. |
Name | The user-assigned name of this analysis script |
Flag | A flag column for the user to add a comment to this analysis script. |
Created | The date this analysis script was created. |
Protocol | (hidden) |
Run | (hidden) |
Analyses Table | |
The Analyses table lists the experiments in the folder with the exception of the one named Flow Experiment Runs. This table has the following columns: | |
RowId | A unique identifier |
LSID | (hidden) |
Name | |
Hypothesis | |
Comments | |
Created | |
CreatedBy | |
Modified | |
ModifiedBy | |
Container | |
CompensationRunCount | The number of compensation calculations in this analysis. It is displayed as a hyperlink to the list of compensation runs. |
AnalysisRunCount | The number of runs that have been analyzed in this analysis. It is displayed as a hyperlink to the list of those run analyses |