当前位置: 首页>>代码示例>>Python>>正文


Python AlignmentList.clear_alignments方法代码示例

本文整理汇总了Python中process.sequence.AlignmentList.clear_alignments方法的典型用法代码示例。如果您正苦于以下问题:Python AlignmentList.clear_alignments方法的具体用法?Python AlignmentList.clear_alignments怎么用?Python AlignmentList.clear_alignments使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在process.sequence.AlignmentList的用法示例。


在下文中一共展示了AlignmentList.clear_alignments方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: PartitonsTest

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import clear_alignments [as 别名]
class PartitonsTest(ExpectingTestCase):

    def setUp(self):

        if not os.path.exists(temp_dir):
            os.makedirs(temp_dir)

        self.aln_obj = AlignmentList(dna_data_fas, sql_db=sql_db)
        self.aln_obj.partitions.reset(cur=self.aln_obj.cur,)

    def tearDown(self):

        self.aln_obj.clear_alignments()
        self.aln_obj.con.close()
        shutil.rmtree(temp_dir)

    def test_read_from_nexus(self):

        self.aln_obj.partitions.read_from_file(concatenated_small_parNex[0],
                                               no_aln_check=True)

        self.assertEqual(len(self.aln_obj.partitions.partitions), 7)

    def test_read_from_phylip(self):

        self.aln_obj.partitions.read_from_file(concatenated_small_par[0],
                                               no_aln_check=True)

        self.assertEqual(len(self.aln_obj.partitions.partitions), 7)

    def test_bad_partitions_phy(self):

        e = self.aln_obj.partitions.read_from_file(partition_bad_phy[0],
                                                   no_aln_check=True)

        self.assertTrue(isinstance(e, InvalidPartitionFile))

    def test_unsorted_part_phylip(self):

        self.aln_obj.partitions.read_from_file(partition_unsorted_phy[0],
                                               no_aln_check=True)

        data = [self.aln_obj.partitions.partitions.keys(),
                self.aln_obj.partitions.counter]

        self.assertEqual(data, [["BaseConc1.fas", "BaseConc2.fas",
                                 "BaseConc3.fas", "BaseConc4.fas",
                                 "BaseConc5.fas", "BaseConc6.fas",
                                 "BaseConc7.fas"],
                                595])

    def test_phylip_dot_notation(self):

        self.aln_obj.partitions.read_from_file(partition_dot_not[0],
                                               no_aln_check=True)

        data = [self.aln_obj.partitions.partitions.keys(),
                self.aln_obj.partitions.counter]

        self.assertEqual(data, [["BaseConc1.fas", "BaseConc2.fas",
                                 "BaseConc3.fas", "BaseConc4.fas",
                                 "BaseConc5.fas", "BaseConc6.fas",
                                 "BaseConc7.fas"],
                                595])

    def test_nexus_dot_notation(self):

        self.aln_obj.partitions.read_from_file(dot_notation_nex[0],
                                               no_aln_check=True)

        data = [self.aln_obj.partitions.partitions.keys(),
                self.aln_obj.partitions.counter]

        self.assertEqual(data, [["BaseConc1.fas", "BaseConc2.fas",
                                 "BaseConc3.fas", "BaseConc4.fas",
                                 "BaseConc5.fas", "BaseConc6.fas",
                                 "BaseConc7.fas"],
                                595])

    def test_import_new_partscheme(self):

        self.aln_obj.clear_alignments()
        self.aln_obj.con.close()

        self.aln_obj = AlignmentList(concatenated_medium_nexus,
                                     sql_db=sql_db)

        self.aln_obj.partitions.reset()

        self.aln_obj.partitions.read_from_file(concatenated_small_par[0],
                                               no_aln_check=True)

        res = self.aln_obj.partitions.get_partition_names()

        self.assertEqual(res, ["BaseConc1.fas", "BaseConc2.fas",
                               "BaseConc3.fas", "BaseConc4.fas",
                               "BaseConc5.fas", "BaseConc6.fas",
                               "BaseConc7.fas"])

    def test_add_duplicate_name(self):
#.........这里部分代码省略.........
开发者ID:ODiogoSilva,项目名称:TriFusion,代码行数:103,代码来源:test_partitions.py

