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


Python AlignmentList.concatenate方法代码示例

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


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

示例1: AlignmentManipulationTest

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

#.........这里部分代码省略.........
        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]

        self.aln_obj.remove_taxa(taxa_list)

        self.assertEqual(self.aln_obj.taxa_names, expected_taxa)

    def test_remove_taxa_from_file(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]

        self.aln_obj.remove_taxa(taxa_to_remove)

        self.assertEqual(self.aln_obj.taxa_names, expected_taxa)

    def test_remove_taxa_from_list_inverse(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]

        self.aln_obj.remove_taxa(taxa_list, mode="inverse")

        self.assertEqual(self.aln_obj.taxa_names, taxa_list)

    #
    # def test_retrieve_alignment(self):
    #
    #     aln = self.aln_obj.retrieve_alignment("BaseConc1.fas")
    #
    #     aln2 = Alignment(dna_data_fas[0], dest="new_one")
    #
    #     self.assertTrue(compare_inst(aln, aln2,
    #                                  ["log_progression", "locus_length",
    #                                   "_partitions"]))

    def test_concatenation(self):

        self.aln_obj.concatenate()
        self.aln_obj.write_to_file(["fasta"], output_file="test")

        with open("trifusion/tests/data/BaseConcatenation.fas") as fh1, \
                open("test.fas") as fh2:
            self.assertEqual(sorted(fh1.readlines()), sorted(fh2.readlines()))

        os.remove("test.fas")

    def test_concatention_after_removal(self):

        fl = [x for x in self.aln_obj.alignments][3:]
        self.aln_obj.remove_file(fl)

        self.aln_obj.concatenate()

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

示例2: PartitonsTest

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import concatenate [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

示例3: AlignmentMissingFiltersTest

# 需要导入模块: from process.sequence import AlignmentList [as 别名]
# 或者: from process.sequence.AlignmentList import concatenate [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


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