コード例 #1
0
ファイル: seq_cleaner.py プロジェクト: JoseBlanca/franklin
def _get_matched_locations(seq, locations, min_length):
    "It returns a seq iterator from a seq. To split the seq it uses the"

    for i, (start, end) in enumerate(locations):
        seq1 = seq.seq[start : end + 1]
        if len(seq1) < min_length:
            continue
        if seq.qual is not None:
            qual = seq.qual[start : end + 1]
        else:
            qual = None
        if seq.name is not None:
            name = "%s_%d" % (seq.name, i + 1)
        yield copy_seq_with_quality(seq, seq=seq1, qual=qual, name=name)
コード例 #2
0
ファイル: seq_cleaner.py プロジェクト: JoseBlanca/franklin
def _mask_sequence(sequence, segments):
    "It mask the given segments of the sequence"

    if not segments:
        return sequence

    segments = _get_all_segments(segments, len(sequence))
    seq = str(sequence.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_seq_with_quality(sequence, seq=Seq(new_seq, sequence.seq.alphabet))
コード例 #3
0
ファイル: seq_cleaner.py プロジェクト: JoseBlanca/franklin
 def mapper(sequence):
     "the mapper"
     if not sequence:
         return None
     recoded_seq = double_encode_color_space(str(sequence.seq))
     return copy_seq_with_quality(sequence, Seq(recoded_seq))