Esempio n. 1
0
def process(in_filename, out_filename):
    in_file = open(in_filename)
    out_file = open(out_filename, 'w')

    header, sequence = utils.load(in_file)
    in_file.close()

    out_file.write(header + '\n')
    out_file.write('\n'.join(utils.prepare_subsequences(utils.translate(sequence), 80)))

    out_file.close()
Esempio n. 2
0
def process(model_file, sequence_file, window_size):
    model = json.loads(model_file.read())
    model_file.close()

    header, sequence = utils.load(sequence_file)
    sequence_file.close()

    print(header)
    hmm = HMM(**model['model'])

    subsequences = utils.prepare_subsequences(sequence, window_size)

    decoded = ''
    for seq in subsequences:
        decoded += ''.join(hmm.decode(seq)[1])
        print('{} / {}'.format(len(decoded), 3 * len(sequence)), file=sys.stderr)

    lines = utils.prepare_subsequences(decoded, 80)
    for l in lines:
        print(l)
Esempio n. 3
0
def prepare_subsequences_test():
    # Given
    sequence = 'AAAGGGCCCU'

    # When
    subseq = utils.prepare_subsequences(sequence, 3)

    # Then
    assert len(subseq) == 4
    assert subseq[0] == 'AAA'
    assert subseq[1] == 'GGG'
    assert subseq[2] == 'CCC'
    assert subseq[3] == 'U'