ExperimentSerialDilute
ExperimentSerialDilute[Samples]⟹Protocol
generates a Protocol to perform a series of dilutions iteratively by mixing samples with diluent, and transferring to another container of diluent.
A serial dilution involves taking a liquid sample and diluting it multiple times by dilution factors into separate containers or wells. It starts with the concentrated sample and multiple containers or wells with the same amount of diluent. A certain amount of concentrated sample is transferred to one of these containers or wells, and from here, another amount is transferred to another container or well. This process is repeated until the desired number of dilutions has been made. An example is performing a series of ten-fold dilutions; 1mL of concentrated sample can be transferred to a tube containing 9mL of diluent, then 1mL from this dilution would be transferred into another tube with 9mL of diluent, and the process repeats until a desired number of dilutions is achieved.
Experimental Principles
Figure 1.1: A specified or calculated amount is transferred from the input sample to a container with specified or calculated amounts of Diluent. After mixing, another amount is transferred from the second container to a third container, where the buffer is diluted again with a Diluent. In this example, the source sample is being diluted by factors of 10 two times in a water Diluent.
Figure 1.2: A specified or calculated amount is transferred from the input sample to a container with specified or calculated amounts of Diluent, and optionally, a ConcentratedBuffer. After mixing, another amount is transferred from the second container to a third container with a specified amount of Diluent, and the process repeats until the desired number of dilutions is reached. In this example, the sample is being diluted by factors of 10 two times, where the Diluent is 1X PBS, and the ConcentratedBuffer is 10X PBS.
Figure 1.3: A specified or calculated amount is transferred from the input sample to a container with specified or calculated amounts of BufferDiluent, and optionally, a ConcentratedBuffer. After mixing, another amount is transferred from the second container to a third container with a specified amount of BufferDiluent and optionally ConcentratedBuffer, and the process repeats until the desired number of dilutions is reached. The BufferDiluent here is meant to dilute the ConcentratedBuffer at each step. In this example, the sample is being diluted by factors of 10 twi times, where the BufferDiluent is water and the ConcentratedBuffer is 10X PBS.
Instrumentation
Super STAR
Figure 2.1.1: An overview of the robotic workcell. It is capable of processing plate operations including incubation, shaking, and magnetic bead separation on-deck and centrifugation, filtration, and absorbance/fluorescence/luminescence measurement off-deck, with a robot arm facilitating the plate movements.
Hamilton STARlet
Figure 2.2.1: An overview of the robotic workcell. It is capable of processing plate operations including incubation, shaking, and magnetic bead separation on-deck and filtration and absorbance/fluorescence/luminescence measurement off-deck, with a robot arm facilitating the plate movements.
Eppendorf Research Plus P200
Figure 2.3: The diagram above lists the available pipette sizes and corresponding tip types that are available in the ECL.
pipetus
Figure 2.4: The above diagram lists the compatible serological tip sizes that are available at the ECL.
Eppendorf Research Plus, 8-channel 1200uL
Experiment Options
General
SerialDilutionFactors
The factors by which you wish to reduce the concentrations starting with SamplesIn, followed by each previous dilution in the series of dilutions. This or TargetConcentrations must be provided, or an error is thrown.
Default Calculation: Automatically set to 10. This option can also be calculated from equations in Process Diagrams.
NumberOfSerialDilutions
The number of times the sample is repeatedly diluted, starting with SamplesIn, followed by each previous dilution.
Default Calculation: Automatically set to the number of TargetConcentrations or SerialDilutionFactors if provided, otherwise set to 1.
TargetConcentrations
Default Calculation: Automatically set to 2Molar. In either Direct or FromConcentrate, this can be calculated from the equations in Process Diagrams.
Pattern Description: List of one or more greater than 0 molar or greater than 0 grams per liter entries or Null.
Analyte
The components in SamplesIn's Composition whose final concentrations (TargetConcentrations) are attained through a series of repeated dilutions.
Default Calculation: Automatically set to the first value in the Analytes field of SamplesIn, 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.
FinalVolume
Default Calculation: Automatically set to 100Microliter. In either Direct or FromConcentrate, can be calculated from the equations in Process Diagrams.
Pattern Description: List of one or more greater than or equal to 0 microliters and less than or equal to 20 liters entries.
BufferDilutionStrategy
BufferDilutionStrategy describes the manner in which to generate to buffer samples for each serial dilution. FromConcentrate provides ConcentratedBuffer to each well, which is then diluted with BufferDiluent to reach a final buffer concentraion of 1X, whereas Direct uses pre-diluted buffer which is already at 1X to perform the subsequent dilutions (see Equations chart in Process Diagrams).
TransferAmounts
Default Calculation: Automatically set to 10Microliter. If SerialDilutionFactors or TargetConcentrations, and FinalVolume are provided, this option can be calculated from the equations in Process Diagrams.
Pattern Description: List of one or more greater than or equal to 0 microliters and less than or equal to 20 liters entries.
Diluent
Default Calculation: Automatically set to the Solvent of SamplesIn, or Model[Sample,"milli-Q Water"] if Solvent is not defined.
Pattern Description: An object of type or subtype Object[Sample] or Model[Sample] or a prepared sample or Null.
DiluentAmount
The amount of solution used to reduce the concentration of the SamplesIn and each subsequent dilution.
Default Calculation: Automatically set to 90Microliter. If SerialDilutionFactors or TargetConcentrations, and FinalVolume are provided, this option can be calculated from the equations in Process Diagrams.
Pattern Description: List of one or more greater than or equal to 0 microliters and less than or equal to 20 liters entries.
BufferDiluent
The solution used to reduce the concentration of the ConcentratedBuffer in the first and each subsequent dilution.
Default Calculation: If the BufferDilutionStrategy is Direct, it will be set to Null. If not, it will automatically be set to the Solvent of ConcentratedBuffer, or Model["milli-Q Water"] if Solvent is not defined.
Pattern Description: An object of type or subtype Object[Sample] or Model[Sample] or a prepared sample or Null.
BufferDilutionFactor
The factor by which to reduce the concentration of the ConcentratedBufferDilutionFactor (but not the input sample) in all of the dilutions.
Default Calculation: Automatically set to the ConcentratedBufferDilutionFactor of ConcentratedBuffer. If ConcentratedBufferDilutionFactor is not defined, automatically set to 10 and throws a warning.
BufferDiluentAmount
The amount of buffer diluent to be added to reduce the concentration of ConcentratedBuffer in each dilution.
Pattern Description: List of one or more greater than or equal to 0 microliters and less than or equal to 20 liters entries or Null.
ConcentratedBuffer
The buffer used in the first dilution from SamplesIn. If BufferDiluentStrategy is FromConcentrate, then it will also be used in subsequent dilutions.
Pattern Description: An object of type or subtype Object[Sample] or Model[Sample] or a prepared sample or Null.
ConcentratedBufferAmount
The amount of ConcentratedBuffer used in the first dilution from SamplesIn and each subsequent dilution.
Pattern Description: List of one or more greater than or equal to 0 microliters and less than or equal to 20 liters entries or Null.
DiscardFinalTransfer
Indicates if the final wells contain the same volume as the previously diluted wells by removing TransferAmount from the final dilution.
DestinationWells
ContainerOut
The desired type of container that should be used to prepare and house the diluted samples, with indices indicating grouping of samples in the same plates, if desired.
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 diluting into the next.
Pattern Description: List of one or more an object of type or subtype Model[Container] or Object[Container] or a prepared sample entries or list of one or more {Index, Container} entries.
Programmatic Pattern: ({(ObjectP[{Model[Container], Object[Container]}] | _String)..} | {{GreaterEqualP[1, 1] | Automatic, (ObjectP[{Model[Container], Object[Container]}] | _String) | Automatic}..}) | Automatic
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.
WorkCell
The automated workstation with a collection of integrated instruments on which this unit operation will be will be performed if Preparation -> Robotic.
Mixing
TransferMix
TransferMixType
Default Calculation: Automatically set based on the Volume option and size of the container in which the sample is prepared.
TransferNumberOfMixes
Determines the number of times the sample is mixed for discrete mixing processes such as Pipette or Swirl.
Incubate
Incubation and Mixing
IncubationTime
Default Calculation: Automatically set to 30 minutes unless MixType is set to Pipette, Swirl or Invert, in which case it is set to Null.
MaxIncubationTime
Default Calculation: Automatically set based on the MixType if MixUntilDissolved is set to True. If MixUntilDissolved is False, resolves to Null.
IncubationTemperature
Default Calculation: Automatically set to Ambient, or Null if Mix is set to False or MixType is set to Pipette, Swirl or Invert.
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: ((Null | (RangeP[$MinIncubationTemperature, $MaxIncubationTemperature] | Ambient)) | Automatic) | Null
Model Input
PreparedModelContainer
Indicates the container in which a Model[Sample] specified as input to the experiment function will be prepared.
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"].
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.
Programmatic Pattern: ((RangeP[1*Microliter, 20*Liter] | RangeP[1*Milligram, 20*Kilogram] | GreaterP[0*Unit, 1*Unit] | GreaterP[0., 1.] | All) | Automatic) | Null
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.
Pattern Description: {AmbientStorage, EnclosedAmbientStorage, Refrigerator, Freezer, DeepFreezer, CryogenicStorage, YeastIncubation, YeastShakingIncubation, BacterialIncubation, BacterialShakingIncubation, MammalianIncubation, ViralIncubation, CrystalIncubation, AcceleratedTesting, IntermediateTesting, LongTermTesting, UVVisLightTesting} or Disposal or Null.
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.
Pattern Description: {AmbientStorage, EnclosedAmbientStorage, Refrigerator, Freezer, DeepFreezer, CryogenicStorage, YeastIncubation, YeastShakingIncubation, BacterialIncubation, BacterialShakingIncubation, MammalianIncubation, ViralIncubation, CrystalIncubation, AcceleratedTesting, IntermediateTesting, LongTermTesting, UVVisLightTesting} or Disposal or 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.
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.
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.
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.
ImageSample
Example Calls
Specify how the samples should be diluted by using FinalVolume and SerialDilutionFactors, or FinalVolume and TargetConcentrations.
If FinalVolume and SerialDilutionFactors are specified, the samples should be diluted by the specified SerialDiltuionFactors into the FinalVolume specified:
If FinalVolume and TargetConcentrations are specified, the samples should be diluted to the TargetConcentrations into the specified FinalVolumes.
Use the same call to serially dilute multiple samples separately. If FinalVolume, SerialDilutionFactors and other variables are left as singletons, then these variables will apply to all samples.
Specifying that both samples will be diluted 10-fold three times in 100 microliters of diluent each time:
Use the NumberOfSerialDilutions option to specify how many dilutions are wanted.
Using the NumberOfSerialDilutions option will resolve the lengths of FinalVolume, SerialDilutionFactors and/or TargetConcentrations:
Specify whether to use a Diluent or BufferDiluent, and a ConcentratedBuffer. The default Diluent or BufferDiluent is water.
Change the strategy being used for the dilutions with BufferDilutionStrategy.
Specify the dilutions to be performed with the FromConcentrate strategy and to be diluted in 1X PBS in the end:
Specify the dilutions to be performed with the Direct strategy and to be diluted in 1X PBS in the end:
TransferMix and Incubate parameters
The options FinalVolume, along with SerialDilutionFactors or TargetConcentrations, are required options.
Warnings and Errors
Messages (16)
BufferDilutionStrategyErr (1)
IncompatibleIncubateDevice (1)
MismatchedNumber (2)
ObjectDoesNotExist (6)
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):

UnevenBufferDiluentAmountsError (1)
UnevenConcentratedBufferAmountsError (1)
UnevenDiluentAmountsError (1)
Last modified on Wed 8 Oct 2025 09:43:11