Esempio n. 1
0
 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