graph LR
Workflow_Orchestration_Control["Workflow Orchestration & Control"]
External_Tool_Execution["External Tool Execution"]
Variant_Data_Processing["Variant Data Processing"]
Machine_Learning_Output["Machine Learning & Output"]
Variant_Post_processing["Variant Post-processing"]
Workflow_Orchestration_Control -- "Initiates & Directs" --> External_Tool_Execution
Workflow_Orchestration_Control -- "Orchestrates" --> Variant_Data_Processing
Workflow_Orchestration_Control -- "Orchestrates" --> Machine_Learning_Output
External_Tool_Execution -- "Outputs Raw Data To" --> Variant_Data_Processing
External_Tool_Execution -- "Outputs Raw VCFs To" --> Variant_Post_processing
Variant_Data_Processing -- "Receives Input From" --> External_Tool_Execution
Variant_Data_Processing -- "Receives Processed VCFs From" --> Variant_Post_processing
Variant_Data_Processing -- "Provides Data To" --> Machine_Learning_Output
Machine_Learning_Output -- "Receives Data From" --> Variant_Data_Processing
Machine_Learning_Output -- "Outputs Final VCFs To" --> Workflow_Orchestration_Control
Variant_Post_processing -- "Receives Raw VCFs From" --> External_Tool_Execution
Variant_Post_processing -- "Provides Processed VCFs To" --> Variant_Data_Processing
click External_Tool_Execution href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/somaticseq/External_Tool_Execution.md" "Details"
click Variant_Data_Processing href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/somaticseq/Variant_Data_Processing.md" "Details"
click Machine_Learning_Output href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/somaticseq/Machine_Learning_Output.md" "Details"
click Variant_Post_processing href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/somaticseq/Variant_Post_processing.md" "Details"
The somaticseq project is designed as a modular pipeline for somatic variant calling and classification. The architecture can be abstracted into five core components, each with distinct responsibilities and clear interactions, facilitating a robust and scalable workflow.
This component serves as the central command unit, managing the entire SomaticSeq pipeline's execution flow. It handles both single-sample and paired-sample modes, orchestrates parallel processing across genomic regions, and coordinates the sequential and parallel execution of all downstream components.
Related Classes/Methods:
somaticseq.run_somaticseq(0:0)somaticseq.somaticseq_parallel(0:0)somaticseq.utilities.split_bed_into_equal_regions(0:0)
External Tool Execution [Expand]
This component is responsible for generating and executing scripts that run various external bioinformatics tools (e.g., BWA for alignment, MuTect2, VarDict for somatic calling) within containerized environments (Docker/Singularity). It produces the initial raw alignment (BAM) and variant (VCF) files.
Related Classes/Methods:
somaticseq.utilities.dockered_pipelines.makeAlignmentScripts(0:0)somaticseq.utilities.dockered_pipelines.makeSomaticScripts(0:0)somaticseq.utilities.dockered_pipelines.run_workflows(48:65)
Variant Data Processing [Expand]
This component handles the intricate process of preparing variant data for machine learning. It includes parsing various genomic file formats, extracting detailed sequencing read-level information, calculating a comprehensive set of quantitative features from BAM alignment files and genomic context, and transforming VCF files into a feature-rich tab-separated value (TSV) format.
Related Classes/Methods:
somaticseq.genomic_file_parsers.genomic_file_handlers(0:0)somaticseq.genomic_file_parsers.read_info_extractor(0:0)somaticseq.bam_features(0:0)somaticseq.sequencing_features(0:0)somaticseq.somatic_vcf2tsv(0:0)somaticseq.single_sample_vcf2tsv(0:0)
Machine Learning & Output [Expand]
This component embodies the core machine learning functionality. It implements the XGBoost model for both training (building) and predicting (classifying) somatic variants using the feature-rich TSV data. Subsequently, it converts the classified TSV results, including prediction scores and filtering information, back into the standard VCF format.
Related Classes/Methods:
Variant Post-processing [Expand]
This component is responsible for the initial processing, combining, and manipulation of VCF outputs generated by various external somatic variant callers. It standardizes their formats, annotates variants with caller-specific information, and provides utilities for VCF manipulation such as intersection with BED regions, splitting complex variants, sorting, and tallying variants from multiple VCFs.
Related Classes/Methods: