Example #1
0
    def testReadOnlySubAlignment(self):
        print("======= starting testReadOnlySubAlignment =========")
        alg = MutableAlignment()
        alg.read_filepath("data/mock/pyrg/sate.fasta")

        subset = list(alg.keys())[9:12]
        readonly_subalignment = ReadonlySubalignment(subset, alg)

        print("subalignment is:\n\n", readonly_subalignment)

        assert len(readonly_subalignment) == 3, len(readonly_subalignment)

        assert set(readonly_subalignment.keys()) == set(
            readonly_subalignment.get_sequence_names()) == set(
                subset
            ), "Subalignment keys not matching given keys %s vs %s" % (list(
                readonly_subalignment.keys()), subset)

        for (k, s) in list(readonly_subalignment.items()):
            assert k in subset, "%s not found in subset but returned by subalignment" % k
            assert s == alg[
                k], "sequence associated with %k not matching parent alignment" % k

        try:
            readonly_subalignment[2] = "ACGT"
            assert False, "Readony alignment is successfully modified. "
        except TypeError:
            pass

        assert readonly_subalignment.get_length() == alg.get_length(
        ), "alignment length should not change"

        assert readonly_subalignment.is_aligned() == True

        assert readonly_subalignment.is_all_gap(
            2) == True, "Site 2 should be all gaps"
        assert readonly_subalignment.is_all_gap(
            150) == False, "Site 100 should not be all gaps"

        readonly_subalignment.write_to_path("data/mock/pyrg/sate.sub.fasta")

        mutable_subalignment = readonly_subalignment.get_mutable_alignment()
        mutable_subalignment.delete_all_gap()

        assert all([
            not mutable_subalignment.is_all_gap(i)
            for i in range(0, mutable_subalignment.get_length())
        ])

        print("======= finishing testReadOnlySubAlignment =========")
Example #2
0
    def testReadOnlySubAlignment(self):
        alg = MutableAlignment()
        alg.read_filepath(get_data_path("mock/pyrg/sate.fasta"))

        subset = [
            'NC_008701_720717_722309', 'NC_013156_149033_150643',
            'NC_013887_802739_801129'
        ]
        readonly_subalignment = ReadonlySubalignment(subset, alg)

        assert len(readonly_subalignment) == 3, len(readonly_subalignment)

        assert set(readonly_subalignment.keys()) == set(
            readonly_subalignment.get_sequence_names()) == set(subset), \
            "Subalignment keys not matching given keys %s vs %s" % (
            list(readonly_subalignment.keys()), subset)

        for (k, s) in list(readonly_subalignment.items()):
            assert k in subset, \
                "%s not found in subset but returned by subalignment" % k
            assert s == alg[k], \
                "sequence associated with %s not matching parent alignment" % k

        try:
            readonly_subalignment[2] = "ACGT"
            assert False, "Readony alignment is successfully modified. "
        except TypeError:
            pass

        assert readonly_subalignment.get_length() == alg.get_length(), \
            "alignment length should not change"

        assert readonly_subalignment.is_aligned() is True

        assert readonly_subalignment.is_all_gap(2) is True, \
            "Site 2 should be all gaps"
        assert readonly_subalignment.is_all_gap(150) is False, \
            "Site 100 should not be all gaps"

        readonly_subalignment.write_to_path(
            self.fp_dummy1)  # "mock/pyrg/sate.sub.fasta"

        mutable_subalignment = readonly_subalignment.get_mutable_alignment()
        mutable_subalignment.delete_all_gap()

        assert all([
            not mutable_subalignment.is_all_gap(i)
            for i in range(0, mutable_subalignment.get_length())
        ])
Example #3
0
    def testReadOnlySubAlignment(self):
        alg = MutableAlignment()
        alg.read_filepath(get_data_path("mock/pyrg/sate.fasta"))

        subset = ['NC_008701_720717_722309', 'NC_013156_149033_150643',
                  'NC_013887_802739_801129']
        readonly_subalignment = ReadonlySubalignment(subset, alg)

        assert len(readonly_subalignment) == 3, len(readonly_subalignment)

        assert set(readonly_subalignment.keys()) == set(
            readonly_subalignment.get_sequence_names()) == set(subset), \
            "Subalignment keys not matching given keys %s vs %s" % (
            list(readonly_subalignment.keys()), subset)

        for (k, s) in list(readonly_subalignment.items()):
            assert k in subset, \
                "%s not found in subset but returned by subalignment" % k
            assert s == alg[k], \
                "sequence associated with %k not matching parent alignment" % k

        try:
            readonly_subalignment[2] = "ACGT"
            assert False, "Readony alignment is successfully modified. "
        except TypeError:
            pass

        assert readonly_subalignment.get_length() == alg.get_length(), \
            "alignment length should not change"

        assert readonly_subalignment.is_aligned() is True

        assert readonly_subalignment.is_all_gap(2) is True, \
            "Site 2 should be all gaps"
        assert readonly_subalignment.is_all_gap(150) is False, \
            "Site 100 should not be all gaps"

        readonly_subalignment.write_to_path(
            self.fp_dummy1)  # "mock/pyrg/sate.sub.fasta"

        mutable_subalignment = readonly_subalignment.get_mutable_alignment()
        mutable_subalignment.delete_all_gap()

        assert all([not mutable_subalignment.is_all_gap(i)
                    for i in range(0, mutable_subalignment.get_length())])
 def testReadOnlySubAlignment(self):
     print "======= starting testReadOnlySubAlignment =========" 
     alg = MutableAlignment()
     alg.read_filepath("data/mock/pyrg/sate.fasta")
     
     subset  = alg.keys()[9:12]
     readonly_subalignment = ReadonlySubalignment(subset, alg)
     
     print "subalignment is:\n\n", readonly_subalignment
     
     assert len(readonly_subalignment) == 3, len(readonly_subalignment) 
     
     assert readonly_subalignment.keys() == readonly_subalignment.get_sequence_names() == subset, "Subalignment keys not matching given keys %s vs %s" %(readonly_subalignment.keys() , subset)
     
     for (k, s) in readonly_subalignment.items():
         assert k in subset, "%s not found in subset but returned by subalignment" %k
         assert s == alg[k], "sequence associated with %k not matching parent alignment" %k 
     
     try:
         readonly_subalignment[2] = "ACGT"
         assert False, "Readony alignment is successfully modified. "
     except TypeError:
         pass
     
     assert readonly_subalignment.get_length() == alg.get_length(), "alignment length should not change"
     
     assert readonly_subalignment.is_aligned() == True
     
     assert readonly_subalignment.is_all_gap(2) == True, "Site 2 should be all gaps"
     assert readonly_subalignment.is_all_gap(150) == False, "Site 100 should not be all gaps"        
     
     readonly_subalignment.write_to_path("data/mock/pyrg/sate.sub.fasta")
     
     mutable_subalignment = readonly_subalignment.get_mutable_alignment()
     mutable_subalignment.delete_all_gap()
     
     assert all([not mutable_subalignment.is_all_gap(i) for i in xrange(0,mutable_subalignment.get_length())])
     
     print "======= finishing testReadOnlySubAlignment ========="