Icon

Plate map randomiser (Workflow) v1.3

Plate map randomiser

Ver 1.2 2022-08-25

This a workflow to generate a table of compounds, controls and DMSO wells randomised in a microplate. Formats of 96, 384, and 1536 wells are supported in this workflow module.

User inputs required:
a) Number of copies of randomised plates
b) Number of unique samples to be randomised
c) Number of replicates of unique samples
d) Number of unique 100%-effect compounds (known as HPE, or 'positive control') in a plate
e) Number of replicates of unique HPEs in a plate
f) Number of unique 0%-effect compounds (known as ZPE, or 'negative control') in a plate
g) Number of replicates of unique ZPEs in a plate
h) Plate format (6, 24, 96, 384 and 1536-well plate)
i) The option for well positions to be sortable (i.e. A01 instead of A1)

The number of unique samples can be greater than the limit of the plate format, which then leads to generation of multiple plates per randomisation copy.

For ease of dispensing, replicates of a unique sample will be placed in the same plate in each randomisation copy, with the randomisation occuring at the destination well of the plate.

Wells which are not filled with any of the samples or controls will be labelled as DMSO.

The output of the component is a table of compounds and controls randomised in a plate. The user is then able to use this table to perform downstream work e.g. linking randomised wells to the list of library compounds of interest.

The workflow also includes a plate map visualiser to check and confirm that the sample and control wells have been randomised sufficiently.

A component is also present in this workflow, with the expanded workflow illustrated as well. The component is also separately in a different KNIME Hub public space upload.

This workflow has been updated to include KNIME nodes only.

