コード例 #1
0
    def split(self, split_by="123"):
        """Splits a MSA and returns a dictionary of keys to MSAs,
        using the keys in the 'split_by' parameter at the top
        level. See also paleomix.common.sequences.split."""
        self.validate(self)
        if not split_by:
            raise TypeError("No partitions to split by specified")

        results = dict((key, set()) for key in split_by)
        for record in self:
            for (key, partition) in split(record.sequence, split_by).items():
                results[key].add(FASTA(record.name, None, partition))

        for (key, value) in results.items():
            results[key] = MSA(value)

        return results
コード例 #2
0
ファイル: msa.py プロジェクト: muslih14/paleomix
    def split(self, split_by = "123"):
        """Splits a MSA and returns a dictionary of keys to MSAs,
        using the keys in the 'split_by' parameter at the top
        level. See also paleomix.common.sequences.split."""
        self.validate(self)
        if not split_by:
            raise TypeError("No partitions to split by specified")

        results = dict((key, set()) for key in split_by)
        for record in self:
            for (key, partition) in split(record.sequence, split_by).iteritems():
                results[key].add(FASTA(record.name, None, partition))

        for (key, value) in results.items():
            results[key] = MSA(value)

        return results
コード例 #3
0
ファイル: sequences_test.py プロジェクト: muslih14/paleomix
def test_split__empty_sequence():
    assert_equal(split(""), {"1": "", "2": "", "3": ""})
コード例 #4
0
ファイル: sequences_test.py プロジェクト: tmancill/paleomix
def test_split__partial_group():
    expected = {"1": "AA", "2": "CA", "3": "G"}
    assert split("ACGAA") == expected
コード例 #5
0
ファイル: sequences_test.py プロジェクト: tmancill/paleomix
def test_split__empty_group():
    expected = {"1": "A", "2": "C", "3": ""}
    assert split("AC") == expected
コード例 #6
0
def test_split__no_split_by():
    split("", split_by="")
コード例 #7
0
ファイル: sequences_test.py プロジェクト: muslih14/paleomix
def test_split__empty_group():
    expected = {"1": "A", "2": "C", "3": ""}
    assert_equal(split("AC"), expected)
コード例 #8
0
ファイル: sequences_test.py プロジェクト: muslih14/paleomix
def test_split__two_groups():
    assert_equal(split("ACGCAT", "112"), {"1": "ACCA", "2": "GT"})
コード例 #9
0
ファイル: sequences_test.py プロジェクト: tmancill/paleomix
def test_split__empty_sequence():
    assert split("") == {"1": "", "2": "", "3": ""}
コード例 #10
0
def test_split__partial_group():
    expected = {"1": "AA", "2": "CA", "3": "G"}
    assert_equal(split("ACGAA"), expected)
コード例 #11
0
def test_split__empty_group():
    expected = {"1": "A", "2": "C", "3": ""}
    assert_equal(split("AC"), expected)
コード例 #12
0
def test_split__three_groups():
    expected = {"1": "AC", "2": "CA", "3": "GT"}
    assert_equal(split("ACGCAT", "123"), expected)
    assert_equal(split("ACGCAT"), expected)
コード例 #13
0
def test_split__two_groups():
    assert_equal(split("ACGCAT", "112"), {"1": "ACCA", "2": "GT"})
コード例 #14
0
def test_split__single_group():
    assert_equal(split("ACGCAT", "111"), {'1': 'ACGCAT'})
コード例 #15
0
ファイル: sequences_test.py プロジェクト: muslih14/paleomix
def test_split__no_split_by():
    split("", split_by="")
コード例 #16
0
ファイル: sequences_test.py プロジェクト: muslih14/paleomix
def test_split__single_group():
    assert_equal(split("ACGCAT", "111"), {'1': 'ACGCAT'})
コード例 #17
0
ファイル: sequences_test.py プロジェクト: tmancill/paleomix
def test_split__no_split_by():
    with pytest.raises(ValueError, match="No split_by specified"):
        split("", split_by="")
コード例 #18
0
ファイル: sequences_test.py プロジェクト: muslih14/paleomix
def test_split__three_groups():
    expected = {"1": "AC", "2": "CA", "3": "GT"}
    assert_equal(split("ACGCAT", "123"), expected)
    assert_equal(split("ACGCAT"), expected)
コード例 #19
0
ファイル: sequences_test.py プロジェクト: tmancill/paleomix
def test_split__single_group():
    assert split("ACGCAT", "111") == {"1": "ACGCAT"}
コード例 #20
0
ファイル: sequences_test.py プロジェクト: muslih14/paleomix
def test_split__partial_group():
    expected = {"1": "AA", "2": "CA", "3": "G"}
    assert_equal(split("ACGAA"), expected)
コード例 #21
0
ファイル: sequences_test.py プロジェクト: tmancill/paleomix
def test_split__two_groups():
    assert split("ACGCAT", "112") == {"1": "ACCA", "2": "GT"}
コード例 #22
0
ファイル: sequences_test.py プロジェクト: tmancill/paleomix
def test_split__three_groups():
    expected = {"1": "AC", "2": "CA", "3": "GT"}
    assert split("ACGCAT", "123") == expected
    assert split("ACGCAT") == expected
コード例 #23
0
def test_split__empty_sequence():
    assert_equal(split(""), {"1": "", "2": "", "3": ""})