experimental library
Experimental lab protocols and Echo export functionality.
Provides export functionality for lab automation protocols, including Echo liquid handler integration, master mix calculations, PEG purification sheets, plate layout state, and PDF plate reports.
Classes
- EchoCsvResult
- Result of CSV generation for Echo liquid handler instructions.
- EchoPlateWindow
- HandleBarcodePainter
- Draws the slat pictogram in each well for the echo output export report. Each handle is given a colored bar, which matches the handle's category.
- MassFluorophoreEditResult
- Result of a mass fluorophore edit operation.
- MassManualEditResult
- Result of a mass manual edit operation.
- MasterMixConfig
- User-configurable constants for master mix preparation calculations.
- MasterMixResult
- Result of master mix Excel generation, including any volume warnings.
- PegPurificationConfig
- Configuration for PEG purification helper sheet generation.
- PegPurificationResult
- Result of PEG purification Excel generation, including any warnings.
- PlateActionBar
- PlateBorderPainter
- Paints a chamfered border stroke around the plate.
- PlateChamferClipper
- Clips content to the chamfered plate shape.
- PlateColorKeyBar
- PlateGrid
- PlateHeaderBar
- PlateLayoutState
- Manages the assignment of slats to 96-well plates.
- PlateUndoStack
- Manages undo/redo history for plate layout changes, storing deep copies of PlateLayoutState. Just a nice convenience function for users.
- SidebarSlatTile
- SlatSidebar
- WellConfig
- Per-well configuration for Echo liquid handler dispensing parameters.
- WellWidget
- WellWidgetState
Enums
- BufferSlatsMode
- CoreStaplesMode
- EchoWellColorMode
- Color mode for echo well outlines — local to the echo plate window.
Constants
- defaultCategoryColorHex → const int
- echoChamferSize → const double
- echoCollapsedHeight → const double
- echoGridPadding → const double
- echoHeaderCellSize → const double
- echoMaxWellVolumeNl → const double
- echoSidebarWidth → const double
- echoWellHeight → const double
- echoWellWidth → const double
- echoWindowWidth → const double
- emptyCategoryColorHex → const int
-
handleCategoryColors
→ const Map<
String, int> -
plateCols
→ const List<
int> -
plateRows
→ const List<
String>
Functions
-
baseSlatId(
String id) → String -
Returns the base slat ID by stripping the
~Nduplicate suffix. -
buildChamferedPlatePath(
Size size) → Path - Builds a chamfered plate path: 3 chamfered corners (H1 bottom-left, A12 top-right, H12 bottom-right) and 1 square corner (A1 top-left), matching Eppendorf twin-tec 96-well plate geometry.
-
buildPlateLayoutPdf(
Map< int, Map< plateAssignments, Map<String, String?> >String, Slat> slats, {Map<int, String> ? plateNames, Map<int, Map< ? wellConfigs, Map<String, WellConfig> >String, Set< ? duplicateGroups, Map<String> >String, Map< ? layerMap, String experimentTitle = 'Experiment', EchoWellColorMode colorMode = EchoWellColorMode.natural, Color? resolveGroupColor(String slatId)?, Map<String, dynamic> >String, Set< ? manualHandles}) → Future<(int, int)> >Uint8List> -
categoryColor(
String? category) → Color - Returns a color for direct use
-
designColorFor(
Slat? slat, Map< String, Map< layerMap) → Color?String, dynamic> > - Compute design color for a slat based on unique color or layer color (legacy).
-
echoDesignColorFor(
Slat? slat, Map< String, Map< layerMap, EchoWellColorMode colorMode, Color? resolveGroupColor(String slatId)?) → Color?String, dynamic> > - Computes the well outline color based on the selected echo color mode.
-
echoRoundedVolumeNl(
double materialPerHandle, double concentration) → int - Rounds a raw volume in nL up to the nearest Echo-compatible 25 nL increment.
-
effectiveEchoHandleCategory(
Map< String, dynamic> ? handle) → String? - Returns the display category used by Echo barcode views and exports. Priority: fluorophore > blocked-as-flat > normal category.
-
generateEchoCsv(
{required Map< int, Map< plateAssignments, required Map<String, String?> >int, Map< wellConfigs, required Map<String, WellConfig> >int, String> plateNames, required Map<String, Slat> slats, required Map<String, Map< layerMap, bool normalizeVolumes = false, Map<String, dynamic> >String, Set< ? manualHandles}) → EchoCsvResult(int, int)> > - Generates Echo liquid handler CSV instructions from plate layout assignments.
-
generateMasterMixExcel(
{required Map< int, Map< plateAssignments, required Map<String, String?> >int, Map< wellConfigs, required Map<String, WellConfig> >int, String> plateNames, required Map<String, Slat> slats, required Map<String, Map< layerMap, required MasterMixConfig mixConfig, bool normalizeVolumes = false, double maxWellVolumeNl = 25000, String experimentTitle = 'Experiment', Map<String, dynamic> >String, Set< ? manualHandles}) → MasterMixResult(int, int)> > - Generates a master mix Excel workbook (.xlsx bytes) with per-slat-type sheets and horizontally-arranged recipe groups.
-
generatePegPurificationExcel(
{required Map< String, List< groups, required Map<String> >String, Slat> slats, required Map<String, Map< layerMap, required Map<String, dynamic> >int, Map< plateAssignments, required Map<String, String?> >int, Map< wellConfigs, required Map<String, WellConfig> >int, String> plateNames, required PegPurificationConfig pegConfig, required String experimentTitle, Map<String, Color> ? groupColors}) → PegPurificationResult - Generates a PEG purification helper sheet Excel workbook.
-
generatePlateLayout384(
) → List< String> -
generatePlateLayout96(
) → List< String> -
isDuplicateSlatId(
String id) → bool -
Returns true if the slat ID is a duplicate (has
~Nsuffix). -
pdfCategoryColor(
String? category) → PdfColor - Returns a color for use in PDF report generation
-
showExportSettingsDialog(
BuildContext context, {required bool generatePdf, required bool generateCsv, required bool generateHelperSheets, required bool generatePegSheet, required bool normalizeVolumes, required double maxWellVolumeNl, required MasterMixConfig config, required PegPurificationConfig pegConfig}) → Future< ({MasterMixConfig config, bool csv, bool helper, double maxWellVolumeNl, bool normalize, bool pdf, PegPurificationConfig pegConfig, bool pegSheet, bool runExport})?> - Shows the tabbed export settings dialog.
-
showManualHandleDialog(
BuildContext context, {required Set< (int, int)> currentManualPositions, required bool mixedConfig, int maxLength = 32, Map<int, Map< ? h5Handles, Map<String, dynamic> >int, Map< ? h2Handles, bool multipleSlatsSelected = false, String? slatName}) → Future<String, dynamic> >Set< (int, int)> ?> - Shows the manual handle marking dialog and returns the selected positions.
-
showMassFluorophoreDialog(
BuildContext context, {required Map< String, Slat> slats, required Map<String, Fluorophore> fluorophorePalette, required String? activeFluorophore}) → Future<MassFluorophoreEditResult?> - Shows the mass fluorophore edit dialog.
-
showMassManualHandleDialog(
BuildContext context, {required Map< String, Slat> slats, required PlateLayoutState layoutState}) → Future<MassManualEditResult?> - Shows the mass manual edit dialog.
-
showWellConfigDialog(
BuildContext context, {String title = 'Configure Wells', WellConfig initial = const WellConfig(), double estimateVolumeNl(WellConfig config)?, double maxWellVolumeNl = 25000}) → Future< WellConfig?> - Shows a dialog to configure per-well Echo dispensing parameters.
-
slatCsvName(
Slat slat, Map< String, Map< layerMap) → StringString, dynamic> > -
Returns a CSV-friendly component name for a slat in the format
layer{N}-slat{number}. -
slatDisplayName(
Slat slat, Map< String, Map< layerMap, {Map<String, dynamic> >String, Slat> ? slats}) → String -
Returns a human-readable display name for a slat in the format
L{layer}-{number}. -
slatTotalVolumeNl(
Slat slat, WellConfig config) → double - Computes the total rounded transfer volume (nL) for a slat given a well config.
-
sortSlatsForPlateAssignment(
Map< String, Slat> slats, Map<String, Map< layerMap) → List<String, dynamic> >MapEntry< String, Slat> > - Sorts slats for plate assignment: excludes phantoms, orders by layer then numericID.
-
wellCol(
String well) → int -
wellName(
int row, int col) → String -
wellRow(
String well) → int -
wellWarningState(
Slat slat, WellConfig? config, {double? maxVolumeNl, Set< (int, int)> manualPositions = const {}}) → ({bool exceedsVolume, bool incomplete}) - Computes warning state for a well: placeholder handles and/or volume exceeded.