LabKey modules expose their data to the LabKey query engine in one or more schemas. This page outlines the Flow Module's schema, which is helpful to use as a reference when writing custom Flow queries.

Flow Module

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:
RowIdA 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
FlagThe 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.
NameThe 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.
CreatedThe date that this run was created.
CreatedByThe user who created this run.
FolderThe 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.
LSIDThe life sciences identifier for this run.
ProtocolStepThe flow protocol step of this run. One of “keywords”, “compensation”, or “analysis”
RunGroupsA unique ID for this run.
AnalysisScriptThe 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 
CompensationMatrixThe compensation matrix that was used in this run. It is a lookup to the CompensationMatrices table.
TargetStudy 
WellCountThe 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:
RowIdA unique identifier for the compensation matrix.
NameThe 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.
FlagA flag column to allow the user to add a comment to this compensation matrix
CreatedThe 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”
RunThe run which created this compensation matrix. This will be null for uploaded compensation matrices.
ValueA 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:
RowIdA unique identifier for the FCS file
NameThe name of the FCS file in the file system.
FlagA flag column for the user to add a comment to this FCS file on the server.
CreatedThe 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.
RunThe experiment run that this FCS file belongs to. It is a lookup to the Runs table.
KeywordA column set for the keyword values. Keyword names are case sensitive. Keywords which are not present are null.
SampleThe sample description which is linked to this FCS file. If the user has not uploaded sample descriptions, this column will be hidden, and it will be null. This column is a lookup to the SampleSet 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:
RowIdA unique identifier for the FCSAnalysis
NameThe 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.
FlagA flag column for the user to add a comment to this FCSAnalysis.
CreatedThe date that this FCSAnalysis was created.
Protocol(hidden) The protocol step that created this FCSAnalysis. It will always be the Analysis child protocol.
RunThe run that this FCSAnalysis belongs to. Note that FCSAnalyses.Run and FCSAnalyses.FCSFile.Run refer to different runs.
StatisticA column set for statistics that were calculated for this FCSAnalysis.
GraphA 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.
FCSFileThe 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:
RowIdA unique identifier for the compensation control
NameThe name of the compensation control. This is the channel that it was used for, followed by either “+”, or “-“
FlagA flag column for the user to add a comment to this compensation control.
CreatedThe date that this compensation control was created.
Protocol(hidden)
RunThe run that this compensation control belongs to. This is the run for the compensation calculation, not the run that the FCS file belongs to.
StatisticA column set for statistics that were calculated for this compensation control. The following statistics are calculated for a compensation control:
comp:CountThe number of events in the relevant population.
comp:Freq_Of_ParentThe fraction of events that made it through the last gate that was applied in the compensation calculation. This value will be 0 if no gates were applied to the compensation control.
comp:Median(channelName)The median value of the channelName

 

GraphA 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:
RowIdA unique identifier for this analysis script.
NameThe user-assigned name of this analysis script
FlagA flag column for the user to add a comment to this analysis script.
CreatedThe 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:
RowIdA unique identifier
LSID(hidden)
Name 
Hypothesis 
Comments 
Created 
CreatedBy 
Modified 
ModifiedBy 
Container 
CompensationRunCountThe number of compensation calculations in this analysis. It is displayed as a hyperlink to the list of compensation runs.
AnalysisRunCountThe number of runs that have been analyzed in this analysis. It is displayed as a hyperlink to the list of those run analyses

Discussion

previousnext
 
expand all collapse all