From e90e177276f868ecc66e7d06f024f537e0ab401d Mon Sep 17 00:00:00 2001 From: Auden Cote-L'Heureux <52716489+AudenCote@users.noreply.github.com> Date: Mon, 30 Oct 2023 13:00:07 -0400 Subject: [PATCH] Fixing small oversight in concatenate.py --- PTL2/Scripts/concatenate.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/PTL2/Scripts/concatenate.py b/PTL2/Scripts/concatenate.py index be33a7b..65414fa 100644 --- a/PTL2/Scripts/concatenate.py +++ b/PTL2/Scripts/concatenate.py @@ -218,7 +218,21 @@ def concat(seqs_per_og, params): taxa = list(dict.fromkeys([rec.id[:10] for og in seqs_per_og for rec in seqs_per_og[og]])) - seqs_per_og = { og : { rec.id[:10] : str(rec.seq) for rec in seqs_per_og[og] } for og in seqs_per_og } + seqs_per_og = { og : { rec.id : str(rec.seq).replace('-', '') for rec in seqs_per_og[og] } for og in seqs_per_og } + + if not os.path.isdir(params.output + '/Output/DataToConcatenate'): + os.mkdir(params.output + '/Output/DataToConcatenate') + os.mkdir(params.output + '/Output/DataToConcatenate/Unaligned') + os.mkdir(params.output + '/Output/DataToConcatenate/Aligned') + + for og in seqs_per_og: + with open(params.output + '/Output/DataToConcatenate/Unaligned/' + '.'.join(og.split('.')[:-1]) + '_TargetTaxaUnaligned.fasta', 'w') as o: + for tax in seqs_per_og[og]: + o.write('>' + tax + '\n' + seqs_per_og[og][tax] + '\n\n') + + os.system('mafft ' + params.output + '/Output/DataToConcatenate/Unaligned/' + '.'.join(og.split('.')[:-1]) + '_TargetTaxaUnaligned.fasta > ' + params.output + '/Output/DataToConcatenate/Aligned/' + '.'.join(og.split('.')[:-1]) + '_TargetTaxaAligned.fasta') + + seqs_per_og[og] = { rec.id[:10] : str(rec.seq) for rec in SeqIO.parse(params.output + '/Output/DataToConcatenate/Aligned/' + '.'.join(og.split('.')[:-1]) + '_TargetTaxaAligned.fasta', 'fasta') } concat_seqs_per_tax = { tax : '' for tax in taxa } for taxon in taxa: