utils.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:tRNA-seq-tools 作者: merenlab 项目源码 文件源码
def store_dict_as_FASTA_file(d, output_file_path, report_unique_sequences=False, wrap_from=200):
    filesnpaths.is_output_file_writable(output_file_path)
    output = open(output_file_path, 'w')

    props_h = sorted(list(list(d.values())[0]['props'].keys()))

    if report_unique_sequences:
        seqs_sorted_by_frequency = [x[1] for x in sorted([(len(d[seq]['ids']), seq) for seq in d], reverse=True)]

        for seq in seqs_sorted_by_frequency:
            frequency = len(d[seq]['ids'])
            seq_id = d[seq]['ids'].pop()
            output.write('>%s %s|frequency:%d\n' % (seq_id, '|'.join(['%s:%s' % (t[0], t[1]) for t in d[seq]['props'].items()]), frequency))
            output.write('%s\n' % textwrap.fill(seq, wrap_from, break_on_hyphens=False))
    else:
        for seq in d:
            props = '|'.join(['%s:%s' % (t[0], t[1]) for t in d[seq]['props'].items()])
            for seq_id in d[seq]['ids']:
                output.write('>%s %s\n' % (seq_id, props))
                output.write('%s\n' % textwrap.fill(seq, wrap_from, break_on_hyphens=False))

    output.close()
    return True
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号