def test_remove_features(self): """Testing the ability to remove population/loci via class methods.""" for index in range(len(self.files)): fname = self.files[index] ftemp = tempfile.NamedTemporaryFile(mode="w+", delete=False) ftemp.close() rec = FileParser.read(fname) rec.remove_loci_by_position([0], ftemp.name) with open(ftemp.name, 'r') as ft: ft.seek(0) rec2 = GenePop.read(iter(ft)) self.assertEqual(rec.loci_list[1:], rec2.loci_list) rec.remove_locus_by_position(0, ftemp.name) with open(ftemp.name, 'r') as ft: ft.seek(0) rec3 = GenePop.read(iter(ft)) self.assertEqual(rec.loci_list[1:], rec3.loci_list) rec.remove_locus_by_name(rec.loci_list[0], ftemp.name) with open(ftemp.name, 'r') as ft: ft.seek(0) rec4 = GenePop.read(iter(ft)) self.assertEqual(rec.loci_list[1:], rec4.loci_list) rec.remove_loci_by_name([rec.loci_list[0]], ftemp.name) with open(ftemp.name, 'r') as ft: ft.seek(0) rec5 = GenePop.read(iter(ft)) self.assertEqual(rec.loci_list[1:], rec5.loci_list) os.remove(ftemp.name) rec._handle.close()
def test_remove_features(self): """Testing the ability to remove population/loci via class methods.""" for index in range(len(self.files)): fname = self.files[index] ftemp = tempfile.NamedTemporaryFile(mode="w+", delete=False) ftemp.close() rec = FileParser.read(fname) rec.remove_loci_by_position([0], ftemp.name) with open(ftemp.name, "r") as ft: ft.seek(0) rec2 = GenePop.read(iter(ft)) self.assertEqual(rec.loci_list[1:], rec2.loci_list) rec.remove_locus_by_position(0, ftemp.name) with open(ftemp.name, "r") as ft: ft.seek(0) rec3 = GenePop.read(iter(ft)) self.assertEqual(rec.loci_list[1:], rec3.loci_list) rec.remove_locus_by_name(rec.loci_list[0], ftemp.name) with open(ftemp.name, "r") as ft: ft.seek(0) rec4 = GenePop.read(iter(ft)) self.assertEqual(rec.loci_list[1:], rec4.loci_list) rec.remove_loci_by_name([rec.loci_list[0]], ftemp.name) with open(ftemp.name, "r") as ft: ft.seek(0) rec5 = GenePop.read(iter(ft)) self.assertEqual(rec.loci_list[1:], rec5.loci_list) os.remove(ftemp.name) rec._handle.close()
def test_wrong_file_parser(self): """Testing the ability to deal with wrongly formatted files.""" with open(os.path.join("PopGen", "README")) as f: try: rec = GenePop.read(f) raise Exception("Should have raised exception") except ValueError: pass
def test_wrong_file_parser(self): """Testing the ability to deal with wrongly formatted files.""" with open(os.path.join("PopGen", "README")) as f: try: rec = GenePop.read(f) raise Exception("Should have raised exception") except ValueError: pass
def test_convert(self): """Basic conversion test. """ for i in range(len(self.handles)): gp_rec = GenePop.read(self.handles[i]) fd_rec = convert_genepop_to_fdist(gp_rec) assert(fd_rec.num_loci == 3) assert(fd_rec.num_pops == 3)
def test_convert(self): """Basic conversion test. """ for i in range(len(self.names)): handle = self.handles[i] gp_rec = GenePop.read(handle) fd_rec = convert_genepop_to_fdist(gp_rec) assert (fd_rec.num_loci == 3) assert (fd_rec.num_pops == 3)
def test_wrong_file_parser(self): """Testing the ability to deal with wrongly formatted files """ f = open(os.path.join("PopGen", "fdist1")) try: rec = GenePop.read(f) raise Error("Should have raised exception") except ValueError: pass f.close()
def test_record_parser(self): """Basic operation of the Record Parser. """ for index in range(len(self.handles)): handle = self.handles[index] rec = GenePop.read(handle) assert isinstance(rec, GenePop.Record) assert len(rec.loci_list) == self.num_loci[index] assert rec.marker_len == self.marker_len[index] assert len(rec.populations) == self.pops_indivs[index][0] assert rec.pop_list == self.pop_names for i in range(self.pops_indivs[index][0]): assert len(rec.populations[i]) == \ self.pops_indivs[index][1][i]
def test_utils(self): """Basic operation of GenePop Utils.""" for index in range(len(self.handles)): handle = self.handles[index] rec = GenePop.read(handle) initial_pops = len(rec.populations) initial_loci = len(rec.loci_list) first_loci = rec.loci_list[0] rec.remove_population(0) self.assertEqual(len(rec.populations), initial_pops - 1) rec.remove_locus_by_name(first_loci) self.assertEqual(len(rec.loci_list), initial_loci - 1) self.assertNotEqual(rec.loci_list[0], first_loci) rec.remove_locus_by_position(0) self.assertEqual(len(rec.loci_list), initial_loci - 2)
def test_utils(self): """Basic operation of GenePop Utils.""" for index in range(len(self.handles)): handle = self.handles[index] rec = GenePop.read(handle) initial_pops = len(rec.populations) initial_loci = len(rec.loci_list) first_loci = rec.loci_list[0] rec.remove_population(0) self.assertEqual(len(rec.populations), initial_pops - 1) rec.remove_locus_by_name(first_loci) self.assertEqual(len(rec.loci_list), initial_loci - 1) self.assertNotEqual(rec.loci_list[0], first_loci) rec.remove_locus_by_position(0) self.assertEqual(len(rec.loci_list), initial_loci - 2)
def test_utils(self): """Basic operation of GenePop Utils. """ for index in range(len(self.handles)): handle = self.handles[index] rec = GenePop.read(handle) initial_pops = len(rec.populations) initial_loci = len(rec.loci_list) first_loci = rec.loci_list[0] rec.remove_population(0) assert len(rec.populations) == initial_pops - 1 rec.remove_locus_by_name(first_loci) assert len(rec.loci_list) == initial_loci - 1 assert rec.loci_list[0] != first_loci rec.remove_locus_by_position(0) assert len(rec.loci_list) == initial_loci - 2
def test_record_parser(self): """Basic operation of the Record Parser.""" for index in range(len(self.handles)): handle = self.handles[index] rec = GenePop.read(handle) self.assertTrue(str(rec).startswith( "Generated by createGenePop.py - (C) Tiago Antao\n" "136255903\n" "136257048\n" "136257636\n" "Pop\n"), "Did not expect this:\n%s" % rec) self.assertIsInstance(rec, GenePop.Record) self.assertEqual(len(rec.loci_list), self.num_loci[index]) self.assertEqual(rec.marker_len, self.marker_len[index]) self.assertEqual(len(rec.populations), self.pops_indivs[index][0]) self.assertEqual(rec.pop_list, self.pop_names) for i in range(self.pops_indivs[index][0]): self.assertEqual(len(rec.populations[i]), self.pops_indivs[index][1][i])
def test_record_parser(self): """Basic operation of the Record Parser.""" for index in range(len(self.handles)): handle = self.handles[index] rec = GenePop.read(handle) self.assertTrue(str(rec).startswith( "Generated by createGenePop.py - (C) Tiago Antao\n" "136255903\n" "136257048\n" "136257636\n" "Pop\n"), "Did not expect this:\n%s" % rec) self.assertIsInstance(rec, GenePop.Record) self.assertEqual(len(rec.loci_list), self.num_loci[index]) self.assertEqual(rec.marker_len, self.marker_len[index]) self.assertEqual(len(rec.populations), self.pops_indivs[index][0]) self.assertEqual(rec.pop_list, self.pop_names) for i in range(self.pops_indivs[index][0]): self.assertEqual(len(rec.populations[i]), self.pops_indivs[index][1][i])
def get_basic_info(self): """Obtain the population list and loci list from the file.""" with open(self._fname) as f: rec = GenePop.read(f) return rec.pop_list, rec.loci_list
def get_basic_info(self): f = open(self._fname) rec = GenePop.read(f) f.close() return rec.pop_list, rec.loci_list
def get_basic_info(self): with open(self._fname) as f: rec = GenePop.read(f) return rec.pop_list, rec.loci_list
def get_basic_info(self): with open(self._fname) as f: rec = GenePop.read(f) return rec.pop_list, rec.loci_list
def get_basic_info(self): f=open(self._fname) rec = GenePop.read(f) f.close() return rec.pop_list, rec.loci_list
def get_basic_info(self): """Obtain the population list and loci list from the file.""" with open(self._fname) as f: rec = GenePop.read(f) return rec.pop_list, rec.loci_list