示例2: SeconaryOpsTest

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import clear_alignments [as 别名]
class SeconaryOpsTest(unittest.TestCase):

    def setUp(self):

        if not os.path.exists(temp_dir):
            os.makedirs(temp_dir)

        self.aln_obj = AlignmentList(dna_data_fas, sql_db=sql_db)

    def tearDown(self):

        self.aln_obj.clear_alignments()
        self.aln_obj.con.close()
        shutil.rmtree(temp_dir)

    def test_summary_stats_all(self):

        sum_table, table_data = self.aln_obj.get_summary_stats()

        self.assertEqual([sum_table, table_data],
                         [{'missing': '5 (0.04%)', 'taxa': 24, 'genes': 7,
                           'informative': '0 (0.0%)', 'gaps': '0 (0.0%)',
                           'avg_gaps': 0.0, 'avg_missing': 1.0, 'variable': '7 (1.18%)',
                           'seq_len': 595, 'avg_var': 1.0, 'avg_inf': 0.0},
                          [['Genes', 'Taxa', 'Alignment length', 'Gaps',
                            'Gaps per gene', 'Missing data',
                            'Missing data per gene', 'Variable sites',
                            'Variable sites per gene', 'Informative sites',
                            'Informative sites per gene'],
                           [7, 24, 595, '0 (0.0%)', 0.0, '5 (0.04%)', 1.0,
                            '7 (1.18%)', 1.0, '0 (0.0%)', 0.0]]])

    def test_summary_stats_one_active(self):

        sum_table, table_data = self.aln_obj.get_summary_stats([
            join(data_path, "BaseConc1.fas")])

        self.assertEqual([sum_table, table_data],
                         [{'missing': '1 (0.05%)', 'taxa': 24, 'genes': 1,
                           'informative': '0 (0.0%)', 'gaps': '0 (0.0%)',
                           'avg_gaps': 0.0, 'avg_missing': 1.0, 'variable': '1 (1.18%)',
                           'seq_len': 85, 'avg_var': 1.0, 'avg_inf': 0.0},
                          [['Genes', 'Taxa', 'Alignment length', 'Gaps',
                            'Gaps per gene', 'Missing data',
                            'Missing data per gene', 'Variable sites',
                            'Variable sites per gene', 'Informative sites',
                            'Informative sites per gene'],
                           [1, 24, 85, '0 (0.0%)', 0.0, '1 (0.05%)', 1.0,
                            '1 (1.18%)', 1.0, '0 (0.0%)', 0.0]]])

    def test_single_aln_outlier_mdata(self):

        self.aln_obj.update_active_alignments([dna_data_fas[0]])

        self.assertEqual(self.aln_obj.outlier_missing_data(),
                         {"exception": "single_alignment"})

    def test_single_aln_outlier_mdata_sp(self):

        self.aln_obj.update_active_alignments([dna_data_fas[0]])

        print(self.aln_obj.alignments)

        self.assertEqual(self.aln_obj.outlier_missing_data_sp(),
                         {"exception": "single_alignment"})

    def test_single_aln_outlier_seg(self):

        self.aln_obj.update_active_alignments([dna_data_fas[0]])

        self.assertEqual(self.aln_obj.outlier_segregating(),
                         {"exception": "single_alignment"})

    def test_single_aln_outlier_seg_sp(self):

        self.aln_obj.update_active_alignments([dna_data_fas[0]])

        print(self.aln_obj.alignments)

        self.assertEqual(self.aln_obj.outlier_segregating_sp(),
                         {"exception": "single_alignment"})

    def test_single_aln_outlier_seqsize(self):

        self.aln_obj.update_active_alignments([dna_data_fas[0]])

        self.assertEqual(self.aln_obj.outlier_sequence_size(),
                         {"exception": "single_alignment"})

    def test_single_aln_outlier_seqsize_sp(self):

        self.aln_obj.update_active_alignments([dna_data_fas[0]])

        self.assertEqual(self.aln_obj.outlier_sequence_size_sp(),
                         {"exception": "single_alignment"})

    def test_single_aln_average_seqsize_per_species(self):

        self.aln_obj.update_active_alignments([dna_data_fas[0]])

