diff --git a/workflow/rules/circularize.smk b/workflow/rules/circularize.smk index d5e731caee16f25ffb306f546eed74dd4ee89950..2e7e496a588a8781934f9ed8abfdf6b8fc060b87 100755 --- a/workflow/rules/circularize.smk +++ b/workflow/rules/circularize.smk @@ -51,6 +51,8 @@ rule circlator_removeduplicates: else: if not skip: output_handle.write(line) + + output_handle.close() rule circlator_localassembly: @@ -112,26 +114,22 @@ rule rename: run: - import os - import sys - from Bio import SeqIO - contig_NR = 1 fasta_handle = open(output[0], "w") with open(input.assembly) as original: - records = SeqIO.parse(original, 'fasta') + for line in original: + if line.startswith('>'): - for record in records: + seq_name = line.split(' ')[0][1:].strip() + seq_name_new = '>' + params.prefix + '_' + str(contig_NR) + fasta_handle.write(seq_name_new + '\n') + contig_NR += 1 - record.id = params.prefix + "_" + str(contig_NR) - record.description = "" - - SeqIO.write(record, fasta_handle, 'fasta') - - contig_NR += 1 + else: + fasta_handle.write(line) fasta_handle.close()