From e492c10571399f3ddab2811e7c412e00550ae43e Mon Sep 17 00:00:00 2001 From: Luca Venturini Date: Wed, 10 Oct 2018 20:00:00 +0100 Subject: [PATCH] Implemented unit-test for #133 --- Mikado/tests/test_system_calls.py | 28 +++++++++++++++++++ ...correctedness.fa => test_truncated_cds.fa} | 0 ...rrectdness.gff => test_truncated_cds.gff3} | 0 3 files changed, 28 insertions(+) rename Mikado/tests/{prepare_phase_correctedness.fa => test_truncated_cds.fa} (100%) rename Mikado/tests/{prepare_phase_correctdness.gff => test_truncated_cds.gff3} (100%) diff --git a/Mikado/tests/test_system_calls.py b/Mikado/tests/test_system_calls.py index cc1990c27..0ee08618f 100644 --- a/Mikado/tests/test_system_calls.py +++ b/Mikado/tests/test_system_calls.py @@ -419,6 +419,34 @@ def test_negative_cdna_redundant_cds_not(self): self.assertGreater(coding_count, 0) + def test_truncated_cds(self): + files = ["test_truncated_cds.gff3"] + files = [pkg_resources.resource_filename("Mikado.tests", filename) for filename in files] + self.conf["prepare"]["files"]["gff"] = files + self.conf["prepare"]["files"]["labels"] = [""] + self.conf["prepare"]["files"]["output_dir"] = tempfile.gettempdir() + self.conf["prepare"]["files"]["out_fasta"] = "mikado_prepared.fasta" + self.conf["prepare"]["files"]["out"] = "mikado_prepared.gtf" + self.conf["prepare"]["strip_cds"] = False + + self.conf["reference"]["genome"] = pkg_resources.resource_filename("Mikado.tests", + "test_truncated_cds.fa") + args = Namespace() + args.strip_cds = False + args.json_conf = self.conf + prepare.prepare(args, self.logger) + self.assertTrue(os.path.exists(os.path.join(self.conf["prepare"]["files"]["output_dir"], + "mikado_prepared.fasta"))) + fa = pyfaidx.Fasta(os.path.join(self.conf["prepare"]["files"]["output_dir"], + "mikado_prepared.fasta")) + self.assertEqual(len(fa.keys()), 1) + gtf_file = os.path.join(self.conf["prepare"]["files"]["output_dir"], "mikado_prepared.gtf") + lines = [line for line in to_gff(gtf_file)] + cds = [_ for _ in lines if _.feature == "CDS"] + self.assertEqual(len(cds), 1) + self.assertEqual(cds[0].frame, 1) + self.assertEqual(cds[0].phase, 2) + class CompareCheck(unittest.TestCase): diff --git a/Mikado/tests/prepare_phase_correctedness.fa b/Mikado/tests/test_truncated_cds.fa similarity index 100% rename from Mikado/tests/prepare_phase_correctedness.fa rename to Mikado/tests/test_truncated_cds.fa diff --git a/Mikado/tests/prepare_phase_correctdness.gff b/Mikado/tests/test_truncated_cds.gff3 similarity index 100% rename from Mikado/tests/prepare_phase_correctdness.gff rename to Mikado/tests/test_truncated_cds.gff3