#.........这里部分代码省略.........
开发者ID:ODiogoSilva,项目名称:TriFusion,代码行数:103,代码来源:test_stats.py

示例3: LoadAlignmentsTest

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import clear_alignments [as 别名]
class LoadAlignmentsTest(unittest.TestCase):

    def setUp(self):

        if not os.path.exists(temp_dir):
            os.makedirs(temp_dir)

        self.aln_obj = AlignmentList([], sql_db=sql_db)

    def tearDown(self):

        self.aln_obj.clear_alignments()
        self.aln_obj.con.close()
        shutil.rmtree(temp_dir)

    def test_dna_load(self):

        self.aln_obj = AlignmentList(dna_data_fas, sql_db=sql_db)

        self.assertEqual(["DNA"], self.aln_obj.sequence_code)

    def test_protein_load(self):

        self.aln_obj = AlignmentList(protein_no_missing, sql_db=sql_db)

        self.assertEqual(["Protein"], self.aln_obj.sequence_code)

    def test_mixed_type_load(self):

        self.aln_obj = AlignmentList(mixed_seq_type, sql_db=sql_db)

        self.assertEqual(["DNA", "Protein"],
                         sorted(self.aln_obj.sequence_code))

    def test_class_instance(self):

        self.aln_obj = AlignmentList([], sql_db=sql_db)
        self.assertIsInstance(self.aln_obj.alignments, OrderedDict)

    def test_load_fas(self):

        self.aln_obj = AlignmentList(dna_data_fas, sql_db=sql_db)

    def test_load_single_fas(self):

        single_aln = Alignment(dna_data_fas[0], sql_cursor=self.aln_obj.cur)

    def test_load_phy(self):

        self.aln_obj = AlignmentList(dna_data_phy, sql_db=sql_db)

    def test_load_single_phy(self):

        single_aln = Alignment(dna_data_phy[0], sql_cursor=self.aln_obj.cur)

    def test_load_single_interleave_phy(self):

        single_aln = Alignment(phylip_interleave[0],
                               sql_cursor=self.aln_obj.cur)

    def test_load_nex(self):

        self.aln_obj = AlignmentList(dna_data_nex, sql_db=sql_db)

    def test_load_single_nex(self):

        single_aln = Alignment(dna_data_nex[0], sql_cursor=self.aln_obj.cur)

    def test_load_interleave_nex(self):

        single_aln = Alignment(concatenated_interleave_nexus[0],
                               sql_cursor=self.aln_obj.cur)

    def test_load_stc(self):

        self.aln_obj = AlignmentList(dna_data_stc, sql_db=sql_db)

    def test_load_single_stc(self):

        single_aln = Alignment(dna_data_stc[0], sql_cursor=self.aln_obj.cur,
                               db_idx=self.aln_obj._idx + 1)

    def test_load_loci(self):

        self.aln_obj = AlignmentList(dna_data_loci, sql_db=sql_db)

    def test_load_single_loci(self):

        single_aln = Alignment(dna_data_loci[0], sql_cursor=self.aln_obj.cur,
                               db_idx=self.aln_obj._idx + 1)

    def test_load_nexus_par(self):

        self.aln_obj = AlignmentList(concatenated_medium_nexus, sql_db=sql_db)
        self.assertTrue(self.aln_obj.partitions.partitions)

    def test_load_wrong_type(self):

        self.aln_obj = AlignmentList(bad_file, sql_db=sql_db)
        self.assertTrue(self.aln_obj.bad_alignments)
#.........这里部分代码省略.........
开发者ID:ODiogoSilva,项目名称:TriFusion,代码行数:103,代码来源:test_load_process_data.py

示例4: LoadBadAlignmentsTest

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import clear_alignments [as 别名]

