# Author: Robert Waterhouse #!/usr/local/bin/perl use strict; # list the BUSCO fasta files in busco_seqs my @usc_buscos=split(/\s+/,`ls busco_seqs`); # make directory to keep all your aligned sequences if(-d "busco_alns") { `rm -r busco_alns`; } `mkdir busco_alns`; # cycle through each and launch a multiple sequence alignent using MAFFT my $counter=0; foreach my $busco (@usc_buscos) { my $out=$busco; $out=~s/.fas/.aln/; `mafft --quiet busco_seqs/$busco > busco_alns/$out`; my $trm=$out; $trm=~s/.aln/.aln.trm/; `trimal -in busco_alns/$out -out busco_alns/$trm -strictplus`; $counter++; if( ($counter % 10) == 0) { print "Aligned & trimmed $counter universal SC BUSCOs\n"; } } print "DONE - aligned & trimmed $counter universal SC BUSCOs\n";