Core Module

The core module contains the main pipeline orchestration and coordination logic.

pipeline module

SangerPipeline Class

processor module

AB1Processor Class

HVSProcessor Class

analyzer module

DamageAnalyzer Class

QualityAnalyzer Class

Core Data Structures

PipelineResults

ProcessingStats

DamageResult

Configuration Management

ConfigManager

Error Handling

Core Exceptions

Error Handling Example:

from sanger_pipeline.core.exceptions import ProcessingError, AnalysisError

try:
    results = pipeline.run(input_dir, output_dir)
except ProcessingError as e:
    print(f"Processing failed: {e}")
    # Handle processing error
except AnalysisError as e:
    print(f"Analysis failed: {e}")
    # Handle analysis error

Performance Considerations

Memory Management:

The core modules are designed for efficient memory usage:

  • Streaming processing for large files

  • Lazy loading of sequence data

  • Automatic cleanup of temporary files

Parallel Processing:

Some operations support parallel execution:

# Enable parallel processing
pipeline = SangerPipeline(n_jobs=4)
results = pipeline.run(input_dir, output_dir)

Performance Monitoring:

# Enable performance monitoring
pipeline = SangerPipeline(monitor_performance=True)
results = pipeline.run(input_dir, output_dir)

# Access performance metrics
perf_report = pipeline.get_performance_report()

This core module documentation provides comprehensive coverage of the main pipeline orchestration and analysis components.