#.........这里部分代码省略.........
                len(aln_obj.taxa_idx)]

        self.assertEqual(data, ["bad_no_colon_interleave.nex",
                                898,
                                12])

    def test_no_end_colon_interleave(self):

        self.aln_obj = AlignmentList(bad_no_end_interleave, sql_db=sql_db)

        aln_obj = self.aln_obj.alignments.values()[0]
        data = [aln_obj.name,
                aln_obj.locus_length,
                len(aln_obj.taxa_idx)]

        self.assertEqual(data, ["bad_no_end_interleave.nex",
                                898,
                                12])

    def test_bad_no_colon_nexus(self):

        self.aln_obj = AlignmentList(bad_no_colon, sql_db=sql_db)

        aln_obj = self.aln_obj.alignments.values()[0]
        data = [aln_obj.name,
                aln_obj.locus_length,
                len(aln_obj.taxa_idx)]

        self.assertEqual(data, ["bad_no_colon.nex",
                                898,
                                12])

    def test_bad_no_end_nexus(self):

        self.aln_obj = AlignmentList(bad_no_end, sql_db=sql_db)

        aln_obj = self.aln_obj.alignments.values()[0]
        data = [aln_obj.name,
                aln_obj.locus_length,
                len(aln_obj.taxa_idx)]

        self.assertEqual(data, ["bad_no_end.nex",
                                898,
                                12])

    def test_bad_no_header_nexus(self):

        self.aln_obj = AlignmentList(bad_no_header, sql_db=sql_db)

        self.assertEqual(self.aln_obj.bad_alignments, bad_no_header)

    def test_bad_no_matrix_nexus(self):

        self.aln_obj = AlignmentList(bad_no_matrix, sql_db=sql_db)

        self.assertEqual(self.aln_obj.bad_alignments, bad_no_matrix)

    def test_bad_no_format_line_nexus(self):

        self.aln_obj = AlignmentList(bad_no_format_line, sql_db=sql_db)

        self.assertEqual(self.aln_obj.bad_alignments, bad_no_format_line)

    def test_bad_space_in_middle_nexus(self):

        self.aln_obj = AlignmentList(bad_space_in_middle, sql_db=sql_db)

        aln_obj = self.aln_obj.alignments.values()[0]
        data = [aln_obj.name,
                aln_obj.locus_length,
                len(aln_obj.taxa_idx)]

        self.assertEqual(data, ["bad_space_in_middle.nex",
                                898,
                                12])

    def test_bad_wrong_dimensions_nexus(self):

        self.aln_obj = AlignmentList(bad_wrong_dimensions, sql_db=sql_db)

        self.assertEqual(self.aln_obj.bad_alignments, bad_wrong_dimensions)

    def test_bad_wrong_size_nexus(self):

        self.aln_obj = AlignmentList(bad_wrong_size, sql_db=sql_db)

        aln_obj = self.aln_obj.alignments.values()[0]
        data = [aln_obj.name,
                aln_obj.locus_length,
                len(aln_obj.taxa_idx)]

        self.assertEqual(data, ["bad_wrong_size.nex",
                                898,
                                12])

    def tearDown(self):

        self.aln_obj.clear_alignments()
        self.aln_obj.con.close()
        shutil.rmtree(temp_dir)
开发者ID:ODiogoSilva,项目名称:TriFusion,代码行数:104,代码来源:test_load_process_data.py

