def subtype_heidelberg_pass(): return Subtype(scheme=scheme_heidelberg, scheme_version=SCHEME_FASTAS[scheme_heidelberg]['version'], sample=genome_name, subtype='2.2.1.1.1.1', file_path=fastq_heidelberg_pass, are_subtypes_consistent=True, n_tiles_matching_all=202, n_tiles_matching_all_expected='202', n_tiles_matching_positive=20, n_tiles_matching_positive_expected='20', n_tiles_matching_subtype=2, n_tiles_matching_subtype_expected='2', qc_status=QC.PASS)
def subtype_enteritidis_fail(): return Subtype(scheme=scheme_enteritidis, scheme_version=SCHEME_FASTAS[scheme_enteritidis]['version'], sample=genome_name, subtype='2.2.4.1', file_path=fastq_heidelberg_pass, are_subtypes_consistent=False, n_tiles_matching_all=182, n_tiles_matching_all_expected='224', n_tiles_matching_positive=22, n_tiles_matching_positive_expected='21', n_tiles_matching_subtype=5, n_tiles_matching_subtype_expected='6', qc_status=QC.FAIL)
def subtype_typhi_AE014613_pass(): return Subtype(scheme=scheme_typhi, scheme_version=SCHEME_FASTAS[scheme_typhi]['version'], sample=genome_name, subtype='2.3.6.1', file_path=fasta_typhi_pass, are_subtypes_consistent=True, n_kmers_matching_all=68, n_kmers_matching_all_expected='68', n_kmers_matching_positive=4, n_kmers_matching_positive_expected='4', n_kmers_matching_subtype=1, n_kmers_matching_subtype_expected='1', qc_status=QC.PASS)
def subtype_typhimurium_pass(): return Subtype(scheme=scheme_typhimurium, scheme_version=SCHEME_FASTAS[scheme_typhimurium]['version'], sample=genome_name, subtype='2.2.3.3', file_path=fasta_typhimurium_pass, are_subtypes_consistent=True, n_kmers_matching_all=429, n_kmers_matching_all_expected='430', n_kmers_matching_positive=19, n_kmers_matching_positive_expected='19', n_kmers_matching_subtype=5, n_kmers_matching_subtype_expected='5', qc_status=QC.PASS)
def subtype_enteritidis_fail(): return Subtype(scheme=scheme_enteritidis, scheme_version=SCHEME_FASTAS[scheme_enteritidis]['version'], sample=genome_name, subtype='2.1.5.4', file_path=fasta_enteritidis_fail, are_subtypes_consistent=True, n_kmers_matching_all=114, n_kmers_matching_all_expected='317', n_kmers_matching_positive=9, n_kmers_matching_positive_expected='10', n_kmers_matching_subtype=1, n_kmers_matching_subtype_expected='1', qc_status=QC.FAIL)
def subtype_tb_AP018036_pass(): return Subtype( scheme=scheme_tuberculosis, scheme_version=SCHEME_FASTAS[scheme_tuberculosis]['version'], sample=genome_name, subtype='2.2.1', file_path=fasta_tb_pass, are_subtypes_consistent=True, n_kmers_matching_all=62, n_kmers_matching_all_expected='62', n_kmers_matching_positive=3, n_kmers_matching_positive_expected='3', n_kmers_matching_subtype=1, n_kmers_matching_subtype_expected='1', qc_status=QC.PASS)
def subtype_heidelberg_pass(): return Subtype(scheme=scheme_heidelberg, scheme_version=SCHEME_FASTAS[scheme_heidelberg]['version'], sample=genome_name, file_path=fasta_heidelberg_pass, subtype='2.2.2.2.1.4', are_subtypes_consistent=True, inconsistent_subtypes=None, n_kmers_matching_all=202, n_kmers_matching_all_expected='202', n_kmers_matching_positive=17, n_kmers_matching_positive_expected='17', n_kmers_matching_subtype=3, n_kmers_matching_subtype_expected='3', qc_status=QC.PASS)
def test_empty_results(): st = Subtype(sample='test', file_path='tests/data/Retro1000data/10-1358.fastq', scheme='enteritidis', scheme_version='0.8.0', subtype=None, non_present_subtypes=None, all_subtypes=None, qc_status=QC.FAIL, qc_message=QC.NO_TARGETS_FOUND) df_empty = empty_results(st) df_expected_empty = pd.DataFrame({0: dict(sample='test', file_path='tests/data/Retro1000data/10-1358.fastq', subtype=None, refposition=None, is_pos_tile=None, scheme='enteritidis', scheme_version='0.8.0', qc_status=QC.FAIL, qc_message=QC.NO_TARGETS_FOUND)}).transpose() assert ((df_empty == df_expected_empty) | (df_empty.isnull() == df_expected_empty.isnull())).values.all(), \ f'Empty result DataFrame should equal df_expected_empty: {df_expected_empty}'