Skip to content

SIA Configuration

System configuration and parameter management.

SIA_API.methods.config.SIConfig dataclass

SIConfig(waste_port: int = 1, air_port: int = 2, di_port: int = 3, transfer_port: int = 4, meoh_port: int = 5, naoh_port: int = 6, buffer_port: int = 7, sample_port: int = 8, wash_vial: int = 48, dry_vial: int = 49, waste_vial: int = 50, cleaning_solution_vial: int = 47, default_bubble_volume: int = 15, default_transfer_line_volume: int = 600, default_holding_coil_volume: int = 1000, default_needle_flush: int = 50, default_cleaning_solution_volume: int = 350, default_air_flush: int = 30, default_homogenization_volume: int = 320, speed_air: int = 5000, speed_fast: int = 3500, speed_normal: int = 2000, speed_slow: int = 1500, speed_cleaning: int = 2500, speed_homogenization_aspirate: int = 2000, speed_homogenization_dispense: int = 2000, homogenization_liquid_cycles: int = 2, homogenization_air_cycles: int = 3, homogenization_clean_after: bool = False, wait_vial_load: float = 2.0, wait_vial_unload: float = 1.0, wait_after_aspirate: float = 1.0, wait_after_dispense: float = 0.5, wait_homogenization_settle: float = 5.0, wait_cleaning_reaction: float = 3.0, verbose: bool = True)

Complete configuration for SI (Sequential Injection) system.

This dataclass contains all adjustable parameters organized into logical groups. All parameters have sensible defaults that work for most applications, but can be customized as needed.

The configuration covers: - Port assignments for different reagents and functions - Standard vial positions for system components - Volume parameters for various operations - Speed settings for different types of flows - Timing parameters for system operations - Homogenization settings - Display and logging preferences

Attributes are grouped logically and documented individually below.

Attributes

waste_port class-attribute instance-attribute

waste_port: int = 1

Port connected to waste line (typically port 1)

air_port class-attribute instance-attribute

air_port: int = 2

Port for air aspiration (typically port 2)

di_port class-attribute instance-attribute

di_port: int = 3

Port connected to deionized water reservoir (typically port 3)

transfer_port class-attribute instance-attribute

transfer_port: int = 4

Port connected to transfer line leading to sample needle (typically port 4)

meoh_port class-attribute instance-attribute

meoh_port: int = 5

Port connected to methanol reservoir for cleaning (typically port 5)

naoh_port class-attribute instance-attribute

naoh_port: int = 6

Port connected to sodium hydroxide solution for cleaning (typically port 6)

buffer_port class-attribute instance-attribute

buffer_port: int = 7

Port connected to buffer solution reservoir (typically port 7)

sample_port class-attribute instance-attribute

sample_port: int = 8

Port connected to sample input line (typically port 8)

wash_vial class-attribute instance-attribute

wash_vial: int = 48

Carousel position for needle wash vial (contains wash solution)

dry_vial class-attribute instance-attribute

dry_vial: int = 49

Carousel position for dry/empty vial (for air aspiration if needed)

waste_vial class-attribute instance-attribute

waste_vial: int = 50

Carousel position for waste collection vial

cleaning_solution_vial class-attribute instance-attribute

cleaning_solution_vial: int = 47

Carousel position for cleaning solution vial (e.g., NaOH solution)

default_bubble_volume class-attribute instance-attribute

default_bubble_volume: int = 15

Default volume for separating air bubbles between different solutions (µL)

default_transfer_line_volume class-attribute instance-attribute

default_transfer_line_volume: int = 600

Volume of the transfer line from valve to sample needle (µL)

default_holding_coil_volume class-attribute instance-attribute

default_holding_coil_volume: int = 1000

Volume of the holding coil in the flow injection system (µL)

default_needle_flush class-attribute instance-attribute

default_needle_flush: int = 50

Default volume for flushing the sample needle to prevent contamination (µL)

default_cleaning_solution_volume class-attribute instance-attribute

default_cleaning_solution_volume: int = 350

Default volume of cleaning solution (e.g., NaOH) for system cleaning (µL)

default_air_flush class-attribute instance-attribute

default_air_flush: int = 30

Default volume of air for flushing operations (µL)

default_homogenization_volume class-attribute instance-attribute

default_homogenization_volume: int = 320

Default volume to aspirate/dispense during sample homogenization (µL)

speed_air class-attribute instance-attribute

speed_air: int = 5000

High speed for air aspiration and fast transfers (µL/min)

speed_fast class-attribute instance-attribute

speed_fast: int = 3500

Fast flow rate for routine liquid transfers (µL/min)

speed_normal class-attribute instance-attribute

speed_normal: int = 2000

Normal flow rate for standard operations (µL/min)

speed_slow class-attribute instance-attribute

speed_slow: int = 1500

Slow flow rate for precise operations or viscous liquids (µL/min)

speed_cleaning class-attribute instance-attribute