示例5: AlignmentManipulationTest

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import clear_alignments [as 别名]
class AlignmentManipulationTest(unittest.TestCase):

    def setUp(self):

        if not os.path.exists(temp_dir):
            os.makedirs(temp_dir)

        self.aln_obj = AlignmentList(dna_data_fas, sql_db=sql_db)

    def tearDown(self):

        try:
            self.aln_obj.clear_alignments()
        except:
            pass
        self.aln_obj.con.close()
        shutil.rmtree(temp_dir)

    def test_clear_alns(self):

        self.aln_obj.clear_alignments()
        aln = AlignmentList([], sql_db=sql_db)

        self.assertTrue(compare_inst(self.aln_obj, aln, ["log_progression",
                                                         "locus_length",
                                                         "partitions",
                                                         "cur",
                                                         "con"]))

    def test_update_act_anls(self):

        self.aln_obj.update_active_alignments([join(data_path,
                                                    "BaseConc1.fas"),
                                               join(data_path,
                                                    "BaseConc2.fas")])

        self.assertEqual(list(self.aln_obj.alignments.keys()),
                         [join(data_path, "BaseConc1.fas"),
                          join(data_path, "BaseConc2.fas")])

    def test_update_act_alns_err(self):

        self.aln_obj.update_active_alignments([join(data_path,
                                                    "BaseConc1.fas"),
                                               join(data_path,
                                                    "BaseConc2.fas"),
                                               join(data_path,
                                                    "Wrong_name")])

        self.assertEqual(list(self.aln_obj.alignments.keys()),
                         [join(data_path, "BaseConc1.fas"),
                          join(data_path, "BaseConc2.fas")])

    def test_update_aln_shelve(self):

        self.aln_obj.update_active_alignment(join(data_path, "BaseConc1.fas"),
                                             "shelve")

        self.assertEqual(list(self.aln_obj.alignments.keys()),
                         [join(data_path, "BaseConc2.fas"),
                          join(data_path, "BaseConc3.fas"),
                          join(data_path, "BaseConc4.fas"),
                          join(data_path, "BaseConc5.fas"),
                          join(data_path, "BaseConc6.fas"),
                          join(data_path, "BaseConc7.fas")])

    def test_update_aln_act(self):

        self.aln_obj.update_active_alignments([])
        self.aln_obj.update_active_alignment(join(data_path, "BaseConc1.fas"),
                                             "active")

        self.assertEqual(list(self.aln_obj.alignments.keys()),
                         [join(data_path, "BaseConc1.fas")])

    def test_add_aln_obj(self):

        fl = self.aln_obj.alignments.keys()

        aln = Alignment(dna_data_loci[0], sql_cursor=self.aln_obj.cur,
                        sql_con=self.aln_obj.con,
                        db_idx=self.aln_obj._idx + 1, temp_dir=temp_dir)

        self.aln_obj.add_alignments([aln])

        self.assertEqual(self.aln_obj.alignments.keys(),
                         fl + [join(data_path, "c97d5m4p2.loci")])

    def test_remove_taxa_from_list(self):

        taxa_list = [
            "1285_RAD_original",
            "130a_RAD_original",
            "137a_RAD_original",
            "1427_RAD_original",
            "167a_RAD_original"
        ]

        expected_taxa = [tx for tx in self.aln_obj.taxa_names if
                         tx not in taxa_list]
#.........这里部分代码省略.........
开发者ID:ODiogoSilva,项目名称:TriFusion,代码行数:103,代码来源:test_load_process_data.py

示例6: AlignmentVariationFilters

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import clear_alignments [as 别名]
class AlignmentVariationFilters(unittest.TestCase):

    def setUp(self):

        if not os.path.exists(temp_dir):
            os.makedirs(temp_dir)

        self.aln_obj = AlignmentList([], sql_db=sql_db)

    def tearDown(self):

        self.aln_obj.clear_alignments()
        self.aln_obj.con.close()
        shutil.rmtree(temp_dir)

    def test_variation_filter_min(self):

        self.aln_obj.add_alignment_files(variable_data)

        self.aln_obj.filter_segregating_sites(None, None)

        self.assertEqual(len(self.aln_obj.alignments), 3)

    def test_variation_var_sites(self):

        self.aln_obj.add_alignment_files(variable_data)

        self.aln_obj.filter_segregating_sites(1, 2)

        self.assertEqual(len(self.aln_obj.alignments), 0)

    def test_variation_var_sites2(self):
        self.aln_obj.add_alignment_files(variable_data)

        self.aln_obj.filter_segregating_sites(1, 3)

        self.assertEqual(len(self.aln_obj.alignments), 1)

    def test_variation_inf_min(self):
        self.aln_obj.add_alignment_files(variable_data)

        self.aln_obj.filter_informative_sites(None, None)

        self.assertEqual(len(self.aln_obj.alignments), 3)

    def test_variation_inf_sites(self):

        self.aln_obj.add_alignment_files(variable_data)

        self.aln_obj.filter_informative_sites(1, 4)

        self.assertEqual(len(self.aln_obj.alignments), 1)

    def test_variation_inf_sites2(self):

        self.aln_obj.add_alignment_files(variable_data)

        self.aln_obj.filter_informative_sites(1, 1)

        print(self.aln_obj.alignments)

        self.assertEqual(len(self.aln_obj.alignments), 1)
