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.