graph LR
BeadArrayUtility["BeadArrayUtility"]
BeadPoolManifest_Parser["BeadPoolManifest Parser"]
ClusterFile_Parser["ClusterFile Parser"]
GenotypeCalls_Processor["GenotypeCalls Processor"]
LocusAggregate_Manager["LocusAggregate Manager"]
BeadArrayUtility -- "provides data reading utilities for" --> BeadPoolManifest_Parser
BeadArrayUtility -- "provides data reading utilities for" --> ClusterFile_Parser
BeadArrayUtility -- "provides data reading utilities for" --> GenotypeCalls_Processor
BeadPoolManifest_Parser -- "parses data for" --> GenotypeCalls_Processor
ClusterFile_Parser -- "parses data for" --> GenotypeCalls_Processor
GenotypeCalls_Processor -- "processes data from" --> LocusAggregate_Manager
LocusAggregate_Manager -- "aggregates data using" --> BeadPoolManifest_Parser
click BeadArrayUtility href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//BeadArrayFiles/BeadArrayUtility.md" "Details"
click BeadPoolManifest_Parser href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//BeadArrayFiles/BeadPoolManifest Parser.md" "Details"
click ClusterFile_Parser href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//BeadArrayFiles/ClusterFile Parser.md" "Details"
click GenotypeCalls_Processor href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//BeadArrayFiles/GenotypeCalls Processor.md" "Details"
click LocusAggregate_Manager href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//BeadArrayFiles/LocusAggregate Manager.md" "Details"
The BeadArrayFiles project is designed to parse and process various binary file formats related to bead array data, such as Bead Pool Manifest (BPM) files, Cluster files, and Genotype Call (GTC) files. It provides low-level utilities for reading binary data, specialized parsers for different file types, and a central component for managing and retrieving genotype call information. Additionally, it includes a component for aggregating locus data across multiple samples.
This component provides fundamental utility functions for reading various data types (byte, int, string, float, ushort) from binary files and performing basic operations like DNA complement. It acts as a low-level data access layer for other components that parse specific file formats.
Related Classes/Methods:
BeadArrayFiles.module.BeadArrayUtility.read_string(82:109)BeadArrayFiles.module.BeadArrayUtility.read_byte(70:80)BeadArrayFiles.module.BeadArrayUtility.read_int(46:56)BeadArrayFiles.module.BeadArrayUtility.read_float(58:68)BeadArrayFiles.module.BeadArrayUtility.complement(5:20)BeadArrayFiles.module.BeadArrayUtility.read_ushort(34:44)
This component is responsible for parsing Bead Pool Manifest (BPM) files. It includes classes for the manifest itself and individual locus entries, handling different versions of the locus entry format. It heavily relies on BeadArrayUtility for reading data.
Related Classes/Methods:
BeadArrayFiles.module.BeadPoolManifest.BeadPoolManifest.__init__(21:44)BeadArrayFiles.module.BeadPoolManifest.BeadPoolManifest.__parse_file(46:129)BeadArrayFiles.module.BeadPoolManifest.LocusEntry(236:368)BeadArrayFiles.module.BeadPoolManifest.LocusEntry.__init__(254:274)BeadArrayFiles.module.BeadPoolManifest.LocusEntry.__parse_file(276:295)BeadArrayFiles.module.BeadPoolManifest.LocusEntry.__parse_locus_version_6(297:342)BeadArrayFiles.module.BeadPoolManifest.LocusEntry.__parse_locus_version_7(344:355)BeadArrayFiles.module.BeadPoolManifest.LocusEntry.__parse_locus_version_8(357:368)BeadArrayFiles.module.BeadPoolManifest.SourceStrand.from_string(161:182)BeadArrayFiles.module.BeadPoolManifest.RefStrand.from_string(214:234)
This component handles the parsing of Cluster files, which contain information about genotype clusters. It includes classes for the cluster file itself, individual cluster records, and cluster scores, utilizing BeadArrayUtility for data extraction.
Related Classes/Methods:
BeadArrayFiles.module.ClusterFile.ClusterFile.read_cluster_file(82:146)BeadArrayFiles.module.ClusterFile.ClusterFile(2:146)BeadArrayFiles.module.ClusterFile.ClusterFile.read_array(64:79)BeadArrayFiles.module.ClusterFile.ClusterFile.add_record(38:46)BeadArrayFiles.module.ClusterFile.ClusterRecord.read_record(184:237)BeadArrayFiles.module.ClusterFile.ClusterRecord(148:237)BeadArrayFiles.module.ClusterFile.ClusterStats(287:317)BeadArrayFiles.module.ClusterFile.ClusterScore.read_record(270:284)BeadArrayFiles.module.ClusterFile.ClusterScore(240:284)
This is a central component for processing and retrieving genotype call data from GTC files. It provides methods to access various attributes like sample names, intensities, genotypes, and quality scores. It also includes helper classes for normalization transforms and scanner data. It heavily relies on BeadArrayUtility for low-level data reading and interacts with BeadPoolManifest Parser and ClusterFile Parser to get related file information.
Related Classes/Methods:
BeadArrayFiles.module.GenotypeCalls.GenotypeCalls(62:621)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.__init__(103:136)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.is_write_complete(590:621)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.__get_generic_array(155:182)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.__get_generic_array_numpy(184:207)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_sample_name(230:235)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.__get_generic(138:153)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_slide_identifier(237:242)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_sample_plate(244:249)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_sample_well(251:256)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_cluster_file(258:263)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_snp_manifest(265:270)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_imaging_date(272:279)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_autocall_date(281:288)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_autocall_version(290:297)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_genotypes(299:304)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_base_calls_generic(306:346)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_base_calls_plus_strand(348:361)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_base_calls_forward_strand(363:375)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_base_calls(377:408)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_ploidy_type(223:228)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_genotype_scores(410:415)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_scanner_data(417:422)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_control_x_intensities(424:429)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_control_y_intensities(431:436)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_raw_x_intensities(438:443)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_raw_y_intensities(445:450)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_call_rate(452:457)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_gender(459:465)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_logr_dev(467:472)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_gc10(474:479)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_gc50(481:486)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_num_calls(488:495)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_num_no_calls(497:504)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_num_intensity_only(506:513)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_ballele_freqs(515:523)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_logr_ratios(525:533)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_percentiles_x(535:550)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_percentiles_y(552:567)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_normalized_intensities(569:581)BeadArrayFiles.module.GenotypeCalls.GenotypeCalls.get_normalization_transforms(583:588)BeadArrayFiles.module.GenotypeCalls.NormalizationTransform.read_normalization_transform(640:650)BeadArrayFiles.module.GenotypeCalls.NormalizationTransform(624:697)BeadArrayFiles.module.GenotypeCalls.ScannerData.read_scanner_data(733:748)BeadArrayFiles.module.GenotypeCalls.ScannerData(700:748)
This component is responsible for aggregating locus data, potentially from multiple samples. It includes a loader and a generator for locus aggregates, facilitating the grouping and processing of genetic loci.
Related Classes/Methods:
BeadArrayFiles.module.LocusAggregate.Loader.__call__(full file reference)BeadArrayFiles.module.LocusAggregate.LocusAggregate(full file reference)BeadArrayFiles.module.LocusAggregate.GenerateLocusAggregate.__call__(full file reference)BeadArrayFiles.module.LocusAggregate.LocusAggregate.load_buffer(full file reference)BeadArrayFiles.module.LocusAggregate.LocusAggregate.aggregate_samples(full file reference)BeadArrayFiles.module.LocusAggregate.LocusAggregate.group_loci(full file reference)