开发者ID:ODiogoSilva,项目名称:TriFusion,代码行数:64,代码来源:test_process_filters.py

示例7: AlignmentMissingFiltersTest

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import clear_alignments [as 别名]
class AlignmentMissingFiltersTest(unittest.TestCase):

    def setUp(self):

        if not os.path.exists(temp_dir):
            os.makedirs(temp_dir)

        self.aln_obj = AlignmentList([], sql_db=sql_db)

    def tearDown(self):

        self.aln_obj.clear_alignments()
        self.aln_obj.con.close()
        shutil.rmtree(temp_dir)

    def test_filter_default(self):

        self.aln_obj.add_alignment_files(
            ["trifusion/tests/data/missing_data.phy",
             "trifusion/tests/data/missing_data2.phy"]
        )
        self.aln_obj.filter_missing_data(25, 50)

        s = []
        for aln in self.aln_obj:
            s.append(aln.locus_length)

        self.assertEqual(s, [42, 43])

    def test_filter_and_concat(self):

        self.aln_obj.add_alignment_files(
            ["trifusion/tests/data/missing_data.phy",
             "trifusion/tests/data/missing_data2.phy"]
        )

        self.aln_obj.filter_missing_data(25, 50, table_out="master_out")

        self.aln_obj.concatenate(table_in="master_out")

        self.assertEqual(self.aln_obj.size, 85)

    def test_no_filters(self):

        self.aln_obj.add_alignment_files(
            ["trifusion/tests/data/missing_data.phy",
             "trifusion/tests/data/missing_data2.phy"]
        )

        self.aln_obj.filter_missing_data(100, 100)

        s = []
        for aln in self.aln_obj:
            s.append(aln.locus_length)

        self.assertEqual(s, [50, 50])

    def test_no_missing(self):

        self.aln_obj.add_alignment_files(
            ["trifusion/tests/data/missing_data.phy",
             "trifusion/tests/data/missing_data2.phy"]
        )
        self.aln_obj.filter_missing_data(0, 0)

        s = []
        for aln in self.aln_obj:
            s.append(aln.locus_length)

        self.assertEqual(s, [0, 19])

    def test_no_data_aln_default_filters(self):

        self.aln_obj.add_alignment_files(
            ["trifusion/tests/data/missing_data3.phy"]
        )

        self.aln_obj.filter_missing_data(25, 50)

        s = None
        for aln in self.aln_obj:
            s = aln.locus_length

        self.assertEqual(s, 0)

    def test_no_data_aln_no_filters(self):

        self.aln_obj.add_alignment_files(
            ["trifusion/tests/data/missing_data3.phy"]
        )

        self.aln_obj.filter_missing_data(100, 100)

        s = None
        for aln in self.aln_obj:
            s = aln.locus_length

        self.assertEqual(s, 50)
开发者ID:ODiogoSilva,项目名称:TriFusion,代码行数:100,代码来源:test_process_filters.py

