Reference#
agentbx#
AgentBX: Crystallographic data processing and analysis framework.
- class agentbx.Bundle(bundle_type, bundle_id=None)[source]#
Bases:
ABCBase class for data bundles in agentbx.
Bundles are containers that hold related data assets and metadata. Each bundle has a specific type and can contain multiple named assets.
- calculate_checksum()[source]#
Calculate checksum of bundle contents.
- Returns:
SHA256 checksum (first 16 characters)
- Return type:
- validate()[source]#
Validate bundle contents.
- Returns:
True if bundle is valid
- Raises:
ValueError – If bundle is invalid
- Return type:
- class agentbx.RedisConfig(host='localhost', port=6379, db=0, password=None, max_connections=10, socket_timeout=5, socket_connect_timeout=5, retry_on_timeout=True, health_check_interval=30, default_ttl=3600)[source]#
Bases:
objectRedis configuration settings.
- Parameters:
- __init__(host='localhost', port=6379, db=0, password=None, max_connections=10, socket_timeout=5, socket_connect_timeout=5, retry_on_timeout=True, health_check_interval=30, default_ttl=3600)#
- class agentbx.AgentConfig(agent_id, redis_config)[source]#
Bases:
objectAgent configuration settings.
- Parameters:
agent_id (str) –
redis_config (RedisConfig) –
- classmethod from_env(agent_id)[source]#
Create agent config from environment variables.
- Parameters:
agent_id (str) –
- Return type:
- __init__(agent_id, redis_config)#
- Parameters:
agent_id (str) –
redis_config (RedisConfig) –
- Return type:
None
- class agentbx.RedisManager(host='localhost', port=6379, db=0, password=None, max_connections=10, socket_timeout=5, socket_connect_timeout=5, retry_on_timeout=True, health_check_interval=30, default_ttl=3600)[source]#
Bases:
objectManages Redis connections and provides high-level operations for agentbx.
Features: - Connection pooling and health checks - Automatic serialization/deserialization of complex objects - Bundle storage and retrieval with metadata - Caching with TTL support - Error handling and retry logic
- Parameters:
- __init__(host='localhost', port=6379, db=0, password=None, max_connections=10, socket_timeout=5, socket_connect_timeout=5, retry_on_timeout=True, health_check_interval=30, default_ttl=3600)[source]#
Initialize Redis manager with connection parameters.
- Parameters:
host (str) – Redis server hostname
port (int) – Redis server port
db (int) – Redis database number
max_connections (int) – Maximum connections in pool
socket_timeout (int) – Socket timeout in seconds
socket_connect_timeout (int) – Connection timeout in seconds
retry_on_timeout (bool) – Whether to retry on timeout
health_check_interval (int) – Health check interval in seconds
default_ttl (int) – Default TTL for cached items in seconds
- store_bundle(bundle, bundle_id=None)[source]#
Store a bundle in Redis.
- Parameters:
- Returns:
Bundle ID
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
- get_bundle(bundle_id)[source]#
Retrieve a bundle from Redis.
- Parameters:
bundle_id (str) – Bundle ID to retrieve
- Returns:
Deserialized bundle object
- Return type:
Any
- Raises:
ConnectionError – If Redis connection is not healthy.
KeyError – If bundle is not found in Redis.
- delete_bundle(bundle_id)[source]#
Delete a bundle from Redis.
- Parameters:
bundle_id (str) – ID of bundle to delete
- Returns:
True if deleted, False if not found
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
- list_bundles(bundle_type=None)[source]#
List all bundle IDs, optionally filtered by type.
- Parameters:
- Returns:
List of bundle IDs
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
- get_bundle_metadata(bundle_id)[source]#
Get metadata for a specific bundle.
- Parameters:
bundle_id (str) – Bundle ID to retrieve metadata for
- Returns:
Bundle metadata
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
KeyError – If bundle metadata is not found in Redis.
- list_bundles_with_metadata(bundle_type=None)[source]#
List all bundles with their metadata, optionally filtered by type.
- Parameters:
- Returns:
List of bundle metadata dictionaries
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
- inspect_bundle(bundle_id)[source]#
Get comprehensive information about a bundle including metadata and content summary.
- Parameters:
bundle_id (str) – Bundle ID to inspect
- Returns:
Comprehensive bundle information
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
Core Modules#
Redis Manager#
Redis manager for agentbx - handles connections, serialization, and caching.
- class agentbx.core.redis_manager.RedisManager(host='localhost', port=6379, db=0, password=None, max_connections=10, socket_timeout=5, socket_connect_timeout=5, retry_on_timeout=True, health_check_interval=30, default_ttl=3600)[source]#
Bases:
objectManages Redis connections and provides high-level operations for agentbx.
Features: - Connection pooling and health checks - Automatic serialization/deserialization of complex objects - Bundle storage and retrieval with metadata - Caching with TTL support - Error handling and retry logic
- Parameters:
- __init__(host='localhost', port=6379, db=0, password=None, max_connections=10, socket_timeout=5, socket_connect_timeout=5, retry_on_timeout=True, health_check_interval=30, default_ttl=3600)[source]#
Initialize Redis manager with connection parameters.
- Parameters:
host (str) – Redis server hostname
port (int) – Redis server port
db (int) – Redis database number
max_connections (int) – Maximum connections in pool
socket_timeout (int) – Socket timeout in seconds
socket_connect_timeout (int) – Connection timeout in seconds
retry_on_timeout (bool) – Whether to retry on timeout
health_check_interval (int) – Health check interval in seconds
default_ttl (int) – Default TTL for cached items in seconds
- store_bundle(bundle, bundle_id=None)[source]#
Store a bundle in Redis.
- Parameters:
- Returns:
Bundle ID
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
- get_bundle(bundle_id)[source]#
Retrieve a bundle from Redis.
- Parameters:
bundle_id (str) – Bundle ID to retrieve
- Returns:
Deserialized bundle object
- Return type:
Any
- Raises:
ConnectionError – If Redis connection is not healthy.
KeyError – If bundle is not found in Redis.
- delete_bundle(bundle_id)[source]#
Delete a bundle from Redis.
- Parameters:
bundle_id (str) – ID of bundle to delete
- Returns:
True if deleted, False if not found
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
- list_bundles(bundle_type=None)[source]#
List all bundle IDs, optionally filtered by type.
- Parameters:
- Returns:
List of bundle IDs
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
- get_bundle_metadata(bundle_id)[source]#
Get metadata for a specific bundle.
- Parameters:
bundle_id (str) – Bundle ID to retrieve metadata for
- Returns:
Bundle metadata
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
KeyError – If bundle metadata is not found in Redis.
- list_bundles_with_metadata(bundle_type=None)[source]#
List all bundles with their metadata, optionally filtered by type.
- Parameters:
- Returns:
List of bundle metadata dictionaries
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
- inspect_bundle(bundle_id)[source]#
Get comprehensive information about a bundle including metadata and content summary.
- Parameters:
bundle_id (str) – Bundle ID to inspect
- Returns:
Comprehensive bundle information
- Return type:
- Raises:
ConnectionError – If Redis connection is not healthy.
Base Client#
Base client class for Redis operations.
- class agentbx.core.base_client.BaseClient(redis_manager, client_id)[source]#
Bases:
ABCBase class for clients that interact with Redis.
Provides common Redis operations and connection management.
- Parameters:
redis_manager (RedisManager) –
client_id (str) –
- __init__(redis_manager, client_id)[source]#
Initialize base client.
- Parameters:
redis_manager (RedisManager) – Redis manager instance
client_id (str) – Unique identifier for this client
Bundle Base#
Base bundle class for agentbx data containers.
- class agentbx.core.bundle_base.Bundle(bundle_type, bundle_id=None)[source]#
Bases:
ABCBase class for data bundles in agentbx.
Bundles are containers that hold related data assets and metadata. Each bundle has a specific type and can contain multiple named assets.
- calculate_checksum()[source]#
Calculate checksum of bundle contents.
- Returns:
SHA256 checksum (first 16 characters)
- Return type:
- validate()[source]#
Validate bundle contents.
- Returns:
True if bundle is valid
- Raises:
ValueError – If bundle is invalid
- Return type:
Agents#
Base Agent#
Structure Factor Agent#
Target Agent#
Gradient Agent#
Experimental Data Agent#
Utilities#
Crystallographic Utils#
Data Analysis Utils#
Utilities for analyzing crystallographic data and structure factors.
- agentbx.utils.data_analysis_utils.analyze_complex_data(data, name='data')[source]#
Analyze complex data and return comprehensive statistics.
- agentbx.utils.data_analysis_utils.analyze_miller_array(miller_array, name='miller_array')[source]#
Analyze a CCTBX miller array and return comprehensive statistics.
- agentbx.utils.data_analysis_utils.analyze_bundle(bundle)[source]#
Analyze a bundle and return comprehensive information about its contents.
- agentbx.utils.data_analysis_utils.print_analysis_summary(analysis, indent=0)[source]#
Print a formatted summary of analysis results.
Redis Utils#
Redis utility functions for agentbx.
CLI Utils#
Command-line interface for agentbx utilities.
Schemas#
Schema Generator#
Schema generator for agentbx.
This module generates Pydantic schemas from YAML definitions.
- class agentbx.schemas.generator.AssetDefinition(*args, **kwargs)[source]#
Bases:
BaseModelPydantic model for individual asset definitions from YAML.
- class agentbx.schemas.generator.ValidationRule(*args, **kwargs)[source]#
Bases:
BaseModelPydantic model for validation rules from YAML.
- class agentbx.schemas.generator.WorkflowPattern(*args, **kwargs)[source]#
Bases:
BaseModelPydantic model for workflow patterns from YAML.
- class agentbx.schemas.generator.SchemaDefinition(*args, **kwargs)[source]#
Bases:
BaseModelComplete schema definition parsed from YAML.
- class agentbx.schemas.generator.SchemaGenerator(schema_dir)[source]#
Bases:
objectGenerates Pydantic models from YAML schema definitions.
- Parameters:
schema_dir (Path) –
- load_schema(schema_file)[source]#
Load and parse a single YAML schema file.
- Parameters:
schema_file (Path) –
- Return type:
- generate_asset_model(asset_name, asset_def)[source]#
Generate Pydantic field definition for an asset.
- Parameters:
asset_name (str) –
asset_def (AssetDefinition) –
- Return type:
- generate_validators(schema)[source]#
Generate custom validators for CCTBX-specific validation.
- Parameters:
schema (SchemaDefinition) –
- Return type:
- generate_bundle_model(schema)[source]#
Generate a complete Pydantic model for a bundle type.
- Parameters:
schema (SchemaDefinition) –
- Return type:
- agentbx.schemas.generator.main()[source]#
Main function to auto-generate models from default directories.
- Return type:
Generated Schemas#
- class agentbx.schemas.generated.TargetDataBundle(*args, **kwargs)[source]#
Bases:
BaseModelTarget function values computed from structure factors and experimental data
Generated from target_data.yaml
- validate_target_value()#
Validate Scalar target function value
- validate_r_factors()#
Validate Crystallographic R-factors
- validate_likelihood_parameters()#
Validate Maximum likelihood alpha and beta parameters
- validate_target_gradients_wrt_sf()#
Validate Gradients of target w.r.t structure factors
- class agentbx.schemas.generated.GradientDataBundle(*args, **kwargs)[source]#
Bases:
BaseModelGradients of target function w.r.t. atomic parameters via chain rule
Generated from gradient_data.yaml
- validate_coordinate_gradients()#
Validate Gradients w.r.t. atomic coordinates: dT/d(xyz)
- validate_bfactor_gradients()#
Validate Gradients w.r.t. B-factors: dT/d(B)
- validate_occupancy_gradients()#
Validate Gradients w.r.t. occupancies: dT/d(occ)
- class agentbx.schemas.generated.GeometryGradientDataBundle(*args, **kwargs)[source]#
Bases:
BaseModelGeometry gradients computed from CCTBX geometry restraints
Generated from geometry_gradient_data.yaml
- validate_coordinates()#
Validate Atomic coordinates in Cartesian space
- validate_geometric_gradients()#
Validate Gradients of geometry restraints w.r.t. coordinates
- validate_restraint_energies()#
Validate Individual restraint energies by type
- validate_restraint_counts()#
Validate Number of restraints by type
- class agentbx.schemas.generated.AgentConfigurationBundle(*args, **kwargs)[source]#
Bases:
BaseModelAgent configuration and capability definitions
Generated from agent_configuration.yaml
- validate_agent_definition()#
Validate Basic agent definition
- validate_capabilities()#
Validate Agent capabilities and their configurations
- validate_security_policies()#
Validate Security policies for the agent
- class agentbx.schemas.generated.MacromoleculeDataBundle(*args, **kwargs)[source]#
Bases:
BaseModelCentral macromolecule representation with PDB hierarchy
Generated from macromolecule_data.yaml
- validate_pdb_hierarchy()#
Validate CCTBX PDB hierarchy with full atomic model information
- validate_crystal_symmetry()#
Validate Crystal symmetry (unit cell and space group)
- validate_model_manager()#
Validate MMTBX model manager with geometry restraints
- validate_xray_structure()#
Validate X-ray structure derived from PDB hierarchy
- class agentbx.schemas.generated.XrayAtomicModelDataBundle(*args, **kwargs)[source]#
Bases:
BaseModelAtomic model data for structure factor calculations
Generated from xray_atomic_model_data.yaml
- validate_xray_structure()#
Validate CCTBX xray.structure object with atomic model
- validate_miller_indices()#
Validate Miller indices for structure factor calculation
- validate_bulk_solvent_params()#
Validate Bulk solvent correction parameters
- class agentbx.schemas.generated.ExperimentalDataBundle(*args, **kwargs)[source]#
Bases:
BaseModelExperimental crystallographic data for refinement and validation
Generated from experimental_data.yaml
- validate_f_obs()#
Validate Observed structure factor amplitudes
- validate_r_free_flags()#
Validate Free R flags for cross-validation
- validate_sigmas()#
Validate Uncertainties in observed structure factors
- class agentbx.schemas.generated.AgentSecurityBundle(*args, **kwargs)[source]#
Bases:
BaseModelAgent security and authorization configuration
Generated from agent_security.yaml
- validate_agent_registration()#
Validate Agent registration and validation information
- validate_permissions()#
Validate List of granted permissions for the agent
- validate_capabilities()#
Validate Agent capabilities and their schemas
- validate_whitelisted_modules()#
Validate Modules the agent is allowed to import and use
- class agentbx.schemas.generated.RedisStreamsBundle(*args, **kwargs)[source]#
Bases:
BaseModelRedis stream configuration for agent communication
Generated from redis_streams.yaml
- validate_stream_configuration()#
Validate Configuration for Redis streams
- validate_consumer_groups()#
Validate Consumer group configurations
- validate_message_schemas()#
Validate JSON schemas for message validation
- class agentbx.schemas.generated.StructureFactorDataBundle(*args, **kwargs)[source]#
Bases:
BaseModelComputed structure factors from atomic models
Generated from structure_factor_data.yaml
- validate_f_calc()#
Validate Calculated structure factors from atomic model
- validate_f_mask()#
Validate Structure factors from bulk solvent mask
- validate_f_model()#
Validate Combined structure factors: scale * (f_calc + k_sol * f_mask)
- validate_scale_factors()#
Validate Scaling parameters used in structure factor calculation