Ejemplo n.º 1
0
 def test_get_all_segments():
     'Give a list of discontinious segments we get all segments'
     segments = get_all_segments([(0, 10), (15, 20)], 30)
     assert segments == [((0, 10), True), ((11, 14), False),
                         ((15, 20), True), ((21, 29), False)]
     segments = get_all_segments([(15, 20)], 30)
     assert segments == [((0, 14), False), ((15, 20), True),
                         ((21, 29), False)]
     segments = get_all_segments([(15, 29)], 30)
     assert segments == [((0, 14), False), ((15, 29), True)]
Ejemplo n.º 2
0
 def test_get_all_segments():
     'Give a list of discontinious segments we get all segments'
     segments = get_all_segments([(0, 10), (15, 20)], 30)
     assert segments == [((0, 10), True), ((11, 14), False),
                         ((15, 20), True), ((21, 29), False)]
     segments = get_all_segments([(15, 20)], 30)
     assert segments == [((0, 14), False),
                         ((15, 20), True), ((21, 29), False)]
     segments = get_all_segments([(15, 29)], 30)
     assert segments == [((0, 14), False), ((15, 29), True)]
Ejemplo n.º 3
0
def _mask_sequence(seqrecord, segments):
    'It masks the given segments of the sequence'

    if not segments:
        return seqrecord
    segments = merge_overlaping_segments(segments)
    segments = get_all_segments(segments, len(seqrecord))
    seq = str(seqrecord.seq)
    new_seq = ''
    for segment in segments:
        start = segment[0][0]
        end = segment[0][1] + 1
        seq_ = seq[start:end]

        if segment[1]:
            seq_ = seq_.lower()
        new_seq += seq_
    return copy_seqrecord(seqrecord, seq=Seq(new_seq,
                                             alphabet=seqrecord.seq.alphabet))
Ejemplo n.º 4
0
def _mask_sequence(seq, segments):
    'It masks the given segments of the sequence'

    if not segments:
        return seq
    segments = merge_overlaping_segments(segments)
    segments = get_all_segments(segments, get_length(seq))
    str_seq = get_str_seq(seq)
    new_seq = ''
    for segment in segments:
        start = segment[0][0]
        end = segment[0][1] + 1
        str_seq_ = str_seq[start:end]

        if segment[1]:
            str_seq_ = str_seq_.lower()
        new_seq += str_seq_
    if seq.kind == SEQRECORD:
        new_seq = Seq(new_seq, alphabet=seq.object.seq.alphabet)
    return copy_seq(seq, seq=new_seq)
Ejemplo n.º 5
0
def _mask_sequence(seq, segments):
    'It masks the given segments of the sequence'

    if not segments:
        return seq
    segments = merge_overlaping_segments(segments)
    segments = get_all_segments(segments, get_length(seq))
    str_seq = get_str_seq(seq)
    new_seq = ''
    for segment in segments:
        start = segment[0][0]
        end = segment[0][1] + 1
        str_seq_ = str_seq[start:end]

        if segment[1]:
            str_seq_ = str_seq_.lower()
        new_seq += str_seq_
    if seq.kind == SEQRECORD:
        new_seq = Seq(new_seq, alphabet=seq.object.seq.alphabet)
    return copy_seq(seq, seq=new_seq)