speed_cleaning: int = 2500

Flow rate for cleaning operations (µL/min)

speed_homogenization_aspirate class-attribute instance-attribute

speed_homogenization_aspirate: int = 2000

Flow rate for aspirating during sample homogenization (µL/min)

speed_homogenization_dispense class-attribute instance-attribute

speed_homogenization_dispense: int = 2000

Flow rate for dispensing during sample homogenization (µL/min)

homogenization_liquid_cycles class-attribute instance-attribute

homogenization_liquid_cycles: int = 2

Number of aspiration/dispense cycles for liquid-based homogenization

homogenization_air_cycles class-attribute instance-attribute

homogenization_air_cycles: int = 3

Number of aspiration/dispense cycles for air bubble-based homogenization

homogenization_clean_after class-attribute instance-attribute

homogenization_clean_after: bool = False

Whether to automatically clean the transfer line after homogenization

wait_vial_load class-attribute instance-attribute

wait_vial_load: float = 2.0

Wait time after loading a vial to replenishment position (seconds)

wait_vial_unload class-attribute instance-attribute

wait_vial_unload: float = 1.0

Wait time after unloading a vial from replenishment position (seconds)

wait_after_aspirate class-attribute instance-attribute

wait_after_aspirate: float = 1.0

Wait time after liquid aspiration for system stabilization (seconds)

wait_after_dispense class-attribute instance-attribute

wait_after_dispense: float = 0.5

Wait time after liquid dispensing for system stabilization (seconds)

wait_homogenization_settle class-attribute instance-attribute

wait_homogenization_settle: float = 5.0

Wait time for sample settling during homogenization operations (seconds)

wait_cleaning_reaction class-attribute instance-attribute

wait_cleaning_reaction: float = 3.0

Wait time for cleaning solution to react before flushing (seconds)

verbose class-attribute instance-attribute

verbose: bool = True

Global verbose setting - controls whether status messages are displayed

Configuration Functions

SIA_API.methods.config

Configuration management for SI (Sequential Injection) system.

This module provides centralized configuration for all adjustable parameters used in SI workflows. The SIConfig dataclass contains all system parameters organized into logical groups for easy maintenance and customization.

Example

from config import SIConfig, DEFAULT_CONFIG

Use default configuration

config = DEFAULT_CONFIG

Create custom configuration

custom_config = SIAConfig( ... speed_normal=1800, ... verbose=False, ... homogenization_liquid_cycles=3 ... )

Modify existing configuration

config.speed_fast = 4000 config.default_bubble_volume = 20

Functions

validate_config

validate_config(config) -> list

Validate a SIConfig instance and return any issues found.

Parameters:

Name Type Description Default
config

The SIConfig instance to validate

required

Returns:

Type Description
list

List of validation error messages (empty if no issues)

Example

config = SIConfig(speed_normal=-100) # Invalid negative speed errors = validate_config(config) if errors: ... print("Configuration issues:", errors)

create_config_from_dict

create_config_from_dict(config_dict: dict) -> SIConfig

Create a SIConfig instance from a dictionary.

Useful for loading configuration from JSON files or other sources. Unknown keys in the dictionary are ignored.

Parameters:

Name Type Description Default
config_dict dict

Dictionary with configuration parameters

required

Returns:

Type Description
SIConfig

New SIConfig instance with specified parameters

Example

config_data = { ... 'speed_normal': 1800, ... 'verbose': False, ... 'default_bubble_volume': 20 ... } config = create_config_from_dict(config_data)

config_to_dict

config_to_dict(config: SIConfig) -> dict

Convert a SIConfig instance to a dictionary.

Useful for saving configuration to JSON files or other formats.

Parameters:

Name Type Description Default
config SIConfig

The SIConfig instance to convert

required

Returns:

Type Description
dict

Dictionary representation of the configuration

Example

config = SIConfig(speed_normal=1800) config_dict = config_to_dict(config) import json json.dump(config_dict, open('config.json', 'w'), indent=2)

create_high_throughput_config

create_high_throughput_config() -> SIConfig

Create a configuration optimized for high-throughput operations.

This preset uses faster flow rates and shorter wait times to maximize sample processing speed, at the cost of some precision.

Returns:

Type Description
SIConfig

SIConfig instance optimized for speed

create_precision_config

create_precision_config() -> SIConfig

Create a configuration optimized for high-precision operations.

This preset uses slower flow rates and longer wait times to maximize precision and reproducibility, at the cost of throughput.

Returns:

Type Description
SIConfig

SIConfig instance optimized for precision

create_cleaning_intensive_config

create_cleaning_intensive_config() -> SIConfig

Create a configuration with enhanced cleaning procedures.

This preset includes more thorough cleaning steps and larger cleaning volumes, suitable for applications requiring minimal cross-contamination.

Returns:

Type Description
SIConfig

SIConfig instance with enhanced cleaning