示例8: AlignmentCodonFilters

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import clear_alignments [as 别名]
class AlignmentCodonFilters(unittest.TestCase):

    def setUp(self):

        if not os.path.exists(temp_dir):
            os.makedirs(temp_dir)

        self.aln_obj = AlignmentList([],sql_db=sql_db)

    def tearDown(self):

        self.aln_obj.clear_alignments()
        self.aln_obj.con.close()
        shutil.rmtree(temp_dir)

    def test_codon_filter_pos1(self):

        self.aln_obj.add_alignment_files(codon_filter)

        self.aln_obj.filter_codon_positions([True, False, False],
                                            table_out="master_out")

        s = []
        for _, seq, _ in self.aln_obj.iter_alignments("master_out"):
            s.append(seq)

        self.assertEqual(s, ["a" * 16] * 10)

    def test_codon_filter_pos2(self):

        self.aln_obj.add_alignment_files(codon_filter)

        self.aln_obj.filter_codon_positions([False, True, False],
                                            table_out="master_out")

        s = []
        for _, seq, _ in self.aln_obj.iter_alignments("master_out"):
            s.append(seq)

        self.assertEqual(s, ["t" * 16] * 10)

    def test_codon_filter_pos3(self):

        self.aln_obj.add_alignment_files(codon_filter)

        self.aln_obj.filter_codon_positions([False, False, True],
                                            table_out="master_out")

        s = []
        for _, seq, _ in self.aln_obj.iter_alignments("master_out"):
            s.append(seq)

        self.assertEqual(s, ["g" * 16] * 10)

    def test_codon_filter_pos12(self):

        self.aln_obj.add_alignment_files(codon_filter)

        self.aln_obj.filter_codon_positions([True, True, False],
                                            table_out="master_out")

        s = []
        for _, seq, _ in self.aln_obj.iter_alignments("master_out"):
            s.append(seq)

        self.assertEqual(s, ["at" * 16] * 10)

    def test_codon_filter_pos13(self):

        self.aln_obj.add_alignment_files(codon_filter)

        self.aln_obj.filter_codon_positions([True, False, True],
                                            table_out="master_out")

        s = []
        for _, seq, _ in self.aln_obj.iter_alignments("master_out"):
            s.append(seq)

        self.assertEqual(s, ["ag" * 16] * 10)

    def test_codon_filter_all(self):

        self.aln_obj.add_alignment_files(codon_filter)

        self.aln_obj.filter_codon_positions([True, True, True])

        s = []
        for _, seq, _ in self.aln_obj.iter_alignments():
            s.append(seq)

        self.assertEqual(s, ["atg" * 16] * 10)
开发者ID:ODiogoSilva,项目名称:TriFusion,代码行数:93,代码来源:test_process_filters.py

示例9: AlignmentTaxaFilters

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import clear_alignments [as 别名]
class AlignmentTaxaFilters(unittest.TestCase):

    def setUp(self):

        if not os.path.exists(temp_dir):
            os.makedirs(temp_dir)

        self.aln_obj = AlignmentList([], sql_db=sql_db)

    def tearDown(self):

        self.aln_obj.clear_alignments()
        self.aln_obj.con.close()
        shutil.rmtree(temp_dir)

    def test_filter_min_taxa(self):

        self.aln_obj.add_alignment_files(dna_data_fas)

        self.aln_obj.filter_min_taxa(50)

        self.assertEqual(len(self.aln_obj.alignments), 5)

    def test_filter_min_taxa_max(self):

        self.aln_obj.add_alignment_files(dna_data_fas)

        self.aln_obj.filter_min_taxa(100)

        self.assertEqual(len(self.aln_obj.alignments), 1)

    def test_filter_min_taxa_min(self):

        self.aln_obj.add_alignment_files(dna_data_fas)

        self.aln_obj.filter_min_taxa(0)

        self.assertEqual(len(self.aln_obj.alignments), 7)

    def test_filter_by_taxa_include(self):

        self.aln_obj.add_alignment_files(dna_data_fas)

        self.aln_obj.filter_by_taxa(["spa", "spb", "spc", "spd"], "Contain")

        self.assertEqual(len(self.aln_obj.alignments), 2)

    def test_filter_by_taxa_exclude(self):

        self.aln_obj.add_alignment_files(dna_data_fas)

        self.aln_obj.filter_by_taxa(["spa", "spb", "spc", "spd"], "Exclude")

        self.assertEqual(len(self.aln_obj.alignments), 5)

    def test_filter_by_taxa_all(self):

        self.aln_obj.add_alignment_files(dna_data_fas)

        self.aln_obj.filter_by_taxa(["no_taxa"], "Contain")

        self.assertEqual(len(self.aln_obj.alignments), 0)

    def test_filter_by_taxa_from_file(self):

        self.aln_obj.add_alignment_files(dna_data_fas)

        self.aln_obj.filter_by_taxa("trifusion/tests/data/filter_taxa.txt",
                                    "Contain")

        self.assertEqual(len(self.aln_obj.alignments), 2)
开发者ID:ODiogoSilva,项目名称:TriFusion,代码行数:73,代码来源:test_process_filters.py


注:本文中的process.sequence.AlignmentList.clear_alignments方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。