Here is a simple Perl script to concatenate multiline FASTA sequences into a single line. A similar Perl script has been provided in one of the previous articles (A Perl script to convert multiline FASTA sequences into a single line). That script is useful for the FASTA files consisting of sequences split into a particular number of residues per line. The script provided in this article can also be used for large files consisting of multiple FASTA sequences split into the indefinite number of residues per line.
Let’s name the multiline FASTA input file as “input.fa”.
#!/usr/bin/perl -w use strict; my $input_fasta="input.fa"; open(FILE,"<$input_fasta") || die ("Error opening $input_fasta $!"); my $line = ; print $line; while ($line = ) { chomp $line; if ($line=~m/^>;(.*)/) { print "\n",$line,"\n"; } else { print $line; } } print "\n"; exit;