ecl-logo Documentation
ECL`

ExperimentAbsorbanceSpectroscopy

ExperimentAbsorbanceSpectroscopy[Samples]Protocol

generates a Protocol object for running an assay to measure the absorbance of the Samples at specified wavelengths.

    
Absorbance spectroscopy studies how much ultraviolet and visible light radiation the sample absorbs and transmits. Samples are exposed to light at a range of wavelengths, and the absorbance is measured by determining how much light at is transmitted through the sample across all these wavelengths. Because the absorbance of a substance at a given wavelength is directly proportional to its concentration, this experiment can be used to quantify how much of a substance is present in a given sample.
    

Experimental Principles

    Figure 1.1: Procedural overview of an AbsorbanceSpectroscopy experiment using a Lunatic plate reader. Step 1: Microfluidic chips are loaded with sample. Step 2: Samples are pumped into the large (1st) and small (2nd) cuvettes along the microfluidic flow path. Step 3: The absorbance spectrum is collected for each of the samples, using either the larger or smaller of the cuvettes depending on how strong the absorbance is. Step 4 (optional): The concentration of the samples is determined using the Beer-Lambert Law.
    Figure 1.2: Procedural overview of an AbsorbanceSpectroscopy experiment using the PHERAstar FS, FLUOstar Omega, or CLARIOstar plate readers. The experiment can be performed either with or without the injections of foreign samples. Step 1: A plate is loaded with samples. Step 2 (Optional, injection specific): Injector syringes and tubes are primed. Step 3 (Optional): The samples are Equilibrated to the target temperature if the Temperature is not Ambient. Step 4 (Optional, injection specific): Foreign samples are injected into the plate. Step 5 (Optional, injection specific): The sample plate is mixed. Step 6: The absorbance spectrum is collected for each of the samples. Step 7: The concentration of the samples is determined using the Beer-Lambert Law.
    Figure 1.3: Procedural overview of an AbsorbanceSpectroscopy experiment using a Cary3500 Spectrophotometer. Step 1: Samples can be incubated, centrifuged, filtered, and/or aliquoted in a compatible container using the shared sample preparation framework. Prepared samples are transferred into instrument compatible cuvettes. Step 2: Prepared samples can optionally be equlibrated to a temperature before absorbance readings. Step 3: The absorbance spectrum is collected for each of the samples (up to 7 samples and 1 blank simultaneously). Step 4 (optional): The concentration of the samples is determined using the Beer-Lambert Law.

Instrumentation

    Lunatic

    Figure 2.1: In the Lunatic, a Xenon Flash Lamp sends photons through the large and small cuvettes of each microfluidic chip. The light that is not absorbed is then directed through a prism which splits the beam into wavelengths from 230 nm to 750 nm that are measured by the detector.

    Cary 3500

    Figure 2.2: The Cary 3500 is a UV/Vis spectrometer with the capacity to interrogate seven samples and one reference sample simultaneously. The temperature for each pair of sample cuvettes is controlled by Peltier modules for a total of 4 independent temperature zones that can range from -10 Celsius to 100 Celsius. Currently, it supports a single temperature profile for all temperature zones. Sample temperature can either be recorded from the cuvette block temperature or by immersion probes. The light source is a xenon flash lamp. The light beam from the lamp is split into different wavelengths ranging from 190 nm to 900 nm and the desired wavelength is isolated using a monochromator. The incident light beam then passes into the sample module where it is split into 8 beams by a fiber optic beam splitter. Each beam excites one sample cuvette and the emitted light is then collected by the instrument detector.

    CLARIOstar

    Figure 2.3: In the CLARIOstar, a Xenon Flash Lamp sends photons through each well of the plate. The light that is not absorbed is then directed through a prism which splits the beam into wavelengths from 220 nm to 1000 nm that are measured by the detector. The plate chamber can be heated up to 45°C and it can mix the plate at up to 700 RPM before the run. The reader has two 300μL syringe pump injectors which can be used for 0.5 - 300 μL injections of two unique samples prior to the run.

    CLARIOstar Plus with ACU

    Figure 2.4: In the CLARIOstar Plus, a Xenon Flash Lamp sends photons through each well of the plate. The light that is not absorbed is then directed through a prism which splits the beam into wavelengths from 220 nm to 1000 nm that are measured by the detector. The plate chamber can be heated up to 45°C and it can mix the plate at up to 700 RPM before the run. The reader has two 300μL syringe pump injectors which can be used for 0.5 - 300 μL injections of two unique samples prior to the run.

    FLUOstar Omega

    Figure 2.5: In the Omega, a Xenon Flash Lamp sends photons through each well of the plate. The light that is not absorbed is then directed through a prism which splits the beam into wavelengths from 220 nm to 1000 nm that are measured by the detector. The plate chamber can be heated up to 45°C and it can mix the plate at up to 700 RPM before the run. The reader has two 300μL syringe pump injectors which can be used for 0.5 - 300 μL injections of two unique samples prior to the run.

    PHERAstar FS

    Figure 2.6: In the PHERAstar, a Xenon Flash Lamp sends photons through each well of the plate. The light that is not absorbed is then directed through a prism which splits the beam into wavelengths from 220 nm to 1000 nm that are measured by the detector. The plate chamber can be heated up to 45°C and it can mix the plate at up to 700 RPM before the run. The reader has two 300μL syringe pump injectors which can be used for 0.5 - 300 μL injections of two unique samples prior to the run.

Experiment Options

    General

    Methods

    Indicates the type of vessel to be used to measure the absorbance of SamplesIn. PlateReaders utilize an open well container that transveres light from top to bottom. Cuvette uses a square container with transparent sides to transverse light from the front to back at a fixed path length. Microfluidic uses small channels to load samples which are then gravity-driven towards chambers where light transverse from top to bottom and measured at a fixed path length.
    Default Value: Automatic
    Default Calculation: Automatically determined based on the instrument that can satisfy the requested options. If all instruments are possible, defaults to Microfluidic.
    Pattern Description: Microfluidic, Cuvette, or PlateReader.
    Programmatic Pattern: AbsorbanceMethodP | Automatic

    Instrument

    The instrument used for proceeding with measuring the absorbance of the samples according to the AbsorbanceMethod.
    Default Value: Automatic
    Default Calculation: If using Microfluidic Method, set to Model[Instrument, PlateReader, "Lunatic"]; if using Cuvette Method, set to Model[Instrument, Spectrophotometer, "Cary 3500"]; If using PlateReader Method set to Model[Instrument, PlateReader, "FLUOstar Omega"] .
    Pattern Description: An object of type or subtype Model[Instrument, PlateReader], Object[Instrument, PlateReader], Object[Instrument, Spectrophotometer], or Model[Instrument, Spectrophotometer]
    Programmatic Pattern: ObjectP[{Model[Instrument, PlateReader], Object[Instrument, PlateReader], Object[Instrument, Spectrophotometer], Model[Instrument, Spectrophotometer]}] | Automatic

    MicrofluidicChipLoading

    Indicates whether the SamplesIn are loaded by a robotic liquid handler or manually.
    Default Value: Automatic
    Default Calculation: When using the Microfluidic plate readers, automatically set to Robotic.
    Pattern Description: Robotic or Manual or Null.
    Programmatic Pattern: ((Robotic | Manual) | Automatic) | Null

    RecoupSample

    Indicates if the aliquot used to measure the absorbance should be returned to source container after each reading.
    Default Value: False
    Pattern Description: True or False or Null.
    Programmatic Pattern: BooleanP | Null
    Index Matches to: experiment samples

    ContainerOut

    The desired container generated samples should be transferred into by the end of the experiment, with indices indicating grouping of samples in the same plates.
    Default Value: Automatic
    Default Calculation: Automatically selected from ECL's stocked containers based on the volume of solution being prepared.
    Pattern Description: An object of type or subtype Model[Container] or Object[Container] or a prepared sample or Null.
    Programmatic Pattern: ((ObjectP[{Model[Container], Object[Container]}] | _String) | Automatic) | Null
    Index Matches to: experiment samples

    Preparation

    Indicates if this unit operation is carried out primarily robotically or manually. Manual unit operations are executed by a laboratory operator and robotic unit operations are executed by a liquid handling work cell.
    Default Value: Automatic
    Pattern Description: Manual or Robotic.
    Programmatic Pattern: PreparationMethodP | Automatic

    WorkCell

    The automated workstation with a collection of integrated instruments on which this unit operation will be will be performed if Preparation -> Robotic.
    Default Value: Automatic
    Default Calculation: Automatically set to STAR if Preparation->Robotic.
    Pattern Description: STAR, bioSTAR, or microbioSTAR or Null.
    Programmatic Pattern: ((STAR | bioSTAR | microbioSTAR) | Automatic) | Null

    NumberOfReplicates

    The number of times to repeat absorbance reading on each provided sample. If Aliquot -> True, this also indicates the number of times each provided sample will be aliquoted. Note that when using the Lunatic, this indicates the number of independent times a 2 uL aliquot will be put into the Lunatic chips and read, and when using the BMG plate readers, this indicates the number of aliquots of the same sample that will be read.
    Default Value: Automatic
    Default Calculation: When using the BMG plate readers, automatically set to 3 if QuantifyConcentration is True for any experiment sample. When using the Lunatic, automatically set to 3 or 2 depending on the total number of the experiment samples and the blank samples if QuantifyConcentration is True. The total number of samples allowed in one Lunatic run is 94. Otherwise automatically set to Null.
    Pattern Description: Greater than or equal to 2 in increments of 1 or Null.
    Programmatic Pattern: (GreaterEqualP[2, 1] | Automatic) | Null

    Absorbance Measurement

    SpectralBandwidth

    When using the Cuvette Method, indicates the physical size of the slit from which light passes out from the monochromator. The narrower the bandwidth, the greater the resolution in measurements.
    Default Value: Automatic
    Default Calculation: When using the Cuvette Method, automatically set 1.0 Nanometer. If using plate reader, set to Null.
    Pattern Description: Greater than or equal to 0.5 nanometers and less than or equal to 5 nanometers or Null.
    Programmatic Pattern: (RangeP[0.5*Nanometer, 5*Nanometer] | Automatic) | Null

    TemperatureMonitor

    When using Cuvette Method (Cary 3500), which device (probe or block) will be used to monitor temperature during the Experiment.
    Default Value: Automatic
    Default Calculation: When using the Cuvette Method, automatically set to CuvetteBlock. If using plate reader, set to Null.
    Pattern Description: CuvetteBlock or ImmersionProbe or Null.
    Programmatic Pattern: ((CuvetteBlock | ImmersionProbe) | Automatic) | Null

    AcquisitionMixRate

    When using the Cuvette Method, indicates the rate at which the samples within the cuvette should be mixed with a stir bar during data acquisition.
    Default Value: Automatic
    Default Calculation: If AcquisitionMix is True, automatically set AcquisitionMixRate 400 RPM.
    Pattern Description: Greater than or equal to 400 revolutions per minute and less than or equal to 1400 revolutions per minute or Null.
    Programmatic Pattern: (RangeP[400*RPM, 1400*RPM] | Automatic) | Null

    AcquisitionMix

    When using the Cuvette Method, indicates whether the samples within the cuvette should be mixed with a stir bar during data acquisition.
    Default Value: Automatic
    Default Calculation: When using the Cuvette Method, automatically set to False.
    Pattern Description: True or False or Null.
    Programmatic Pattern: (BooleanP | Automatic) | Null
    Index Matches to: experiment samples

    StirBar

    When using the Cuvette Method, indicates which model stir bar to be inserted into the cuvette to mix the sample.
    Default Value: Automatic
    Default Calculation: If AcquisitionMix is True, StirBar is automatically specified depending on the cuvette. Otherwise, automatically set to Null.
    Pattern Description: An object of type or subtype Model[Part, StirBar] or Object[Part, StirBar] or Null.
    Programmatic Pattern: (ObjectP[{Model[Part, StirBar], Object[Part, StirBar]}] | Automatic) | Null
    Index Matches to: experiment samples

    NumberOfReadings

    Number of redundant readings taken by the detector to determine a single averaged absorbance reading. This is currently available on the BMG plate readers: "CLARIOstar", "CLARIOstar Plus with ACU", "FLUOstar Omega", and "PHERAstar FS".
    Default Value: Automatic
    Default Calculation: If an instrument capable of adjusting NumberOfReadings is selected, resolves to 100. Otherwise resolves to Null
    Pattern Description: Greater than or equal to 1 and less than or equal to 200 in increments of 1 or Null.
    Programmatic Pattern: (RangeP[1, 200, 1] | Automatic) | Null

    ReadDirection

    Indicate the plate path the instrument will follow as it measures absorbance in each well, for instance reading all wells in a row before continuing on to the next row (Row).
    Figure 3.1: Use the ReadDirection option to control how the plate reader scans the plate during each read cycle. Choosing a more efficient path will lead to a shorter DetectionInterval. Also note that you may want to consider dripping injectors if you're working with low viscosity injection samples.
    Default Value: Automatic
    Default Calculation: Resolves to Row if a plate reader capable of adjusting read direction is selected.
    Pattern Description: Row, Column, SerpentineRow, or SerpentineColumn or Null.
    Programmatic Pattern: (ReadDirectionP | Automatic) | Null

    Quantification

    QuantifyConcentration

    Indicates if the concentration of the samples should be determined. Automatically calls AnalyzeAbsorbanceConcentration to update the concentration of analytes on completion of the experiment.
    Default Value: Automatic
    Default Calculation: Automatically set to True if QuantificationWavelength is specified.
    Pattern Description: True or False.
    Programmatic Pattern: BooleanP | Automatic
    Index Matches to: experiment samples

    QuantificationAnalyte

    The substance whose concentration should be determined during this experiment.
    Default Value: Automatic
    Default Calculation: Automatically set to the first value in the Analytes field of the input sample, or, if not populated, to the first analyte in the Composition field of the input sample.
    Pattern Description: An object of type or subtype Model[Molecule], Model[Molecule, cDNA], Model[Molecule, Oligomer], Model[Molecule, Transcript], Model[Molecule, Protein], Model[Molecule, Protein, Antibody], Model[Molecule, Carbohydrate], Model[Molecule, Polymer], Model[Resin], Model[Resin, SolidPhaseSupport], Model[Lysate], Model[ProprietaryFormulation], Model[Virus], Model[Cell], Model[Cell, Mammalian], Model[Cell, Bacteria], Model[Cell, Yeast], Model[Tissue], Model[Material], or Model[Species] or Null.
    Programmatic Pattern: (ObjectP[List @@ IdentityModelTypeP] | Automatic) | Null
    Index Matches to: experiment samples

    QuantificationWavelength

    Gets the ExtinctionCoefficient for the analyte.
    Default Value: Automatic
    Default Calculation: Automatically set to the ExtinctionCoefficients field of the analyte, and set to Null if QuantifyConcentration is False or Automatic.
    Pattern Description: Greater than or equal to 0 nanometers and less than or equal to 1000 nanometers or Null.
    Programmatic Pattern: (RangeP[0*Nanometer, 1000*Nanometer] | Automatic) | Null
    Index Matches to: experiment samples

    Sample Handling

    Temperature

    Indicates the temperature the samples will held at prior to measuring absorbance and during data acquisition within the instrument.
    Default Value: Automatic
    Default Calculation: Sets to Ambient if an instrument is capable of manipulating the temperature of the samples.
    Pattern Description: Ambient or greater than or equal to 25 degrees Celsius and less than or equal to 45 degrees Celsius.
    Programmatic Pattern: (RangeP[$AmbientTemperature, 45*Celsius] | Ambient) | Automatic

    EquilibrationTime

    The length of time for which the samples equilibrate at the requested temperature before being read.
    Default Value: Automatic
    Default Calculation: If an instrument is capable setting the temperature of the samples, sets to 0 second when Temperature is set to Ambient. Otherwise, it is set to 5 minutes.
    Pattern Description: Greater than or equal to 0 seconds and less than or equal to 24 hours or Null.
    Programmatic Pattern: (RangeP[0*Second, 24*Hour] | Automatic) | Null

    TargetCarbonDioxideLevel

    The target amount of carbon dioxide in the atmosphere in the plate reader chamber.
    Default Value: Automatic
    Default Calculation: Automatically set to 5% for mammalian cells, and Null otherwise.
    Pattern Description: Greater than or equal to 0.1 percent and less than or equal to 20 percent or Null.
    Programmatic Pattern: (RangeP[0.1*Percent, 20*Percent] | Automatic) | Null

    TargetOxygenLevel

    The target amount of oxygen in the atmosphere in the plate reader chamber. If specified, nitrogen gas is pumped into the chamber to force oxygen in ambient air out of the chamber until the desired level is reached.
    Default Value: Null
    Pattern Description: Greater than or equal to 0.1 percent and less than or equal to 20 percent or Null.
    Programmatic Pattern: RangeP[0.1*Percent, 20*Percent] | Null

    AtmosphereEquilibrationTime

    The length of time for which the samples equilibrate at the requested oxygen and carbon dioxide level before being read.
    Default Value: Automatic
    Default Calculation: Automatically set to 5 Minute if TargetCarbonDioxideLevel or TargetOxygenLevel is specified. Otherwise, set to Null.
    Pattern Description: Greater than or equal to 0 seconds and less than or equal to 24 hours or Null.
    Programmatic Pattern: (RangeP[0*Second, 24*Hour] | Automatic) | Null

    PlateReaderMix

    Indicates if samples should be mixed inside the plate reader chamber.
    Default Value: Automatic
    Default Calculation: Automatically set to True if any other plate reader mix options are specified.
    Pattern Description: True or False.
    Programmatic Pattern: BooleanP | Automatic

    PlateReaderMixTime

    The amount of time samples should be mixed inside the plate reader chamber.
    Default Value: Automatic
    Default Calculation: Automatically set to 30 second if any other plate reader mix options are specified.
    Pattern Description: Greater than or equal to 1 second and less than or equal to 1 hour or Null.
    Programmatic Pattern: (RangeP[1*Second, 1*Hour] | Automatic) | Null

    PlateReaderMixRate

    The rate at which the plate should be agitated inside the plate reader chamber.
    Default Value: Automatic
    Default Calculation: Automatically set to 700 RPM if any other plate reader mix options are specified.
    Pattern Description: Greater than or equal to 100 revolutions per minute and less than or equal to 700 revolutions per minute or Null.
    Programmatic Pattern: (RangeP[100*RPM, 700*RPM] | Automatic) | Null

    PlateReaderMixMode

    The pattern of motion which should be employed to shake the plate.
    Default Value: Automatic
    Default Calculation: Automatically set to DoubleOrbital if any other plate reader mix options are specified.
    Pattern Description: Orbital, DoubleOrbital, or Linear or Null.
    Programmatic Pattern: (MechanicalShakingP | Automatic) | Null

    MoatSize

    Indicates the number of concentric perimeters of wells to fill with MoatBuffer in order to slow evaporation of inner assay samples.
    Figure 3.2: Use the moat options, MoatBuffer, MoatVolume and MoatSize to create an outer ring of wells filled with buffer. This has been shown to decrease evaporation during long reads.
    Default Value: Automatic
    Default Calculation: Automatically set to 1 if any other moat options are specified.
    Pattern Description: Greater than 0 in increments of 1 or Null.
    Programmatic Pattern: (GreaterP[0, 1] | Automatic) | Null

    MoatVolume

    Indicates the volume to add to to each moat well.
    Default Value: Automatic
    Default Calculation: Automatically set to the RecommendedFillVolume of the assay plate if informed, or 75% of the MaxVolume of the assay plate if not, if any other moat options are specified.
    Pattern Description: Greater than or equal to 1 microliter and less than or equal to 300 microliters or Null.
    Programmatic Pattern: (RangeP[1*Microliter, 300*Microliter] | Automatic) | Null

    MoatBuffer

    Indicates the sample to use to fill each moat well.
    Default Value: Automatic
    Default Calculation: Automatically set to Milli-Q water if any other moat options are specified.
    Pattern Description: An object of type or subtype Object[Sample] or Model[Sample] or a prepared sample or Null.
    Programmatic Pattern: ((ObjectP[{Object[Sample], Model[Sample]}] | _String) | Automatic) | Null

    RetainCover

    Indicates if the plate seal or lid on the assay container should not be taken off during measurement to decrease evaporation. When this option is set to True, injections cannot be performed as it's not possible to inject samples through the cover. When using the Cuvette Method, automatically set to True.
    Default Value: False
    Pattern Description: True or False.
    Programmatic Pattern: BooleanP

    Injections

    PrimaryInjectionSample

    The sample to be injected in the first round of injections in order to introduce a time sensitive reagent/sample into the plate before/during absorbance measurement. The corresponding injection times and volumes can be set with PrimaryInjectionTime and PrimaryInjectionVolume.
    Default Value: Null
    Pattern Description: An object of type or subtype Object[Sample] or Model[Sample] or a prepared sample or Null.
    Programmatic Pattern: (ObjectP[{Object[Sample], Model[Sample]}] | _String) | Null
    Index Matches to: experiment samples

    PrimaryInjectionVolume

    The amount of the primary sample injected in the first round of injections.
    Default Value: Null
    Pattern Description: Greater than or equal to 0.5 microliters and less than or equal to 300 microliters or Null.
    Programmatic Pattern: RangeP[0.5*Microliter, 300*Microliter] | Null
    Index Matches to: experiment samples

    SecondaryInjectionSample

    The sample to be injected in the second round of injections. Set the corresponding injection times and volumes with SecondaryInjectionTime and SecondaryInjectionVolume.
    Default Value: Null
    Pattern Description: An object of type or subtype Object[Sample] or Model[Sample] or a prepared sample or Null.
    Programmatic Pattern: (ObjectP[{Object[Sample], Model[Sample]}] | _String) | Null
    Index Matches to: experiment samples

    SecondaryInjectionVolume

    The amount of the secondary sample injected in the second round of injections.
    Default Value: Null
    Pattern Description: Greater than or equal to 0.5 microliters and less than or equal to 300 microliters or Null.
    Programmatic Pattern: RangeP[0.5*Microliter, 300*Microliter] | Null
    Index Matches to: experiment samples

    PrimaryInjectionFlowRate

    The speed at which to transfer injection samples into the assay plate in the first round of injections.
    Default Value: Automatic
    Default Calculation: Defaults to 300 Microliter/Second if primary injections are specified.
    Pattern Description: 430 microliters per second, 400 microliters per second, 350 microliters per second, 300 microliters per second, 260 microliters per second, 220 microliters per second, 190 microliters per second, 170 microliters per second, 150 microliters per second, 135 microliters per second, 115 microliters per second, 100 microliters per second, 85 microliters per second, 65 microliters per second, or 50 microliters per second or Null.
    Programmatic Pattern: (BMGFlowRateP | Automatic) | Null

    SecondaryInjectionFlowRate

    The speed at which to transfer injection samples into the assay plate in the second round of injections.
    Default Value: Automatic
    Default Calculation: Defaults to 300 Microliter/Second if secondary injections are specified.
    Pattern Description: 430 microliters per second, 400 microliters per second, 350 microliters per second, 300 microliters per second, 260 microliters per second, 220 microliters per second, 190 microliters per second, 170 microliters per second, 150 microliters per second, 135 microliters per second, 115 microliters per second, 100 microliters per second, 85 microliters per second, 65 microliters per second, or 50 microliters per second or Null.
    Programmatic Pattern: (BMGFlowRateP | Automatic) | Null

    InjectionSampleStorageCondition

    The non-default conditions under which any injection samples used by this experiment are stored after the protocol is completed.
    Default Value: Null
    Pattern Description: {AmbientStorage, EnclosedAmbientStorage, Refrigerator, Freezer, DeepFreezer, CryogenicStorage, YeastIncubation, YeastShakingIncubation, BacterialIncubation, BacterialShakingIncubation, MammalianIncubation, ViralIncubation, CrystalIncubation, AcceleratedTesting, IntermediateTesting, LongTermTesting, UVVisLightTesting} or Disposal or Null.
    Programmatic Pattern: (SampleStorageTypeP | Disposal) | Null

    Data Processing

    BlankAbsorbance

    For each members of SamplesIn, indicates if a corresponding blank measurement, which consists of a separate container (well, chamber, or cuvette) than SampleLink, will be performed, prior to measuring the absorbance of samples. If using Cuvettes, the BlankAbsorbance will be read at the same time as the SampleLink.
    Default Value: True
    Pattern Description: True or False.
    Programmatic Pattern: BooleanP

    Blanks

    The object or source used to generate a blank sample (i.e. buffer only, water only, etc.) whose absorbance is subtracted as background from the absorbance readings of the SamplesIn to take account for any artifacts.
    Default Value: Automatic
    Default Calculation: Automatically set to Null if BlankMeasurement is False. Otherwise, automatically set to the value of Solvent in SamplesIn. If Solvent not specfied, set to Model[Sample, "Milli-Q water"].
    Pattern Description: An object of type or subtype Model[Sample] or Object[Sample] or a prepared sample or Null.
    Programmatic Pattern: ((ObjectP[{Model[Sample], Object[Sample]}] | _String) | Automatic) | Null
    Index Matches to: experiment samples

    BlankVolumes

    The amount of liquid of the Blank that should be transferred out and used to blank measurements. Set BlankVolume to Null to indicate blanks should be read inside their current containers.
    Default Value: Automatic
    Default Calculation: If BlankMeasurement is True, automatically set to the value of AssayVolume if that was specified, or maximum volume of the container otherwise.
    Pattern Description: Greater than or equal to 1 microliter and less than or equal to 4000 microliters or Null.
    Programmatic Pattern: (RangeP[1*Microliter, 4000*Microliter] | Automatic) | Null
    Index Matches to: experiment samples

    Sampling

    SamplingDistance

    Indicates the length of the region over which sampling measurements are taken.
    Default Value: Automatic
    Default Calculation: Automatically resolves to Null if SamplingPattern is set to Center otherwise resolves to 80% of the diameter of the well.
    Pattern Description: Greater than or equal to 1 millimeter and less than or equal to 6 millimeters or Null.
    Programmatic Pattern: (RangeP[1*Millimeter, 6*Millimeter] | Automatic) | Null

    SamplingDimension

    Specifies the size of the grid used for Matrix sampling. For example SamplingDimension->5 will scan a 5 x 5 grid.
    Default Value: Automatic
    Default Calculation: If the SamplingPattern is set to Matrix, SamplingDimension will be set to 3.
    Pattern Description: Greater than or equal to 2 and less than or equal to 30 or Null.
    Programmatic Pattern: (RangeP[2, 30] | Automatic) | Null

    SamplingPattern

    Indicates where in the well measurements are taken.
    Figure 3.3: Ring sampling allows multiple measurements over a band with a specified diameter. The specified number of flashes will be equally divided over the ring and a higher number will yield to increased sampling (as seen in A). The average value of all measurements will be returned as a single data point. Spiral sampling follows the same principle as ring sampling, but covers a larger part of the well as it takes spiraling inward measurements. Again the number of flashes determines if the well is highly sampled (A) or lightly (B). Note that matrix sampling is not possible with absorbance spectroscopy readings.
    Default Value: Automatic
    Default Calculation: When using the BMG plate readers, automatically set to Matrix if SamplingDimension is specified or Ring if SamplingDistance is specified. Otherwise set to Center.
    Pattern Description: Matrix, Spiral, Ring, or Center or Null.
    Programmatic Pattern: (PlateReaderSamplingP | Automatic) | Null

    Model Input

    PreparedModelContainer

    Indicates the container in which a Model[Sample] specified as input to the experiment function will be prepared.
    Default Value: Automatic
    Default Calculation: If PreparedModelAmount is set to All and when the input model has a product associated with both Amount and DefaultContainerModel populated, automatically set to the DefaultContainerModel value in the product. Otherwise set to Model[Container, Vessel, "2mL Tube"].
    Pattern Description: An object of type or subtype Model[Container] or Null.
    Programmatic Pattern: (ObjectP[Model[Container]] | Automatic) | Null
    Index Matches to: experiment samples

    PreparedModelAmount

    Indicates the amount of a Model[Sample] specified as input to the experiment function that will be prepared in the PreparedModelContainer. When set to All and the input model sample is not preparable, the entire amount of the input model sample that comes from one of the Products is prepared. The selected product must have both Amount and DefaultContainerModel populated, and it must not be a KitProduct. When set to All and the input model is preparable such as water, 1 Milliliter of the input model sample is prepared.
    Default Value: Automatic
    Default Calculation: Automatically set to 1 Milliliter.
    Pattern Description: All or Count or Count or Mass or Volume or Null.
    Programmatic Pattern: ((RangeP[1*Microliter, 20*Liter] | RangeP[1*Milligram, 20*Kilogram] | GreaterP[0*Unit, 1*Unit] | GreaterP[0., 1.] | All) | Automatic) | Null
    Index Matches to: experiment samples

    Post Experiment

    SamplesInStorageCondition

    The non-default conditions under which the SamplesIn of this experiment should be stored after the protocol is completed. If left unset, SamplesIn will be stored according to their current StorageCondition.
    Default Value: Null
    Pattern Description: {AmbientStorage, EnclosedAmbientStorage, Refrigerator, Freezer, DeepFreezer, CryogenicStorage, YeastIncubation, YeastShakingIncubation, BacterialIncubation, BacterialShakingIncubation, MammalianIncubation, ViralIncubation, CrystalIncubation, AcceleratedTesting, IntermediateTesting, LongTermTesting, UVVisLightTesting} or Disposal or Null.
    Programmatic Pattern: (Alternatives[SampleStorageTypeP | Disposal]) | Null
    Index Matches to: experiment samples

    SamplesOutStorageCondition

    The non-default conditions under which any new samples generated by this experiment should be stored after the protocol is completed. If left unset, the new samples will be stored according to their Models' DefaultStorageCondition.
    Default Value: Null
    Pattern Description: {AmbientStorage, EnclosedAmbientStorage, Refrigerator, Freezer, DeepFreezer, CryogenicStorage, YeastIncubation, YeastShakingIncubation, BacterialIncubation, BacterialShakingIncubation, MammalianIncubation, ViralIncubation, CrystalIncubation, AcceleratedTesting, IntermediateTesting, LongTermTesting, UVVisLightTesting} or Disposal or Null.
    Programmatic Pattern: (Alternatives[SampleStorageTypeP | Disposal]) | Null
    Index Matches to: experiment samples

Sample Prep Options

    Sample Preparation

    PreparatoryUnitOperations

    Specifies a sequence of transferring, aliquoting, consolidating, or mixing of new or existing samples before the main experiment. These prepared samples can be used in the main experiment by referencing their defined name. For more information, please reference the documentation for ExperimentSamplePreparation.
    Default Value: Null
    Pattern Description: List of one or more unit Operation ManualSamplePreparation or RoboticSamplePreparation or unit Operation must match SamplePreparationP entries or Null.
    Programmatic Pattern: {((ManualSamplePreparationMethodP | RoboticSamplePreparationMethodP) | SamplePreparationP)..} | Null

    Preparatory Incubation

    Incubate

    Indicates if the SamplesIn should be incubated at a fixed temperature prior to starting the experiment or any aliquoting. Sample Preparation occurs in the order of Incubation, Centrifugation, Filtration, and then Aliquoting (if specified).
    Default Value: Automatic
    Default Calculation: Resolves to True if any of the corresponding Incubation options are set. Otherwise, resolves to False.
    Pattern Description: True or False.
    Programmatic Pattern: BooleanP | Automatic
    Index Matches to: experiment samples

    IncubationTemperature

    Temperature at which the SamplesIn should be incubated for the duration of the IncubationTime prior to starting the experiment.
    Default Value: Automatic
    Pattern Description: Ambient or greater than or equal to -20 degrees Celsius and less than or equal to 500 degrees Celsius or Null.
    Programmatic Pattern: ((Ambient | RangeP[$MinIncubationTemperature, $MaxIncubationTemperature]) | Automatic) | Null
    Index Matches to: experiment samples

    IncubationTime

    Duration for which SamplesIn should be incubated at the IncubationTemperature, prior to starting the experiment.
    Default Value: Automatic
    Pattern Description: Greater than or equal to 1 minute and less than or equal to 72 hours or Null.
    Programmatic Pattern: (RangeP[1*Minute, $MaxExperimentTime] | Automatic) | Null
    Index Matches to: experiment samples

    Mix

    Indicates if this sample should be mixed while incubated, prior to starting the experiment.
    Default Value: Automatic
    Default Calculation: Automatically resolves to True if any Mix related options are set. Otherwise, resolves to False.
    Pattern Description: True or False or Null.
    Programmatic Pattern: (BooleanP | Automatic) | Null
    Index Matches to: experiment samples

    MixType

    Indicates the style of motion used to mix the sample, prior to starting the experiment.
    Default Value: Automatic
    Default Calculation: Automatically resolves based on the container of the sample and the Mix option.
    Pattern Description: Roll, Vortex, Sonicate, Pipette, Invert, Stir, Shake, Homogenize, Swirl, Disrupt, or Nutate or Null.
    Programmatic Pattern: (MixTypeP | Automatic) | Null
    Index Matches to: experiment samples

    MixUntilDissolved

    Indicates if the mix should be continued up to the MaxIncubationTime or MaxNumberOfMixes (chosen according to the mix Type), in an attempt dissolve any solute. Any mixing/incubation will occur prior to starting the experiment.
    Default Value: Automatic
    Default Calculation: Automatically resolves to True if MaxIncubationTime or MaxNumberOfMixes is set.
    Pattern Description: True or False or Null.
    Programmatic Pattern: (BooleanP | Automatic) | Null
    Index Matches to: experiment samples

    MaxIncubationTime

    Maximum duration of time for which the samples will be mixed while incubated in an attempt to dissolve any solute, if the MixUntilDissolved option is chosen. This occurs prior to starting the experiment.
    Default Value: Automatic
    Default Calculation: Automatically resolves based on MixType, MixUntilDissolved, and the container of the given sample.
    Pattern Description: Greater than or equal to 1 minute and less than or equal to 72 hours or Null.
    Programmatic Pattern: (RangeP[1*Minute, $MaxExperimentTime] | Automatic) | Null
    Index Matches to: experiment samples

    IncubationInstrument

    The instrument used to perform the Mix and/or Incubation, prior to starting the experiment.
    Default Value: Automatic
    Default Calculation: Automatically resolves based on the options Mix, Temperature, MixType and container of the sample.
    Pattern Description: An object of type or subtype Model[Instrument, Roller], Model[Instrument, OverheadStirrer], Model[Instrument, Vortex], Model[Instrument, Shaker], Model[Instrument, BottleRoller], Model[Instrument, Roller], Model[Instrument, Sonicator], Model[Instrument, HeatBlock], Model[Instrument, Homogenizer], Model[Instrument, Disruptor], Model[Instrument, Nutator], Model[Instrument, Thermocycler], Model[Instrument, EnvironmentalChamber], Model[Instrument, Pipette], Object[Instrument, Roller], Object[Instrument, OverheadStirrer], Object[Instrument, Vortex], Object[Instrument, Shaker], Object[Instrument, BottleRoller], Object[Instrument, Roller], Object[Instrument, Sonicator], Object[Instrument, HeatBlock], Object[Instrument, Homogenizer], Object[Instrument, Disruptor], Object[Instrument, Nutator], Object[Instrument, Thermocycler], Object[Instrument, EnvironmentalChamber], or Object[Instrument, Pipette] or Null.
    Programmatic Pattern: (ObjectP[Join[MixInstrumentModels, MixInstrumentObjects]] | Automatic) | Null
    Index Matches to: experiment samples

    AnnealingTime

    Minimum duration for which the SamplesIn should remain in the incubator allowing the system to settle to room temperature after the IncubationTime has passed but prior to starting the experiment.
    Default Value: Automatic
    Pattern Description: Greater than or equal to 0 minutes and less than or equal to 72 hours or Null.
    Programmatic Pattern: (RangeP[0*Minute, $MaxExperimentTime] | Automatic) | Null
    Index Matches to: experiment samples

    IncubateAliquotContainer

    The desired type of container that should be used to prepare and house the incubation samples which should be used in lieu of the SamplesIn for the experiment.
    Default Value: Automatic
    Pattern Description: An object of type or subtype Model[Container] or {Index, Container} or Null.
    Programmatic Pattern: ((ObjectP[Model[Container]] | {GreaterEqualP[1, 1] | (Automatic | Null), (ObjectP[{Model[Container], Object[Container]}] | _String) | Automatic}) | Automatic) | Null
    Index Matches to: experiment samples

    IncubateAliquotDestinationWell

    The desired position in the corresponding IncubateAliquotContainer in which the aliquot samples will be placed.
    Default Value: Automatic
    Default Calculation: Automatically resolves to A1 in containers with only one position. For plates, fills wells in the order provided by the function AllWells.
    Pattern Description: Any well from A1 to H12 or Null.
    Programmatic Pattern: (WellPositionP | Automatic) | Null
    Index Matches to: experiment samples

    IncubateAliquot

    The amount of each sample that should be transferred from the SamplesIn into the IncubateAliquotContainer when performing an aliquot before incubation.
    Default Value: Automatic
    Default Calculation: Automatically set as the smaller between the current sample volume and the maximum volume of the destination container.
    Pattern Description: All or greater than or equal to 1 microliter and less than or equal to 20 liters or Null.
    Programmatic Pattern: ((RangeP[1*Microliter, 20*Liter] | All) | Automatic) | Null
    Index Matches to: experiment samples

    Preparatory Centrifugation

    Centrifuge

    Indicates if the SamplesIn should be centrifuged prior to starting the experiment or any aliquoting. Sample Preparation occurs in the order of Incubation, Centrifugation, Filtration, and then Aliquoting (if specified).
    Default Value: Automatic
    Default Calculation: Resolves to True if any of the corresponding Centrifuge options are set. Otherwise, resolves to False.
    Pattern Description: True or False.
    Programmatic Pattern: BooleanP | Automatic
    Index Matches to: experiment samples

    CentrifugeInstrument

    The centrifuge that will be used to spin the provided samples prior to starting the experiment.
    Default Value: Automatic
    Pattern Description: An object of type or subtype Model[Instrument, Centrifuge] or Object[Instrument, Centrifuge] or Null.
    Programmatic Pattern: (ObjectP[{Model[Instrument, Centrifuge], Object[Instrument, Centrifuge]}] | Automatic) | Null
    Index Matches to: experiment samples

    CentrifugeIntensity

    The rotational speed or the force that will be applied to the samples by centrifugation prior to starting the experiment.
    Default Value: Automatic
    Pattern Description: Greater than 0 revolutions per minute or greater than 0 standard accelerations due to gravity on the surface of the earth or Null.
    Programmatic Pattern: ((GreaterP[0*RPM] | GreaterP[0*GravitationalAcceleration]) | Automatic) | Null
    Index Matches to: experiment samples

    CentrifugeTime

    The amount of time for which the SamplesIn should be centrifuged prior to starting the experiment.
    Default Value: Automatic
    Pattern Description: Greater than 0 minutes or Null.
    Programmatic Pattern: (GreaterP[0*Minute] | Automatic) | Null
    Index Matches to: experiment samples

    CentrifugeTemperature

    The temperature at which the centrifuge chamber should be held while the samples are being centrifuged prior to starting the experiment.
    Default Value: Automatic
    Pattern Description: Ambient or greater than or equal to -10 degrees Celsius and less than or equal to 40 degrees Celsius or Null.
    Programmatic Pattern: ((Ambient | RangeP[-10*Celsius, 40*Celsius]) | Automatic) | Null
    Index Matches to: experiment samples

    CentrifugeAliquotContainer

    The desired type of container that should be used to prepare and house the centrifuge samples which should be used in lieu of the SamplesIn for the experiment.
    Default Value: Automatic
    Pattern Description: An object of type or subtype Model[Container] or {Index, Container} or Null.
    Programmatic Pattern: ((ObjectP[Model[Container]] | {GreaterEqualP[1, 1] | (Automatic | Null), (ObjectP[{Model[Container], Object[Container]}] | _String) | Automatic}) | Automatic) | Null
    Index Matches to: experiment samples

    CentrifugeAliquotDestinationWell

    The desired position in the corresponding AliquotContainer in which the aliquot samples will be placed.
    Default Value: Automatic
    Default Calculation: Automatically resolves to A1 in containers with only one position. For plates, fills wells in the order provided by the function AllWells.
    Pattern Description: Any well from A1 to H12 or Null.
    Programmatic Pattern: (WellPositionP | Automatic) | Null
    Index Matches to: experiment samples

    CentrifugeAliquot

    The amount of each sample that should be transferred from the SamplesIn into the CentrifugeAliquotContainer when performing an aliquot before centrifugation.
    Default Value: Automatic
    Default Calculation: Automatically set as the smaller between the current sample volume and the maximum volume of the destination container.
    Pattern Description: All or greater than or equal to 1 microliter and less than or equal to 20 liters or Null.
    Programmatic Pattern: ((RangeP[1*Microliter, 20*Liter] | All) | Automatic) | Null
    Index Matches to: experiment samples

    Preparatory Filtering

    Filtration

    Indicates if the SamplesIn should be filter prior to starting the experiment or any aliquoting. Sample Preparation occurs in the order of Incubation, Centrifugation, Filtration, and then Aliquoting (if specified).
    Default Value: Automatic
    Default Calculation: Resolves to True if any of the corresponding Filter options are set. Otherwise, resolves to False.
    Pattern Description: True or False.
    Programmatic Pattern: BooleanP | Automatic
    Index Matches to: experiment samples

    FiltrationType

    The type of filtration method that should be used to perform the filtration.
    Default Value: Automatic
    Default Calculation: Will automatically resolve to a filtration type appropriate for the volume of sample being filtered.
    Pattern Description: PeristalticPump, Centrifuge, Vacuum, Syringe, or AirPressure or Null.
    Programmatic Pattern: (FiltrationTypeP | Automatic) | Null
    Index Matches to: experiment samples

    FilterInstrument

    The instrument that should be used to perform the filtration.
    Default Value: Automatic
    Default Calculation: Will automatically resolved to an instrument appropriate for the filtration type.
    Pattern Description: An object of type or subtype Model[Instrument, FilterBlock], Object[Instrument, FilterBlock], Model[Instrument, PeristalticPump], Object[Instrument, PeristalticPump], Model[Instrument, VacuumPump], Object[Instrument, VacuumPump], Model[Instrument, Centrifuge], Object[Instrument, Centrifuge], Model[Instrument, SyringePump], or Object[Instrument, SyringePump] or Null.
    Programmatic Pattern: (ObjectP[{Model[Instrument, FilterBlock], Object[Instrument, FilterBlock], Model[Instrument, PeristalticPump], Object[Instrument, PeristalticPump], Model[Instrument, VacuumPump], Object[Instrument, VacuumPump], Model[Instrument, Centrifuge], Object[Instrument, Centrifuge], Model[Instrument, SyringePump], Object[Instrument, SyringePump]}] | Automatic) | Null
    Index Matches to: experiment samples

    Filter

    The filter that should be used to remove impurities from the SamplesIn prior to starting the experiment.
    Default Value: Automatic
    Default Calculation: Will automatically resolve to a filter appropriate for the filtration type and instrument.
    Pattern Description: An object of type or subtype Model[Container, Plate, Filter], Model[Container, Vessel, Filter], or Model[Item, Filter] or Null.
    Programmatic Pattern: (ObjectP[{Model[Container, Plate, Filter], Model[Container, Vessel, Filter], Model[Item, Filter]}] | Automatic) | Null
    Index Matches to: experiment samples

    FilterMaterial

    The membrane material of the filter that should be used to remove impurities from the SamplesIn prior to starting the experiment.
    Default Value: Automatic
    Default Calculation: Resolves to an appropriate filter material for the given sample is Filtration is set to True.
    Pattern Description: Cellulose, Cotton, Polyethylene, Polypropylene, PTFE, Nylon, PES, PLUS, PVDF, GlassFiber, GHP, UHMWPE, EPDM, DuraporePVDF, GxF, ZebaDesaltingResin, NickelResin, AgaroseResin, CobaltResin, Silica, HLB, or AnoporeAlumina or Null.
    Programmatic Pattern: (FilterMembraneMaterialP | Automatic) | Null
    Index Matches to: experiment samples

    PrefilterMaterial

    The material from which the prefilter filtration membrane should be made of to remove impurities from the SamplesIn prior to starting the experiment.
    Default Value: Automatic
    Default Calculation: By default, no prefiltration is performed on samples, even when Filter->True.
    Pattern Description: Cellulose, Cotton, Polyethylene, Polypropylene, PTFE, Nylon, PES, PLUS, PVDF, GlassFiber, GHP, UHMWPE, EPDM, DuraporePVDF, GxF, ZebaDesaltingResin, NickelResin, AgaroseResin, CobaltResin, Silica, HLB, or AnoporeAlumina or Null.
    Programmatic Pattern: (FilterMembraneMaterialP | Automatic) | Null
    Index Matches to: experiment samples

    FilterPoreSize

    The pore size of the filter that should be used when removing impurities from the SamplesIn prior to starting the experiment.
    Default Value: Automatic
    Default Calculation: Resolves to an appropriate filter pore size for the given sample is Filtration is set to True.
    Pattern Description: 0.008 micrometers, 0.02 micrometers, 0.1 micrometers, 0.2 micrometers, 0.22 micrometers, 0.45 micrometers, 1. micrometer, 1.1 micrometers, 2.5 micrometers, 6. micrometers, 20. micrometers, 30. micrometers, or 100. micrometers or Null.
    Programmatic Pattern: (FilterSizeP | Automatic) | Null
    Index Matches to: experiment samples

    PrefilterPoreSize

    The pore size of the filter; all particles larger than this should be removed during the filtration.
    Default Value: Automatic
    Default Calculation: By default, no prefiltration is performed on samples, even when Filter->True.
    Pattern Description: 0.008 micrometers, 0.02 micrometers, 0.1 micrometers, 0.2 micrometers, 0.22 micrometers, 0.45 micrometers, 1. micrometer, 1.1 micrometers, 2.5 micrometers, 6. micrometers, 20. micrometers, 30. micrometers, or 100. micrometers or Null.
    Programmatic Pattern: (FilterSizeP | Automatic) | Null
    Index Matches to: experiment samples

    FilterSyringe

    The syringe used to force that sample through a filter.
    Default Value: Automatic
    Default Calculation: Resolves to an syringe appropriate to the volume of sample being filtered, if Filtration is set to True.
    Pattern Description: An object of type or subtype Model[Container, Syringe] or Object[Container, Syringe] or a prepared sample or Null.
    Programmatic Pattern: ((ObjectP[{Model[Container, Syringe], Object[Container, Syringe]}] | _String) | Automatic) | Null
    Index Matches to: experiment samples

    FilterHousing

    The filter housing that should be used to hold the filter membrane when filtration is performed using a standalone filter membrane.
    Default Value: Automatic
    Default Calculation: Resolve to an housing capable of holding the size of the membrane being used, if filter with Membrane FilterType is being used and Filtration is set to True.
    Pattern Description: An object of type or subtype Model[Instrument, FilterHousing], Object[Instrument, FilterHousing], Model[Instrument, FilterBlock], or Object[Instrument, FilterBlock] or Null.
    Programmatic Pattern: (ObjectP[{Model[Instrument, FilterHousing], Object[Instrument, FilterHousing], Model[Instrument, FilterBlock], Object[Instrument, FilterBlock]}] | Automatic) | Null
    Index Matches to: experiment samples

    FilterIntensity

    The rotational speed or force at which the samples will be centrifuged during filtration.
    Default Value: Automatic
    Default Calculation: Will automatically resolve to 2000 GravitationalAcceleration if FiltrationType is Centrifuge and Filtration is True.
    Pattern Description: Greater than 0 revolutions per minute or greater than 0 standard accelerations due to gravity on the surface of the earth or Null.
    Programmatic Pattern: ((GreaterP[0*RPM] | GreaterP[0*GravitationalAcceleration]) | Automatic) | Null
    Index Matches to: experiment samples

    FilterTime

    The amount of time for which the samples will be centrifuged during filtration.
    Default Value: Automatic
    Default Calculation: Will automatically resolve to 5 Minute if FiltrationType is Centrifuge and Filtration is True.
    Pattern Description: Greater than 0 minutes or Null.
    Programmatic Pattern: (GreaterP[0*Minute] | Automatic) | Null
    Index Matches to: experiment samples

    FilterTemperature

    The temperature at which the centrifuge chamber will be held while the samples are being centrifuged during filtration.
    Default Value: Automatic
    Default Calculation: Will automatically resolve to 22 Celsius if FiltrationType is Centrifuge and Filtration is True.
    Pattern Description: Greater than or equal to 4 degrees Celsius or Null.
    Programmatic Pattern: ((Alternatives[GreaterEqualP[4*Celsius]]) | Automatic) | Null
    Index Matches to: experiment samples

    FilterContainerOut

    The desired container filtered samples should be produced in or transferred into by the end of filtration, with indices indicating grouping of samples in the same plates, if desired.
    Default Value: Automatic
    Default Calculation: Automatically set as the PreferredContainer for the Volume of the sample. For plates, attempts to fill all wells of a single plate with the same model before using another one.
    Pattern Description: An object of type or subtype Model[Container] or Object[Container] or a prepared sample or {Index, Container} or Null.
    Programmatic Pattern: (((ObjectP[{Model[Container], Object[Container]}] | _String) | {GreaterEqualP[1, 1] | Automatic, (ObjectP[{Model[Container], Object[Container]}] | _String) | Automatic}) | Automatic) | Null
    Index Matches to: experiment samples

    FilterAliquotDestinationWell

    The desired position in the corresponding AliquotContainer in which the aliquot samples will be placed.
    Default Value: Automatic
    Default Calculation: Automatically resolves to A1 in containers with only one position. For plates, fills wells in the order provided by the function AllWells.
    Pattern Description: Any well from A1 to H12 or Null.
    Programmatic Pattern: (WellPositionP | Automatic) | Null
    Index Matches to: experiment samples

    FilterAliquotContainer

    The desired type of container that should be used to prepare and house the filter samples which should be used in lieu of the SamplesIn for the experiment.
    Default Value: Automatic
    Pattern Description: An object of type or subtype Model[Container] or {Index, Container} or Null.
    Programmatic Pattern: ((ObjectP[Model[Container]] | {GreaterEqualP[1, 1] | (Automatic | Null), (ObjectP[{Model[Container], Object[Container]}] | _String) | Automatic}) | Automatic) | Null
    Index Matches to: experiment samples

    FilterAliquot

    The amount of each sample that should be transferred from the SamplesIn into the FilterAliquotContainer when performing an aliquot before filtration.
    Default Value: Automatic
    Default Calculation: Automatically set as the smaller between the current sample volume and the maximum volume of the destination container.
    Pattern Description: All or greater than or equal to 1 microliter and less than or equal to 20 liters or Null.
    Programmatic Pattern: ((RangeP[1*Microliter, 20*Liter] | All) | Automatic) | Null
    Index Matches to: experiment samples

    FilterSterile

    Indicates if the filtration of the samples should be done in a sterile environment.
    Default Value: Automatic
    Default Calculation: Resolve to False if Filtration is indicated. If sterile filtration is desired, this option must manually be set to True.
    Pattern Description: True or False or Null.
    Programmatic Pattern: (BooleanP | Automatic) | Null
    Index Matches to: experiment samples

    Aliquoting

    Aliquot

    Indicates if aliquots should be taken from the SamplesIn and transferred into new AliquotSamples used in lieu of the SamplesIn for the experiment. Note that if NumberOfReplicates is specified this indicates that the input samples will also be aliquoted that number of times. Note that Aliquoting (if specified) occurs after any Sample Preparation (if specified).
    Default Value: Automatic
    Pattern Description: True or False.
    Programmatic Pattern: BooleanP | Automatic
    Index Matches to: experiment samples

    AliquotAmount

    The amount of a sample that should be transferred from the input samples into aliquots.
    Default Value: Automatic
    Default Calculation: Automatically set as the smaller between the current sample volume and the maximum volume of the destination container if a liquid, or the current Mass or Count if a solid or counted item, respectively.
    Pattern Description: All or Count or Count or Mass or Volume or Null.
    Programmatic Pattern: ((RangeP[1*Microliter, 20*Liter] | RangeP[1*Milligram, 20*Kilogram] | GreaterP[0*Unit, 1*Unit] | GreaterP[0., 1.] | All) | Automatic) | Null
    Index Matches to: experiment samples

    TargetConcentration

    The desired final concentration of analyte in the AliquotSamples after dilution of aliquots of SamplesIn with the ConcentratedBuffer and BufferDiluent which should be used in lieu of the SamplesIn for the experiment.
    Default Value: Automatic
    Default Calculation: Automatically calculated based on aliquot and buffer volumes.
    Pattern Description: Greater than 0 molar or greater than 0 grams per liter or Null.
    Programmatic Pattern: ((GreaterP[0*Molar] | GreaterP[0*(Gram/Liter)]) | Automatic) | Null
    Index Matches to: experiment samples

    TargetConcentrationAnalyte

    The substance whose final concentration is attained with the TargetConcentration option.
    Default Value: Automatic
    Default Calculation: Automatically set to the first value in the Analytes field of the input sample, or, if not populated, to the first analyte in the Composition field of the input sample, or if none exist, the first identity model of any kind in the Composition field.
    Pattern Description: An object of type or subtype Model[Molecule], Model[Molecule, cDNA], Model[Molecule, Oligomer], Model[Molecule, Transcript], Model[Molecule, Protein], Model[Molecule, Protein, Antibody], Model[Molecule, Carbohydrate], Model[Molecule, Polymer], Model[Resin], Model[Resin, SolidPhaseSupport], Model[Lysate], Model[ProprietaryFormulation], Model[Virus], Model[Cell], Model[Cell, Mammalian], Model[Cell, Bacteria], Model[Cell, Yeast], Model[Tissue], Model[Material], or Model[Species] or Null.
    Programmatic Pattern: (ObjectP[IdentityModelTypes] | Automatic) | Null
    Index Matches to: experiment samples

    AssayVolume

    The desired total volume of the aliquoted sample plus dilution buffer.
    Default Value: Automatic
    Default Calculation: Automatically determined based on Volume and TargetConcentration option values.
    Pattern Description: Greater than or equal to 1 microliter and less than or equal to 20 liters or Null.
    Programmatic Pattern: (RangeP[1*Microliter, 20*Liter] | Automatic) | Null
    Index Matches to: experiment samples

    ConcentratedBuffer

    The concentrated buffer which should be diluted by the BufferDilutionFactor in the final solution (i.e., the combination of the sample, ConcentratedBuffer, and BufferDiluent). The ConcentratedBuffer and BufferDiluent will be combined and then mixed with the sample, where the combined volume of these buffers is the difference between the AliquotAmount and the total AssayVolume.
    Default Value: Automatic
    Pattern Description: An object of type or subtype Model[Sample] or Object[Sample] or a prepared sample or Null.
    Programmatic Pattern: ((ObjectP[{Model[Sample], Object[Sample]}] | _String) | Automatic) | Null
    Index Matches to: experiment samples

    BufferDilutionFactor

    The dilution factor by which the concentrated buffer should be diluted in the final solution (i.e., the combination of the sample, ConcentratedBuffer, and BufferDiluent). The ConcentratedBuffer and BufferDiluent will be combined and then mixed with the sample, where the combined volume of these buffers is the difference between the AliquotAmount and the total AssayVolume.
    Default Value: Automatic
    Default Calculation: If ConcentratedBuffer is specified, automatically set to the ConcentratedBufferDilutionFactor of that sample; otherwise, set to Null.
    Pattern Description: Greater than or equal to 1 or Null.
    Programmatic Pattern: (GreaterEqualP[1] | Automatic) | Null
    Index Matches to: experiment samples

    BufferDiluent

    The buffer used to dilute the aliquot sample such that ConcentratedBuffer is diluted by BufferDilutionFactor in the final solution. The ConcentratedBuffer and BufferDiluent will be combined and then mixed with the sample, where the combined volume of these buffers is the difference between the AliquotAmount and the total AssayVolume.
    Default Value: Automatic
    Default Calculation: Automatically resolves to Model[Sample, "Milli-Q water"] if ConcentratedBuffer is specified; otherwise, resolves to Null.
    Pattern Description: An object of type or subtype Model[Sample] or Object[Sample] or a prepared sample or Null.
    Programmatic Pattern: ((ObjectP[{Model[Sample], Object[Sample]}] | _String) | Automatic) | Null
    Index Matches to: experiment samples

    AssayBuffer

    The buffer that should be added to any aliquots requiring dilution, where the volume of this buffer added is the difference between the AliquotAmount and the total AssayVolume.
    Default Value: Automatic
    Default Calculation: Automatically resolves to Model[Sample, "Milli-Q water"] if ConcentratedBuffer is not specified; otherwise, resolves to Null.
    Pattern Description: An object of type or subtype Model[Sample] or Object[Sample] or a prepared sample or Null.
    Programmatic Pattern: ((ObjectP[{Model[Sample], Object[Sample]}] | _String) | Automatic) | Null
    Index Matches to: experiment samples

    AliquotSampleStorageCondition

    The non-default conditions under which any aliquot samples generated by this experiment should be stored after the protocol is completed.
    Default Value: Automatic
    Pattern Description: {AmbientStorage, EnclosedAmbientStorage, Refrigerator, Freezer, DeepFreezer, CryogenicStorage, YeastIncubation, YeastShakingIncubation, BacterialIncubation, BacterialShakingIncubation, MammalianIncubation, ViralIncubation, CrystalIncubation, AcceleratedTesting, IntermediateTesting, LongTermTesting, UVVisLightTesting} or Disposal or Null.
    Programmatic Pattern: ((SampleStorageTypeP | Disposal) | Automatic) | Null
    Index Matches to: experiment samples

    DestinationWell

    The desired position in the corresponding AliquotContainer in which the aliquot samples will be placed.
    Default Value: Automatic
    Default Calculation: Automatically resolves to A1 in containers with only one position. For plates, fills wells in the order provided by the function AllWells.
    Pattern Description: Any well from A1 to H12 or list of one or more any well from A1 to H12 or any well from A1 to H12 entries or Null.
    Programmatic Pattern: ((WellPositionP | {((Automatic | Null) | WellPositionP)..}) | Automatic) | Null

    AliquotContainer

    The desired type of container that should be used to prepare and house the aliquot samples, with indices indicating grouping of samples in the same plates, if desired. This option will resolve to be the length of the SamplesIn * NumberOfReplicates.
    Default Value: Automatic
    Default Calculation: Automatically set as the PreferredContainer for the AssayVolume of the sample. For plates, attempts to fill all wells of a single plate with the same model before aliquoting into the next.
    Pattern Description: An object of type or subtype Model[Container] or Object[Container] or a prepared sample or Automatic or Null or {Index, Container} or list of one or more an object of type or subtype Model[Container] or Object[Container] or a prepared sample or Automatic or Null entries or list of one or more Automatic or Null or {Index, Container} entries.
    Programmatic Pattern: (((ObjectP[{Model[Container], Object[Container]}] | _String) | (Automatic | Null) | {GreaterEqualP[1, 1] | (Automatic | Null), (ObjectP[{Model[Container], Object[Container]}] | _String) | (Automatic | Null)} | {((ObjectP[{Model[Container], Object[Container]}] | _String) | (Automatic | Null))..} | {({GreaterEqualP[1, 1] | (Automatic | Null), (ObjectP[{Model[Container], Object[Container]}] | _String) | (Automatic | Null)} | (Automatic | Null))..}) | Automatic) | Null

    AliquotPreparation

    Indicates the desired scale at which liquid handling used to generate aliquots will occur.
    Default Value: Automatic
    Default Calculation: Automatic resolution will occur based on manipulation volumes and container types.
    Pattern Description: Manual or Robotic or Null.
    Programmatic Pattern: (PreparationMethodP | Automatic) | Null

    ConsolidateAliquots

    Indicates if identical aliquots should be prepared in the same container/position.
    Default Value: Automatic
    Pattern Description: True or False or Null.
    Programmatic Pattern: (BooleanP | Automatic) | Null

Protocol Options

    Organizational Information

    Template

    A template protocol whose methodology should be reproduced in running this experiment. Option values will be inherited from the template protocol, but can be individually overridden by directly specifying values for those options to this Experiment function.
    Default Value: Null
    Pattern Description: An object of type or subtype Object[Protocol] or an object of type or subtype of Object[Protocol] with UnresolvedOptions, ResolvedOptions specified or Null.
    Programmatic Pattern: (ObjectP[Object[Protocol]] | FieldReferenceP[Object[Protocol], {UnresolvedOptions, ResolvedOptions}]) | Null

    Name

    A object name which should be used to refer to the output object in lieu of an automatically generated ID number.
    Default Value: Null
    Pattern Description: A string or Null.
    Programmatic Pattern: _String | Null

    Post Experiment

    MeasureWeight

    Indicates if any solid samples that are modified in the course of the experiment should have their weights measured and updated after running the experiment. Please note that public samples are weighed regardless of the value of this option.
    Default Value: Automatic
    Pattern Description: True or False or Null.
    Programmatic Pattern: (BooleanP | Automatic) | Null

    MeasureVolume

    Indicates if any liquid samples that are modified in the course of the experiment should have their volumes measured and updated after running the experiment. Please note that public samples are volume measured regardless of the value of this option.
    Default Value: Automatic
    Pattern Description: True or False or Null.
    Programmatic Pattern: (BooleanP | Automatic) | Null

    ImageSample

    Indicates if any samples that are modified in the course of the experiment should be freshly imaged after running the experiment. Please note that public samples are imaged regardless of the value of this option.
    Default Value: Automatic
    Pattern Description: True or False or Null.
    Programmatic Pattern: (BooleanP | Automatic) | Null

Example Calls

    Quantification

    If quantifying, it is recommended to use the fixed path length Lunatic plate reader. The specified wavelength will be the one on which the extinction cofficient will be obtained and absorbance will be calculated:
    To indicate which component in a mixture will be quantified, specify the QuantificationAnalyte option. If not specified, ExperimentAbsorbanceSpectroscopy will call the Experiment`Private`selectAnalyteFromSample on the input samples to guess what component to quantify:
    Set the sample to set as the blank to subtract when quantifying. If not specified, will be set to water:

    Injections

    To specify injections, use the InjectionSample and InjectionVolume options if using the PHERAstar, CLARIOstar, or Omega. The sample and volume options are index matched to the input samples allowing you to control the wells which receive injections and the volumes of those injections. In the example below, 50 Microliter of myInjectionSample1 is injected into each well, and then myInjectionSample2 is injected at different volumes into the first two wells but not the third:

    Plate Reader Mixing

    The assay plate can be mixed during readings by specifying any of the PlateReaderMix options if using the PHERAstar, CLARIOstar, or Omega:

    Cuvette Acquisition Mixing

    The samples within the cuvettes can be mixed during readings by specifyingthe AcquisitionMix options if using the Cary 3500:

Preferred Input Containers

    The Lunatic plate reader can load its microfluidic chips with most Hamiltion robot-compatible containers, most notably except 50 mL tubes.
    The CLARIOstar, PHERAstar, and Omega plate readers can read standard SBS shallow well plates.
    The CLARIOstar, PHERAstar, and Omega plate readers can inject samples from samples in 2mL, 15mL and 50 mL tubes while recording kinetic signal.
    These cuvette models are compatible with the instrument.

Data Processing

    Calculate the concentration of the input samples given the data produced in the experiment:

Warnings and Errors

    Messages  (77)

    AbsorbanceSamplingCombinationUnavailable  (1)

    SamplingDimension is only supported when SamplingPattern->Matrix:

    AbsorbanceSpectroscopyCuvetteVolumeOutOfRange  (1)

    The assay volume (total volume of samples and buffers inside a particular pool) has to fall within the working range of an available cuvette:

    AbsorbanceSpectroscopyIncompatibleCuvette  (1)

    The container in which the samples are to be pooled and measured (AliquotContainer) has to be compatible with the instrument (for example, it has to be made of quartz):

    AbsSpecTooManySamples  (1)

    If the combination of NumberOfReplicates * (Number of samples + number of unique blanks) is greater than 94 and we are using the Lunatic, throw an error:

    AcquisitionMixIncompatibleWithPlateReader  (1)

    Throws an error if AcquisitionMix option is incompatible with the specified instrument:

    AcquisitionMixRequiredOptions  (1)

    If the StirBar, AcquisitionMixRate, AcquisitionMixRateIncrements, AdjustMixRate, and MaxStirAttempts are specified, AcquisitionMix cannot be Null:

    AliquotRequired  (2)

    If the sample must be aliquoted but no aliquot options are specified, throw a warning telling the user:

    If the sample must be aliquoted but no aliquot options are specified, throw a warning telling the user:

    AmbiguousAnalyte  (3)

    If the sample has multiple potential analytes and the QuantificationAnalyte option is not specified but we aren't actually quantifying, don't throw an error:

    If the sample has multiple potential analytes and the QuantificationAnalyte option is not specified, throw a warning stating that one has been chosen arbitrarily:

    If the sample has multiple potential analytes and the QuantificationAnalyte option is specified, do not throw a warning:

    BlanksContainSamplesIn  (1)

    If the specified Blanks option contains samples that are also inputs, throw an error and return $Failed:

    BlankVolumeNotRecommended  (1)

    Returns an error if using the Lunatic and BlankVolumes is anything but 2.1*Microliter:

    ConcentrationWavelengthMismatch  (3)

    Returns an error if QuantifyConcentration is set to False and a QuantificationWavelength has been provided:

    Returns an error if QuantifyConcentration is set to True and a QuantificationWavelength has been set to Null (Cuvette):

    Returns an error if QuantifyConcentration is set to True and a QuantificationWavelength has been set to Null (Microfluidic):

    CoveredInjections  (1)

    As injections are made into the top of the plate, RetainCover cannot be set to True:

    CoverUnsupported  (1)

    A plate based reader must be specified to use RetainCover:

    DiscardedSamples  (1)

    Throw an error if one or multiple of the input samples are discarded:

    DuplicateName  (1)

    If the specified Name option already exists as a protocol object, throw an error and return $Failed:

    ExtCoeffNotFound  (2)

    If sample concentration is being quantified, the extinction coefficient should be populated in the sample model (Cuvette):

    If sample concentration is being quantified, the extinction coefficient should be populated in the sample model (Microfluidic):

    ExtinctionCoefficientMissing  (2)

    If sample concentration is being quantified, the extinction coefficient should be populated in the sample model (Cuvette):

    If sample concentration is being quantified, the extinction coefficient should be populated in the sample model (Microfluidic):

    IncompatibleBlankOptions  (4)

    Returns an error if BlankAbsorbance -> False and Blanks is specified:

    Returns an error if BlankAbsorbance -> False and BlankVolumes is specified:

    Returns an error if BlankAbsorbance -> True and Blanks -> Null:

    Returns an error if BlankAbsorbance -> True and BlankVolumes -> Null:

    InputContainsTemporalLinks  (1)

    Throw a message if given a temporal link:

    InvalidAcquisitionMixRateRange  (1)

    MinAcquisitionMixRate must be smaller than MaxAcquisitionMixRate:

    InvalidBlankContainer  (1)

    Throws an error because no blank volume has been specified but blank Buffer 1 is in a 50mL tube and must be transferred into the assay container to be read:

    InvalidCuvetteMoatOptions  (1)

    Throws an error if plate reader moat options is being requested, but the method/instrument does not support it:

    InvalidCuvettePlateReaderOptions  (1)

    Throws an error if mixing within the plate reader chamber is being requested, but the method/instrument does not support it:

    InvalidCuvetteSamplingOptions  (1)

    Throws an error if plate reader sampling options is being requested, but the method/instrument does not support it:

    InvalidInput  (1)

    Throw an error if one or multiple of the input samples are discarded:

    MethodsInstrumentMismatch  (1)

    If Methods -> Cuvette and Instrument -> Lunatic, throws an error since the method is not compatible with the instrument:

    MixingParametersConflict  (1)

    Throws an error if PlateReaderMix cannot be resolved because one mixing parameter was specified and another was set to Null:

    MixingParametersRequired  (1)

    Throws an error if PlateReaderMix->True and PlateReaderMixTime has been set to Null:

    MixingParametersUnneeded  (1)

    Throws an error if PlateReaderMix->False and PlateReaderMixTime has been specified:

    NonLiquidSamples  (1)

    If the provided sample is not Liquid, an error will be thrown:

    NotEqualBlankVolumesWarning  (1)

    Print a warning message if the blank volume is not equal to the volume of the sample:

    ObjectDoesNotExist  (7)

    Do NOT throw a message if we have a simulated container but a simulation is specified that indicates that it is simulated:

    Do NOT throw a message if we have a simulated sample but a simulation is specified that indicates that it is simulated:

    Throw a message if we have a container that does not exist (ID form):

    Throw a message if we have a container that does not exist (name form):

    Throw a message if we have a sample that does not exist (ID form):

    Throw a message if we have a sample that does not exist (name form):

    Throw an error and return early if an input object doesn't exist:

    PlateReaderInjectionsUnsupported  (1)

    Throws an error if injections are being requested, but the instrument does not support it:

    PlateReaderMixingUnsupported  (1)

    Throws an error if mixing within the plate reader chamber is being requested, but the instrument does not support it:

    PlateReaderMoatUnsupported  (1)

    Throws an error if there's a request to create a circle of wells around the samples but a chip-based reader is being used:

    PlateReaderReadDirectionUnsupported  (1)

    Throws an error if the plate reader being does not allow the order in which samples are read to be set:

    PlateReaderReadings  (3)

    Throws an error if NumberOfReadings is set to Null when BMG plate reader is required:

    Throws an error if NumberOfReadings is set when Cary 3500 is required:

    Throws an error if NumberOfReadings is set when Lunatic is required:

    QuantificationRequiresBlanking  (2)

    Returns an error if QuantifyConcentration -> True and BlankAbsorbance -> False (Cuvette):

    Returns an error if QuantifyConcentration -> True and BlankAbsorbance -> False (Microfluidic):

    RepeatedPlateReaderSamples  (2)

    Prints a warning if aliquots will be generated in order to make repeat readings of the same sample:

    Throws an error if the same sample is repeated multiple times and Aliquot->False since repeat readings are performed by reading multiple aliquots of the same sample:

    ReplicateAliquotsRequired  (2)

    Prints a warning if aliquots will be generated in order to make replicate readings:

    Throws an error if replicates are specified and Aliquot->False since replicates are performed by reading multiple aliquots of the same sample:

    ReplicateChipSpace  (1)

    Warns the user if the sample is being quantified but there is not enough space available to do the expected number of replicates:

    SampleMustContainQuantificationAnalyte  (1)

    If QuantificationAnalyte is specified, it must be a component of the input sample:

    SamplingPatternMismatch  (2)

    When using an instrument capable of sampling the SamplingPattern can't be set to Null:

    When using an instrument which doesn't perform sampling the SamplingPattern can't be set:

    SpectralBandwidthIncompatibleWithPlateReader  (1)

    Throws an error if SpectralBandwidth options is not compatible with the instrument:

    TemperatureIncompatibleWithPlateReader  (2)

    Returns an error if the EquilibrationTime option is specified with an instrument that does not support it:

    Returns an error if the Temperature option is specified with an instrument that does not support it:

    TemperatureNoEquilibration  (1)

    A warning will be shown if Temperature is set above Ambient and EquilibrationTime is set to zero:

    TooManyBlanks  (1)

    Throw an error is user tries to specify more than one blank samples for cuvette mode:

    UnnecessaryBlankTransfer  (1)

    Specifying a blank volume indicates that an aliquot of the blank should be taken and read. Gives a warning if this is set to happen even though the blank is already in a valid container:

    UnsupportedInstrumentSamplingPattern  (1)

    The Omega can't sample wells using a Matrix pattern:

    UnsupportedPlateReader  (2)

    Returns an error if the specified plate reader model is deprecated:

    Returns an error if the specified plate reader object is retired:

    UnsupportedSamplingPattern  (1)

    The Matrix pattern is not allowed in ExperimentAbsorbanceSpectroscopy:

    MicrofluidicChipLoading  (2)

    If Instrument is Lunatic, raise an error if MicrofluidicChipLoading is set to Null:

    If Instrument is not Lunatic, raise an error if MicrofluidicChipLoading is set to anything other than Null:

Possible Issues

    Multiple components

    If a mixture exists with overlapping extinction coefficients, the calculated concentration may be off because the full absorbance will be attributed to a single component rather than the multiple components of the sample.

    Readings outside of instrument detector's absorbance range

    If a sample's absorbance exceeds the detection range of the instrument's detector, the over-saturated points are removed from the reported AbsorbanceSpectrum field in the corresponding Data object, and the AbsorbanceSaturated field is marked as True.

    Readings outside of linear range

    If the output data is outside of the recommended linear range of the instrument, AnalyzeAbsorbanceQuantification will throw a warning because quantifications may be less reliable.

    Incompatible solvents

    If the sample is contained in a volatile solvent (say methanol or acetone), the 2.1 μL of solvent will evaporate before any data can be collected. For example, when plotting the following data Object[Data, AbsorbanceSpectroscopy, "id:zGj91a7n4JNn"], an error will be thrown since there is no valid data collected.

    Lunatic NumberOfReplicates

    If the Lunatic is chosen as the instrument, consider using a NumberOfReplicates->3 or more, since the microfluidic chips can develop bubbles during loading which can prevent data from being collected. If QuantifyConcentration->True the NumberOfReplicates will automatically resolve to 3.

    Unavailable Data on Lunatic instruments

    The Lunatic instrument may fail to measure absorbance due to issues with microfluidic chip cuvette loading. The experiment automatically retries the failed samples up to two additional times. If all attempts fail, a Data object with Null AbsorbanceSpectrum is reported for the sample, and the UnavailableData field in the Protocol object is set to True.
Last modified on Tue 2 Sep 2025 12:53:04