Component - widget Expanded workflow of the widget-based component Plate map visualiser (sanity check) Plate map visualiser (sanity check) Plate map visualiser (sanity check) Component - config Expanded workflow of the config-based component Plate map visualiser (sanity check) Creates well position from row and column valuesGenerates counter in association with plate wellsAssociates plate well with the counter number (Random Values)Starts loop based on number of copies (replicate plates)Isolates the numberfor calculationCreates empty tableConverts to flow variableAdd counters for columnCalculates number of rowsRename to plateColumnRename to plateRowCalculates number of columnsConverts into variablesCreates empty tableAdd counters of rowCross-join column and row numbersAdd counters for columnCreates empty tableRename to CmpdDuplicates the rows based on replicatesAdds sample replicateConverts string to numberExtracts RepID from rowIDConcatenate cmpd name with replicatesSplits cell based on _Filters columnMerge all variablesRename to HPEControlAdd counters for columnCreates empty tableCalculates ZPE controls per plateCalculate HPE controls per plateFilters columnDuplicates the rows based on replicatesAdds HPE replicateConverts string to numberExtracts RepID from rowIDConcatenate HPEwith replicatesSplits cell based on _Adds ZPE replicateConverts string to numberExtracts RepID from rowIDConcatenate ZPE with replicatesRename to ZPEControlSplits cell based on _Add counters for columnCreates empty tableFilters columnDuplicates the rows based on replicatesStart chunk loop based on number of samples per plateCalculates number of samples per plate (excluding controls)Concatenate samples, HPE and ZPEEnds chunk loopExtracts number of rowsAppends the two columnsShuffles the list of samplesCalculates number of wells (i.e. plate format)Calculates plate iterationGenerates plate numberFilters columnEnds the counting loopCalculate copy/replicateGenerates copy numberFilters columnCreate Cmpd nameCreate HPE nameCreate ZPE nameGenerates PlateID by concatenating plate number with copy numberVisualize all wells in a heat mapSplits compound nameCreates row number depending on the plate formatAdd countersJoins the two tables togetherFills missing number (wells) with DMSOFilters off control and DMSOSeparates DMSO wells and control wellsAssigns -1 to DMSOAssigns 0 to controlsCombines all wellsAssociates plate well with the counter number (Random Values)Starts loop based on number of copies (replicate plates)Ends chunk loopExtracts number of rowsRename to CmpdAppends the two columnsDuplicates the rows based on replicatesShuffles the list of samplesAdds sample replicateCalculates number of wells (i.e. plate format)Converts string to numberCalculates plate iterationExtracts RepID from rowIDConcatenate cmpd name with replicatesSplits cell based on _Generates column headersAdds a rowTransposeGenerates plate numberFilters columnEnds the counting loopFilters columnCalculate copy/replicateIsolates the numberfor calculationMerge all variablesGenerates copy numberCreates empty tableConverts to flow variableFilters columnRename to HPEControlCreate Cmpd nameAdd counters for columnCreate HPE nameCreates empty tableCreate ZPE nameCalculates ZPE controls per plateCalculate HPE controls per plateSets the quantity of samples, HPE, ZPE and the corresponding replicates and copiesFilters columnDuplicates the rows based on replicatesConverts to variablesGenerates counter in association with plate wellsAdd counters for columnCalculates number of rowsRename to plateColumnRename to plateRowGenerates PlateID by concatenating plate number with copy numberCalculates number of columnsVisualize all wells in a heat mapConverts into variablesSplits compound nameCreates empty tableCreates row number depending on the plate formatAdd counters of rowAdds HPE replicateCross-join column and row numbersConverts string to numberAdd countersExtracts RepID from rowIDJoins two tables togetherConcatenate HPEwith replicatesSplits cell based on _Fills missing number (wells) with DMSOAdds ZPE replicateFilters off control and DMSOConverts string to numberExtracts RepID from rowIDConcatenate ZPE with replicatesRename to ZPEControlSeparates DMSO wells and control wellsAssigns -1 to DMSOAssigns 0 to controlsCombines all wellsSplits cell based on _Add counters for columnCreates empty tableFilters columnDuplicates the rows based on replicatesSelects plate formatStart chunk loop based on number of samples per plateCalculates number of samples per plate (excluding controls)Concatenate samples, HPE and ZPEChoice to select sortable format for well position (e.g. A01, A02 etc)Sorts column order if necessaryRenames columnAdd counters for columnCreates empty tableGenerates table of compounds, controls and DMSO randomized in a plateShuffles countersFilters the number of rowsCalculates number of rows to be filteredPlate replicatesSplits compound nameCombines all wellsFilters off control and DMSOGenerates table of compounds, controls and DMSO randomized in a plateSeparates DMSO wells and control wellsAssigns -1 to DMSOAssigns 0 to controlsVisualize all wells in a heat mapCreates well position from row and column valuesShuffles countersFilters the number of rowsCalculates number of rows to be filteredChoice to select sortable format for well position (e.g. A01, A02 etc)Selects plate formatUnique samplesSample replicates in a plateUnique HPE controls per plateHPE replicates per plateUnique ZPE controls per plateZPE replicates per plateNode 701Filters off control and DMSOVisualize all wells in a heat mapSeparates DMSO wells and control wellsSplits compound nameAssigns -1 to DMSOAssigns 0 to controlsCombines all wellsFilters out EMPTYAdd EMPTY in case of zero entryFilters out EMPTYAdd EMPTY in case of zero entryAdd EMPTY in case of zero entryFilters out EMPTYFilters out EMPTYAdd EMPTY in case of zero entryFilters out EMPTYAdd EMPTY in case of zero entryAdd EMPTY in case of zero entryFilters out EMPTY Plate well position creator(Component - config) Counter Generation Joiner Counting Loop Start Cell Splitter Empty Table Creator Variable toTable Row Counter Generation Math Formula Column Rename Column Rename Math Formula Table Rowto Variable Empty Table Creator Counter Generation Cross Joiner Counter Generation Empty Table Creator Column Rename One Row to Many ConstantValue Column String To Number RowID String Manipulation Cell Splitter Table Manipulator Merge Variables Column Rename Counter Generation Empty Table Creator Math Formula(Variable) Math Formula(Variable) Table Manipulator One Row to Many ConstantValue Column String To Number RowID String Manipulation Cell Splitter ConstantValue Column String To Number RowID String Manipulation Column Rename Cell Splitter Counter Generation Empty Table Creator Table Manipulator One Row to Many Chunk Loop Start Math Formula(Variable) Concatenate Loop End Extract TableDimension Column Appender Shuffle Math Formula(Variable) Math Formula String Manipulation Table Manipulator Loop End Math Formula String Manipulation Table Manipulator String Manipulation String Manipulation String Manipulation String Manipulation Plate HeatmapViewer Cell Splitter Empty Table Creator Counter Generation Joiner Missing Value Row Splitter Row Splitter Missing Value Missing Value Concatenate Joiner Counting Loop Start Loop End Extract TableDimension Column Rename Column Appender One Row to Many Shuffle ConstantValue Column Math Formula(Variable) String To Number Math Formula RowID String Manipulation Cell Splitter Table Creator Add Empty Rows Transpose String Manipulation Table Manipulator Loop End Table Manipulator Math Formula Cell Splitter Merge Variables String Manipulation Empty Table Creator Variable toTable Row Table Manipulator Column Rename String Manipulation Counter Generation String Manipulation Empty Table Creator String Manipulation Math Formula(Variable) Math Formula(Variable) Table Editor Table Manipulator One Row to Many Table Columnto Variable Counter Generation Counter Generation Math Formula Column Rename Column Rename String Manipulation Math Formula Plate HeatmapViewer Table Rowto Variable Cell Splitter Empty Table Creator Empty Table Creator Counter Generation ConstantValue Column Cross Joiner String To Number Counter Generation RowID Joiner String Manipulation Cell Splitter Missing Value ConstantValue Column Row Splitter String To Number RowID String Manipulation Column Rename Row Splitter Missing Value Missing Value Concatenate Cell Splitter Counter Generation Empty Table Creator Table Manipulator One Row to Many Single SelectionWidget Chunk Loop Start Math Formula(Variable) Concatenate Boolean Widget Table Manipulator Table Manipulator Counter Generation Empty Table Creator Plate map randomiser(Component - widget) Shuffle Row Filter Math Formula(Variable) IntegerConfiguration Cell Splitter Concatenate Row Splitter Plate map randomiser(Component - config) Row Splitter Missing Value Missing Value Plate HeatmapViewer Plate well position creator(Component - config) Shuffle Row Filter Math Formula(Variable) BooleanConfiguration Single SelectionConfiguration IntegerConfiguration IntegerConfiguration IntegerConfiguration IntegerConfiguration IntegerConfiguration IntegerConfiguration Merge Variables Row Splitter Plate HeatmapViewer Row Splitter Cell Splitter Missing Value Missing Value Concatenate Row Filter Add Empty Rows Row Filter Add Empty Rows Add Empty Rows Row Filter Row Filter Add Empty Rows Row Filter Add Empty Rows Add Empty Rows Row Filter Component - widget Expanded workflow of the widget-based component Plate map visualiser (sanity check) Plate map visualiser (sanity check) Plate map visualiser (sanity check) Component - config Expanded workflow of the config-based component Plate map visualiser (sanity check) Creates well position from row and column valuesGenerates counter in association with plate wellsAssociates plate well with the counter number (Random Values)Starts loop based on number of copies (replicate plates)Isolates the numberfor calculationCreates empty tableConverts to flow variableAdd counters for columnCalculates number of rowsRename to plateColumnRename to plateRowCalculates number of columnsConverts into variablesCreates empty tableAdd counters of rowCross-join column and row numbersAdd counters for columnCreates empty tableRename to CmpdDuplicates the rows based on replicatesAdds sample replicateConverts string to numberExtracts RepID from rowIDConcatenate cmpd name with replicatesSplits cell based on _Filters columnMerge all variablesRename to HPEControlAdd counters for columnCreates empty tableCalculates ZPE controls per plateCalculate HPE controls per plateFilters columnDuplicates the rows based on replicatesAdds HPE replicateConverts string to numberExtracts RepID from rowIDConcatenate HPEwith replicatesSplits cell based on _Adds ZPE replicateConverts string to numberExtracts RepID from rowIDConcatenate ZPE with replicatesRename to ZPEControlSplits cell based on _Add counters for columnCreates empty tableFilters columnDuplicates the rows based on replicatesStart chunk loop based on number of samples per plateCalculates number of samples per plate (excluding controls)Concatenate samples, HPE and ZPEEnds chunk loopExtracts number of rowsAppends the two columnsShuffles the list of samplesCalculates number of wells (i.e. plate format)Calculates plate iterationGenerates plate numberFilters columnEnds the counting loopCalculate copy/replicateGenerates copy numberFilters columnCreate Cmpd nameCreate HPE nameCreate ZPE nameGenerates PlateID by concatenating plate number with copy numberVisualize all wells in a heat mapSplits compound nameCreates row number depending on the plate formatAdd countersJoins the two tables togetherFills missing number (wells) with DMSOFilters off control and DMSOSeparates DMSO wells and control wellsAssigns -1 to DMSOAssigns 0 to controlsCombines all wellsAssociates plate well with the counter number (Random Values)Starts loop based on number of copies (replicate plates)Ends chunk loopExtracts number of rowsRename to CmpdAppends the two columnsDuplicates the rows based on replicatesShuffles the list of samplesAdds sample replicateCalculates number of wells (i.e. plate format)Converts string to numberCalculates plate iterationExtracts RepID from rowIDConcatenate cmpd name with replicatesSplits cell based on _Generates column headersAdds a rowTransposeGenerates plate numberFilters columnEnds the counting loopFilters columnCalculate copy/replicateIsolates the numberfor calculationMerge all variablesGenerates copy numberCreates empty tableConverts to flow variableFilters columnRename to HPEControlCreate Cmpd nameAdd counters for columnCreate HPE nameCreates empty tableCreate ZPE nameCalculates ZPE controls per plateCalculate HPE controls per plateSets the quantity of samples, HPE, ZPE and the corresponding replicates and copiesFilters columnDuplicates the rows based on replicatesConverts to variablesGenerates counter in association with plate wellsAdd counters for columnCalculates number of rowsRename to plateColumnRename to plateRowGenerates PlateID by concatenating plate number with copy numberCalculates number of columnsVisualize all wells in a heat mapConverts into variablesSplits compound nameCreates empty tableCreates row number depending on the plate formatAdd counters of rowAdds HPE replicateCross-join column and row numbersConverts string to numberAdd countersExtracts RepID from rowIDJoins two tables togetherConcatenate HPEwith replicatesSplits cell based on _Fills missing number (wells) with DMSOAdds ZPE replicateFilters off control and DMSOConverts string to numberExtracts RepID from rowIDConcatenate ZPE with replicatesRename to ZPEControlSeparates DMSO wells and control wellsAssigns -1 to DMSOAssigns 0 to controlsCombines all wellsSplits cell based on _Add counters for columnCreates empty tableFilters columnDuplicates the rows based on replicatesSelects plate formatStart chunk loop based on number of samples per plateCalculates number of samples per plate (excluding controls)Concatenate samples, HPE and ZPEChoice to select sortable format for well position (e.g. A01, A02 etc)Sorts column order if necessaryRenames columnAdd counters for columnCreates empty tableGenerates table of compounds, controls and DMSO randomized in a plateShuffles countersFilters the number of rowsCalculates number of rows to be filteredPlate replicatesSplits compound nameCombines all wellsFilters off control and DMSOGenerates table of compounds, controls and DMSO randomized in a plateSeparates DMSO wells and control wellsAssigns -1 to DMSOAssigns 0 to controlsVisualize all wells in a heat mapCreates well position from row and column valuesShuffles countersFilters the number of rowsCalculates number of rows to be filteredChoice to select sortable format for well position (e.g. A01, A02 etc)Selects plate formatUnique samplesSample replicates in a plateUnique HPE controls per plateHPE replicates per plateUnique ZPE controls per plateZPE replicates per plateNode 701Filters off control and DMSOVisualize all wells in a heat mapSeparates DMSO wells and control wellsSplits compound nameAssigns -1 to DMSOAssigns 0 to controlsCombines all wellsFilters out EMPTYAdd EMPTY in case of zero entryFilters out EMPTYAdd EMPTY in case of zero entryAdd EMPTY in case of zero entryFilters out EMPTYFilters out EMPTYAdd EMPTY in case of zero entryFilters out EMPTYAdd EMPTY in case of zero entryAdd EMPTY in case of zero entryFilters out EMPTY Plate well position creator(Component - config) Counter Generation Joiner Counting Loop Start Cell Splitter Empty Table Creator Variable toTable Row Counter Generation Math Formula Column Rename Column Rename Math Formula Table Rowto Variable Empty Table Creator Counter Generation Cross Joiner Counter Generation Empty Table Creator Column Rename One Row to Many ConstantValue Column String To Number RowID String Manipulation Cell Splitter Table Manipulator Merge Variables Column Rename Counter Generation Empty Table Creator Math Formula(Variable) Math Formula(Variable) Table Manipulator One Row to Many ConstantValue Column String To Number RowID String Manipulation Cell Splitter ConstantValue Column String To Number RowID String Manipulation Column Rename Cell Splitter Counter Generation Empty Table Creator Table Manipulator One Row to Many Chunk Loop Start Math Formula(Variable) Concatenate Loop End Extract TableDimension Column Appender Shuffle Math Formula(Variable) Math Formula String Manipulation Table Manipulator Loop End Math Formula String Manipulation Table Manipulator String Manipulation String Manipulation String Manipulation String Manipulation Plate HeatmapViewer Cell Splitter Empty Table Creator Counter Generation Joiner Missing Value Row Splitter Row Splitter Missing Value Missing Value Concatenate Joiner Counting Loop Start Loop End Extract TableDimension Column Rename Column Appender One Row to Many Shuffle ConstantValue Column Math Formula(Variable) String To Number Math Formula RowID String Manipulation Cell Splitter Table Creator Add Empty Rows Transpose String Manipulation Table Manipulator Loop End Table Manipulator Math Formula Cell Splitter Merge Variables String Manipulation Empty Table Creator Variable toTable Row Table Manipulator Column Rename String Manipulation Counter Generation String Manipulation Empty Table Creator String Manipulation Math Formula(Variable) Math Formula(Variable) Table Editor Table Manipulator One Row to Many Table Columnto Variable Counter Generation Counter Generation Math Formula Column Rename Column Rename String Manipulation Math Formula Plate HeatmapViewer Table Rowto Variable Cell Splitter Empty Table Creator Empty Table Creator Counter Generation ConstantValue Column Cross Joiner String To Number Counter Generation RowID Joiner String Manipulation Cell Splitter Missing Value ConstantValue Column Row Splitter String To Number RowID String Manipulation Column Rename Row Splitter Missing Value Missing Value Concatenate Cell Splitter Counter Generation Empty Table Creator Table Manipulator One Row to Many Single SelectionWidget Chunk Loop Start Math Formula(Variable) Concatenate Boolean Widget Table Manipulator Table Manipulator Counter Generation Empty Table Creator Plate map randomiser(Component - widget) Shuffle Row Filter Math Formula(Variable) IntegerConfiguration Cell Splitter Concatenate Row Splitter Plate map randomiser(Component - config) Row Splitter Missing Value Missing Value Plate HeatmapViewer Plate well position creator(Component - config) Shuffle Row Filter Math Formula(Variable) BooleanConfiguration Single SelectionConfiguration IntegerConfiguration IntegerConfiguration IntegerConfiguration IntegerConfiguration IntegerConfiguration IntegerConfiguration Merge Variables Row Splitter Plate HeatmapViewer Row Splitter Cell Splitter Missing Value Missing Value Concatenate Row Filter Add Empty Rows Row Filter Add Empty Rows Add Empty Rows Row Filter Row Filter Add Empty Rows Row Filter Add Empty Rows Add Empty Rows Row Filter

Nodes

Extensions

Links