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
¶
Port connected to waste line (typically port 1)
air_port
class-attribute
instance-attribute
¶
Port for air aspiration (typically port 2)
di_port
class-attribute
instance-attribute
¶
Port connected to deionized water reservoir (typically port 3)
transfer_port
class-attribute
instance-attribute
¶
Port connected to transfer line leading to sample needle (typically port 4)
meoh_port
class-attribute
instance-attribute
¶
Port connected to methanol reservoir for cleaning (typically port 5)
naoh_port
class-attribute
instance-attribute
¶
Port connected to sodium hydroxide solution for cleaning (typically port 6)
buffer_port
class-attribute
instance-attribute
¶
Port connected to buffer solution reservoir (typically port 7)
sample_port
class-attribute
instance-attribute
¶
Port connected to sample input line (typically port 8)
wash_vial
class-attribute
instance-attribute
¶
Carousel position for needle wash vial (contains wash solution)
dry_vial
class-attribute
instance-attribute
¶
Carousel position for dry/empty vial (for air aspiration if needed)
waste_vial
class-attribute
instance-attribute
¶
Carousel position for waste collection vial
cleaning_solution_vial
class-attribute
instance-attribute
¶
Carousel position for cleaning solution vial (e.g., NaOH solution)
default_bubble_volume
class-attribute
instance-attribute
¶
Default volume for separating air bubbles between different solutions (µL)
default_transfer_line_volume
class-attribute
instance-attribute
¶
Volume of the transfer line from valve to sample needle (µL)
default_holding_coil_volume
class-attribute
instance-attribute
¶
Volume of the holding coil in the flow injection system (µL)
default_needle_flush
class-attribute
instance-attribute
¶
Default volume for flushing the sample needle to prevent contamination (µL)
default_cleaning_solution_volume
class-attribute
instance-attribute
¶
Default volume of cleaning solution (e.g., NaOH) for system cleaning (µL)
default_air_flush
class-attribute
instance-attribute
¶
Default volume of air for flushing operations (µL)
default_homogenization_volume
class-attribute
instance-attribute
¶
Default volume to aspirate/dispense during sample homogenization (µL)
speed_air
class-attribute
instance-attribute
¶
High speed for air aspiration and fast transfers (µL/min)
speed_fast
class-attribute
instance-attribute
¶
Fast flow rate for routine liquid transfers (µL/min)
speed_normal
class-attribute
instance-attribute
¶
Normal flow rate for standard operations (µL/min)
speed_slow
class-attribute
instance-attribute
¶
Slow flow rate for precise operations or viscous liquids (µL/min)
speed_cleaning
class-attribute
instance-attribute
¶
Flow rate for cleaning operations (µL/min)
speed_homogenization_aspirate
class-attribute
instance-attribute
¶
Flow rate for aspirating during sample homogenization (µL/min)
speed_homogenization_dispense
class-attribute
instance-attribute
¶
Flow rate for dispensing during sample homogenization (µL/min)
homogenization_liquid_cycles
class-attribute
instance-attribute
¶
Number of aspiration/dispense cycles for liquid-based homogenization
homogenization_air_cycles
class-attribute
instance-attribute
¶
Number of aspiration/dispense cycles for air bubble-based homogenization
homogenization_clean_after
class-attribute
instance-attribute
¶
Whether to automatically clean the transfer line after homogenization
wait_vial_load
class-attribute
instance-attribute
¶
Wait time after loading a vial to replenishment position (seconds)
wait_vial_unload
class-attribute
instance-attribute
¶
Wait time after unloading a vial from replenishment position (seconds)
wait_after_aspirate
class-attribute
instance-attribute
¶
Wait time after liquid aspiration for system stabilization (seconds)
wait_after_dispense
class-attribute
instance-attribute
¶
Wait time after liquid dispensing for system stabilization (seconds)
wait_homogenization_settle
class-attribute
instance-attribute
¶
Wait time for sample settling during homogenization operations (seconds)
wait_cleaning_reaction
class-attribute
instance-attribute
¶
Wait time for cleaning solution to react before flushing (seconds)
verbose
class-attribute
instance-attribute
¶
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 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 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
¶
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 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 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 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 |