def test_nisin(self): "Test lanthipeptide prediction for nisin A" rec = Record.from_biopython(seqio.read( helpers.get_path_to_nisin_with_detection()), taxon="bacteria") assert not rec.get_cds_motifs() result = run_specific_analysis(rec) assert len(result.clusters) == 1 motifs = self.gather_all_motifs(result) assert len(motifs) == 1 assert not rec.get_cds_motifs() result.add_to_record(rec) assert len(rec.get_cds_motifs()) == 1 prepeptide = motifs[0] # real monoisotopic mass is 3351.51, but we overpredict a Dha self.assertAlmostEqual(3333.6, prepeptide.monoisotopic_mass, delta=0.05) # real mw is 3354.5, see above self.assertAlmostEqual(3336.0, prepeptide.molecular_weight, delta=0.05) for expected, calculated in zip([3354.0, 3372.1, 3390.1, 3408.1], prepeptide.alternative_weights): self.assertAlmostEqual(expected, calculated, delta=0.05) assert prepeptide.lan_bridges == 5 self.assertEqual("MSTKDFNLDLVSVSKKDSGASPR", prepeptide.leader) self.assertEqual("ITSISLCTPGCKTGALMGCNMKTATCHCSIHVSK", prepeptide.core) self.assertEqual('Class I', prepeptide.peptide_subclass) initial_json = result.to_json() regenerated = LanthiResults.from_json(initial_json, rec) assert list(result.motifs_by_locus) == ["nisB"] assert str(result.motifs_by_locus) == str(regenerated.motifs_by_locus) assert result.clusters == regenerated.clusters assert initial_json == regenerated.to_json()
def setUp(self): options = build_config(self.get_args(), isolated=True, modules=antismash.get_all_modules()) self.old_config = get_config().__dict__ self.options = update_config(options) self.record = self.build_record( helpers.get_path_to_nisin_with_detection()) prepare_data()
def test_result_conversion(self): nisin = Record.from_genbank(helpers.get_path_to_nisin_with_detection())[0] with open(path.get_full_path(__file__, "data", "nisin.out")) as handle: trimmed_output = handle.read() with patch.object(subprocessing, "run_diamond_search", return_value=trimmed_output): results = cluster_compare.run_on_record(nisin, None, self.options) assert results.by_database["MIBiG"].by_region[1] # ensure JSON conversion of results gives the same result raw = json.loads(json.dumps(results.to_json())) regenerated = cluster_compare.regenerate_previous_results(raw, nisin, self.options) regen_raw = json.loads(json.dumps(regenerated.to_json())) assert regen_raw == raw
def test_nisin(self): genbank = helpers.get_path_to_nisin_with_detection() results = helpers.run_and_regenerate_results_for_module(genbank, rrefinder, self.options) assert isinstance(results, rrefinder.RREFinderResults) assert results.bitscore_cutoff == self.options.rre_cutoff assert results.min_length == self.options.rre_min_length assert results.record_id == 'HM219853.1' assert len(results.features) == 1 feature = results.features[0] assert feature.locus_tag == 'nisB' assert feature.score == 34.9 assert feature.protein_location == FeatureLocation(141, 228) assert feature.domain == 'Lanthipeptide_RRE' assert feature.translation == 'FTRNNANYKFGDRVFQVYTINSSELEEVNIKYTNVYQIISEFC' + 'ENDYQKYEDICETVTLCYGDEYRELSEQYLGSLIVNHYLISNLQK'
def test_nisin(self): record = parse_input_sequence(helpers.get_path_to_nisin_with_detection())[0] clusters = record.get_clusters() assert clusters for cluster in clusters: assert cluster.cds_children assert record.get_cds_features_within_clusters() before_count = record.get_feature_count() assert tta.check_prereqs() == [] assert tta.check_options(self.options) == [] assert tta.is_enabled(self.options) prior_results = None results = tta.run_on_record(record, prior_results, self.options) assert isinstance(results, ModuleResults) assert len(results.features) == 174 assert record.get_feature_count() == before_count results.add_to_record(record) assert record.get_feature_count() == before_count + 174
def setUp(self): self.old_config = get_config().__dict__ options = build_config(self.get_args(), isolated=True, modules=antismash.get_all_modules()) self.options = update_config(options) update_config({"cpus": 1}) # prevent multiprocess testing from taking place, to stop signals # being caught awkwardly in the test itself # as smcogs_trees depends on genefunctions.smcogs' data, ensure that's ready to go assert genefunctions.prepare_data() == [] assert smcog_trees.check_prereqs() == [] assert smcog_trees.check_options(self.options) == [] assert smcog_trees.is_enabled(self.options) self.record = self.build_record( helpers.get_path_to_nisin_with_detection())
def test_nisin(self): record = Record.from_genbank( helpers.get_path_to_nisin_with_detection(), taxon="bacteria")[0] regions = record.get_regions() assert regions for region in regions: assert region.cds_children assert record.get_cds_features_within_regions() before_count = record.get_feature_count() assert tta.check_prereqs() == [] assert tta.check_options(self.options) == [] assert tta.is_enabled(self.options) prior_results = None results = tta.run_on_record(record, prior_results, self.options) assert isinstance(results, ModuleResults) assert len(results.features) == 174 assert record.get_feature_count() == before_count results.add_to_record(record) assert record.get_feature_count() == before_count + 174
def setUp(self): options = build_config(self.get_args(), isolated=True, modules=antismash.get_all_modules()) self.old_config = get_config().__dict__ self.options = update_config(options) assert smcogs.check_prereqs() == [] assert smcogs.check_options(self.options) == [] assert smcogs.is_enabled(self.options) self.record = self.build_record( helpers.get_path_to_nisin_with_detection()) def serial_run_func(function, arg_sets, _timeout=None): for arg_set in arg_sets: function(*arg_set) self.old_parallel = subprocessing.parallel_function subprocessing.parallel_function = serial_run_func