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
评论列表
文章目录