def test_finding_end_gene(self): inputs = { "STAUR_3972": ['PKS_KR'], "STAUR_3982": ['PKS_KS', 'PKS_AT', 'PKS_DH2', 'PKS_KR', 'ACP', 'Thioesterase'], "STAUR_3983": ['PKS_KS', 'PKS_AT', 'PKS_DH', 'PKS_KR', 'ACP'], "STAUR_3984": ['PKS_KS', 'PKS_AT', 'PKS_DH', 'PKS_KR', 'ACP'] } genes = {} for name, domains in inputs.items(): cds = DummyCDS(locus_tag=name) cds.nrps_pks = DummyNRPSQualfier() cds.nrps_pks.domain_names = domains genes[name] = cds start, end = orderfinder.find_first_and_last_cds(genes.values()) assert not start assert end.get_name() == "STAUR_3982" genes["STAUR_3983"].nrps_pks.domain_names.append("TD") start, end = orderfinder.find_first_and_last_cds(genes.values()) assert not start assert not end genes["STAUR_3984"].nrps_pks.domain_names.append("Thiosterase") start, end = orderfinder.find_first_and_last_cds(genes.values()) assert not start assert not end
def test_finding_start_gene(self): inputs = {"STAUR_3972": ['PKS_KR'], "STAUR_3983": ['PKS_KS', 'PKS_AT', 'PKS_DH', 'PKS_KR', 'ACP'], "STAUR_3984": ['PKS_KS', 'PKS_AT', 'PKS_DH', 'PKS_KR', 'ACP'], "STAUR_3985": ['ACP', 'PKS_KS', 'PKS_AT', 'PKS_DH', 'PKS_KR', 'ACP']} genes = {} for name, domains in inputs.items(): cds = DummyCDS(locus_tag=name) cds.nrps_pks = DummyNRPSQualfier() cds.nrps_pks.domain_names = domains genes[name] = cds # no starts start, end = orderfinder.find_first_and_last_cds(genes.values()) assert not start assert not end # fallback start genes["STAUR_3983"].nrps_pks.domain_names = ["PKS_KS", "PKS_AT", "ACP"] start, end = orderfinder.find_first_and_last_cds(genes.values()) assert start.get_name() == "STAUR_3983" assert not end # two fallback start possibilities genes["STAUR_3984"].nrps_pks.domain_names = ["PKS_KS", "PKS_AT", "ACP"] start, end = orderfinder.find_first_and_last_cds(genes.values()) assert not start assert not end # first-class start genes["STAUR_3972"].nrps_pks.domain_names = ["PKS_AT", "ACP"] start, end = orderfinder.find_first_and_last_cds(genes.values()) assert start.get_name() == "STAUR_3972" assert not end # two possible starts genes["STAUR_3984"].nrps_pks.domain_names = ["PKS_AT", "ACP"] start, end = orderfinder.find_first_and_last_cds(genes.values()) assert not start assert not end